- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
精品文档 你我共享
精品文档 你我共享
AAAAAA
AAAAAA
第三节背包装载问题及旅行推销员问题
一、背包装载问题
1.问题:有一人带一背包旅行,其可携带物品重量限 度为M。现有编号为1, 2,…,n的n种物品供他选择。 已知第i种物品每件重量为 Wi,价值携带数量 Xj的函数 C (Xj。问此人应如何选择携带物品, 以使装货的价值最
大?
2 .动态规划求解方法
首先建立模型
设Xj为第i种物品的装入件数,则问题的数学模型
为
r n
max f =為 ci (xi)
I
n
注w*兰M
Xi - 0,且为整数,i二1,2,…,n
I
这是整数规划问题,若 x^ 1,即变量取值仅为0,
1,则称为“ 0—1”背包问题。
现在我们用动态规划方法来求解背包问题。
1>按物品的n个种类分为n个阶段;
2>状态变量Sk :表示用于装第1种至第k种物品的
总重量;
3>决策变量Xk :表示装入第k种物品的件数;
4>状态转移方程:sk_i = Sk - xkwk
5>允许决策集合:
f Sk 1
DO 二 % 0 兰 Xk 兰[——]>
I k J
sk
sk
式中的[订]表示不超过
sk
—7的最大整数;
6>最优指标函数fk(Sk):表示总重量不超过 Sk时, 背包中可装入第1种至第k种物品的最大价值,即
r k
fk(Sk)二 max Ci (Xi)
< £w必空k iW
im
公-0,且为整数,i「,2,…,k
7>递推关系:
兀($)=为辭挖宦》(人)+ fk_i6-叫兀),2 k《n 血jma紆(x)
要求:fn(M)
求解过程:逐步计算fi(Si), f2(S2)厂,fn(Sn)及
Xk(Sk),最后得到fn(M)和相应的最优策略。
例1 用动态规划方法求解
max f = 4x「5x2 6x3
I
3x1 4x2 5x3 乞 10
x^ 0,且为整数,i = 1,2,3
解:n = 3,M -10,问题就是求f3(10),递推关系为:
f3(10) = max10〔6X3 f2(10 - 5x3)]
二 max「0 f2(10),6 f2(5),12 f2(0):? 因此,求 f3(10),需先计算 f2(10), f2(5), f2(0) o f2(10)= max 5x2 仃(10-4x2)】
X2g…賈
二 max:^ f1(10),^ f1(6),1^ f1(2)?
f2(5) = max 〔5x2 办(5 - 4x2)]
%2处,[4]
=max 0 匕(5),5 f1(1)?
f2(0) = max 〔5x2 匸(0 - 4x2)】
X2』1;「骰
二 fi(0)
为计算f2(10), f2(5), f2(0),又需先计算:
fi(10), fi(6), fi(5), fi(2), fi(1), fi(0)
si_ i_3对
si_ i_3
f1 (s) = max (4x1)
xi T;1…
x厂3 x厂2 x厂
x厂3 x厂2 x厂1
x厂0 x厂0 x^ 0
fi(10p 4 3T2 f1(6p 4 2=8 f1(5p 4 1= 4 f1(2p 4 0=0 f1(1) = 4 0=0 f1(0p 4 0=0
从而有
f2(10) = maxF(10),5 办(6),10 匸⑵?
二 max 12,5 8,10 0 ; = 13 = 2,x2 = 1
f2(5) = max (5) ,5 匕(1*
二 max4,5 0, 5 咅=0, x2 = 1
彳2(°)=人(0) = 0 X[=0,X2 = 0
最后得到:
f3(10) = max「f2 (10),6 f2 (5),12 f2 (10)?
二 max 13,6 5,12 0= 13 = 2, x2 = 1, x3 = 0
即最优方案为x1 = 2,x2 = 1,x3 = 0,最大价值为13。
3 .多维背包问题
“二维背包问题”的数学模型为:
r n
max f = ci(xi)
i =
n
丨送WjXj兰M
i=1
n
* L
i =1
x^ 0,i = 1,2,…,n
最优指标函数fk(w「):表示当总重量不超过 W ,
总体积不超过:时,背包中装入第一种到第 k种物品的
精品文档 你我共享
精品文档 你我共享
最大使用价值。则有:
n
fk(w,)二 max Ci(xJ
I 7
k
I - wi Xi 乞 w
i.1
k
正 SXi “
i =1
Xi X o,i =12…k
递推关系为:
fk(w,)二 max (CkXQ
0fk]歸
J fk_i(w-WkXk严-「kXk)L 1 兰n
fg(w ) = 0
~r
l
按上面递推关系求出fn (M,L),即为所求的最大价值, 对
应的策就是最佳携带方案。
二、旅行
文档评论(0)