动态规划讲稿2.docx

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

第三节背包装载问题及旅行推销员问题

一、背包装载问题1.问题:有一人带一背包旅行,其可携带物品重量限度为M。现有编号为1,2,?,n的n种物品供他选择。

已知第i种物品每件重量为w ,价值携带数量x 的函数

i i

c(x

i i

)。问此人应如何选择携带物品,以使装货的价值最

大?2.动态规划求解方法

首先建立模型

设x 为第i 种物品的装入件数,则问题的数学模型

i

??maxf ??n

?

? i?1

c(x)

i i

????n wx ?M

?

?

i i

i?1

?x ?0,且为整数,i?1,2, ,n

? i

?

这是整数规划问题,若xi?1,即变量取值仅为0,1,则称为“0-1”背包问题。

现在我们用动态规划方法来求解背包问题。

1按物品的n个种类分为n个阶段;

2状态变量s :表示用于装第1种至第k 种物品的

k

总重量;

3决策变量x

k

:表示装入第k 种物品的件数;

4状态转移方程:s

5允许决策集合:

?s

k?1 k

x w

k k

? s ?

D (s

k k

s

)??x

? k

0?x

k

ws

w

?[ k ]?

??

?

k

w式中的[ k

w

k

]表示不超过 k

k

的最大整数;

6最优指标函数f (s ):表示总重量不超过s 时,

6

k k k

背包中可装入第1种至第k 种物品的最大价值,即

??f (s )?

?

? k k

max ? c

ki

k

k

(x)

i

?wx?s

i?1

? i?1ii k

??x ?0,且为整数,i?1,2, ,k

?

?

i

7递推关系:

?f(s)? max ?c(x

)?f

(s?wx

)?,2?k?n

?k k

x?0,1,?,?s

/w? k k

k?1 k k k

? 1 k k

?f(s)? max c(x)

?1 1

x?0,1,?,?s/w?1 1

1 1 1

要求:f (M)

n

11求解过程:逐步计算f(s

1

1

),f

2

(s ), ,f (s )

?及2 n n

?

x (s ),最后得到f (M)和相应的最优策略。

k k n

例1 用动态规划方法求解

?maxf ?4x

5x

6x

?

?3x

4x

1

5x

2 3

?10

? 1 2 3

?x ?0,且为整数,i?1,2,3

?

i

解:n?3,M?10,问题就是求f

3

(10),递推关系为:

f (10)? max

3 ?10?

?6x

3

? f (10?5x)?

2 3

x3?0,1,?,??5??

?max?0? f

2

(10),6? f

2

(5),12? f

2

(0)?

因此,求f

3

(10),需先计算f

? 2

(10),f

2

(5),f

(0)。

2?

f (10)? max 5x

2 ?10? 2

?f (10?4x )

1 2

x2?0,1,?,??4??

?max?0?f

?1

(10),5?f

1

(6),10?f

?1

(2)?

f (5)?

2

max 5x

2 ?4?2x?0,1,?,

2 ?4?

2

? ?

? f (5?4x )

1 2

?max?0? f

1

(5),5? f

1

(1)?

f (0)?

2

max ?5x

2 ?4?2x?0,1,?,

2 ?4?

2

? ?

? f(0?4x )?

1 2

? f(0)

1

为计算f (10),f (5),f (0),又需先计算:

2 2 2

f(10),f(6),f(5),f(2),f(1),f(0)

1 1 1 1 1 1

对f 我们有:

11

1

1f(s)? max (4x

1

)?4??s?

x?0,1, ,?s?

1 ??3??

??3??

对应的最优决策为x

?s?

1???3??,因此得到:

1

?

从而有

f(10)?4?3?12 x ?3

1 1

f(6)?4?2?8 x ?2

1 1

f(5)?4?1?4 x ?1

1 1

f(2)?4?0?0 x ?0

1 1

f(1)?4

文档评论(0)

tianya189 + 关注
官方认证
内容提供者

该用户很懒,什么也没介绍

认证主体阳新县融易互联网技术工作室
IP属地上海
统一社会信用代码/组织机构代码
92420222MA4ELHM75D

1亿VIP精品文档

相关文档