常用算法与程序设计
常用算法与程序设计
3
6.1 一般方法与求解步骤
动态规划简介
动态规划简介
动态规划是运筹学的一个分支,是求解决策过程
动态规划是运筹学的一个分支,是求解决策过程
最优化的数学方法。
最优化的数学方法。
20
20
世纪
世纪
50
50
年代美国数学家贝尔曼(
年代美国数学家贝尔曼(
R.Bellma
R.Bellma
n
n
)等人在研究多阶段决策过程的优化问题时,
)等人在研究多阶段决策过程的优化问题时,
提出了著名的最优性原理,创立了解决多阶段过
提出了著名的最优性原理,创立了解决多阶段过
程优化问题的新方法——动态规划。
程优化问题的新方法——动态规划。
动态规划问世以来,在经济管理、生产调度、工
动态规划问世以来,在经济管理、生产调度、工
程技术和最优控制等方面得到了广泛的应用。
程技术和最优控制等方面得到了广泛的应用。
常用算法与程序设计
常用算法与程序设计
4
6.1.1
一般方法
一般方法
1.
几个概念
多阶段决策问题,是指这样的一类特殊的活
多阶段决策问题,是指这样的一类特殊的活
动过程,问题可以分解成若干相互联系的阶段,在
动过程,问题可以分解成若干相互联系的阶段,在
每一个阶段都要做出决策,形成一个决策序列,该
每一个阶段都要做出决策,形成一个决策序列,该
决策序列也称为一个策略。
决策序列也称为一个策略。
对于每一个决策序列,可以在满足问题的约束
对于每一个决策序列,可以在满足问题的约束
条件下用一个数值函数(即目标函数)衡量该策略
条件下用一个数值函数(即目标函数)衡量该策略
的优劣。多阶段决策问题的最优化求解目标是获取
的优劣。多阶段决策问题的最优化求解目标是获取
导致问题最优值的最优决策序列(最优策略),即
导致问题最优值的最优决策序列(最优策略),即
得到最优解。
得到最优解。
常用算法与程序设计
常用算法与程序设计
5
2. 举例说明
【例 6. 1】 已知 6种物品和一个可载重量为 60的背包,
物 品 i ( i =1, 2, … , 6 ) 的 重 量 为
i
w
分 别 为
(15, 17, 20, 12, 9, 14) , 产 生 的 效 益 为
i
p
分 别 为
(32, 37, 46, 26, 21, 30)。在装包时每一件物品可以装入,也
可以不装,但不可拆开装。确定如何装包,使所得装包总
效益最大。
这就是一个多阶段决策问题,装每一件物品就是一个
阶段,每一个阶段都要有一个决策:这一件物品装包还是
不装。 这一装包问题的约束条件为
60
6
1
i
ii
wx
, 目标函数为
}1,0{,max
6
1
i
i
ii
xpx
。