第四章 排序论

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


n
p j p1
wk p j
j 1
简单计算可得
w
j
C j ( )- w j C j ( ')
k n n k p j wj p j wj j 1 j k 1 j k 1 j 1 在假设条件下上式右端小于0,故
s j max{ rj , t}, C j s j p j
(2)在尚未排序任务中选取完工时间最小者加工(若有多个,则 选取最早开始加工时间最小者)。 (3)若已排完全部任务,则停止;否则转1。
算法4.2.3 EST(最早开始时间优先)算法 (1)设处理机当前可加工任务时间为t, 对于尚未 排序的任务,定义任务的最早开始加工时间 s j 和 完工时间 C j 如下:
最优加工时间为21。
例4.1.9 给定的排序 F
2
Cmax ,其中n=5,
4 4 10 6 2 p , 5 1 4 10 3
作业集的任一个排序都是可行排序,而最优排 序是 [ J 5 , J1 , J 4 , J 3 , J 2 ]
F w j Fj / w j , 其中Fj C j rj
j 1 j 1 n n
加权总完工时间:
C w jC j
j 1
n
(3)最大延误
Lmax max{Lj },
其中Lj C j d j 是任务Tj的延误时间(lateness). (4)加权总误工(total weighted tardiness)
证明:在顺序 =[T1 ,T2 , , Tk , Tk 1 , , Tn ] 下加权总完工时间等于
w
j
C j ( ) w1 p1 w2 ( p1 p2 ) wk p j
j 1
k
wk 1 p j wn p j
j 1 j 1
k 1
同速机 同类机 (平行机) 恒速机 变速机
同顺序作业
多类机(车间 作业) 柔性流水作业
异顺序作业 自由顺序作业
任务和作业 排序中的约束条件主要指的是任务或作业的性质及在 加工过程中要求和限制。 (1)加工时间向量 p j ( p1 j , p2 j ,..., pmj )
其中 pij 表示任务 Tj 在处理机 Pi 上所需要的时间。 (2)到达时间 到达时间或准备时间 r j 是任务 Tj 已经准备好被加工的时间。 (3)工期和截止期限 工期 d j 是对任务Tj 限定的完工时间。 (4)优先因子 优先因子 w j 是一个权,表示任务相对于其他任务的重要 程度。
例4.1.2 进程调度 在计算机多道程序操作系统中,并发执行多个进 程,在宏观上同时执行多个进程,在微观上在任何时 刻CPU只能执行一个进程。进程的到达时间是不同的, 怎样调度这些进程才能使CPU的利用率最高或者进程 的平均周转时间最短?这也是一个排序问题。 例4.1.3 机场的调度 机场的调度人员需要制定一个可行的方案,把登 机门分配给降落的飞机,使机场的利用率最高或晚点 起飞的飞机最少,这也是一个排序问题。

4.2.3问题 1 rj C j
任务具有相同的准备时间,总完工时间问题1|| C j 可以用 SPT规则求解。对于任务具有不同的准备时间的情况,总完工时 间问题是NP-难的。求解总完工时间问题 1 rj C j 的常用方法是 启发式算法。 算法4.2.2 ECT(最早完工时间优先)算法 (1)设处理机当前可加工任务时间为t,对于尚未排序的任务,定 义任务的最早开始加工时间 s j 和完工时间 C j 如下:
*
*
例4.2.2 考虑排序问题 1chains wj C j,其中n=7, p (3,6,6,5,4,8,10) w (6,18,12,8,8,17,18)
T1 T2 T3 T4 , T5 T6 T7
由算法4.2.1得最优的排序为 [T1, T2 , T5 , T6 , T3 , T7 , T4 ] 加权总完工 时间为1967。
s j max{ rj , t}, C j s j p j
(2)在尚未排序任务中选取最早开始加工时间最 小者加工(若有多个,则选取完工时间最小者)。 (3)若以排完全部任务,则停止;否则转1。
排序问题的算法和复杂性 求解排序问题的基本思路:应用和借鉴求解 其他组合最优化问题的方法,充分利用排序问题 本身的特殊性质,以确定 满足约束条件的最优排 序。对具有多项式算法的排序问题,要尽可能找 出空间复杂性和时间复杂性好的算法。求解这类 问题的两种方法:一是分枝定界法、动态规划法 等巧妙的穷举法求出精确最优排序;二是求出近 似算法,各种局部搜索法和启发式算法都是很有 效的。
定理4.2.3
Tl 是决策链 T1 , T2 ,...,Tk 如果 的 因子任务, 则存在一个最优排序,在该排序中,任务 T1, T2 ,...,Tl 连续加工而不被其它链的任务打断。 算法4.2.1 (1)在当前未加工链中,选择 因子最大的 链。 (2)连续加工已选定的链,直到加工完决定 该链 因子的任务。 (3)若加工完全部任务,则停止;否则转1。

域表示处理机的数量、环境和类型, 它可以为: 1:单处理机 pm :m个同速机 Qm :m个恒速机 Rm :m个变速机 Fm :m个处理机,流水作业
域表示任务或作业的性质、加工要求、限制,资 源的种类、数量和对加工的影响等约束条件。 域表示要优化的目标函数。 例4.1.4 1 rj , prmp w j C j 表示一个单机 、可中断的排序问题,任务有不同 的到达时间 ,极小化的目标函数是加权总完工时间。 例4.1.5
例4.2.1 考虑排序问题 1 wjC j ,其中 n=5, p (12,4,7,11,6) , w (4,2,5,5,6) 由WSPT规则,可得最优排序为 [T5 , T3 , T2 , T4 , T1 ] ,加权 总完工时间为435。
4.2.2问题 1chains
w C
j
j
当任务有优先约束时,问题比较复杂。对于一般优先约束, 问题是NP-难的。下面考虑最简单的优先约束,即以平行链的形 式出现的优先约束时的情形。这类问题可以描述为
1 chains wjC j (4.2.2)
此类问题满足优先约束条件排序所具有的性质为基础可以构造 n 出多项式算法。 k wj wj 定理4.2.2 如果 j 1 j k 1 k n pj pj
j 1 j k 1
则由任务 T1, T2 ,... Tk 组成的链再由任务 Tk 1,...,Tn 组成的链前加工。
T w jT j , 其中T j max{C j d j ,0} max{L j ,0}
j 1 n
是任务的误工时间。 (5)加权误工任务数
U w jU j
j 1
n
1, C j d j 其中U j = 是任务T j 误工的单位惩罚. 0, C j d j

Pm Cmax
表示一个任务集无关、不可中断、极小化的排序表 长的同速机排序问题。
4.1.4排序问题的求解
可行排序与最优排序 绝大多数排序问题是从有限个可行解中找出一个 最优解,使目标函数达到最小,在排序中可行解 称为可行排序,最优解称为最优排序。 例4.1.8 给定排序问题 1 rj C j ,其中n=4 , p (3,2,5,1) , r (0,1,0,0) , [ p4 , p2 , p1, p3 ] 是一个可行排序,对应的总加 工时间为31。
4.1.2排序问题的定义
排序问题是一类重要的组合最优化问题,它 是利用一些处理机、机器或资源,最优的完成一 批给定的任务或作业。在执行任务的过程中需要 满足某些限制条件,如任务的到达时间、加工顺 序等。最优指的是使目标函数达到最小,目标函 数通常是对加工时间长短、处理机效率的描述。
处理机 只有一个处理机的排序问题为单机排序问题, 否则为多机排序问题。处理机的各种类型和环境描 述如下: 单处理机
n
而在顺序 ' =[Tk 1 ,Tk 2 , , Tn , T1 , T2 , , Tk ]下
w
j
C j ( ') wk 1 pk 1 wk 2 ( pk 1 pk 2 ) wn
j k 1 n

n
p j w1
j k 1
w
j
C j ( )
w
j
C j ( '),
定理证毕。
对于多个链,且不可中断,则可以按照得到最优排序。 下面考虑链可中断的情况,即加工某一个链时可以不必全部加 工完所有任务,就可以加工其他链的任务,然后回来再加工前 面链中剩余的任务(自然要保持原来的优先顺序)。下面的问 题是如何排序能使总完工时间最小。 在上述假设下,需定义一个链的 因子如下: 对于链 T1 T2 ... Tk 令 l * 满足 l* l wj wj j 1 j 1 max l l* 1 l k pj pj j 1 j 1 (1, 2,, k ) 上式左端值称为链 T1 T2 ... Tk的 因子,记为 Tl* 称为决定 的任务。
第4章 排序问题
4.1绪论
4.1.1引例
排序问题产生的背景主要是机器制造,后来被广泛应用于 计算机系统、运输调度、生产管理等领域。从普通的生产部门 的计划安排、人员调度,学校课程表的制定,到宇宙飞船的飞 行计划都要用到排序的理论和方法。 例4.1.1机械加工 一个机械加工车间要加工一批机器零件,每一个零件都有 相同的工序,即按相同的顺序在几个不同的机床上加工,但每 个零件在每个机床上的加工时间可能不同。如何安排加工顺序 才能以最短的时间完成所有的零件。这是一个流水线排序问题。
4.1.3排序问题的分类
确定性排序和随机排序。 确定性排序:所有数据在进行决策之前都是已 知的。随机排序:在决策之前有些数据是随机的, 但他们的分布是已知的。 这两类排序我们假设: (1)任务或作业和处理机是有限的。 (2)在任一时刻任何处理机只能加工一个工件。 (3)极小化单一目标函数。 处理机、任务、目标函数三要素构成了排序问题。 因此,可以用三元 组 | | 来表示排序问题。
无耽搁排序 定义4.1.1 对于一个可行排序,若有准备好被加工的 任务,不准许有空闲处理机,称这种排序为无耽搁排 序,否则为耽搁排序。 对于所有的可中断排序,最优排序是无耽搁排序, 然而,也有一些不可中断排序问题的最优排序是耽搁 排序。 p (10,5) , 例4.1.11 排序问题 1 r j w j C j ,其中n=2, r (0,1) , w (1,5) , 该问题有两个可行排序,但是它的最优排序是耽搁排序, 目标函数值是46。
任务被加工的一个重要约束是可中断或不可中断。若排 序中每一个任务在加工时都可暂停加工,加工该任务的处理 机可加工其他任务,以后也可在任意时刻任意处理机重新加 工,这叫做可中断排序,否则为不可中断排序。 目标函数 目标函数主要有以下几种: (1)时间表长:
Cmax max{ Cj}
最后一个被加工完任务的完工时间,越小处理机利用率越高。 (2)平均加工流时间和加权总完工时间 平均加工流时间:
4.2 单机排序问题
4.2.1加权总完工时间问题
单机排序问题的一个重要目标函数是加权平均流时间。 由于极小化加权平均流时间等价于极小化加权总完工时间, 因此下面仅以加权总完工时间为目标函数讨论。 首先讨论问题 1 wj C j (4.2.1) 定理4.2.1 对于问题(4.2.1),WSPT规则得到的是最优排 pj 序, 即把工件按照 非减的顺序排列。 wj
相关文档
最新文档