运筹学实验-动态规划

运筹学实验-动态规划
运筹学实验-动态规划

实验二用MATLAB解决动态规划问题

问题:有一部货车每天沿着公路给四个售货店卸下6箱货物,如果各零售店出售该货物所得利润如下表所示,试求在各零售店卸下几箱货物,能使获得总利润最大?其值为多少?

解:

1)将问题按售货店分为四个阶段

2)设s k表示为分配给第k个售货店到第n个工厂的货物数,

x k设为决策变量,表示为分配给第k个售货店的货物数,

状态转移方程为s k+1=s k-x k。

P k(x k)表示为x k箱货物分到第k个售货店所得的盈利值。

f k(s k)表示为s k箱货物分配给第k个售货店到第n个售货店的最大盈利值。

3)递推关系式:

f k(s k)=max[ P k(x k)+ f k+1(s k-x k) ] k=4,3,2,1

边界条件:f5(s5)=0

4)从最后一个阶段开始向前逆推计算。

第四阶段:

设将s4箱货物(s4=0,1,2,3,4,5,6)全部分配给4售货店时,最大盈利值为: f4(s4)=max[P4(x4)] 其中x4=s4=0,1,2,3,4,5,6 x4*表示使得f4(s4)为最大值时的最优决策。

第三阶段:

设将s3箱货物(s3=0,1,2,3,4,5,6)分配给3售货店和4售货店时,对每一个s3值,都有一种最优分配方案,使得最大盈利值为:f3(s3)=max[ P3(x3)+ f4(s3-x3) ] ,

3

第二阶段:

设将s2箱货物(s2=0,1,2,3,4,5,6)分配给2售货店、3售货店和4售货店时,则最大盈利值为:f2(s2)=max[ P2(x2)+ f3(s2-x2) ]

其中,2=0,1,2,3,4,5,6

第一阶段:

设将s2箱货物(s1=0,1,2,3,4,5,6)分配给1售货店、2售货店、3售货店和4售货店时,则最大盈利值为:f1(s1)=max[ P1(x1)+ f2(s1-x1) ]

1

按计算表格的顺序反推,可知最优分配方案有6个:1)x1*=1,x2*=1,x3*=3,x4*=1。

2)x1*=1,x2*=2,x3*=2,x4*=1。

3)x1*=1,x2*=3,x3*=1,x4*=1。

4)x1*=2,x2*=0,x3*=3,x4*=1。

5)x1*=2,x2*=1,x3*=2,x4*=1。

6)x1*=2,x2*=2,x3*=1,x4*=1。

以上6种最优方案的总利润均为17。

使用Matlab解决上面的问题:

在matlab命令窗口输入下面的程序:

图1 程序及其运行结果-1

图2 程序及其运行结果-2

图3 程序及其运行结果-3 m=1;

A=[0 4 6 7 7 7 7];

B=[0 2 4 6 8 9 10];

C=[0 3 5 7 8 8 8];

D=[0 4 5 6 6 6 6];

for a=1:7

for b=1:7

for c=1:7

for e=1:7

if a+b+c+e==10

d(m)=A(a)+B(b)+C(c)+D(e); E(m,1)=a;

E(m,2)=b;

E(m,3)=c;

E(m,4)=e;

m=m+1;

else

continue;

end

end

end

end

end

MAXNum=d(1);

for l=1:size(d,2)

if d(l)>MAXNum

MAXNum=d(l);

p=l;

else

continue;

end

end

for l=1:size(d,2)

if d(l)==MAXNum

E(l,:)-1

else

continue;

end

end

MAXNum

按回车后可以得到以下的结果:

ans =

1 1 3 1

ans =

1 2 2 1

ans =

1 3 1 1

ans =

2 0

3 1

ans =

2 1 2 1

ans =

2 2 1 1

MAXNum =

17

由运行结果可知最优方案有6个:

1)x1*=1,x2*=1,x3*=3,x4*=1。

2)x1*=1,x2*=2,x3*=2,x4*=1。

3)x1*=1,x2*=3,x3*=1,x4*=1。

4)x1*=2,x2*=0,x3*=3,x4*=1。

5)x1*=2,x2*=1,x3*=2,x4*=1。

6)x1*=2,x2*=2,x3*=1,x4*=1。

最大总利润为17。

这与之前的计算结果一致。

(注:可编辑下载,若有不当之处,请指正,谢谢!)

运筹学实验_动态规划

实验二用MATLAB解决动态规划问题 问题:有一部货车每天沿着公路给四个售货店卸下6箱货物,如果各零售店出售该货物所得利润如下表所示,试求在各零售店卸下几箱货物,能使获得总利润最 解: 1)将问题按售货店分为四个阶段 2)设s k表示为分配给第k个售货店到第n个工厂的货物数, x k设为决策变量,表示为分配给第k个售货店的货物数, 状态转移方程为s k+1=s k-x k。 P k(x k)表示为x k箱货物分到第k个售货店所得的盈利值。 f k(s k)表示为s k箱货物分配给第k个售货店到第n个售货店的最大盈利值。 3)递推关系式: f k(s k)=max[ P k(x k)+ f k+1(s k-x k) ] k=4,3,2,1 边界条件:f5(s5)=0 4)从最后一个阶段开始向前逆推计算。 第四阶段: 设将s4箱货物(s4=0,1,2,3,4,5,6)全部分配给4售货店时,最大盈利值为: f4(s4)=max[P4(x4)] 其中x4=s4=0,1,2,3,4,5,6 x4*表示使得f4(s4)为最大值时的最优决策。 第三阶段:

设将s3箱货物(s3=0,1,2,3,4,5,6)分配给3售货店与4售货店时,对每一个s3值,都有一种最优分配方案,使得最大盈利值为:f3(s3)=max[ P3(x3)+ f4(s3-x3) ] ,x3= 第二阶段: 设将s2箱货物(s2=0,1,2,3,4,5,6)分配给2售货店、3售货店与4售货店时,则最大盈利值为:f2(s2)=max[ P2(x2)+ f3(s2-x2) ] 第一阶段: 设将s2箱货物(s1=0,1,2,3,4,5,6)分配给1售货店、2售货店、3售货店与4售货店时,则最大盈利值为:f1(s1)=max[ P1(x1)+ f2(s1-x1) ] 按计算表格的顺序反推,可知最优分配方案有6个: 1) x1*=1,x2*=1,x3*=3,x4*=1。 2) x1*=1,x2*=2,x3*=2,x4*=1。 3) x1*=1,x2*=3,x3*=1,x4*=1。

128503-管理运筹学-习题-06-动态规划

习题 6-1. 考虑下面的网络图,箭头上的数字代表相连两个节点之间的距离。 (1)用动态规划找出从节点1到节点10的最短路。 (2)从节点4到节点10的最短路呢? 6-2. 从北京到上海的包机的剩余装载能力为2000kg ,某一运输公司现有4种货物需要从北京运输到上海。每种货物的单位、单位重量和单位运输费用如下表所示。 (1)用动态规划找出包机应该运输的每种货物的单位数。 (2)假设包机同意装载另一批货物,剩余装载能力降为1800kg ,计算结果会怎样变化? 6-3. 假定有一个3阶段的过程,每一阶段的产量是需要做出决策的函数。使用数学符号,问题表述如下: Max ()()()332211d r d r d r ++ s.t. 1000321≤++d d d 每个阶段的决策变量和相应的返回值如下所示:

6-4. 某制造公司为一家汽车工厂提供发动机的部件,以下是3个月的生产计划的数据。 量是10单位,并且生产批量是10的倍数(例如,10,20或者30单位)。 6-5. 某物流公司雇佣了8名新员工,现决定如何把他们分配到4项作业上。公司给出了以下每项作业分配不同的作业人员的估计利润表。 (1) 用动态规划决定每项作业应该分配的新员工数目。 (2) 如果公司只雇佣了6名新员工,应该把这些员工分配给哪些作业? 6-6. 一个锯木厂采购了一批20ft 长的原木,想要把这些原木切成更短的原木,然后把切后的小原木卖给制造公司。制造公司已经订购了一批4种尺寸的原木:l 1=3ft ,l 2=7ft ,l 3=11ft ,l 4=16ft 。锯木厂现在有2000个长度为20ft 的原木的库存,并希望有选择地裁截原木以最大化利润。假定锯木厂的订单是无限的,唯一的问题就是确定把现有原木裁成的类型以最大化利润。原木的利润如下表所示: 任何裁截类型的长度限制如下: 201173321≤++d d d 其中,i d 是长度为i l 的类型的裁截数目,4,3,2,1=i . (1)为这个问题建立动态规划模型,并使用模型解决问题。你需要设立哪些变量?状态变量有哪些? (2)简要介绍如果总的长度l 被截成l 1,l 2,……l N 这样N 中长度的话,如果扩展现有模型以找到最优解? 6-7. 一家港口公司建立了良好的管理训练计划,希望每一个员工完成一个4阶段的作业。但是在训练计划的每个阶段,员工都会被分配一系列艰难的作业。以下是训练计划的每个阶段员工可能被分派的作业和任务估计完成时间。 次级阶段的作业取决于其先前的作业。例如,在阶段1接受作业A 的员工在阶段2只能接受作业F 或者作业G ——即每一项作业都存在优先关系。

运筹学--第七章 动态规划

189 习题七7.1计算如图所示的从A 到E 的最短路线及其长度(单位:km ): (1) 用逆推解法;2用标号法。 7.2 用动态规划方法求解下列问题 (1) max z =x 12x 2 x 33 x 1+x 2+x 3 ≤6 x j ≥0 (j =1,2,3) (2)min z = 3x 12+4x 22 +x 32 x 1x 2 x 3 ≥ 9 x j ≥0 (j =1,2,3) 7.3 利用动态规划方法证明平均值不等式: n n n x x x n x x x 12121)()( ≥+++ 设x i ≥0,i =1,2,…,n 。 7.4 考虑一个有m 个产地和n 个销地的运输问题。设a i (i =1,2,…,m )为产地i 可发运的物资数,b j (j =1,2,…,n )为销地j 所需要的物资数。又从产地i 到销地j 发运x ij 单位物资所需的费用为h ij (x ij ),试将此问题建立动态规划的模型。 7.5 某公司在今后三年的每一年的开头将资金投入A 或B 项工程,年末的回收及其概率如下表所示。每年至多做一项投资,每次只能投入1000万元。求出三年后所拥有的期望金额达到最大的投资方案。 投 资 回 收 概 率 A 0 0.4 2000 0.6 B 1000 0.9 2000 0.1 7.6 某公司有三个工厂,它们都可以考虑改造扩建。每个工厂都有若干种方案可供选择,各种方案的投资及所能取得的收益如下表所示(单位:千万元)。现公司有资金5千万元,问应如何分配投资使公司的总收益最大?

7.7 某厂准备连续3个月生产A种产品,每月初开始生产。A的生产成本费用为x2,其中x是A产品当月的生产数量。仓库存货成本费是每月每单位为1元。估计3个月的需求量分别为d1=100,d2=110,d3=120。现设开始时第一个月月初存货s0=0,第三个月的月末存货s3=0。试问:每月的生产数量应是多少才使总的生产和存货费用为最小。 7.8 设有一辆载重卡车,现有4种货物均可用此车运输。已知这4种货物的重量、容积及价值关系如下表所示。 货物代号重量(吨)容积(立方米)价值(千元) 1 2 2 3 2 3 2 4 3 4 2 5 4 5 3 6 若该卡车的最大载重为15吨,最大允许装载容积为10立方米,在许可的条件下,每车装载每一种货物的件数不限。问应如何搭配这四种货物,才能使每车装载货物的价值最大。 7.9 某警卫部门有12支巡逻队负责4个仓库的巡逻。按规定对每个仓库可分别派2-4支队伍巡逻。由于所派队伍数量上的差别,各仓库一年内预期发生事故的次数如下表所示。试应用动态规划的方法确定派往各仓库的巡逻队数,使预期事故的总次数为最少。 巡逻队数预期事故次数仓库 1 2 3 4 2 18 38 14 34 3 16 36 12 31 4 12 30 11 25 7.10 (生产计划问题)根据合同,某厂明年每个季度末应向销售公司提供产品,有关信息见下表。若产品过多,季末有积压,则一个季度每积压一吨产品需支付存贮费0.2万元。现需找出明年的最优生产方案,使该厂能在完成合同的情况下使全年的生产费用最低。 季度j生产能力a j(吨)生产成本d j(万元/吨)需求量b j(吨) 1 30 15.6 20 2 40 14.0 25 3 25 15.3 30 4 10 14.8 15 (1)请建立此问题的线性规划模型。(提示:设第j季度工厂生产产品x j吨,第j季度初存贮的产品为y j吨,显然y1=0)(2)请建立此问题的动态规划模型。(均不用求解) 190

相关文档
最新文档