第4节一般数学模型的动态规划解法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

安徽科技学院
运筹与优化
例3: 有一辆最大货运量为10吨的卡车,用以装载3种货 物.每种货物的单位重量及相应单位价值如表所示。应如何 装载可使总价值最大?
货物编号i 单位重量(t) 1 3 2 4 3 5
单位价值ci
4
5
6
设第i种货物装载的件数为xi (i=1,2,3),则问题可表为
max z 4 x1 5 x2 6 x3 3 x1 4 x2 5 x3 10 s.t. (i 1, 2,3) xi 0 且为整数
2 max z 4 x1 9 x2 2 x3
x1 x2 x3 10 s.t. xi 0 (i 1, 2,3)
解 令 2 ,将区间[0,10]分割成0,2,6,8,10六个点,即状 态变量sk集合为{0,2,4,6,8,10} 允许决策集合为 0 xk sk , xk , sk 均在分割点上取值。
f1 ( s2 ) max 4 x1 或 f1 ( s2 ) max 4 x1 4[ s2 / 3] 当k=1时, 0 3 x s
1 2
03 x1 s2
s2
x1 *
0
0
1 0
0
2 0
0
3 4
1
4 4
1
5 4
1
6 8
2
7 8
2
8 8
2
9
3
10
3
f1(s2) 0
12 12
最大收益为: f1 (10) 200 与例5结论完全相同。
注意:这种方法有可能丢失最优解,一般得到原问 题的近似解
安徽科技学院
运筹与优化
练 习
用连续变量的离散化方法求解下面的非线性规划
2 max z x1 x2 x3
x1 x2 x3 4 s.t. xi 0 (i 1, 2,3)
, 2,1
安徽科技学院
运筹与优化
三、背包问题的动态规划解法
背包问题的一般提法是:一位旅行者携带背包去登山、已
知他所能承受的背包重量限度为a千克,现有n种物品可供他选
择装入背包。第i种物品的单件重量为ai干克、其价值(可以是表 明本物品对登山的重要性的数量指标)是携带数量xi的函数ci(xi)
(i=1,2,…n),问旅行者应如何选择携带各种物品的件数,以使总
安徽科技学院
运筹与优化
第四节 一般数学模型的动态规划解法
一、非线性规划问题的动态规划解法
1.连续变量的一般解法 例1 某公司有资金10万元,若投资于项目i(i=1,2,3)的投 资额为xi时,其收益分别为g1(x1)=4x1,g2(x2)= 9x2 , g3(x3)=2x32,问应如何分配投资数额才能使总收益最大? 解 静态规划模型:
注意到 目标函 数是乘 积的形 式: 逆序解法: 基本方程:
n
令sk=0,1,2,3,4, 列表求解
Vk ,n v j (s j , u j )
j k
f ( s ) opt v ( s , u ) f ( s ) , k n , n 1, k k k k k 1 k 1 uk Dk f n1 (sn1 ) 1
价值最大? 其他如车、船、飞机、潜艇、人造卫星等工具的最优装载 问题,机床加工中零件最优加工、下料问题、投资决策问题, 均等同于背包问题。
安徽科技学院
运筹与优化
背包问题的动态规划模型
1、阶段k:将可装入物品按1,2,...,n排序,共划分为n个阶段,即 k=1,2,...,n。 2、状态变量sk+1:在第k段开始时,背包中允许装入前k种物品的 总重量。 3、决策变量xk:装入第k种物品的件数。 4、状态转移方程:sk=sk+1-akxk 5、允许决策集合为: Dk(sk+1)={xk|0≤xk ≤[sk+1/ak],xk为整数} 6、最优指标函数 fk(sk+1)表示在背包中允许装入物品的总重量不 超过sk+1千克,采用最优策略只装前k种物品时的最大使用价值 7、顺序递 f k (sk 1 ) max {ck ( xk ) f k 1 ( sk 1 ak xk )}, k 1, 2,..., n rk 0,1,...,[ sk / ak ] 推方程: f0 (s1 ) 0
安徽科技学院
运筹与优化
动态规划基本方程为:
gk ( xk ) f k 1 ( sk xk ) k 3, 2,1 f k ( sk ) 0max xk sk f 4 ( s4 ) 0
当k=3时,
2 f3 ( s3 ) max 2 x3 0 x3 s3
安徽科技学院
运筹与优化
建立动态规划模型,由于决策变量取离散值,故可 利用列表法求解 基本方程:
max {ck ( xk ) f k 1 ( sk 1 ak xk )} k 1, 2,..., n f k ( sk 1 ) xk 0,1,...,[ sk / ak ] f 0 (s1 ) 0
s2 x2 f2 0 2 4 0 2 4 0 6 2 4 6 8 0 2 4 6 8 10 0 2 4 6 8 10 0 0 2
g2+f3 0 8 18 32 26 36 72 50 44 54 128 90 68 62 72 200 146 108 86 80 90 0 18 36 72 128 200
其中s3和x3的集合均为{0,2,4,6,8,10},计算结果如下表
s3 0 2 4 6 8 10
f 3 ( s3 )
x3 *
0
0
8
2
32
4
72
6
128
8
200
10
安徽科技学院
0 x2 s2
运筹与优化
f 2 ( s2 ) max 9 x2 f3 ( s2 x2 ) 计算结果如下表 当k=2时,
max 9 x2 2( s2 x2 ) 2
这是一个函数求极值问 题,利用微分方法可求得 该函数有极小值.
0
x2
s2
s
9 而x2 s2 是极小值点。 4
安徽科技学院
运筹与优化
要讨论s2的具体情况:
9 * f ( s ) f ( s ) x s 当 2 时, 2 2 x2 0 2 2 x2 s2 此时 2 0 2 9 * x 当s2 时, f2 (s2 )x2 0 f2 (s2 ) x2 s2 此时 2 s2 2
安徽科技学院
2 当k=3时,f( s ) max 2 x 3 3 3 , 0 x3 s3
运筹与优化

* 2 显然当 x3 s3 ,函数取极大值为 2 s3
当k=2时,
f 2 ( s2 ) max 9 x2 f3 ( s3 )
0 x2 s2 2 max 9 x2 2s3 0 x2 s2 0 x2 s2
n xi a s.t. i 1 x 0 (i 1, 2,..., n) i
建立它的动态规划模型,其基本方程为:
gk ( xk ) f k 1 ( sk 1 ) k n, n 1,..., 2,1 f k ( sk ) 0max xk sk f n1 ( sn1 ) 0 其状态转移方程为:sk+1=sk-xk
安徽科技学院
运筹与优化
x2 z
2 3
max 5 x2 f1 ( s3 4 x2 ) 当k=2时,f 2 ( s3 ) 0 4 x s
2 此时 f ( s ) max 4 x 2 ( s x ) 1 1 1 1 1 0 x1 s1
运筹与优化
又是一个求极值问题,微分求解 x1 s1 1 比较[0,10]的端点 当 x1 0 时, f ( ) 200 1 10
* f ( 10 ) 40 x 当 x1 10 时, 1 1 0
到此,第二阶段的决策已经作出
安徽科技学院
运筹与优化
当k=1时,
f1 ( s1 ) max 4 x1 f 2 ( s2 )
0 x1 s1
f2 (s2 ) x2 s2 9s2 时
注:此时
* x2 s2 ,
max 4 x1 9 s2
0 x1 10 0 x1 10 0 x1 10
* 再由递推方程递推:s2 s1 x1 10 0 10
9 * * s2 x2 0 x3 10 2
最优方案为全部资金投到第三个项目
安徽科技学院
运筹与优化
n
2.连续变量的离散化解法:
例如投资分配问题 的一般静态模型为:
max z g i ( xi )
i 1
第二阶段(k=2)时,状态变量s2为余下可投资于其 余两个项目的资金,即:
s2 s1 u1 u 2 x2
一般地,当第k段时
sk sk 1 uk 1 uk xk
安徽科技学院
运筹与优化
于是有 状态变量sk:第k阶段可以投资于第k项到第3个项目 的资金 决策变量xk:决定给第k项目的资金 状态转移方程:sk+1=sk-uk 指标函数:
uk xk (k 1, 2,3)
状态变量和决策变量有密切关系,状态变量一般 为累计量或随递推过程变化的量。 可把每阶段可供使用的资金定为状态变量sk,初始 状态为s1=10
安徽科技学院
运筹与优化
u1为可分配用于第一种项目的最大资金,则第一阶 段时有:
s1 10 u1 x1
安徽科技学院
运筹与优化
由于sk与xk都是连续变量,当各阶段指标gk(xk),没有特 殊性质而较为复杂时,要求出fk(sk)比较困难,因而求全过 程的最优策略也就相当不容易,这时常常采用把连续变量 离散化的方法求其数值解,具体做法如下: (1)令sk=0, △,2△,…,m△=a,把区间[0,a]进行分割, △的 大小可依据问题所要求的精度及计算机的容量来定。 (2)规定状态变量sk及决策变量xk只在离散的点0,△,2△, …, m△上取值,相应的指标函数fk(sk)就被定义在这些离散值上, 于是递推方程变为:
x2*
0
2
4
0 x1 10
0
0
0
当k=1时,f1 ( s1 ) max 4 x1 f 2 ( s1 x1 ) 计算结果如下表
s1 10
x1
g1 +f2 f1
0
200
2
136
4
88 200
6
60
8
50
10
40
x1*
0
安徽科技学院
运筹与优化
* * * 计算结果表明,wk.baidu.com优决策为:x1 0, x2 0, x3 10
Vk ,3 gi ( xi )
i k 3
最优指标函数fk(sk):当可投资金为sk时,投资第k-3 项所得最大收益。基本方程为:
gk ( xk ) fk 1 (sk 1 ) k 3, 2,1 f k ( sk ) 0max xk sk f 4 ( s4 ) 0
g k ( p) f k 1 ( sk p) f k ( sk ) p max 0,1,2,..., q f n1 ( sn1 ) 0 其中 q s , p x
k
k
安徽科技学院
运筹与优化
(3)按逆序方法,逐步递推求出fn(sn),…, f1(s1),最后求出 最优资金分配方案。 例2 用连续变量的离散化求解
2 max z 4 x1 9 x2 2 x3
x1 x2 x3 10 s.t. xi 0 (i 1, 2,3)
安徽科技学院
运筹与优化
为了应用动态规划方法求解,人为地赋予它“时段” 的概念,将投资项目排序,首先考虑对项目1投资, 然后考虑对项目2投资……,即把问题划分为3个阶 段,每个阶段只决定对一个项目应投资的金额。 通常把决策变量uk定为原静态规划的变量xk即设
max 4 x1 9 s1 9 x1 max 9 s1 5 x1 * 9 s1
x1 0
由前面分析可知
9 s2 x s 2 , 2
* 2
减函数
9 10 0 , 而 s2 s1 x1 x* 2 1 0
此结论与前矛盾,故舍去
安徽科技学院
* 2 另取 x2 0,( f2 s2 ) 2s2
相关文档
最新文档