第八章 装箱问题 (第10讲)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

有最小标号的箱子 .
计算复杂性为 O(nlogn).
但精度比NF
算法更高
§3
装箱问题的近似算法
Theorem 3.4 Theorem 3.5 对任意实例 I ,
zFF ( I ) 7 . zopt ( I ) 4
7 17 1 4 10 20
17 z FF ( I ) zopt ( I ) 1 10
Go back
问 L(a) L1 ? 未必! 如 (wj a, j 1 n)
Corollary 3.1 Proof :
记 L2 max L(a) 0 a C 2 , a 为整数


则 L2 是装箱问题的最优解的一个下界,且 L2 L1 . L2 为最优解的下界是显然的 . (若证明 L(0) L1 ,则可得 L2 L1 )
wi . 定界法;二是启发式(近似)算法 是它的一个最优解 . i 1
min z yi
i 1 n opt
分支
z

C
(1)
(2)
((BP C BP))
s.t.
w x
x
i 1
n
j 1 n
j ij
Cyi
i 1 n
ij
1
j 1 n
1, xij 1 1 i, ji, j1 yi 0 0 yior 1, 0 xij 0 or 1n . n.
min
n
z yi
i 1
n
( BP )
s.t.
w x
x
i 1
j 1 n
j ij
Cyi
i 1 n
(1)
(2)
ij
1
j 1 n
yi 0 or 1, xij 0 or 1
i, j 1 n.
第八章 装箱问题
上述装箱问题是这类问题最早被研究的,也是提
法上最简单的问题,称为一维装箱问题 . 但 BP NP C. 装箱问题的其他一些提法: 1、在装箱时,不仅考虑长度,同时考虑重量或面积、
解为:
B1
B2
B4
x11 x22 x33 x34 x45 x56 1 其余为零,zNF ( I ) 5.
第八章 装箱问题
Theorem 3.3
RNF 2
n i
先证 RNF 2 再说明不可改进
Proof : 设 I 为任一实例,zopt ( I ) k. (要证 zNF ( I ) 2k )
§2
n w i i 1 Theorem 3.1 BP 最优值的一个下界为 L1 C . a 表示不小于 a 的最小整数 .
装箱问题的最优解值下界
Theorem 3.2 设 a 是任意满足 0 a C 2 的整数,对 BP 的任一实例 I , 记 I1 物品 j w j C a ,
箱子 B1,B2,…的长均为 C ,按物品给定的顺序装箱 .
先将 J1 放入 B1,若 w1 w2 C , 则 J2 放入 B1 , 否
则,J2 放入 B2 ; 若 J2 已放入 B2,对于 J3 则依次检查
B1、B2 , 若 B1 能放得下, 则 J3 放入 B1 , 否则查看 B2 , 若 B2 能放得下,则 J3 放入 B2 , 否则启用 B3, J3 放入 B3.
而且存在 zopt ( I ) 任意大的实例 I ,使
17 z FF ( I ) ( zopt ( I ) 1) 10
因而
R
FF
17 . 10
第八章 装箱问题
物品
Example 2 Solution :
I : C = 10
J1
J2
J3
J4
J5
J6
wj
6
7
4
2
8
3
首先,将 J1 放入 B1; 由于 J2 在 B1 中放不下, 所 以将 J2 放入 B2 ,
§1
装箱问题的描述
Go back
BP 的应用举例:
1.44 7 10.08 10
1、下料问题 轧钢厂生产的线材一般为同一长度, 而用
户所需的线材则可能具有各种不同的尺寸, 如何根据用
户提出的要求,用最少的线材截出所需的定货; 4、生产流水线的平衡问题 给定流水节拍 C , 如何设置 2 、 二维 BP 玻璃厂生产出长宽一定的大的平板玻璃, 最少的工作站,(按一定的紧前约束)沿着流水线将任
是最优解的一个下界 .
第八章 装箱问题
Proof : 仅考虑对 I1,I2,I3中物品的装箱 . I1 I 2 中物品的长度大于C/2 ,
C C-a Note: w 可能小于零 C/2 a


( w j ( I 2 C w j )) 每个物品需单独放入一个箱子, jI jI
j
则 B1 已放入 J1,J2,…,Jj,将其关闭,将 Jj+1 放入 B2 .
同法进行,直到所有物品装完为止 . 计算复杂性为 O(n).
特点: 1、按物品给定的顺序装箱; 2、关闭原则 .
§3
装箱问题的近似算法 I : C = 10
物品 J1
6
Example 1 Solution :
J2
7
J3
已知每个文件的字节数不超过 1.44 MB , 而且一个文件
不能分成几部分存贮,如何用最少的磁盘张数完成 .
第八章 装箱问题
§2 装箱问题的最优解值下界
显然 由于 BP 是 NP-C 问题,所以求解考虑 一是尽可能 wi
C 改进简单的穷举搜索法,减少搜索工作量 . 如: n xii 1, xij 0 (i j )ቤተ መጻሕፍቲ ባይዱ yi , i, j 1 n .
§3
装箱问题的近似算法
二、FF ( First Fit ) 算法
参见 EX .1 用 NF 算法装
I : C如何修正 = 10 NF 算
物品
法 J 1
6
J2
J3
J4
J5
J6
wj
7
4
2
8
3
箱, 当放入 J3 时, 仅看 B2 是否能放入,因 B1 已关闭, 但事实上,B1 此时是能放得下 J3 的 . 设物品 J1,J2,…,Jn 的长度分别为 w1,w2,…,wn
最优目标可如何提?
体积 etc . 即二维、三维、…装箱问题;
2、对每个箱子的负荷限制不是常数 C ; 而是 Ci , i 1 n. 3、物品J1,J2,…,Jn 的负荷事先并不知道,来货是 随到随装;即 在线(On-Line)装箱问题; 4、由于场地的限制,在同一时间只能允许一定数量的
箱子停留现场可供使用, etc .
n ( w j I 2 C ) L(0) 0 I 2 max 0, j 1 C ( w j ( I 2 C w j )) j I 3 max jI 2 L I2 , L LI 1 1 I 2 (2 a ) max I1 I 20, L max 0, 1 C
其数量足够供所达到目的之用 . 每个箱子的负荷(可为
长度、重量 etc.)为 C ,今有 n 个负荷为 wj,0 < wj < C j = 1,2,…,n 的物品 J1,J2,…,Jn 需要装入箱内. 装箱问题: 是指寻找一种方法,使得能以最小数量的箱子数将 J1,J2,…,Jn 全部装入箱内.
§1
I3 物品 j C w j a , 2
I 2 物品 j C a w j C



, 2

( w j ( I 2 C w j )) jI 2 L(a) I1 I 2 max 0, jI3 C

4
J4
2
J5
8
J6
3
wj
首先,将 J1 放入 B1; 由于 J2 在 B1 中放不下, 所
J1 J2 J3 J4 J5 J6
以关闭 B1 , 将 J2 放入 B2 ,
J3 在 B2 中放不下(不考虑
B1 是否能装), 所以关闭 B2
将 J3 放入 B3,…

J1 J2
J4 J3 B3 J5 J6 B5
物品共用箱子,由于放 I2 中物品的 I 2 个箱子的剩余 总长度为
C I2 C wj
jI 2
在最好的情形下,C 被 I3 中的物品全部充满,故剩 下总长度 w
wj C
jI 3
与 中的物品如何? I 2 w 将另外至少 个附加的箱子 C
.
§2
装箱问题的最优解值下界
第八章 装箱问题
一般地,J1,…,Jj 已放入 B1,…,Bi 箱子,对于 Jj+1,
则依次检查 B1,B2,…,Bi,将 Jj+1 放入首先找到的能 放得下的箱子,如果都放不下,则启用箱子 Bi+1 ,将 Jj+1 放入 Bi+1 ,如此继续,直到所有物品装完为止 . 特点: 1、按物品给定的顺序装箱; 2、对于每个物品 Jj 总是放在能容纳它的具
n w 易证 zopt (I ) N 1 z ( I ) 2 N NF w Ck 显然,由 k z ( I ) 得 i i 1
i 1 opt
zNF ( I ) z 2 N 2 k ,( N 反证 如果 NF ( I ) 则 对任意 k 2 ) 得 i R= 2,…, 2 NF 1, zopt ( I ) N 1 由于起用第 2i 个箱子是因为第 2i -1 个箱子放不下第2i





当 a = 0 时,I1 , I 2 I3 是所有物品 .
L2 L(0) L1

第八章 装箱问题
§3 装箱问题的近似算法
一、NF ( Next Fit ) 算法 设物品 J1,J2,…,JJ w1,w2,…,wn 对当前要装的物品 只关心具有最大下标的已使 n i的长度分别为 箱子 B1,B2, 的长均为 C ,按物品给定的顺序装箱 . 用过的箱子 B… 能否装得下? 先将 J1 放入 B1, 如果 w1 w2 C 则将 J2 放入 B1 … 能. 则 Ji 放入 Bj ;否 . 关闭 Bj ,Ji 放入新箱子 Bj+1 . 如果 w1 w2 wj C 而 w1 w2 wj wj 1 C
最优化方法
Optimizing Methods
第八章 装箱问题
第八章
装箱问题
§1 装箱问题的描述 §2 装箱问题的最优解值下界 §3 装箱问题的近似算法
第八章 装箱问题
装箱问题(Bin Packing)是一个经典的组合优化
问题,有着广泛的应用,在日常生活中也屡见不鲜 .
§1 装箱问题的描述
设有许多具有同样结构和负荷的箱子 B1,B2,…
3 L(a ) I1 I 2 max 0, . 这就需要 I1 I2 个箱子 2
又 I 3 中每个物品长度至少为 a , 是最优解的一个下界 . 它不能与 I1 中的物品共用箱子, 但可能与 I2 中的
C I1 I2 I3
C
个箱子中第一个物品,因此这两个箱子中物品的总长度
大于 C ,所以前 2k 个箱子中物品的总长度大于 Ck . n zNF ( I ) w Ck 这与 i 矛盾 . 2, 从而 RNF 2. i 1 zopt ( I ) 1 1 1 1 1 1 w , w , , w , , , , , , 4N 考虑实例 I : C = 1, 1 2 2 2 N 2 2 N 2 2 N
装箱问题的描述 由于 wi < C,所以 BP 的最优解的箱子数不超过 n .
约束条件( 1)表示:一旦箱子 Bi 被使用,放入 Bi 箱子 Bi 被使用 1 yi i 1 n; 设 0 否则 C ; 的物品总负荷不超过 1 物品 Jj 放入箱子 Bi 中 xij i, j 1 n. 否则 约束条件( 2 )表示:每个物品恰好放入一个箱子中 . 0 则装箱问题的整数线性规划模型为:
但用户所需玻璃的长宽可能有许多差异,如何根据用 务分配到各工作站上 . 称为带附加优先约束的 BP . 户提出的要求,用最少的平板玻璃截出所需的定货;
3、计算机的存贮问题 BP 是容量限制的工厂选址问题的特例之一 如要把大小不同的共 10.MB 的 文件拷贝到磁盘中去,而每张磁盘的容量为 1. 44 MB ,
相关文档
最新文档