NDP约束下的最小化最大加权完工时间单机一致性在线排序问题研究
Online NDP-Constraint Scheduling of Jobs with Agreeable to Minimize the Maximum Weighted Completion Time
DOI: 10.12677/PM.2022.124067, PDF, HTML, XML, 下载: 414  浏览: 579  科研立项经费支持
作者: 李文杰, 杜智慧:洛阳师范学院,数学科学学院,河南 洛阳
关键词: 在线排序在线算法NDP约束一致性加权完工时间Online Scheduling Online Algorithm NDP-Constraint Agreeable Weighted Completion Time
摘要: 本文在工件不能被强制推迟加工约束(即NDP约束)下研究最小化最大加权完工时间单台机器在线排序问题。每个工件Jj都具有一个释放时间rj≥0,一个加工时间pj≥0和一个权重wj≥0。每两个工件Ji和Jj的释放时间与加工时间均具有一致性,即若ri≥rj,则有pi≥pj。我们首先利用对手法构造出该排序问题的下界是1.5,其次设计出一个在线算法SLF并采用最小反例法证明其争比是1.732。
Abstract: This paper studies the single-machine online schedule under the NDP-constraint to minimize the maximum weighted completion time. Each job Jj has a release time rj≥0, a processing time pj≥0 and a weight wj≥0. Any two jobs Ji,Jj have agreeable release times and processing times (if ri≥rj, then pi≥pj). We first present a lower bound of 1.5 by the adversary method, and then design an online algorithm SLF with the competitive ratio of 1.732.
文章引用:李文杰, 杜智慧. NDP约束下的最小化最大加权完工时间单机一致性在线排序问题研究[J]. 理论数学, 2022, 12(4): 598-604. https://doi.org/10.12677/PM.2022.124067

1. 引言

在线排序是现代排序领域中发展最为迅速的研究方向之一,并被广泛地应用于生产加工、货运物流、航班调度、医疗服务等众多领域。 在线排序中决策者在制定排序策略时只掌握当前已经被释放工件的信息(例如,释放时间、加工时间、权重等),人们称这种在线为时间在线。列表在线、不可测在线是另外两种常见的在线排序模型 [1] [2] [3] [4]。

一般用竞争比来衡量一个在线算法关于对应在线排序问题的性能。我们称算法H的竞争比是 ρ H ,如果满足 ρ H = sup I { H ( I ) / O P T ( I ) : O P T ( I ) > 0 } ,其中I是排序问题的工件实例, H ( I ) 表示算法H关于I产生的目标值, O P T ( I ) 表示离线最优算法产生的目标值。当一个排序问题在线算法的竞争比与排序问题的下界相吻合时,则称该算法是最优在线算法。

本文在NDP约束下研究最小化最大加权完工时间单机在线排序排序问题。NDP约束是指在任何机器出现空闲的时刻,如果有还没被安排加工的工件存在,则空闲机器必须立刻选择工件加工。换言之,工件不能被强制推迟加工。NDP约束是Li和Yuan在文献 [5] 中根据实际背景以及排序模型拓展提出的一种工件加工约束条件。该排序模型在实际生活中确有体现。例如市政服务大厅的办事窗口(抽象为机器),当窗口开放并在给客户(抽象为工件)办理业务时,后面到达的客户就会自觉地取号排队等待服务,这些已到达还未办理业务的客户最不愿意看到窗口突然暂停服务的情况出现。因为每个客户都希望自己的满意度最大化都不愿意再去排队等待。这里将本文在NDP约束下所要研究的具体排序问题描述如下:

设I是一个工件集合(简称实例)包含n个工件 J 1 , J 2 , , J n 。对每一个实例I中的工件 J i ,它具有一个释放时间(又称到达时间) r i 0 ,一个加工时间(又称长度) p i 0 ,一个权重 w i 0 。要求实例I中任意两个工件 J i , J k 的释放时间和加工时间之间满足:若 r i r k ,则有 p i p k 。通常称之为I中工件的释放时间和加工时间具有一致性。排序目标:确定一个工件不能被强制延迟加工(即满足NDP约束)的可行排序最小化所有工件的最大加权完工时间( W C max ),其中 W C max = max { w i C i : i = 1 , 2 , , n } C i 为工件 J i 的完工时间。方便起见,现将NDP约束下的工件的释放时间和加工时间具有一致性的最小化最大加权完工时间单机在线排序问题简记为(P)。用Graham等人在文献 [6] 中定义的三参数表示法,本文所研究的排序问题(P)可表示为:

1 | online , r i , agreeable ( r i , p i ) , NDP | W C max

其中“ agreeable ( r i , p i ) ”表示关于问题(P)的任一实例中工件的释放时间和加工时间具有一致性。

关于无NDP约束的最小化最大加权完工时间单机在线排序问题,Chai等人在文献 [7] 中给出了一个2-竞争的最优在线算法。在NDP约束下,Li和Yuan在文献 [5] 中研究了该问题。他们首先给出问题的下界为2,其次设计出了一个竞争比为2.618的在线算法。关于最小化最大加权完工时间在线排序问题的其它相关文献可参见 [8] [9] [10] [11] [12]。

本文将在第二节构造出问题(P)的竞争比下界为1.5,在第三节中设计并证明该问的一个1.732-竞争的在线算法SLF。

2. 问题的下界

本节将通过构造特殊实例证明问题(P)的竞争比下界是1.5。用 W C on ( I ) W C opt ( I ) 分别表示任一在线算法和离线最优算法关于实例I生成的排序所达到的目标函数值。

定理2.1对于问题 1 | online , r i , agreeable ( r i , p i ) , NDP | W C max ,不存在竞争比小于1.5的在线算法。

证明 设H是问题(P)的任意一个在线算法。令 ε 是一个任意小的正实数,K是一个充分大的正实数。下面用对手法构造的特殊实例I至多含有3个工件。

在0时刻,工件 J 1 J 2 被释放并且它们的加工时间和权重分别为 p 1 = 1 , w 1 = 1 p 2 = 1 + ε , w 2 = 0 。由NDP约束可知,在线算法H必须在0时刻选择一个工件开工。如果算法H在0时刻选择加工 J 2 ,则之后不再有新工件被释放。此情形 I = { J 1 , J 2 } 。易知在线算法H和离线最优算法OPT关于I生成的排序分别为 ( J 2 , J 1 ) ( J 1 , J 2 ) 。于是可得 C on ( I ) = w 1 ( p 2 + p 1 ) = 2 + ε C opt ( I ) = w 1 p 1 = 1 。进而可得

W C on ( I ) W C opt ( I ) = 2 + ε > 1.5

如果算法H在0时刻安排 J 1 开工,则第三个工件 J 3 将在 1 + 1 2 ε 时刻被释放,其加工时间和权重分别

p 3 = 1 + ε w 3 = K 。此情形 I = { J 1 , J 2 , J 3 } 。由NDP约束和 r 3 = 1 + 0.5 ε > 1 可知,算法H只能安排 J 3 在继 J 2 完工之后开工。于是可得 C on ( I ) = w 3 ( p 1 + p 2 + p 3 ) = K ( 3 + 2 ε ) 。注意到,最优算法OPT则可以先安排 J 2 在0时刻开工,然后安排 J 3 J 2 的完工时刻开工(可以这样安排的原因是 r 3 = 1 + 0.5 ε < 1 + ε ),最后安排 J 1 2 + 2 ε 时刻开工。可得离线最优序下的目标值为 C opt ( I ) = w 3 ( p 2 + p 3 ) = K ( 2 + 2 ε ) 。因此可以推得

W C on ( I ) W C opt ( I ) = 3 + 2 ε 2 + 2 ε 1.5 ,当 K + 时。

综上,定理2.1得证。 £

3. 在线算法及其竞争比分析

本节将设计关于问题(P)的在线算法SLF (加工策略“Shortest-length or Largest-weight Job First”的简称)并用最小反例法分析其竞争比至多为1.732。对于问题(P)的任意一个实例I,令 σ π 分别表示在线算法SLF和离线最优算法OPT关于实例I生成的排序。令t表示当前时刻,下面的一系列记号将会在后面的讨论中被用到。

· S i ( σ ) S i ( π ) 分别表示I中工件 J i 在排序 σ π 中的开工时间。

· C i ( σ ) C i ( π ) 分别表示I中工件 J i 在排序 σ π 中的完工时间。

· W C max ( σ ) W C max ( π ) 分别表示排序 σ π 关于实例I产生的目标值。

· U ( t ) 表示在t时刻已经被释放但还没有被安排加工的工件构成的集合。

· J min ( t ) 表示 U ( t ) 中加工时间最小的工件。如果有多个这样的工件,则定义为最早被释放的工件。

· J w ( t ) 表示 U ( t ) 中权重最大的工件。如果有多个这样的工件,则定义为最早被释放的工件。

· p i ( t ) 表示 U ( t ) 中任一工件 J i 的长度。特别的,用 p min ( t ) p w ( t ) 分别表示 J min ( t ) J w ( t ) 的长度。

λ = 3 1 ,在线算法SLF的具体执行步骤可描述如下:

在线算法SLF

第0步:置t等于I中工件的最早释放时间。不妨假设I中工件的最小释放时间为0,即置 t : = 0

第1步:若在t时刻 U ( t ) ϕ 且机器空闲,则执行第2步或第3步;否则重置t为下一个满足机器空闲且 U ( t ) 非空的最早时刻。

第2步:若 U ( t ) 只含有一个工件 J i ,则立刻加工 J i 并重置 t : = t + p i ( t ) 。转到第1步;否则, U ( t ) 至少包含两个工件,则转到第3步。

第3步:若此时 U ( t ) 中权重最大的工件 J w ( t ) 满足 t λ p w ( t ) ,则立刻加工 J w ( t ) 并重置 t : = t + p w ( t ) 。转到第1步;否则,转到第4步。

第4步:此时 U ( t ) 中权重最大的工件 J w ( t ) 满足 t < λ p w ( t ) ,则分以下两种情形,

(4.1):若此时 U ( t ) 中长度最小的工件 J min ( t ) 满足 t + p min ( t ) λ p w ( t ) ,则立刻加工 J min ( t ) 并重置 t : = t + p min ( t ) 。转到第1步;否则,转到第4.2步。

(4.2):可知 U ( t ) 中任意一个工件 J i 的长度 p i ( t ) 满足 t + p i ( t ) > λ p w ( t ) ,则立刻加工 J w ( t ) 并重置 t : = t + p w ( t ) 。转到第1步。

接下来,证明算法SLF关于问题(P)的竞争比 ρ = λ + 1 = 3 1.732 。反证法,假设存在一个包含工件数量最小的实例I满足 W C max ( σ ) > ρ W C max ( π ) ,其中 σ π 分别是在线算法SLF和离线最优算法OPT关于实例I生成的排序。通常称此实例为关于问题(P)的一个最小反例。由算法SLF的第0步,可以假设I中第一个工件在0时刻被释放并继续假设I中n个工件 J 1 , J 2 , , J n σ 序下的开工时间分别满足 S 1 ( σ ) < S 2 ( σ ) < < S n ( σ ) 。可得 S 1 ( σ ) = 0 C n ( σ ) = C max ( σ ) 。设 J e , 1 e n 是I中第一个满足其加权完工时间等于目标值的工件,即满足 w e C e ( σ ) = W C max ( σ ) 。下面给出两个重要引理。

引理3.1在排序 σ π 中所有工件都是被连续加工的,即在0时刻与 C n ( σ ) 时刻之间机器没有空闲时间段。

证明 首先考虑排序 σ 。如果在 J e 之前有工件 J a , 2 a e 满足 C a 1 ( σ ) < S a ( σ ) ,即 [ C a 1 ( σ ) , S a ( σ ) ] 是空闲时间段,则令 I = { J a , J a + 1 , , J n } 。如果在 J e 之后有工件 J b , e b n 1 满足 C b ( σ ) < S b + 1 ( σ ) ,即 [ C b ( σ ) , S b + 1 ( σ ) ] 是空闲时间段,则令 I = { J 1 , J 1 , , J b } 。由算法SLF的执行策略可知,算法SLF关于实例I, I I 产生的目标值相同。再由NDP约束和实例I是最小反例,可以推出 I I 是更小的反例,与实例I是最小反例相矛盾。于是可得在排序 σ 中所有工件被连续加工,即机器无空闲时间段。由NDP约束及I中工件在排序 σ 中被连续加工,可知离线最优序 π 中所有工件也是被连续加工的。 £

引理3.2 w i < w e , i = e + 1 , e + 2 , , n

证明 由 W C max ( σ ) = w e C e ( σ ) 以及 C i ( σ ) > C e ( σ ) , e + 1 i n 可直接推出 w i < w e , e + 1 i n 。 £

下面将分两种情形证明最小反例I不存在,进而得到算法SLF关于问题(P)的竞争比就是1.732。

情形1 w i w e , i = 1 , 2 , , e 。则可得

W C max ( σ ) = w e C e ( σ ) = w e i = 1 e p i W C max ( π ) < ρ W C max ( π )

显然与 W C max ( σ ) > ρ W C max ( π ) 相矛盾。

情形2 { J 1 , J 2 , , J e 1 } 中存在权重小于 w e 的工件。则令 k = max { i : w i < w e , i = 1 , 2 , , e 1 } 。于是可得 w i w e , i = k + 1 , k + 2 , , e 。令 r min = min { r i : k + 1 i e } 。如果 r min S k ( σ ) ,表明 { J k + 1 , J k + 2 , , J e } 中至少有一个工件在 S k ( σ ) 时刻或 S k ( σ ) 时刻之前到达。由于 J k 不是 S k ( σ ) 时刻已到达的工件中权重最大的工件而算法SLF选择在 S k ( σ ) 时刻加工 J k ,表明 J k 一定是加工时间最小的工件并且满足 S k ( σ ) + p k λ p w ( S k ( σ ) ) 。根据引理3.2以及 w i w e , i = k + 1 , k + 2 , , e ,可知 S k ( σ ) 时刻已到达的工件中权重最大的工件一定属于 { J k + 1 , J k + 2 , , J e } ,即 p w ( S k ( σ ) ) { p k + 1 , p k + 2 , , p e } 。因此可得

W C max ( σ ) = w e ( S k ( σ ) + p k + i = k + 1 e p i ) w e ( λ p k ( S k ( σ ) ) + i = k + 1 e p i ) ( 1 + λ ) w e i = k + 1 e p i ρ W C max ( π ) .

这显然与I是最小反例相矛盾。

如果 r min > S k ( σ ) ,即 r i S k ( σ ) r k , i = k + 1 , k + 2 , , e ,则有 W C max ( π ) w e ( S k ( σ ) + i = k + 1 e p i ) 。由于I中工件的释放时间与加工时间具有一致性,可知 p i p k , i = k + 1 , k + 2 , , e 。若 S k ( σ ) 0.5 λ p k ,则可得

W C max ( σ ) W C max ( π ) = w e ( S k ( σ ) + p k + i = k + 1 e p i ) w e ( S k ( σ ) + i = k + 1 e p i ) S k ( σ ) + ( e k + 1 ) p k S k ( σ ) + ( e k ) p k 0.5 λ p k + ( e k + 1 ) p k 0.5 λ p k + ( e k ) p k λ + 4 λ + 2 = ρ .

结论与 W C max ( σ ) > ρ W C max ( π ) 相矛盾。

不妨假设 S k ( σ ) < 0.5 λ p k 。如果在 S k ( σ ) 时刻只有一个工件 J k ,由NDP约束和引理3.1,可知在离线最优序 π J k 一定排在 { J k + 1 , J k + 2 , , J e } 中工件之前加工。于是可得 min { S i ( π ) : k + 1 i e } C k ( π ) p k 。进而可得

W C max ( σ ) W C max ( π ) = w e ( S k ( σ ) + p k + i = k + 1 e p i ) w e ( min { S i ( π ) : k + 1 i e } + i = k + 1 e p i ) S k ( σ ) + ( e k + 1 ) p k min { S i ( π ) : k + 1 i e } + ( e k ) p k 0.5 λ p k + ( e k + 1 ) p k p k + ( e k ) p k λ + 4 4 < ρ .

如果在 S k ( σ ) 时刻至少有两个工件(包括 J k )已经到达,即集合 U ( S k ( σ ) ) 中工件数大于等于2。注意到 r min > S k ( σ ) ,再根据引理3.1,可知在离线最优序 π U ( S k ( σ ) ) 至少有一个工件一定被排在 { J k + 1 , J k + 2 , , J e } 中工件之前加工。于是可得 min { S i ( π ) : k + 1 i e } min { p x : J x U ( S k ( σ ) ) } 。由算法SLF的执行策略可知,在 S k ( σ ) 时刻 J k 要么是一个长度最小的工件,要么是一个权重最大的工件。若 J k 是一个长度最小的工件,则有 min { S i ( π ) : k + 1 i e } min { p x : J x U ( S k ( σ ) ) } = p k 。用上面式子的分析形式可直接推出 W C max ( σ ) < ρ W C max ( π )

J k 是一个权重最大的工件,则根据算法SLF的第4.2步可知集合 U ( S k ( σ ) ) 中的工件满足, J x U ( S k ( σ ) ) S k ( σ ) + p x > λ p k 。注意到 S k ( σ ) < 0.5 λ p k 。于是可得

J x U ( S k ( σ ) ) , p x > 0.5 λ p k

再根据 r min > S k ( σ ) 以及根据引理3.1,可推得

min { S i ( π ) : k + 1 i e } min { p x : J x U ( S k ( σ ) ) } > 0.5 λ p k

因此可得

W C max ( σ ) W C max ( π ) = w e ( S k ( σ ) + p k + i = k + 1 e p i ) w e ( min { S i ( π ) : k + 1 i e } + i = k + 1 e p i ) S k ( σ ) + ( e k + 1 ) p k min { S i ( π ) : k + 1 i e } + ( e k ) p k 0.5 λ p k + ( e k + 1 ) p k 0.5 λ p k + ( e k ) p k λ + 4 λ + 2 = ρ .

综上可知,满足 W C max ( σ ) > ρ W C max ( π ) 的最小反例I不存在。表明对每个关于问题(P)的实例都有

W C max ( σ ) ρ W C max ( π ) 恒成立。于是得到本文的主要结论如下:

定理3.3 对于问题 1 | online , r i , agreeable ( r i , p i ) , NDP | W C max ,在线算法SLF的竞争比是1.732。 £

基金项目

河南省自然科学基金项目( 222300420503),河南省高校重点科研项目(22A110015),河南省高校青年骨干教师培养计划项目(2019GGJS202,2018XJGGJS-10)。

参考文献

[1] 唐国春, 张峰, 罗守成, 刘丽丽. 现代排序论[M]. 上海: 上海科学普及出版社, 2003.
[2] 万国华. 排序与调度的理论、模型和算法[M]. 北京: 清华大学出版社, 2019.
[3] Blazewicz, J., Ecker, K., Pesch, E., Schmidt, G., Sterna, M. and Weglarz, J. (2019) Handbook on Scheduling—From Theory to Practice. Springer Nature Switzerland AG, Cham.
https://doi.org/10.1007/978-3-319-99849-7
[4] Baker, K.R. (1974) Introduction to Sequencing and Scheduling. John Wiley & Sons, New York.
[5] Li, W.J. and Yuan, J.J. (2021) Single-Machine Online Scheduling of Jobs with Non-Delayed Processing Constraint. Journal of Combinatorial Optimization, 41, 830-843.
https://doi.org/10.1007/s10878-021-00722-4
[6] Graham, R.L., Lawer, E.L. and Lenstra, J.K. (1979) Optimiza-tion and Approximation in Deterministic Sequencing and Scheduling. Annals of Discrete Mathematics, 5, 287-326.
https://doi.org/10.1016/S0167-5060(08)70356-X
[7] Chai, X., Lu, L.F., Li, W.H. and Zhang, L.Q. (2018) Best-Possible Online Algorithms for Single Machine Scheduling to Minimize the Maximum Weighted Completion Time. Asia-Pacific Journal of Operational Research, 35, Article ID: 1850048.
https://doi.org/10.1142/S0217595918500483
[8] Li, W.H. and Chai, X. (2018) Online Scheduling on Bounded Batch Machines to Minimize the Maximum Weighted Completion Time. Journal of the Operations Research Society of China, 6, 455-465.
https://doi.org/10.1007/s40305-017-0179-x
[9] Chen, R.B. and Yuan, J.J. (2020) Single-Machine Scheduling of Proportional-Linearly Deteriorating Jobs with Positional Due Indices. 4OR: A Quarterly Journal of Operations Research, 18, 177-196.
https://doi.org/10.1007/s10288-019-00410-4
[10] Yuan, J.J., Ng, C.T. and Cheng, T.C.E. (2020) Scheduling with Release Dates and Preemption to Minimize Multiple Max-Form Objective Functions. European Journal of Operational Research, 280, 860-875.
https://doi.org/10.1016/j.ejor.2019.07.072
[11] Zhao, Q.L. and Yuan, J.J. (2020) Bicriteria Scheduling of Equal Length Jobs on Uniform Parallel Machines. Journal of Combinatorial Optimization, 39, 637-661.
https://doi.org/10.1007/s10878-019-00507-w
[12] Feng, Q. and Yuan, J.J. (2007) NP-Hardness of a Multicriteria Scheduling on Two Families of Jobs. OR Transactions, 11, 121-126.