并行机调度的基础
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Cmax ( LPT ) 4 1 ≤ − Cmax (OPT ) 3 3m
(1)
注意:工件已按加工时间降序排列, 注意:工件已按加工时间降序排列,即:p1 ≥p2 ≥… ≥pn 证明: 证明:分两种情况讨论 与机器数m的关系为 (1)当工件数 与机器数 的关系为:n≤m )当工件数n与机器数 的关系为: 显然, 加工即为OPT加工。 加工。 显然,按LPT加工即为 加工即为 加工 Cmax(LPT)=Cmax(OPT)=p1 )
2. LPT准则 准则
2.2LPT的证明 的证明 与机器数m的关系为 (2)当工件数 与机器数 的关系为:t>m;即t≥m+1 )当工件数t与机器数 的关系为: 即 用反证法进行证明。 个工件在 台机器上按LPT 个工件在m台机器上按 用反证法进行证明。设t个工件在 台机器上按 准则进行加工,Cmax(LPT)与Cmax(OPT)不满足(1) 不满足( ) 准则进行加工, 与 不满足 式的关系, 式的关系,即: Cmax ( LPT )
(5)
2. LPT准则 准则
2.2LPT的证明 的证明 (2)变换(5)式 )变换( )
1 (1 − ) pn 1 1 m − ≤ 3 3m Cmax (OPT ) 1 (1 − ) pn 1 1 m − ≤ 3 3m Cmax (OPT ) 1 (1 − ) pn 1 1 m (1 − ) ≤ 3 m Cmax (OPT )
Parall Machine Model
(The makespan without Preemption)
简 介
并行机调度问题可以分为很多类,比如: 并行机调度问题可以分为很多类,比如: The Makespan without Preemption The Makespan with Preemption; The Total Completion Time without Preemtions The Total Completion Time with Preemtions 。 重点讲述The Makespan without Preemption的几 重点讲述 的几 条准则:LPT、CP、LNS、LFJ。 条准则 、 、 、 。
2. LPT准则 准则 ∑ p + (1 − 1 ) p
n j =1 j
m m Cmax (OPT ) n ∑ j =1 p j (1 − 1 ) p n m m = + Cmax (OPT ) Cmax (OPT ) 1 (1 − ) pn m ≤ 1+ Cmax (OPT )
n
2. LPT准则 准则
4 1 ≥ − Cmax (OPT ) 3 3m
在按LPT 准则加工的工件中,满足 max(LPT)的t不唯 准则加工的工件中,满足C 在按 的 不唯 一,由最小自然数原理,(在一个非空自然数集合T中, 由最小自然数原理,(在一个非空自然数集合 中 ,(在一个非空自然数集合 必存在一个数t 使得对任意t∈ , ),在所有 必存在一个数 0,使得对任意 ∈T,t≥ t0 ),在所有
2. LPT准则 准则
2.2LPT的证明 的证明 (2) )
pn 1 ≤ 3 Cmax (OPT )
Cmax (OPT ) ≤ 3 pn
(6)
得
(6)式为严格不等式,说明在最优加工次序中每始机 式为严格不等式, 式为严格不等式 器最多只加工两个工件,否则 器最多只加工两个工件,否则, 若加工三个或三个以 上依p ,(6)式不成立。 上依 1 ≥p2 ≥… ≥pn,( )式不成立。
2.2LPT的证明 的证明 (2) )
Cmax
∑ ( LPT ) ≤ ∑ =
n −1 j =1 n −1 j =1
pj pj
m
+ pn 1 1 + pn + (1 − ) pn m m 1 + (1 − ) pn m
m
n j =1
∑ =
ห้องสมุดไป่ตู้
pj
m
2. LPT准则 准则
2.2LPT的证明 的证明 (2)即: )
1.常用符号的意义 常用符号的意义
1.1pij:工件 在机器 上的加工的时间,如果加工时间与机器 工件j在机器 上的加工的时间, 在机器i上的加工的时间 无关,即工件在每台机器上的加工时间都一样, 无关,即工件在每台机器上的加工时间都一样,则 下标i可省略,用pj表示工件j的加工时间。 下标 可省略, 表示工件 的加工时间。 可省略 的加工时间 1.2Cmax:Cmax={C1, C2…Cn},其中 j(j=1,2…n)为第 个工件 为第j个工件 ,其中C 为第 完成的时间。 完成的时间。 1.3Pm:有m台相同的机器进并行加工,工件 可在其中任何一 有 台相同的机器进并行加工 工件j可在其中任何一 台相同的机器进并行加工, 台机器上进行加工,并且工件加工一次便可完成。 台机器上进行加工,并且工件加工一次便可完成。
1.常用符号的意义 常用符号的意义
1.4prec:在单机调度和并行机调度中出现的限制条件,要 :在单机调度和并行机调度中出现的限制条件, 求多个工件要顺序加工,比如: 、 、 这三个 求多个工件要顺序加工,比如:1、4、5这三个 工件要按145的顺序,只有1加工完后,4才能加 的顺序,只有 加工完后 加工完后, 才能加 工件要按 的顺序 加工完后, 才能加工 才能加工。 工;只有4加工完后,5才能加工。如果每个工件 只有 加工完后 最多有一个后继,称该限制为入树( 最多有一个后继,称该限制为入树(intree), ) 最多有一个前驱, 如果每个工件 最多有一个前驱,称该限制为 出树( 出树(outtree), )
2.2LPT的证明 的证明 成立, (2) 所以 j ≥ Cmax(LPT)-pn 成立,又n≥m+1, n-1≥m ) 所以p ,
n −1 j =1
∑
表示n-1个不小于 个不小于C 的数相加。 p j 表示 个不小于 max(LPT)-pn 的数相加。
将(2)式进行变换 )式进行变换:
2. LPT准则 准则
2. LPT准则 准则
2.2LPT的证明 的证明 的定义, (2)考虑到 max(LPT)的定义,则第 个工件在加工前的准 )考虑到C 的定义 则第n个工件在加工前的准 备时间为C 足下面的不等式: 备时间为 max(LPT)-pn,且满 足下面的不等式:
n −1
Cmax ( LPT ) − pn
2.2LPT的证明 的证明 (2)因为 )
Cmax ( LPT ) 4 1 ≥ − Cmax (OPT ) 3 3m
所以
1 (1 − ) pn Cmax ( LPT ) m ≤ 1+ Cmax (OPT ) Cmax (OPT ) 1 (1 − ) pn 4 1 m − ≤ 1+ 3 3m Cmax (OPT )
Cmax
∑ ( LPT ) ≤
n j =1
pj
m
n
1 + (1 − ) pn m
(3)
可证明, 满足如下不等式: 可证明,Cmax(OPT)满足如下不等式: 满足如下不等式
Cmax
∑ (OPT ) ≥
pj j =1
(4)
m
2.2LPT的证明 的证明 (2) )
Cmax ( LPT ) ≤ Cmax (OPT )
2. LPT准则 准则
2.1LPT及应用举例 及应用举例 下面是LPT准则的应用例子 准则的应用例子: 下面是 准则的应用例子 台机器上加工9个工件 例1:在4台机器上加工 个工件,工件的加工时间如下 : 台机器上加工 个工件,工件的加工时间如下:
表1 工件加工时间
准则加工的顺序如下: 按LPT准则加工的顺序如下 准则加工的顺序如下
2. LPT准则 准则
2.1LPT及应用举例 及应用举例
7
4 4
4
7 6 6 5 5
图4 按LPT加工的顺序图
2. LPT准则 准则
2.1LPT及应用举例 及应用举例 很明显, 准则决定的加工次序不是最优的方案。 很明显,按LPT准则决定的加工次序不是最优的方案。 准则决定的加工次序不是最优的方案 在这个例子中The Optimal Processing Time(OPT)的 在这个例子中 ( ) 最优加工时间应为12。 最优加工时间应为 。 如下图所示: 如下图所示
Cmax(OPT)按最优顺序加工,工件的最大完工时间。 )按最优顺序加工,工件的最大完工时间。
2. LPT准则 准则
2.1LPT及应用举例 及应用举例
7 5
7 6 6
5
4
4
4
图5 OPT加工的顺序图
2. LPT准则 准则
2.2LPT的证明 的证明 情况下, 如下关系: 在Pm||Cmax情况下,Cmax(LPT)与Cmax(OPT)如下关系: 与 如下关系
并行机调度问题
(The Makespan without Preemptions
)
1. 常用符号的意义 2. LPT准则 准则 2.1LPT及应用举例 及应用举例 2.2LPT的证明 的证明 3. CP准则 准则 3.1寻找 寻找Critial Path的方法 寻找 的方法 3.2 CP准则 准则 4. LNS准则 准则
1.4prec
图1 prec示意图
图2 入树intree)
图3 出树outtree)
2. LPT准则 准则
2.1LPT及应用举例 及应用举例 考虑问题: 即将n个工件放在 个工件放在m台相同的机器上加 考虑问题:Pm||Cmax,即将 个工件放在 台相同的机器上加 最小。 工,如何安排加工次序,才能使Cmax最小。假定工件已按加 如何安排加工次序,才能使 工时间降序排列,即:p1 ≥p2 ≥… ≥pn。 工时间降序排列, LPT准则:The Longest Processing Time first Rule 准则: 准则 将前m个加工时间最长的工件先加工, 将前 个加工时间最长的工件先加工,一旦有机 个加工时间最长的工件先加工 器完成加工空闲, 器完成加工空闲,将剩余工件中加工时间最长的 进行加工。 进行加工。 Cmax(LPT)表示按 准则加工后, )表示按LPT准则加工后,工件的最大完工时间。 准则加工后 工件的最大完工时间。
LPT准则:将前m个加工时间最长的工件先加工,一 旦有机器完成加 准则:将前 个加工时间最长的工件先加工 个加工时间最长的工件先加工, 准则 工空闲, 工空闲,将剩余工件中加工时间最长的进行加工。
Cmax (LPT)=max{p1+p2m,p2+p2m-1 …pm+pm+1} , 不妨设C 不妨设 max (LPT)= pk+ pm+k,下面证明 , Cmax (OPT)=Cmax (LPT)= pk+ pm+k 若将p , 一个变大, 若将 k, pm+k中的任意 一个变大,则不符合最优原则
1 24 4 3
矛盾。 矛盾。
Cmax ( LPT ) 4 1 与假设: 与假设: ≥ − Cmax (OPT ) 3 3m
下面说明为什么LPT加工次序为最优。 加工次序为最优。 下面说明为什么 加工次序为最优
2. LPT准则 准则
2.2LPT的证明 的证明 (2)由于工件已按降序排列: )由于工件已按降序排列: p1 … pk … pm 、 pm+1 … pm+k … p2m
2. LPT准则 准则
2.2LPT的证明 的证明 (2)如果在一个 )如果在一个Pm||Cmax中,最优加工次序限定每台机器 最多只加工两个工件,( 最多只加工两个工件,(m+1≤n ≤ 2m)那么 ,( )那么LPT加 加 工次序即为最优。则: 工次序即为最优。
Cmax ( LPT ) =1 Cmax (OPT )
∑ ≤
pj j =1
m
(2)
时刻开始加工进程, 从0时刻开始加工进程,经Cmax(LPT)-pn 后 ,所有 时刻开始加工进程 的机器仍处于忙碌状态,无空闲机器,(否则第 工 的机器仍处于忙碌状态,无空闲机器,(否则第n工 ,(否则第 放置在空闲机器上加工) 件已被 放置在空闲机器上加工),
2. LPT准则 准则
2. LPT准则 准则
2.2LPT的证明 的证明 一个变小,不妨设将p (2)若将 k, pm+k中的任意 一个变小,不妨设将 k变小 )若将p , 即选取p 之后的一个工件p 即选取 k之后的一个工件 k+∆t与pm+k配对加工 p1 … pk … pk+∆t … pm 、 pm+1 … pm+k … pm+k+∆t … p2m