装箱问题和排序问题
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1. 将物件按任意顺序排列,譬如
a1, a2 ,...,an
2.
在算法第i步,假定a1
,
a
2
,
...,ai
已经装箱
1
B1, B2 ,...,Bk .现考虑ai ,若其不能装入任一B j (1 j k)
则打开一个新的箱子Bk1, 将ai装入其中。
3. 直到所有物件装完。
一个2倍近似算法
4
假定算法中用了m个箱子,则至少有m 1个箱子
利用该近似算法判定装箱问题的最优解是否为2,从 而在多项式时间内解决上述NP - 难划分问题。 具体方法:若近似算法计算结果A(I ) 3, 因此opt A(I ) 2,划分问题无解;
3/ 2
若A(I ) (2 显然opt 1),则opt 2,划分问题有解。
7
注: 1。对FF算法加以简单改造,得到一种称为First - Fit - Decreasing(FFD)的 算法。首先将物件按从大到小顺序排列,然后再用FF方法。该算法给出 装箱问题近似结果为:
给定n个非负数a1
,
a2
,...
,a
,否可将其可划分为两部分,
n
使得每部分之和恰好为1 2
i
ai .已知该判定问题是NP - 难的。
(2)上述问题的回答是YES 当且仅当n个物件可放入
容量为 1 2
i
ai的两个箱子内。
一个不可逼近性结果
6
(3) 如果装箱问题存在3/2 - 的近似算法,则可以
14
Step 3. 再通过将每组每个物件尺寸缩小到该组最小物件的尺寸, 从而构造一个新的实例J',显然opt(J') opt(I() ?). 注意到,关于J'的一个装箱方案给出J 的一个装箱方案,除了实例 J的最大的Q个物件之外(?)。 因此,opt(J) opt(J') Q opt(I) Q.(?)
证明:证明分为三个步骤:
Step1. 令I表示装箱问题的一个给定的实例。将n个物件按从1
2
个组,使得每组含有至多Q
n
2
个不同尺寸的物件。
(两个不同组可以包含同一大小的两个物件)。
限制装箱问题
13
Step 2. 通过将每组每个物件尺 寸放大到该组最大物件 的尺寸,可以构造新的实例 J, 由于实例 J至多有K个不同尺寸的物件,由 引理1,可以找出实例 J的最优解。该解对 原来的物件尺寸仍然可 行。下面证明 A(I ) opt(J ) (1 )opt(I ), 从而引理成立。 .
装了不少于其容量的一半,即1/2。(为什么?)因此,
n
i 1
ai
m 1 2
又因为所有物件的大小之和是最优解opt的下界,即
n
ai opt,
i 1
m -1 2opt.即m 2opt.
证明
5
定理1 对 0,装箱问题无3/2 - 的近似算法,除非P NP。
证明:(1)考虑下述划分问题( partition problem):
装箱问题和排序问题
1
装箱问题(Bin Packing) 最小完工时间安排(排序问题)(Minimum
Makespan Scheduling)
本讲主要内容
2
装箱问题:给定n个物件,大小为 a1, a2,...,an (0,1] 用单位体积的箱子来装这些物件,找一个装箱方 案使得所用的箱子数目最少?
10
定理2: ,0 1/ 2, 存在关于n的多项式时间算法A, 其给出装箱问题的解不超过(1 2 )opt 1, opt为问题最优解。
注:1。在定理1的装箱问题的实例中,opt很小,但每个物件的大小 可以任意小,因此,这是对一般装箱问题难以逼近的原因。 2。上述定理表明,装箱问题存在渐进的多项式时间方案
8
没有常数倍近似比 :
Set-Cover, TSP, Maximum
Independent Set,
有常数倍近似比但不 能任意接近1 :
Vertex-Cover,Bin Packing,
近似比可以为1+ε(任意逼近1)。 Knapsack,Scheduling.
NP-难问题按照其可逼近性分类
9
多项式时间近似方案(Polynomial Time Approximation Scheme ,PTAS),
A(I) 11/9opt 1. 可以证明,上述FFD算法得到的结果是紧的,无法再改进。 Johnson(1973年)曾给出了100页的证明;越民义(1991年)给出了一个较简单 的证明。(可见他的书) 2。装箱问题有许多形式,有时由于场地原因,需要装完一箱运走一箱,这样的 装箱问题成为在线装箱问题;否则成为离线问题。
通俗地说,把 a1, a2,...,an (0,1]分成最少的组数, 使得每组数的和不超过1。
在工业中有许多应用,譬如在下料问题中,箱子 代表标准木料的长度,而 ai 表示实际问题中需要 裁截成的木料长度。当然,需要的标准料越少越 好。
Bin Packing
3
First Fit Alg orithm :
0,N,以及一个多项式时间算法A ,使得只要问题的最优解 opt N ,算法A 给出的解不超过(1 )opt.
一个渐进的PTAS
11
引理1。令 0给定。令K为一个固定的非负整数。
考虑下述限制装箱问题:
1)每个物件大小至少为;
2)所有不同的物件大小至多有K个型号。 则,存在多项式时间算法可以求出限制装箱问题的最优解。
证明:每个箱子中物件数的上界是M :1 。因此,所有不同
数目的装箱类型的上界是R C M M K .这是一个固定的常数。 因此,所有可能的可行的装箱数目地上界为P C R nR .这是关于n 的多项式。因此可以在多项式时间通过枚举找出最优解。
限制装箱问题
12
引理2。给定 0.考虑每个物件大小至少是的限制装箱问题,则存在该限制装箱 问题的(1 )- 近似算法。
0, 存在多项式时间算法A,使得A (I ) (1 )opt(I ) 算法的计算复杂性对固定的是n的多项式。
譬如O(n1/ )
渐近多项式时间近似方案
( AsymptoticPolynomialTime Approximation Schemes) 0,N,以及一个多项式时间算法A ,使得只要问题的最优解 opt N,算法A 给出的解不超过(1 )opt.