第6章 动态规划法
运筹学教案动态规划

运筹学教案动态规划一、教学目标1. 了解动态规划的基本概念及其在运筹学中的应用。
2. 掌握动态规划的基本原理和方法,能够解决实际问题。
3. 学会使用动态规划解决最优化问题,提高解决问题的效率。
二、教学内容1. 动态规划的基本概念动态规划的定义动态规划与分治法的区别2. 动态规划的基本原理最优解的性质状态转移方程边界条件3. 动态规划的方法递推法迭代法表格法4. 动态规划的应用背包问题最长公共子序列最短路径问题三、教学方法1. 讲授法:讲解动态规划的基本概念、原理和方法。
2. 案例分析法:分析实际问题,引导学生运用动态规划解决问题。
3. 编程实践法:让学生动手编写代码,加深对动态规划方法的理解。
四、教学准备1. 教材:《运筹学导论》或相关教材。
2. 课件:动态规划的基本概念、原理、方法及应用案例。
3. 编程环境:为学生提供编程实践的平台,如Python、C++等。
五、教学过程1. 引入:通过一个实际问题,引出动态规划的概念。
2. 讲解:讲解动态规划的基本原理和方法。
3. 案例分析:分析实际问题,展示动态规划的应用。
4. 编程实践:让学生动手解决实际问题,巩固动态规划方法。
5. 总结:对本节课的内容进行总结,强调动态规划的关键要点。
6. 作业布置:布置相关练习题,巩固所学知识。
六、教学评估1. 课堂讲解:评估学生对动态规划基本概念、原理和方法的理解程度。
2. 案例分析:评估学生运用动态规划解决实际问题的能力。
3. 编程实践:评估学生动手实现动态规划算法的能力。
4. 课后作业:评估学生对课堂所学知识的掌握情况。
七、教学拓展1. 研究动态规划与其他优化方法的联系与区别。
2. 探讨动态规划在运筹学其他领域的应用,如库存管理、生产计划等。
3. 了解动态规划在、数据挖掘等领域的应用。
八、教学反思1. 反思本节课的教学内容、方法和过程,确保符合教学目标。
2. 考虑学生的反馈,调整教学方法和节奏,提高教学效果。
3. 探讨如何将动态规划与其他运筹学方法相结合,提高解决问题的综合能力。
运筹学思考练习题答案

运筹学思考练习题答案第⼀章 L.P 及单纯形法练习题答案⼀、判断下列说法是否正确1. 线性规划模型中增加⼀个约束条件,可⾏域的范围⼀般将缩⼩,减少⼀个约束条件,可⾏域的范围⼀般将扩⼤。
(?)2. 线性规划问题的每⼀个基解对应可⾏域的⼀个顶点。
(?)3. 如线性规划问题存在某个最优解,则该最优解⼀定对应可⾏域边界上的⼀个点。
(?)4. 单纯形法计算中,如不按最⼩⽐值原则选取换出变量,则在下⼀个基可⾏解中⾄少有⼀个基变量的值为负。
(?)5. ⼀旦⼀个⼈⼯变量在迭代中变为⾮基变量后,该变量及相应列的数字可以从单纯形表中删除,⽽不影响计算结果。
(?)6. 若1X 、2X 分别是某⼀线性规划问题的最优解,则1212X X X λλ=+也是该线性规划问题的最优解,其中1λ、2λ为正的实数。
(?)7. 线性规划⽤两阶段法求解时,第⼀阶段的⽬标函数通常写为ai iMinZ x =∑(x ai 为⼈⼯变量),但也可写为i ai iMinZ k x =∑,只要所有k i 均为⼤于零的常数。
(?)8. 对⼀个有n 个变量、m 个约束的标准型的线性规划问题,其可⾏域的顶点恰好为m n C 个。
(?)9. 线性规划问题的可⾏解如为最优解,则该可⾏解⼀定是基可⾏解。
(?)10. 若线性规划问题具有可⾏解,且其可⾏域有界,则该线性规划问题最多具有有限个数的最优解。
(?)⼆、求得L.P 问题121231425j MaxZ 2x 3x x 2x x 84x x 164x x 12x 0;j 1,2,,5=+++=??+=??+=?≥=的解如下: X ⑴=(0,3,2,16,0)T ;X ⑵=(4,3,-2,0,0)T ;X ⑶=(3.5,2,0.5,2,4)T ;X ⑷=(8,0,0,-16,12)T ; =(4.5,2,-0.5,-2,4)T ; X ⑹=(3,2,1,4,4)T ;X ⑺=(4,2,0,0,4)T 。
要求:分别指出其中的基解、可⾏解、基可⾏解、⾮基可⾏解。
最优控制全部PPT课件

J
(x(t f ),t f)
tf t0
F(x(t),u(t),t)dt
为最小。
这就是最优控制问题。
如果问题有解,记为u*(t), t∈ [t0,tf],则u*(t)叫做最优控制(极值控制),相应的轨 线X*(t)称为最优轨线(极值轨线),而性能指标J*=J(u*(·))则称为最优性能指标。
第11页/共184页
目标质心的位置矢量和速度矢量为: xM xM
F(t)为拦截器的推力
x xL xM v xL xM
则拦截器与目标的相对运动方程为:
x v v a(t) F (t)
m(t)
m F (t) c
其中a(t)是除控制加速度外的固有相对加速度,是已知的。
初始条件为: x(t0 ) x0 v(t0 ) v0 m(t0 ) m0 终端条件为: x(t f ) 0 v(t f )任意 m(t f ) me
至于末态时刻,可以事先规定,也可以是未知的。 有时初态也没有完全给定,这时,初态集合可以类似地用初态约束来表示。
第9页/共184页
3:容许控制 在实际控制问题中,大多数控制量受客观条件的限制,只能在一定范围内取 值,这种限制通常可以用如下不等式约束来表示:
0 u(t) umax 或ui i 1,2p
给定一个线性系统,其平衡状态X(0)=0,设计的目的是保持系统处于平衡状态,即 这个系统应能从任何初始状态返回平衡状态。这种系统称为线性调节器。
线性调节器的性能指标为:
J
tf t0
n
xi 2 (t)dt
i 1
加权后的性能指标为:
J
tf t0
n
qi xi 2 (t)dt
i1
对u(t)有约束的性能指标为: J t f 1 [ X T (t)QX (t) uT (t)Ru(t)]dt
动态规划法

动态规划法动态规划法(Dynamic Programming)是一种常用的算法思想,主要用于解决具有重叠子问题性质和最优子结构性质的问题。
动态规划法通过把问题分解为更小的子问题,并将子问题的解存储起来,以避免重复计算,从而提高了算法的效率。
动态规划法有两个核心概念:状态和状态转移方程。
在动态规划过程中,我们需要定义状态,即问题的子问题解,以及状态之间的关系,即状态转移方程。
动态规划法的一般步骤如下:1. 定义问题的子问题:将问题划分为更小的子问题,并明确子问题的解是什么。
2. 定义状态:将问题的子问题解抽象为状态,即用一个变量或者数组表示子问题的解。
3. 定义状态转移方程:根据子问题的关系,定义状态之间的转移方程,即如何根据已知的子问题解计算出更大的问题的解。
4. 缓存子问题解:为了避免重复计算,我们需要将已经计算过的子问题解存储起来,以便后续使用。
5. 递推计算:通过状态转移方程和缓存的子问题解,逐步计算出更大的问题的解,直到计算出最终的问题解。
动态规划法的关键在于找到正确的状态转移方程和合理的存储子问题解的方式。
有些问题的状态转移方程比较容易找到,比如斐波那契数列,每个数都是前两个数的和;而有些问题的状态转移方程可能比较复杂,需要通过观察问题的特点和具体分析来确定。
动态规划法的时间复杂度通常为O(n),其中n 表示问题规模。
由于利用了子问题的解,避免了重复计算,因此动态规划法相对于暴力求解法能够大大提高算法的效率。
但是,动态规划法的空间复杂度通常较高,需要存储大量的子问题解,因此在实际应用中需要权衡时间和空间的消耗。
总的来说,动态规划法是一种非常灵活且强大的算法思想,能够解决许多复杂的问题,特别适用于具有重叠子问题性质和最优子结构性质的问题。
通过正确定义状态和状态转移方程,并结合缓存子问题解和递推计算,我们可以高效地求解这类问题,提高算法的效率。
动态规划方法求解线性规划问题

动态规划方法求解线性规划问题引言概述:动态规划是一种常用的优化方法,可以用于求解各种复杂的问题。
在线性规划问题中,动态规划方法也可以发挥重要作用。
本文将介绍动态规划方法在求解线性规划问题中的应用,并分为四个部份进行详细阐述。
一、线性规划问题的定义和特点1.1 线性规划问题的定义线性规划是一种数学建模方法,用于求解一类特殊的优化问题。
它的目标函数和约束条件都是线性的。
1.2 线性规划问题的特点线性规划问题具有可行解的存在性、有界性和最优性。
同时,线性规划问题的解空间是一个凸多面体。
二、动态规划方法的基本思想2.1 动态规划的基本原理动态规划是一种将问题分解为子问题并保存子问题解的方法。
通过递归地求解子问题,最终得到原问题的解。
2.2 动态规划方法的三个基本步骤动态规划方法包括问题的划分、状态的定义和状态转移方程的建立。
通过这三个步骤,可以得到问题的最优解。
2.3 动态规划方法的优点动态规划方法具有时间和空间复杂度低的优点,可以有效地求解大规模的优化问题。
三、动态规划方法在线性规划问题中的应用3.1 线性规划问题的动态规划模型将线性规划问题转化为动态规划模型,可以通过动态规划方法求解。
其中,状态的定义和状态转移方程的建立是关键。
3.2 动态规划方法求解线性规划问题的步骤通过将线性规划问题转化为动态规划模型,可以按照动态规划方法的三个基本步骤求解线性规划问题。
3.3 动态规划方法求解线性规划问题的实例通过一个具体的实例,详细介绍动态规划方法在求解线性规划问题中的具体应用步骤和求解过程。
四、动态规划方法在线性规划问题中的局限性和改进方法4.1 动态规划方法的局限性动态规划方法在求解线性规划问题时,可能会面临状态空间过大、计算复杂度高等问题。
4.2 动态规划方法的改进方法为了解决动态规划方法的局限性,可以采用剪枝策略、状态压缩等方法来提高求解效率。
结论:动态规划方法在求解线性规划问题中具有重要的应用价值。
动态规划(生产和存储问题)

动态规划(生产和存储问题)一、动态规划法的发展及其研究内容动态规划是运筹学的一个分支,是求解决策过程最优化的数学方法。
20世纪50年代初美国数学家R.E.BELLMAN等人在研究多阶段决策过程的优化问题时,提出了著名的最优化原理,把多阶段问题转化为一系列的单阶段问题,逐个求解创立了解决这类过程优化问题的新方法——动态规划。
1957年出版的他的名著《Dynamic Proggramming》,这是该领域的第一本著作。
动态规划问世以来,在经济管理·生产调度·工程技术和最优控制等方面得到了广泛的应用。
例如最短路线·库存管理·资源分配·设备更新·组合·排序·装载等问题,采用动态规划法求解比用其他方法更为简便。
二、动态规划法基本概念一个多阶段决策过程最优化问题的动态规划模型通常包括以下几个要素:1.阶段阶段(stage)是对整个过程的自然划分。
通常根据时间顺序或是空间特征来划分阶段,对于与时间,空间无关的“静态”优化问题,可以根据其自然特征,人为的赋予“时段”概念,将静态问题动态化,以便按阶段的顺序解优化问题。
阶段变量一般用k=1.2….n.表示。
1.状态状态(state)是我们所研究的问题(也叫系统)在过个阶段的初始状态或客观条件。
它应能描述过程的特征并且具有无后效性,即当某阶段的状态给定时,这个阶段以后的过程的演变与该阶段以前各阶段的状态无关。
通常还要求状态是可以直接或者是间接可以观测的。
描述状态的变量称为状态变量(State Virable)用s 表示,状态变量的取值集合称为状态集合,用S表示。
变量允许取值的范围称为允许状态集合(set of admissble states).用x(k)表示第k阶段的状态变量,它可以是一个数或者是一个向量。
用X(k)表示第k阶段的允许状态集合。
n 个阶段的决策过程有n+1个状态变量,x(n+1)是x(n)的演变的结果。
中石油华东《运筹学》2014年秋学期在线作业(三)答案

《运筹学》2014年秋学期在线作业(三)
一,单选题
1. (第6章)关于动态规划的如下说法中错误的是();
A. 状态转移方程表明了各阶段之间状态的联系
B. 过程指标函数必须由阶段指标函数相加得到
C. 动态规划基本方程必须有边界条件
D. 动态规划中决策变量可以为连续变量也可以为离散变量
?
正确答案:B
2. (第5章)下列关于整数规划问题的说法,正确的是();
A. 整数规划问题解的目标函数值优于其对应的线性规划问题的解的目标函数值
B. 部分变量都取整数的问题称之为纯整数规划问题
C. 全部变量都取整数的问题称之为纯整数规划问题
D. 分配问题不是整数规划问题
?
正确答案:C
3. 题目和选项如下图所示:
A.
B.
C.
D.
?
正确答案:B
4. (第5章)在用匈牙利法求解指派问题时,当独立零元素个数小于任务数(人数)时:下列说法正确的是();
A. 用最少的直线划去所有的非独立的零元素
B. 剩余的元素非零元素都减去本行的最小元素
C. 为保证所有元素大于零,应在横线和竖线交汇格元素加上最小元素
D. 用最少的直线划去所有的独立零元素
?
正确答案:C
5. (第6章)用逆序法求解资源分配问题时,为保证独立性,状态变量取值一般为();
A. 各阶段分配的资源数
B. 当前阶段开始时前部过程已分配的资源数
C. 当前阶段开始时剩余给后部过程的资源数
D. 资源的总数量
?。
运筹学第三版课后习题答案 (2)

运筹学第三版课后习题答案第一章:引论1.1 课后习题习题1a)运筹学是一门应用数学的学科,旨在解决实际问题中的决策和优化问题。
它包括数学模型的建立、问题求解方法的设计等方面。
b)运筹学可以应用于各个领域,如物流管理、生产计划、流程优化等。
它可以帮助组织提高效率、降低成本、优化资源分配等。
c)运筹学主要包括线性规划、整数规划、指派问题等方法。
习题2运筹学的应用可以帮助组织提高效率、降低成本、优化资源分配等。
它可以帮助制定最佳的生产计划,优化供应链管理,提高运输效率等。
运筹学方法的应用还可以帮助解决紧急情况下的应急调度问题,优化医疗资源分配等。
1.2 课后习题习题1运筹学方法可以应用于各个领域,如物流管理、生产计划、供应链管理、流程优化等。
在物流管理中,可以使用运筹学方法优化仓储和运输的布局,提高货物的运输效率。
在生产计划中,可以使用运筹学方法优化产品的生产数量和生产周期,降低生产成本。
在供应链管理中,可以使用运筹学方法优化订单配送和库存管理,提高供应链的效率。
在流程优化中,可以使用运筹学方法优化业务流程,提高整体效率。
习题2在物流管理中,可以使用运筹学方法优化车辆的调度和路线规划,以提高运输效率和降低成本。
在生产计划中,可以使用运筹学方法优化生产线的安排和产品的生产量,以降低生产成本和提高产能利用率。
在供应链管理中,可以使用运筹学方法优化供应链各个环节的协调和调度,以提高整体效率和减少库存成本。
在流程优化中,可以使用运筹学方法优化业务流程的排布和资源的分配,以提高流程效率和客户满意度。
第二章:线性规划基础2.1 课后习题习题1线性规划是一种数学优化方法,用于解决包含线性约束和线性目标函数的优化问题。
其一般形式为:max c^T*xs.t. Ax <= bx >= 0其中,c是目标函数的系数向量,x是决策变量向量,A是约束矩阵,b是约束向量。
习题2使用线性规划方法可以解决许多实际问题,如生产计划、供应链管理、资源分配等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
m
i
A (m | S |)
(式6.1)
如果用向量X=( x1, x2, …, xn)表示S中所选取的货币,则
1 xi 0
pi S pi S
(式6.2)
那么,POS机支付的现金必须满足
x
并且
i 1
n
i
pi A
n
(式6.3)
d min xi
i 1
(式6.4)
P2
S2
Sn-1
Pn
Sn
多阶段决策过程
S1 …
Sn-1 … sn-1,1
Sn
sn,1
s1,1
p1,1 … …
S0
p1,k1
s1,k1
……
pn-1,kn-1
sn-1,kn-1
pn,kn
… …
sn,kn
s1,r1
…
sn-1,rn-1
sn,rn
动态规划的决策过程
在每一阶段的决策中有一个赖以决策的策略或目标, 这种策略或目标是由问题的性质和特点所确定,通常以函 数的形式表示并具有递推关系,称为动态规划函数。 多阶段决策过程满足最优性原理(Optimal Principle): 无论决策过程的初始状态和初始决策是什么,其余的决策都 必须相对于初始决策所产生的当前状态,构成一个最优决策 序列。 如果一个问题满足最优性原理通常称此问题具有最优子 结构性质。
动态规划法的求解过程
原问题
子问题1
子问题2
……
子问题n
填 表 原问题的解
例:计算斐波那契数: 0 F ( n) 1 F (n 1) F (n 2)
n0 n 1 n2
n=5时分治法计算斐波那契数的过程。
F(5) F(4) F(3) F(2) F(0) F(1) F(2) F(0) F(3) F(1)
由于多段图将顶点划分为k个互不相交的子集,所以,多 段图划分为k段,每一段包含顶点的一个子集。不失一般 性,将多段图的顶点按照段的顺序进行编号,同一段内 顶点的相互顺序无关紧要。假设图中的顶点个数为n, 则源点s的编号为0,终点t的编号为n-1,并且,对图中的 任何一条边(u, v),顶点u的编号小于顶点v的编号。
6.1.2 最优性原理
对于一个具有 n 个输入的最优化问题,其求解 过程往往可以划分为若干个阶段,每一阶段的决策 仅依赖于前一阶段的状态,由决策所采取的动作使 状态发生转移,成为下一阶段决策的依据。从而, 一个决策序列在不断变化的状态中产生。这个决策 序列产生的过程称为多阶段决策过程。
S0 P1
S1
带权图的代价矩阵
证明TSP问题满足最优性原理 设s, s1, s2, …, sp, s是从s出发的一条路径长度最短 的简单回路,假设从s到下一个城市s1已经求出,则 问题转化为求从s1到s的最短路径,显然s1, s2, …, sp, s 一定构成一条从s1到s的最短路径。
如若不然,设s1, r1, r2, …, rq, s是一条从s1到s的 最短路径且经过n-1个不同城市,则s, s1, r1, r2, …, rq, s将是一条从s出发的路径长度最短的简单回路且比s, s1, s2, …, sp, s要短,从而导致矛盾。所以,TSP问题 满足最优性原理。
1 4 0 2 3 2 6 8 9 8
4
6 5 8 6 6
5
7
7
7
7 9 3
4 3
8 5
6
一个多段图
证明多段图问题满足最优性原理
设s, s1, s2, …, sp, t是从s到t的一条最短路径,从源点 s开始,设从s到下一段的顶点s1已经求出,则问题转化 为求从s1到t的最短路径,显然s1, s2, …, sp, t一定构成一 条从s1到t的最短路径,如若不然,设s1, r1, r2, …, rq, t 是一条从s1到t的最短路径,则s, s1, r1, r2, …, rq, t将是一 条从s到t的路径且比s, s1, s2, …, sp, t的路径长度要短, 从而导致矛盾。所以,多段图的最短路径问题满足最 优性原理。
d(1, {2})= c12+d(2, {}) d(2, {3})=c23+d(3, {})
d(3, {2})= c32+d(2, {}) d(1, {3})= c13+d(3, {}) d(2, {1})=c21+d(1, {}) d(3, {1})=c31+d(1, {}) 而下式可以直接获得(括号中是该决策引起的状态转移): d(1, {})=c10=5(1→0) d(2, {})=c20=6(2→0) d(3, {})=c30=3(3→0)
6.1.3 动态规划法的设计思想
动态规划法将待求解问题分解成若干个相互重 叠的子问题,每个子问题对应决策过程的一个阶段, 一般来说,子问题的重叠关系表现在对给定问题求 解的递推关系(也就是动态规划函数)中,将子问 题的解求解一次并填入表中,当需要再次求解此子 问题时,可以通过查表获得该子问题的解而不用再 次求解,从而避免了大量重复计算。
F(2)
F(1) F(0)
F(1) F(1)
注意到,计算F(n)是以计算它的两个重叠子问题 F(n-1) 和F(n-2)的形式来表达的,所以,可以设计一张表填入n+1个 F(n)的值。 动态规划法求解斐波那契数F(9)的填表过程 :
0 0
1 1
2 1
3 2
4 3
5 5
6 8
7 13
8 21
9 34
6.2 图问题中的动态规划法
6.2.1 TSP问题 6.2.2 多段图的最短路径问题
6.2.1 TSP问题
TSP问题是指旅行家要旅行n个城市,要求各个 城市经历且仅经历一次然后回到出发城市,并要求 所走的路程最短。
各个城市间的距离可以用代价矩阵来表∞ 5 7 3 2 ∞
显然,算法6.1的时间复杂性为O(2n)。和蛮力法相比, 动态规划法求解TSP问题,把原来的时间复杂性是O(n!)的排 列问题,转化为组合问题,从而降低了算法的时间复杂性, 但它仍需要指数时间。
6.2.2 多段图的最短路径问题
设图G=(V, E)是一个带权有向连通图,如果把 顶点集合V划分成k个互不相交的子集Vi(2≤k≤n, 1≤i≤k ) , 使 得 E 中 的 任 何 一 条 边 (u, v) , 必 有 u∈Vi,v∈Vi+m(1≤i<k, 1<i+m≤k),则称图G 为多段图,称s∈V1为源点,t∈Vk为终点。多段图 的最短路径问题是求从源点到终点的最小代价路径。
再向前倒推,有: d(1, {2})= c12+d(2, {})=2+6=8(1→2) d(1, {3})= c13+d(3, {})=3+3=6(1→3) d(2, {3})= c23+d(3, {})=2+3=5(2→3) d(2, {1})= c21+d(1, {})=4+5=9(2→1) d(3, {1})= c31+d(1, {})=7+5=12(3→1) d(3, {2})= c32+d(2, {})=5+6=11(3→2) 再向前倒退,有: d(1, {2, 3})=min{c12+d(2, {3}), c13+ d(3, {2})}=min{2+5, 3+11}=7(1→2) d(2, {1, 3})=min{c21+d(1, {3}), c23+ d(3, {1})}=min{4+6, 2+12}=10(2→1) d(3, {1, 2})=min{c31+d(1, {2}), c32+ d(2, {1})}=min{7+8, 5+9}=14(3→2) 最后有: d(0, {1, 2, 3})=min{c01+ d(1, { 2, 3}), c02+ d(2, {1, 3}), c03+ d(3, {1, 2})} =min{3+7, 6+10, 7+14}=10(0→1) 所以,从顶点0出发的TSP问题的最短路径长度为10,路径是 0→1→2→3→0。
用动态规划法求解的问题具有特征: 能够分解为相互重叠的若干子问题; 满足最优性原理(也称最优子结构性质):该问题的 最优解中也包含着其子问题的最优解。
(用反证法)分析问题是否满足最优性原理: 1. 先假设由问题的最优解导出的子问题的解不是最优的; 2. 然后再证明在这个假设下可构造出比原问题最优解更好 的解,从而导致矛盾。
在付款问题中,集合P是该问题的输入,满足式6.1的 解称为可行解,式6.2是解的表现形式,因为向量X中有n个 元素,每个元素的取值为0或1,所以,可以有2n个不同的 向量,所有这些向量的全体构成该问题的解空间,式6.3是 该问题的约束条件,式6.4是该问题的目标函数,使式6.4取 得极小值的解称为该问题的最优解。
从城市0出发经城市1、2、3然后回到城市0的最短路径长度是: d(0,{1, 2, 3})=min{c01+d(1, { 2, 3}), c02+d(2, {1, 3}), c03+d(3, {1, 2})}
这是最后一个阶段的决策,而:
d(1, {2, 3})=min{c12+d(2, {3}), c13+ d(3, {2})} d(2, {1, 3})=min{c21+d(1, {3}), c23+ d(3, {1})} d(3, {1, 2})=min{c31+d(1, {2}), c32+ d(2, {1})} 这一阶段的决策又依赖于下面的计算结果:
例:付款问题: 超市的自动柜员机(POS机)要找给顾客数量最少的现金。