动态规划应用举例.doc

上传人:b****2 文档编号:1408441 上传时间:2022-10-22 格式:DOC 页数:33 大小:1.85MB
下载 相关 举报
动态规划应用举例.doc_第1页
第1页 / 共33页
动态规划应用举例.doc_第2页
第2页 / 共33页
动态规划应用举例.doc_第3页
第3页 / 共33页
动态规划应用举例.doc_第4页
第4页 / 共33页
动态规划应用举例.doc_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

动态规划应用举例.doc

《动态规划应用举例.doc》由会员分享,可在线阅读,更多相关《动态规划应用举例.doc(33页珍藏版)》请在冰豆网上搜索。

动态规划应用举例.doc

南京航空航天大学运筹学课程论文

题目:

动态规划应用举例

学号:

姓名:

完成日期:

2013。

5。

16

摘要

动态规划是解决最优控制的一种重要方法之一,算法的优点有:

(1)易于确定全局最优解;

(2)能得到一族解,有利于分析结果;(3)能利用经验,提高求解的效率。

动态规划方法虽然存在许多不足之处,但随着计算机的日益普及,动态规划的应用越来越广泛,它能够巧妙地解决科学技术和实际生活中的许多实例。

本文列举了一些典型例题,介绍了如何用动态规划去求解,不足之处是这些问题大多数都是确定型的,而对于连续型、随机型问题接触较少。

关键词:

动态规划;应用;

正文

一、资源分配问题

所谓分配问题,就是将数量一定的一种或若干种资源(例如原材料、资金、机器设备、劳力、食品等等),恰当地分配给若干个使用者,而使目标函数为最优。

设有某种原料,总数量为a,用于生产n种产品。

若分配数量用于生产第i种产品,其收益为,问应如何分配,才能使生产n产品的总收入最大?

此问题可写成静态规划问题:

当都是线性函数时,它是一个线性规划问题;当是非线性函数时,它是一个非线性规划问题。

但当n比较大时,具体求解是比较麻烦的。

由于这类问题的特殊结构,可以将它看成一个多阶段决策问题,并利用动态规划的递推关系来求解。

在应用动态规划方法处理这类“静态规划”问题时,通常以把资源分配给一个或几个使用者的过程作为一个阶段,把问题中的变量为决策变量,将累计的量或随递推过程变化的量选为状态变量。

设状态变量表示分配用于生产第k种产品至第n种产品的原料数量。

决策变量表示分配给生产第k种产品的原料数,即=

状态转移方程:

允许决策集合:

令最优值函数表示以数量为的原料分配给第k种产品至第n种产品所得到的最大总收入。

因而可写出动态规划的逆推关系式为:

利用这个递推关系式进行逐段计算,最后求得即为所求问题的最大总收入。

例1某工业部门根据国家计划的安排,拟将某种高效率的设备五台,分配给所属的甲、乙、丙三个工厂,各工厂若获得这种设备之后,可以为国家提供的盈利如表9-1所示。

表9-1

问:

这五台设备如何分配给各工厂,才能使国家得到的盈利最大。

解将问题按工厂分为三个阶段,甲、乙、丙三个工厂分别编号为1、2、3。

设表示为分配给第k个工厂至第n个工厂的设备台数。

表示为分配给第k个工厂的设备台数,则为分配给第k+1个工厂至第n个工厂的设备台数。

表示为台设备分配到第k个工厂所得的盈利值。

表示为台设备分配给第k个工厂至第n个工厂时所得到的最大盈利值。

因而可写出逆推关系式为

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

第三阶段:

设将台设备(=0,1,2,3,4,5)全部分配给工厂丙时,则最大盈利值为,其中==0,1,2,3,4,5。

因为此时只有一个工厂,有多少台设备就全部分配给工厂丙,故它的盈利值就是该段的最大盈利值,如下表。

表9-2

0

1

2

3

4

5

0

0

 

 

 

 

 

0

0

1

 

4

 

 

 

 

4

1

2

 

 

6

 

 

 

6

2

3

 

 

 

11

 

 

11

3

4

 

 

 

 

12

 

12

4

5

 

 

 

 

 

12

12

5

表中表示使为最大值时的最优决策。

第二阶段:

设把台设备(=0,1,2,3,4,5)分配给工厂乙和工厂丙时,则对每个值,有一种最优分配方案,使最大盈利值为

其中。

因为给乙工厂台,其盈利为,余下的−台就给丙工厂,则它的盈利最大值为。

现要选择的值,使取最大值。

其数值计算如表9-3所示。

表9-3

 

 

0

1

2

3

4

5

0

0

 

 

 

 

 

0

0

1

0+4

5+0

 

 

 

 

5

1

2

0+6

5+4

10+0

 

 

 

10

2

3

0+11

5+6

10+4

11+0

 

 

14

2

4

0+12

5+11

10+6

11+4

11+0

 

16

1,2

5

0+12

5+12

10+11

11+6

11+4

11+0

21

2

第一阶段:

设把台(这里只有=5的情况)设备分配给甲、乙、丙三个工厂时,则最大盈利值为

其中。

因为给甲工厂台,其盈利为,剩下的5−台就分给乙和丙两个工厂,则它的盈利最大值为。

现要选择值,使取最大值,它就是所求的总盈利最大值,其数值计算如表9-4所示。

表9-4

 

 

0

1

2

3

4

5

5

0+21

3+16

7+14

9+10

12+5

13+0

21

0,2

然后按计算表格的顺序反推算,可知最优分配方案有两个:

(1)由于=0,根据,查表9-3知=2,由,故,即得甲工厂分配0台,乙工厂分配2台,丙工厂分配3台。

(2)由于=2,根据,查表9-3知=2,由,故,即得甲工厂分配2台,乙工厂分配2台,丙工厂分配1台。

以上两个分配方案所得到的总盈利均为21万元。

资源连续分配问题

设有数量为的某种资源,可投入A和B两种生产。

第一年若以数量投入生产A,剩下的量−就投入生产B,则可得收入为,其中g()和h()为已知函数,且g(0)=h(0)=0。

这种资源在投入A、B生产后,年终还可回收再投入生产。

设年回收率分别为0

第二年再将资源数量中的和−分别再投入A、B两种生产,则第二年又可得到收入为。

如此继续进行n年,试问:

应当如何决定每年投入A生产的资源量才能使总的收入最大?

此问题写成静态规划问题为

下面用动态规划方法来处理。

设为状态变量,它表示在第k阶段(第k年)可投入A、B两种生产的资源量。

为决策变量,它表示在第k阶段(第k年)用于A生产的资源量,则−表示用于B生产的资源量。

状态转移方程为

最优值函数表示有资源量,从第k阶段至第n阶段采取最优分配方案进行生产后所得到的最大总收入。

因此可写出动态规划的逆推关系式为

最后求出即为所求问题的最大总收入。

例2机器负荷分配问题。

某种机器可在高低两种不同的负荷下进行生产,设机器在高负荷下生产的产量函数为g=8,其中为投入生产的机器数量,年完好率a=0。

7;在低负荷下生产的产量函数为h=5y,其中y为投入生产的机器数量,年完好率为b=0。

9。

假定开始生产时完好的机器数量=1000台,试问每年如何安排机器在高、低负荷下的生产,使在五年内生产的产品总产量最高。

构造这个问题的动态规划模型:

设阶段序数k表示年度。

状态变量为第k年度初拥有的完好机器数量,同时也是第k−1年度末时的完好机器数量。

决策变量为第k年度中分配高负荷下生产的机器数量,于是−为该年度中分配在低负荷下生产的机器数量。

这里和均取连续变量,它们的非整数值可以这样理解,如=0。

6,就表示一台机器在k年度中正常工作时间只占6/10;=0。

3,就表示一台机器在该年度只有3/10的时间能在高负荷下工作。

状态转移方程为

k段允许决策集合为

设为第k年度的产量,则

故指标函数为

令最优值函数表示由资源量出发,从第k年开始到第5年结束时所生产的产品的总产量最大值。

因而有逆推关系式:

从第5年度开始,向前逆推计算。

当k=5时,有

因是的线性单调增函数,故得最大解,相应的有。

当k=4时,有

故得最大解,=,相应的有。

依此类推,可求得

因=1000,故(台)。

计算结果表明:

最优策略为,即前两年应把年初全部完好机器投入低负荷生产,后三年应把年初全部完好机器投入高负荷生产。

这样所得的产量最高,其最高产量为23700台。

在得到整个问题的最优指标函数值和最优策略后,还需反过来确定每年年初的状态,即从始端向终端递推计算出每年年初完好机器数。

已知=1000台,于是可得

下面讨论始端固定、终端自由的一般情形。

设有n个年度,在高、低负荷下生产的产量函数分别为,其中c、d>0,c>d。

年回收率分别为a和b,0

试求出最优策略的一般关系式。

显然,这时状态转移方程为

k段的指标函数为

令表示由状态出发,从第k年至第n年末时所生产的产品的总产量最大值。

可写出逆推关系式为:

我们知道,在低负荷下生产的时间愈长,机器完好率愈高,但生产产量少。

而在高负荷下生产产量会增加,但机器损坏大。

这样,即使每台产量高,总起来看产量也不高。

从前面的数字计算可以看出,前几年一般是全部用于低负荷生产,后几年则全部用于高负荷生产,这样才产量最高。

如果总共为n年,从低负荷转为高负荷生产的是第t年,1≤t≤n。

即是说,从1至t−1年在低负荷下生产,t至n年在高负荷下生产。

现在要分析t与系数a、b、c、d是什么关系。

从回收率看,(b−a)值愈大,表示在高负荷下生产时,机车损坏情况比在低负荷时严重得多,因此t值应选大些。

从产量看,(c−d)值愈大,表示在高负荷下生产较有利,故t应选小些。

下面我们从(9-2)式这一基本方程出发来求出t与(b−a)、(c−d)的关系。

令。

则在低负荷生产时有,高负荷生产时有。

对第n段,有

由于c>d,所以应选1才能使最大。

也就是说,最后一年应全部投入高负荷生产。

对n-1段,根据(9-2)式有

因此,欲要满足上式极值关系的条件是当

时,应取,即n−1年仍应全部在高负荷下生产。

否则,当(9-4)式不满足时,应取,即n−1年应全部投入低负荷生产。

由前面知道,只要在第k年投入低负荷生产,那么递推计算结果必然是从第1年到第k年均为低负荷生产,即有。

可见,算出后,前几年就没有必要再计算了。

故只需研究哪一年由低负荷转入高负荷生产,即从那一年开始变为1就行。

根据这点,现只分析满足(9-4)式的情况。

由于,故(9-3)式变为

又由于,将它代入上式得

对n-2段,由(9-2)式有

由此可知,只要满足极值条件式

就应选,否则为0,即应继续在高负荷下生产。

依次类推,如果转入高负荷下生产的是第t年,则由

可以推出,应满足极值关系的条件必然是:

相应的有最优策略

它就是例2在始端固定终端自由情况下最优策略的一般结果。

从这个例子看到,应用动态规划,可以在不求出数值解的情况下,确定最优策略的结构。

可见,只要知道了a,b,c,d四个值,就总可找到一个t值,满足(9-5)式,且

例如题中给定的,代入(9-5)式,应有

可见,所以t=3,即从第三年开始将全部机器投入高负荷生产,五年内总产量最高。

上面的讨论表明:

当x在[0,]上离散地变化时,利用递推关系式逐步计算或表格法而求出数值解。

当x在[0,]上连续地变化时,若和是线性函数或凸函数时,根据递推关系式运用解析法不难求出和最优解;若和不是线性函数或凸函数时,一般来说,解析法不能奏效,那只好利用递推关系式(9-1)求其数值解。

首先要把问题离散化,即把区间[0,]进行分割,令x=0,Δ,2Δ,…,mΔ=。

其Δ的大小,应根据计算精度和计算机容量等来确定。

然后规定所有的和决策变量只在这些分割点上取值。

这样,递推关系式(9-1)便可写为

对依次计算,可逐步求出及相应的最优决策,最后求得就是所求的最大总收入。

这种离散化算法可以编成程序在计算机中计算。

1。

2二维资源分配问题

设有两

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1