第9章 动态规划应用举例
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4
5
21
5
x2 0 0 1 0 1 2 0 1 2 3 0 1 2 3 4 0 1 2 3 4 5
g2(x2)+f3(s3) 0+0=0* 0+4=4 5+0=5* 0+6=6 5+4=9 10+0=10* 0+11=11 5+6=11 10+4=14* 11+0=11 0+12=12 5+11=16* 10+6=16* 11+4=15 11+0=11 0+12=12 5+12=17 10+11=21* 11+6=17 11+4=15 11+0=11
0≤xk≤ sk f 3 ( s3 ) = s3 ( x3 * = s3 )
当k=3时:
s3
0 1 2 3 4 5
当k=2时:
g3(x3)
0* 4* 6* 11* 12* 12*
x3
0 1 2 3 4 5
f3(s3)
0 4 6 11 12 12
s2 0
1
2 3
当k=1时:
s1 x1 0 1 2 3 4 5 g1(x1)+f2(s2) 0+21=21* 3+16=19 7+14=21* 9+10=19 12+5=17 13+0=13 f1(s1)
(k=n-1,…,2,1)
虽然建模过程和一维资源分配问题没多大区别, 但求解模型却极为困难。为此,需进行简化处理。
1. 拉格朗日乘数法 引入拉格朗日乘数λ,将二维问题化为
这是一个一维分配问题。取定λ为某一值,求解得 xi*=xi(λ) , yi*=yi(xi(λ), λ)=yi(λ)
可证,若Ʃyi(λ)=b,则对应的{xi*, yi*}就是原问题的最优解。 否则,就用插值法调整λ的值,渐进地使Ʃyi(λ)=b得到满足。
3. 粗格子点法 (疏密法)
先将0≤x≤a, 0≤y≤b分成网格, 然后在格子点上进行计算。为了 使计算可行,可先用少数格子点 进行粗糙计算,在求出相应最优 解后,再在最优解附近的小范围 内进一步细分,求出在细分格子 点上的最优解。继续细分下去, 直至满足要求为止。
第2节 生产与存储问题
2.1 生产计划问题 设某公司对某种产品要制定n个阶段的生产计划。 已知它的初始库存为0,每阶段生产产品数量的上限为 m;第k阶段,对该产品的需求量为dk,生产产品量为 xk时的生产费用为ck(xk),开始时有库存量vk需要支付 的存储费用为hk(vk);n阶段末的终了库存为0。问该公 司应如何制定生产计划,从而使总成本最小。 用动态规划的方法: 划分为n个决策阶段,k=1,2,...,n; k阶段开始时的库存量vk为状态变量, v1=0; k阶段的产品生产量xk为决策变量,则
(k=n-1,…,2,1)
由于资源数量常常要求取整数,则状态变量和决 策变量也就取整数,所以求解时常采用列表的形式。
例2 某工业部门根据国家计划安排,拟将五台某种高效 率的机器分配给所属的甲、乙、丙三个工厂,各工厂得到不 同数量的机器可获得的收益如下表。问应如何分配机器,才 能使各厂的总效益最大。
按使用者划分为n个阶段,k=1,2,..,n; 取第k阶段初(给第k个使用者分配资源时)资 源的剩余量sk为状态变量,s1=a; 取分配给第k个使用者的资源数量xk为决策变 量,0≤xk≤sk (k=1,2,…,n-1), xn= sn; 状态转移方程为sk+1=sk-xk; 指标函数为Vk,n=Ʃgj(xj); 基本方程为:
解得x(1)={x1(1), x2(1),…, xn(1)},再固定x在x(1),对y求 解一维问题。依次轮换下去,得解序列{x(k)}、 {y(k)}。
由于Ʃgi(xi(0),yi(0))≤Ʃgi(xi(1),yi(0))≤Ʃgi(xi(1),yi(1)),故函 数值序列{Ʃgi(xi(k),yi(k))}是单调上升的,但不一定收敛 到整体的最优解,一般只能收敛到某一局部最优解。 因此,在实际计算时,可选择几个初始点xi(0)进行计算, 然后从几个局部最优解中选出一个最好的。
f2(s2) 0
5
10 14
16
21
总效益最大为21万元,分配方案为: (1)甲—0台, 乙—2台, 丙—3台;(2)甲—2台, 乙—2台, 丙—1台。
1.2 二维资源分配问题 二维资源分配问题可描述如下:设有两种原料, 数量各为a和b,分配给n个使用者。已知第i个使用者 得到两种资源的数量各为xi和yi时,可创造的收益为 gi(xi, yi)。问应如何分配该资源,才能使总收益最大。 静态规划模型:
第6章 动态规划应用举例
第1节 资源分配问题
1.1 一维资源分配问题 资源分配问题可描述如下:设有某种原料,总 数量为a,分配给n个使用者。已知第i个使用者得到 数量xi的该种资源,可创造的收益为gi(xi)。问应如何 分配该资源,才能使总收益最大。 静态规划 模型: 用动态规划法处理这种问题时,通常把给各个使 用者分配资源的过程分别看成一个阶段,按使用者分 成先后的n个阶段。即先给第1个使用者分配资源,为 第一阶段;再给第2个使用者分配,为第二阶段;依 此类推,最后给第n个使用者分配,为第n阶段。
与一维资源分配问题类似,把给各个使用者分配 资源的过程分别看成一个阶段,按使用者分成先后的 n个阶段。由于要分配两种资源,所以状态变量要有 两个,决策变量也要有两个。
按使用者划分为n个阶段,k=1,2,..,n; 取第k阶段初(给第k个使用者分配资源时)两种资 源各自的剩余量sk和tk为状态变量, s1=a, t1=b; 取分配给第k个使用者两种资源的数量xk和yk为决策 变量,0≤xk≤sk, 0≤xk≤sk (k=1,…,n-1), xn= sn, yn= tn; 状态转移方程为:sk+1=sk-xk,tk+1=tk-yk; 指标函数为Vk,n=Ʃgj(xj,yj) ; 基本方程为:
机器数
0 1 2 3 4 5
甲
0 3 7 9 12 13
乙
0 5 10 11 11 11
丙
0 4 6 11 12 12
解: 分成3个阶段,k=1,2,3; sk为状态变量,s1=5; xk为决策变量,0≤xk≤sk,x3=s3; 状态转移方程sk+1= sk-xk ; 基本方程为: fk(sk)= max {gk(xk)+fk+1(sk+1)} k=2,1
2. 逐次逼近法 逐次逼近法的做法是,先保持一个变量不变,对另 一个变量求最优,然后交替地固定,以迭代的形式反复 进行,直到满足某种要求为止。 先设x(0)={x1(0), x2(0),…, xn(0)}为满足Ʃxi(0)=a的一个可 行解,固定x在x(0),对y求解,则变为一维问题
用一维方法Biblioteka Baidu得y(0)={y1(0), y2(0),…, yn(0)},再固定y在 y(0),对x求解一维问题