Contents lists available atSciVerse ScienceDirect
Discrete Applied Mathematics
journal homepage:www.elsevier.com/locate/damAn improved on-line algorithm for single parallel-batch machine
scheduling with delivery times
Ji Tian
a, T.C.E. Cheng
b,∗, C.T. Ng
b, Jinjiang Yuan
caSchool of Sciences, China University of Mining and Technology, Xuzhou, Jiangsu 221116, People’s Republic of China bDepartment of Logistics and Maritime Studies, The Hong Kong Polytechnic University, Hung Hom, Kowloon, Hong Kong cDepartment of Mathematics, Zhengzhou University, Zhengzhou, Henan 450001, People’s Republic of China
a r t i c l e i n f o
Article history: Received 4 May 2010
Received in revised form 29 November 2011
Accepted 4 December 2011 Available online 29 December 2011 Keywords: On-line scheduling Parallel-batch machine Delivery times Competitive ratio
a b s t r a c t
We study an on-line single parallel-batch machine scheduling problem where each job has a processing time and a delivery time. Jobs arrive over time and the batch capacity is unbounded. Jobs can be processed in a common batch, and each job is delivered independently and immediately at its completion time on the machine. The objective is to minimize the time by which all the jobs are delivered. We provide an on-line algorithm with a competitive ratio 2
√
2−1 ≈ 1.828, which improves on a 2-competitive on-line algorithm for this problem in the literature.
©2011 Elsevier B.V. All rights reserved.
1. Introduction
We state the on-line scheduling problem on a single parallel-batch machine under study in this paper as follows: There arenjobs, say,J1
, . . . ,
Jn, that arrive over time. Each jobJjhas an arrival timerj, a processing timepj, and a delivery timeqjthat are not known in advance. We acquire the information on a jobJj, such aspjandqj, as it arrives. A job cannot be scheduled until its arrival and cannot be preempted once it is processed. A parallel-batch machine can process jobs simultaneously as a batch up to its capacity limit. We assume the batch capacity is unbounded. The processing time of a batch is the largest processing time among the jobs in it. The completion time of a batch is the time at which all the jobs in the batch are completed. Jobs in a batch have the same starting time and the same completion time. In this model, once the processing of a job is completed on the machine, we deliver it to its destination, which takes its delivery time. The objective is to minimize the time by which all the jobs are delivered. Given a schedule, letCjandDjdenote the completion time of processingJjon the machine and the time by whichJjis delivered, respectively. ThenDj=
Cj+
qj. Following the standard scheduling notation to describe scheduling problems introduced by Lawler et al. [4], we denote the problem by 1|
p-batch,on-line,qj,
b=
n|
Dmax,wherebis the upper bound for the batch capacity andDmax
=
maxj{
Dj}
.For on-line scheduling, the quality of an on-line algorithm is usually measured by its competitive ratio. We say an on-line algorithm is
ρ
-competitive if, for any instance, it produces a schedule with an objective value at mostρ
times the objective value given by an off-line optimal schedule.Parallel-batch scheduling is motivated by the burn-in operations in the manufacturing of integrated circuits [5,6,11,12]. There have been many research studies on on-line scheduling to minimize the time by which all the jobs are delivered.
∗Corresponding author. Tel.: +852 2766 5216; fax: +852 2364 5245. E-mail address:[email protected](T.C.E. Cheng).
0166-218X/$ – see front matter©2011 Elsevier B.V. All rights reserved. doi:10.1016/j.dam.2011.12.002
Table 1
Summary of results.
Model Constraints on jobs Results References
b=n qj=0
√ 5+1
2 (Optimal) Deng et al. [1]
Zhang et al. [14] Poon and Yu [7] b<n qj=0 2 Zhang et al. [14] Poon and Yu [8] b<n qj=0,pj∈ p, √ 5+1 2 p √ 5+1
2 (Optimal) Fang et al. [2]
b=2 qj=0 74 Poon and Yu [8]
b<n 3 Tian et al. [9]
b=norb<n pj=p
√ 5+1
2 (Optimal) Tian et al. [9]
b=n 2 Tian et al. [9]
b=n Agreeable(pj,qj)
√ 5+1
2 (Optimal) Yuan et al. [13]
b=n pj≥qj
√ 5+1
2 (Optimal) Yuan et al. [13]
b=n pj≤qj √ 5+1 2 Tian et al. [10] b=n pj∈ p, √ 5+1 2 p √ 5+1
2 (Optimal) Fang et al. [2]
Hoogeveen and Vestjens [3] propose a best possible on-line algorithm with a competitive ratio √
5+1
2 for minimizing the
maximum delivery time on a single (non-batch) machine. Tian et al. [9] first study this problem on a single parallel-batch machine. If all the jobs have the same delivery time 0, the problem is equivalent to 1
|
p-batch,on-line|
Cmax, which has beenextensively studied in the literature.Table 1summarizes the known results on on-line scheduling on a single batch machine to minimize the time by which all the jobs are delivered.
This paper is organized as follows: In Section2we introduce some notation used in this paper. In Section3we present an on-line algorithm and some useful observations and lemmas. In Section4we show that the on-line algorithm has a competitive ratio no greater than 2
√
2
−
1≈
1.
828 and prove that the bound is tight.2. Preliminaries
A jobJjis calledavailableat timetif it has arrived but has not been processed at timet. Denote byU
(
t)
the set of all the available jobs at timet. If two jobsJiandJjinU(
t)
satisfypi≤
pjandqi≤
qj, we say thatJiisdominatedbyJjat timet and we can always processJiin the same batch asJjbecause the batch capacity is unbounded. Furthermore, if we delete a dominated job at timet, it will not affect our analysis. Therefore we useU∗(
t)
to denote the set of non-dominated available jobs inU(
t)
and consider only scheduling of the jobs inU∗(
t)
at timet.Observation 1. For any two jobsJiandJjin the non-dominated setU∗
(
t)
, we havepi
̸=
pjandqi̸=
qj, andpi<
pjiffqi>
qj. The following notation will be used in our discussion:•
p(
t)
denotes the index of the job with the largest processing time inU∗(
t)
;•
q(
t)
denotes the index of the job with the largest delivery time inU∗(
t)
;•
rmin(
J)
denotes the minimum release time of the jobs inJ;•
p(
J)
denotes the largest processing time of all the jobs in job setJ;•
U∗ 1(
t)
= {
Jj∈
U∗(
t)
:qj≥
pj}
;•
U2∗(
t)
= {
Jj∈
U∗(
t)
:qj<
pj}
;•
α
=
√
2−
1;•
A(
t)
= {
Jj∈
U1∗(
t)
:qj≥
(
1+
α)
pp(t)}
;•
C(
t)
= {
Jj∈
U1∗(
t)
:α
pp(t)≤
qj< (
1+
α)
pp(t)}
;•
D(
t)
= {
Jj∈
U1∗(
t)
:qj< α
pp(t)}
;•
E(
t)
= {
Jj∈
U2∗(
t)
:qj≥
1+2αpp(t)}
. Note that 2α
=
2/(
2+
α)
=
(
1+
α
2)/(
1+
α)
=
(
1+
α)/
1+α 2+
1
andα <
1−
α < (
1+
α)/
2< (
2−
α)/
2<
2α
. We also useJa(t),Jc(t),Jd(t), andJe(t)to denote the job with the largest processing time in job setA(
t)
,C(
t)
,D(
t)
, andE(
t)
, respectively.Observation 2. At any time instantt, we haveU∗
(
t)
=
U∗1
(
t)
∪
U ∗ 2(
t)
,U ∗ 1(
t)
=
A(
t)
∪
C(
t)
∪
D(
t)
, andE(
t)
⊆
U ∗ 2(
t)
. Furthermore, ifD(
t)
̸= ∅
, thenp(
U∗ 1(
t))
=
pd(t)< α
pp(t).Proof. The former part follows from the above definitions. Recall thatU∗
(
t)
is a non-dominated job set andD(
t)
⊆
U∗1
(
t)
.IfD
(
t)
̸= ∅
, then the definitions ofU1∗(
t)
andD(
t)
implyp(
U1∗(
t))
=
pd(t)andpd(t)≤
qd(t)< α
pp(t).Observation 23. An on-line algorithm
Given an instance, we use
σ
andπ
to denote the schedule produced by an on-line algorithm and an off-line optimal schedule, respectively. LetDmax(σ )
andDmax(π)
be the objective values generated by schedulesσ
andπ
, respectively. Ateach decision timetof an on-line algorithm, we need to select jobs fromU∗
(
t)
to form a single batch to process. The rule of selecting jobs is that the available jobs with larger delivery times always have a higher priority. In order to obtain an on-line algorithm with a competitive ratio less than 2, we observe that the jobs inU∗(
t)
should be divided into several groups to be scheduled separately. Consider the instance in which two jobsJ1andJ2arrive at time 0, wherep1=
ϵ,
q1=
1,p2=
1, and q2=
ϵ
withϵ
being a sufficiently small positive value. IfJ1andJ2are processed in a common batch in an on-line schedule, wehaveDmax
(σ)
≥
2 whileDmax(π)
=
1+
2ϵ
. Asϵ
tends to zero,Dmax(σ)/
Dmax(π)
tends to 2. Therefore, we divideU∗(
t)
intotwo subsetsU∗
1
(
t)
andU∗
2
(
t)
. If all the jobs inU∗
2
(
t)
have the same arrival time, it is easy to observe that all these jobs shouldbe processed in a single batch in any optimal schedule. The difficulty is to deal with the jobs inU∗
1
(
t)
. If all the jobs inU∗
1
(
t)
are always processed in a single batch, we cannot obtain an on-line algorithm with a competitive ratio less than 2. Consider the instance in which two jobsJ1andJ2arrive at time 0, wherep1
=
1K,
q1=
K2,p2=
1,q2=
0, andKis a sufficiently largepositive value. Before time 1, if jobJ1is scheduled as a single batch, a copy ofJ1, i.e., one with the same processing time and
the same delivery time, will arrive exactly
ϵ
time later than the starting time of this batch. ThenDmax(σ )
≥
1+
1, while Dmax(π)
=
1+
K1+
2K. AsKtends to∞
,Dmax(σ)/
Dmax(π)
tends to 2.An intuitive idea to deal with the jobs inU∗
1
(
t)
is that the jobs with larger delivery times inU∗
1
(
t)
should be scheduledin a single batch and the jobs with smaller delivery times inU∗
1
(
t)
should be scheduled with all the jobs inU∗
2
(
t)
in a singlebatch. So we further divideU1∗
(
t)
into three subsetsA(
t)
,C(
t)
, andD(
t)
. Specifically, we useA(
t)
∪
C(
t)
to denote the jobs with larger delivery times andD(
t)
to denote the jobs with smaller delivery times inU∗1
(
t)
. However, in order to design aneffective on-line algorithm and facilitate the analysis of the competitive ratio in Section4, we need to establish more precise procedures to determine the jobs to form a single batch to process. At each decision timet, we useR
(
t)
to denote the set of selected jobs to process as a single batch in an on-line algorithm, whereR(
t)
is defined by the following sub-procedureH1(Conditions (a) and (b) inH1are presented afterH1): Sub-procedure H1
Case1.U1∗
(
t)
= ∅
. ThenU∗(
t)
=
U2∗(
t)
. SetR(
t)
=
U2∗(
t)
.Case2.p
(
U∗1
(
t)) < α
pp(t). ThenJp(t)∈
U2∗(
t)
. We consider three subcases: Case2.1.A(
t)
̸= ∅
. SetR(
t)
=
A(
t)
.Case2.2.A
(
t)
= ∅
andC(
t)
̸= ∅
. Do the following:If Condition (a) holds, setR
(
t)
=
C(
t)
∪
D(
t)
; otherwise, setR(
t)
=
C(
t)
.Case2.3.A
(
t)
= ∅
andC(
t)
= ∅
. ThenU∗1
(
t)
=
D(
t)
. Do the following:If Condition (a) holds, setR
(
t)
=
D(
t)
; otherwise, setR(
t)
=
D(
t)
∪
U2∗(
t)
.Case3.p
(
U∗1
(
t))
≥
α
pp(t). ThenD(
t)
= ∅
andU∗
1
(
t)
=
A(
t)
∪
C(
t)
.Case3.1.A
(
t)
̸= ∅
. Ifpa(t)≥
α
pp(t), setR(
t)
=
A(
t)
∪
C(
t)
; otherwise, setR(
t)
=
A(
t)
.Case3.2.A
(
t)
= ∅
. ThenU1∗(
t)
=
C(
t)
. We consider two situations:Case3.2.1.pc(t)
≥
1+α2 pp(t)orE
(
t)
̸= ∅
. SetR(
t)
=
C(
t)
∪
U∗
2
(
t)
. Case3.2.2.pc(t)<
1+2αpp(t)andE(
t)
= ∅
. Do the following:If Condition (b) holds, setR
(
t)
=
C(
t)
∪
U∗2
(
t)
; otherwise, setR(
t)
=
C(
t)
. Condition(a):rmin(
D(
t)) < α
pp(t)andt≤
1+2αpp(t).Condition(b):t is the completion time of a previously formed batchBh, the starting time ofBh, say,th, is not less than
1+α
2 pp(t),Jc(t)
∈
C(
th)
, andpc(t)≥
1+α2 pp(th).
Remark.If Condition (a) holds, thenD
(
t)
, which includes all the jobs with smaller delivery times inU∗1
(
t)
, should not bedelayed at timetsince there exists some job inD
(
t)
having an earlier arrival time. If Condition (b) holds, then the arrival time of jobJp(t)is at least 1+2αpp(t)andJp(t)cannot be delayed at timet. So we setR(
t)
=
C(
t)
∪
U2∗(
t)
.Now we present an on-line algorithmHin the following. LetJr(t)denote the job with the largest processing time inR
(
t)
. The main idea of algorithmHis as follows: At each decision timet, the jobs inR(
t)
determined by sub-procedureH1form awaiting batch. The starting time of the waiting batch depends on the relationship betweenJr(t)andJp(t). IfJr(t)
̸=
Jp(t), thenU∗
(
t)
is divided into two partsR(
t)
andU∗(
t)
\
R(
t)
, and the starting time ofR(
t)
should be as early as possible under some delay strategy. IfJr(t)=
Jp(t), by sub-procedureH1(Case 1, Case 2.3, and Case 3.2), we haveR(
t)
=
U∗(
t)
. In this case, sinceall the jobs inU∗
(
t)
form the single batchR(
t)
, the starting time of it should be as late as possible under some delay strategy.Algorithm H.Step0: Sett
=
0.Step1: IfU∗
(
t)
= ∅
, go to Step 4; otherwise, determineR(
t)
by sub-procedureH1. Step2: IfJr(t)̸=
Jp(t), do the following:Ift
≥
(
1−
α)
pp(t), scheduleR(
t)
as a single batch starting at timet. Resett=
t+
pr(t). Go to Step 1. Ift< (
1−
α)
pp(t), then we postpone the decision onR(
t)
till the momentt′=
(
1−
α)
pp(t)or till the first moment
Step3: IfJr(t)
=
Jp(t), do the following: Ift≥
1+α2 pp(t), scheduleR
(
t)
as a single batch starting at timet. Resett=
t+
pr(t). Go to Step 1.Ift
<
1+2αpp(t), then we postpone the decision onR(
t)
till the momentt′=
1+α2 pp(t)or till the momentt
′′
<
1+α2 pp(t)if
there is a new job that arrives att′′. Resett
=
t′′ift′′exists; otherwise, resett=
t′. Go to Step 1.Step4: Wait until a new job arrives and lettbe the release time of such a job. Go to Step 1.
We provide an example to illustrate how algorithmHworks. There are four jobsJ1
,
J2,
J3, andJ4. The first three jobs arriveat time 0 and the last one arrives at time1+2α. The processing times and delivery times of the jobs are given by
p1
=
1,
p2=
α
−
α
2,
p3=
2α
2,
p4=
α
2;
q1=
0,
q2=
1+
α,
q3=
2α
2,
q4=
α.
According to the above definitions, we haveU∗
1
(
0)
= {
J2,
J3}
,A(
0)
= {
J2}
,D(
0)
= {
J3}
, andU2∗(
0)
= {
J1}
. By sub-procedure H1(Case 2.1),R(
t)
=
A(
t)
,∀
t∈ [
0,
1−
α
]
. By Step 2 of algorithmH,A(
1−
α)
= {
J2}
acts as the first batch with startingtime 1
−
α
and completion time 1−
α
2=
2α
. At time 2α
, we observe thatU∗1
(
2α)
= {
J3,
J4}
,C(
2α)
= {
J4}
,D(
2α)
= {
J3}
,andU∗
2
(
2α)
= {
J1}
. By sub-procedureH1(Case 2.2) and Step 2 of algorithmH,R(
2α)
=
C(
2α)
= {
J4}
acts as the secondbatch with starting time 2
α
and completion time 1. At time 1, we observe thatU1∗(
1)
=
D(
1)
= {
J3}
andU2∗(
1)
= {
J1}
. Bysub-procedureH1(Case 2.3) and Step 3 of algorithmH,R
(
1)
= {
J1,
J3}
acts as the third batch starting at time 1. Hence wehaveDmax
(σ )
=
(
1−
α)
+
p2+
p4+
p1+
q3=
(
1−
α)
+
(α
−
α
2)
+
α
2+
1+
2α
2=
2(
1+
α
2)
.When it does not cause confusion, we writeDonandDoptforDmax
(σ)
andDmax(π)
, respectively. Given an instance, let¯
Jbe one of the jobs that have the maximum delivery time among the jobs assuming the valueDon. ThenD¯J
=
Don. Denote by B0the batch containing¯
Jinσ
. Letτ
be the starting time ofB0. Thenq¯
=
q(τ)
andJq(τ)∈
B0. Hence we may assume that¯
J
=
Jq(τ). Assume that there aremcontiguously processed batches immediately before timeτ
inσ
, if they exist. Denote them
+
1 batches (includingB0) byB0,
B1,
B2, . . . ,
Bmin decreasing order of their completion times. Denote bySithe starting time of batchBiinσ
, for 0≤
i≤
m, thenSm<
· · ·
<
S1<
S0=
τ
. LetJ(i)be the job with the largest processing timeinBi,
∀
i∈ {
0, . . . ,
m}
. We also user(i),p(i), andq(i)to denote the arrival time, processing time, and delivery time of the job J(i), respectively. Thenp(
Bi)
=
p(i). Note thatp(0)≤
pp(τ). The equality does not always hold becauseB0may not be the lastbatch in
σ
. According to algorithmHand sub-procedureH1, we have the following observations:Observation 3. For each batchBkin
σ
,(a) ifJ(k)
̸=
Jp(Sk), thenBk⊆
U1∗(
Sk)
andSk≥
(
1−
α)
pp(Sk)> (
1−
α)
p(k); (b) ifJ(k)=
Jp(Sk), thenBk=
U ∗(
S k)
andSk≥
1+2αpp(Sk)=
1+α 2 p(k); (c) ifJ(k)∈
U∗ 1(
Sk)
, thenBk⊆
U1∗(
Sk)
.Proof. IfJ(k)
̸=
Jp(Sk), by sub-procedureH1(Cases 2 and 3),R(
Sk)
⊆
U1∗(
Sk)
. According to Step 2 of algorithmH, we have Bk=
R(
Sk)
⊆
U1∗(
Sk)
andSk≥
(
1−
α)
pp(Sk)> (
1−
α)
p(k).IfJ(k)
=
Jp(Sk), by sub-procedureH1(Cases 1, 2.3 and 3),R(
Sk)
=
U ∗(
Sk
)
. By Step 3 of algorithmH, we haveBk=
R(
Sk)
=
U∗(
Sk)
andSk≥
1+2αpp(Sk)=
1+α
2 p(k).
IfJ(k)
∈
U1∗(
Sk)
, thenp(k)≤
q(k). Recall thatU∗(
Sk)
is a non-dominated set. From the definition ofJ(k), for each job Jx∈
Bk\
J(k), we havepx<
p(k)andqx>
q(k), soqx>
q(k)≥
p(k)>
px. HenceBk⊆
U1∗(
Sk)
.Observation 3follows.Observation 4. Suppose that there exist two batchesBiandBjin
σ
such thatp(j)≥
p(i), where 0≤
i<
j≤
m. Then rmin(
Bi) >
Sj.Proof. Sincep(j)
≥
p(i)andJ(i)has the largest processing time inBi, we havep(j)≥
p′,
∀
J′∈
Bi. Supposermin(
Bi)
≤
Sj. Let Jxbe a job with the minimum arrival time inBi. Thenrx≤
Sj,Jx∈
U∗(
Sj)
andpx≤
p(j). By sub-procedureH1and algorithm H, either jobJxis processed before jobJ(j)orJxandJ(j)are processed in the same batch inσ
. Either outcome contradicts the assumption thatJx∈
Bi,J(j)∈
Bj, andi<
j.Observation 4follows.Observation 5. For any two consecutive batchesBiandBi+1in
σ
, ifA(
Si)
̸= ∅
, thenA(
Si)
⊆
Bi⊆
U1∗(
Si)
andrmin(
A(
Si)) >
Si+1.Proof. The conclusionA
(
Si)
⊆
Bi⊆
U1∗(
Si)
follows from sub-procedureH1(Cases 2.1 and 3.1). Supposermin(
A(
Si))
≤
Si+1.LetJx be a job with the minimum arrival timerxinA
(
Si)
. Thenrx≤
Si+1, soJx∈
U∗(
Si+1)
. GivenJx̸∈
Bi+1, we have J(i+1)̸=
Jp(Si+1). SinceBiandBi+1are two batches processed contiguously inσ
, we haveJp(Si+1)∈
U(
Si)
, sopp(Si+1)≤
pp(Si). GivenJx∈
A(
Si)
, we obtainqx≥
(
1+
α)
pp(Si)≥
(
1+
α)
pp(Si+1), soJx∈
A(
Si+1)
. ThenJx∈
Bi+1becauseA(
Si+1)
⊆
Bi+1, contradictingJx∈
Bi.Observation 5follows.Observation 6. Suppose there is some jobJx
∈
U∗(
Si)
withrx≤
Sj, where 0≤
i<
j≤
m. Then, for anyksatisfyingi<
k≤
j, we haveBk⊆
U1∗(
Sk)
,p(k)<
px≤
pp(Sk)≤
pp(Si), andq(k)>
qx. Furthermore, ifJx∈
C(
Si)
, thenBk=
A(
Sk)
withp(k)< α
pp(Sk) andJx∈
C(
Sk)
.Proof. SinceJx
∈
U∗(
Si)
andrx≤
Sj, we haveJx∈
U∗(
Sk)
. GivenJx̸∈
Bk, we haveJ(k)̸=
Jp(Sk), soJp(Sk)∈
U(
Sk−1)
. Thenpx
≤
pp(Sk)≤
pp(Sk−1)≤ · · · ≤
pp(Si). ByObservation 3(a), we haveBk⊆
U ∗1
(
Sk)
. Recall that the available jobs with larger delivery times always have a higher priority to form a batch. Thenq(k)>
qxandp(k)<
pxbecauseU∗(
Sk)
is a non-dominated set.Furthermore, ifJx
∈
C(
Si)
, thenqx≥
α
pp(Si)≥
α
pp(Sk), soJx∈
A(
Sk)
∪
C(
Sk)
. SinceJx̸∈
Bkandrx≤
Sj, byObservation 5, we haveJx∈
C(
Sk)
. By sub-procedureH1 (Cases 2.1 and 3.1), we getBk=
A(
Sk)
andp(k)< α
pp(Sk).Observation 6 follows.Observation 7. Suppose thatJ(i)
=
Jp(Si)andi>
0. Then, for anyJx∈
i−1k=0U
(
Sk)
, we haverx>
Si≥
1+2αp(i).Proof. SinceJ(i)
=
Jp(Si), byObservation 3(b), we haveBi=
U∗(
Si)
andSi≥
1+2αp(i). Hence eachJx∈
i−1k=0U
(
Sk)
arrives afterSi.Observation 7follows.Observation 8. Suppose 0
≤
k≤
mandJx∈
U∗(
Sk)
such thatrx<
SkandSk>
1+2αpp(Sk). Thenm≥
k+
1.Proof. Supposem
=
k. Then there exists an idle time interval immediately before timeSk. By Steps 2 and 3 of algorithmH, the starting time ofJxinσ
is no later than max{
rx,
1+2αpp(Sk)}
<
Sk. This contradicts the assumptionJx∈
U∗
(
Sk
)
.Observation 8 follows.Observation 9. SupposeBk
⊆
U1∗(
Sk)
andSk>
1+2αpp(Sk)with 0≤
k≤
m. Then, for anyJx∈
Bk, we haveJx̸∈
D(
Sk)
,qx
≥
α
pp(Sk), andBk⊆
A(
Sk)
∪
C(
Sk)
.Proof. The result follows from sub-procedureH1(Case 2.2).
To facilitate the analysis of the competitive ratio, we introduce the following useful notation:
•
Siπdenotes the starting time ofJiinπ
for each jobJi;•
Ji≺
Jjdenotes the event that jobJiis scheduled before jobJjinπ
, i.e.,Siπ<
Sπj;•
L(S)
denotes the lower bound onDoptdetermined by the jobs inSwith the assumption that all the jobs inSarrive attime 0. Specifically,L
(
Ji)
≥
pi+
qifor each jobJi.Observation 10.For any two jobsJiandJj, we haveL
(
Ji,
Jj)
≥
pj+
min{
pi,
qi}
.Proof. In any optimal schedule, ifJi andJjare scheduled in the same batch, thenL
(
Ji,
Jj)
≥
pj+
qi; ifJi andJjbelong to different batches, thenL(
Ji,
Jj)
≥
pj+
pi. HenceL(
Ji,
Jj)
≥
min{
pj+
pi,
pj+
qi} =
pj+
min{
pi,
qi}
.Observation 10 follows.Observation 11.SupposeBk
=
C(
Sk)
∪
U2∗(
Sk)
with eitherpc(Sk)>
1+α
2 pp(Sk)orE
(
Sk)
̸= ∅
. Then there exists a jobJx∈
Bk such that min{
px,
qx} ≥
1+2αpp(Sk)andL(
Jx,
Jp(Sk))
≥
(
1+
1+α
2
)
pp(Sk).Proof. Ifpc(Sk)
>
1+α
2 pp(Sk), setJx
=
Jc(Sk); ifE(
Sk)
̸= ∅
, setJx=
Je(Sk). By the definitions ofJc(Sk)andJe(Sk), we have min{
px,
qx} ≥
1+2αpp(Sk). ByObservation 10, we haveL(
Jx,
Jp(Sk))
≥
pp(Sk)+
min{
px,
qx} ≥
(
1+
1+α
2
)
pp(Sk).Observation 11 follows.Observation 12.For eachkwith 0
≤
k≤
m,Dopt≥
L(
Ja(Sk),
J(k),
Jp(Sk))
≥
p(k)+
(
1+
α)
pp(Sk)if one of the following two conditions holds:(a)1+2αpp(Sk)
≤
p(k)<
pp(Sk); (b)A(
Sk)
̸= ∅
.Proof. We assert that condition (a) implies that condition (b). Suppose 1+2αpp(Sk)
≤
p(k)<
pp(Sk)andA(
Sk)
= ∅
. Then J(k)̸=
Jp(Sk). ByObservation 3(a), we haveBk⊆
U1∗(
Sk)
. Sincep(k)≥
1+2αpp(Sk), by sub-procedureH1(Case 3.2.1), we haveBk
=
C(
Sk)
∪
U2∗(
Sk)
. Sop(k)=
pp(Sk), a contradiction. The assertion follows.SupposeA
(
Sk)
̸= ∅
. By sub-procedureH1(Cases 2.1 and 3.1), eitherBk=
A(
Sk)
orBk=
A(
Sk)
∪
C(
Sk)
withpa(Sk)≥
α
pp(Sk). IfBk=
A(
Sk)
, we haveJ(k)=
Ja(Sk), soL(
Ja(Sk),
J(k),
Jp(Sk))
≥
L(
Ja(Sk))
≥
pa(Sk)+
qa(Sk)≥
p(k)+
(
1+
α)
pp(Sk). SupposeBk
=
A(
Sk)
∪
C(
Sk)
withpa(Sk)≥
α
pp(Sk). WhenJa(Sk)is not scheduled before jobsJ(k)andJp(Sk)inπ
,L(
Ja(Sk),
J(k),
Jp(Sk))
≥
min{
p(k),
pp(Sk)} +
qa(Sk)≥
p(k)+
(
1+
α)
pp(Sk). WhenJa(Sk)is scheduled before both jobsJ(k)andJp(Sk)inπ
, byObservation 10,L
(
Ja(Sk),
J(k),
Jp(Sk))
≥
pa(Sk)+
L(
J(k),
Jp(Sk))
≥
pa(Sk)+
p(k)+
pp(Sk)≥
p(k)+
(
1+
α)
pp(Sk).Observation 12follows. In the following we provide some lemmas that will be repeatedly used in the analysis to be presented in Section4.Lemma 3.1. Don
/
Dopt≤
1+
2α
if any of the following conditions holds for some X,
Y,
Z>
0:(i) X
≤
α
Y , Don−
Dopt≤
X+
Y , and Dopt≥
(
1+
1+2α)
Y ;(ii) X
≤
1+α2 Y , Don
−
Dopt≤
X+
1+α2 Y , and Dopt
≥
X+
Y ;(iii) X
≤
Y , Don−
Dopt≤
X+
Y , and Dopt≥
X+
(
1+
α)
Y ;(iv) X
≤
Y , Don−
Dopt≤
X+
β
Y , and Dopt≥
X+
Y , whereβ
∈ {
α,
1−
α
}
;(v) X
≤
Y , Don−
Dopt≤
X+
1+2αY , and Dopt≥
α
X+
(
1+
1+2α)
Y ;(vi) X
≤
Y , Z≤
Y , Don−
Dopt≤
X+
Z , and Dopt≥
α
X+
Y+
Z .Proof. The results can be easily verified by the fact that 2
α
=
(
1+
α)/
1+α2
+
1
=
2/(
2+
α)
and(
1+
α)/
2< (
2−
α)/
2<
(
2+
α)/
3<
2α
.In the remaining part of this section, fromLemmas 3.2to3.5, we suppose thatm
≥
1 and there exists at least one jobJ(k)∈ {
J(1),
J(2), . . . ,
J(m)}
satisfyingJ(k)=
Jp(Sk). LetJ(i)be the job among such jobs with the minimum index. From Observation 7, for anyJ′∈
i−1k=0Bk
∪ {
Jp(τ)}
, we haver′>
Si≥
1+2αp(i).Lemma 3.2. Suppose m
≥
i+
1and r(i)<
α2p(i). Then r(i)<
Sm=
(
1−
α)
p(i).Proof. We establish the result by contradiction. Supposer(i)
≥
Sm. LetBkbe the processing batch whenJ(i)arrives. Then r(i)∈ [
Sk,
Ck)
. FromObservation 3(a, b),Sk≥
(
1−
α)
p(k). Then(
1−
α)
p(k)≤
Sk≤
r(i)<
α2p(i), sop(k)<
1+4αp(i). Then Sk−1=
Sk+
p(k)≤
r(i)+
p(k)<
3α4+1p(i)< (
1−
α)
p(i). SinceSi≥
1+2αp(i), we havei<
k−
1≤
m. FromObservation 6and the assumption thatJ(i)=
Jp(Si), for anyjwithi<
j<
k, we haveBj⊆
U∗1
(
Sj)
andJp(Sj)=
J(i). ByObservation 3(a), we haveSk−1
≥
(
1−
α)
pp(Sk−1)=
(
1−
α)
p(i), a contradiction. Hencer(i)<
Sm. Then the definition ofJ(i)impliesp(i)=
pp(Sm). Givenm
≥
i+
1, we obtainSm=
(
1−
α)
p(i)from Step 2 of algorithmH.Lemma 3.2follows.Lemma 3.3. Suppose m
≥
i+
1, Sπ(i)<
α2p(i)and Don−
Dopt≤
min{
(
1+
α
2)
p(i),
Si+
α
2p(i)}
. Then Don/
Dopt≤
1+
2α
.Proof. Sincem
≥
i+
1 andr(i)≤
S(i)π<
α2p(i), byLemma 3.2, we haver(i)≤
S(i)π<
Sm=
(
1−
α)
p(i). From the assumption thatJ(i)=
Jp(Si)andObservation 6, for anyjsatisfyingi<
j≤
m, we haveBj⊆
U1∗(
Sj)
andJp(Sj)=
J(i). If we can show thatDopt
≥
(
1+
α)
p(i), given the fact that(
1+
α
2)/(
1+
α)
=
2α
and the assumption thatDon−
Dopt≤
(
1+
α
2)
p(i), we aredone. We consider three cases as follows:
Case1. There exists somekwithi
<
k≤
msuch thatA(
Sk)
̸= ∅
. ThenDopt≥
L(
Ja(Sk))
≥
pa(Sk)+
qa(Sk)≥
(
1+
α)
pp(Sk)=
(
1+
α)
p(i).Case2. There exists somekwithi
<
k≤
msuch thatp(k)≥
α
p(i). SinceBk⊆
U1∗(
Sk)
, we haveDopt≥
L(
J(k),
J(i))
≥
p(i)+
p(k)≥
(
1+
α)
p(i)byObservation 10.Case3. Eachjwithi
<
j≤
msatisfiesA(
Sj)
= ∅
andp(j)< α
p(i). GivenBj⊆
U1∗(
Sj)
, by sub-procedureH1(Cases 2.2, 2.3 and3.2), we have eitherBj
=
C(
Sj)
orBj=
C(
Sj)
∪
D(
Sj)
. There are two situations:First,m
≥
i+
2. We assert thatBi+1=
C(
Si+1)
. SupposeBi+1=
C(
Si+1)
∪
D(
Si+1)
. By sub-procedureH1(Case 2.2),there exists at least one jobJx
∈
D(
Si+1)
with arrival timerx< α
p(i). Sinceα
p(i)< (
1−
α)
p(i)=
Sm<
1+2αp(i), by sub-procedureH1(Case 2.2), we haveJx∈
D(
Sm)
⊆
Bm. This contradictsJx∈
Bi+1. HenceBi+1=
C(
Si+1)
. Furthermore, weassert thatr(i+1)
>
Si+2. Supposer(i+1)≤
Si+2. Recall thatBi+2=
C(
Si+2)
orBi+2=
C(
Si+2)
∪
D(
Si+2)
. SinceJp(Sj)=
J(i),∀
j∈ {
i, . . . ,
m}
, we haveJ(i+1)∈
C(
Si+2)
⊆
Bi+2, a contradiction. Hencer(i+1)>
Si+2≥
Sm>
S(i)π. ThenJ(i)≺
J(i+1), so Dopt≥
p(i)+
p(i+1)+
q(i+1)≥
(
1+
α)
p(i).Second,m
=
i+
1. ThenSi+1=
Sm=
(
1−
α)
p(i). FromObservation 10, we haveDopt≥
L(
J(i),
J(i+1))
≥
p(i)+
p(i+1).SinceDon
−
Dopt≤
Si+
α
2p(i)=
Si+1+
p(i+1)+
α
2p(i)andp(i+1)< α
p(i), we have(
Don−
Dopt)/
Dopt≤
(
Si+1+
p(i+1)+
α
2p(i)
)/(
p(i)+
p(i+1))
≤
(
1−
α
+
α
+
α
2)/(
1+
α)
=
2α
.Lemma 3.3follows.Lemma 3.4. Don
/
Dopt≤
1+
2α
if Don−
Dopt≤
p(i)+
z and any one of the following two conditions holds:(i) z
≤
α
pp(τ)and S(i)π≥
Si;(ii) z
≤
pp(τ)and Dopt≥
Si+
max{
p(i),
pp(τ)} +
z.Proof. Recall that
τ
=
S0. By Observation 7, we haverp(τ)>
Si≥
1+2αp(i). If condition (i) occurs, we haveDopt≥
Si+
max{
L(
J(i)),
L(
Jp(τ))
} ≥
Si+
max{
p(i),
pp(τ)}
. HenceDon
−
Dopt Dopt≤
p(i)+
z Si+
max{
p(i),
pp(τ)}
≤
(
1+
α)
max{
p(i),
pp(τ)}
1+α 2+
1
max{
p(i),
pp(τ)}
=
2α.
If condition (ii) occurs, then
Don
−
Dopt Dopt≤
p(i)+
z Si+
max{
p(i),
pp(τ)} +
z≤
2 max{
p(i),
pp(τ)}
1+α 2+
2
max{
p(i),
pp(τ)}
<
2 2+
α
=
2α,
asα < (
1+
α)/
2.Lemma 3.4follows.Lemma 3.5. Don
/
Dopt≤
1+
2α
if S(πi)<
Si, Don−
Dopt≤
min{
p(i)+
z,
Si+
z}
, and one of the following three conditions holds. (i) z≤
α
pp(τ)and Dopt≥
S(πi)+
p(i)+
pp(τ);(ii) z
≤
1+α2 pp(τ)and Dopt
≥
Sπ
(i)
+
p(i)+
pp(τ)+
z;Proof. We distinguish the following three conditions:
Case1. Condition (i) holds. IfSi
≤
1+2αp(i), thenDon−
Dopt≤
Si+
z≤
1+2αp(i)+
α
pp(τ)≤
1+α2
(
p(i)+
pp(τ))
≤
1+α2 Dopt. Suppose
thatSi
>
1+2αp(i). Givenri≤
S(i)π<
Siand byObservation 8, we getm≥
i+
1. We consider two situations: First,S(i)π≥
α2p(i). Then(
Don−
Dopt)/
Dopt≤
(
p(i)+
z)/(
S(πi)+
p(i)+
pp(τ))
≤
(
p(i)+
α
pp(τ))/((
1+
α2)
p(i)+
pp(τ))
≤
max{
1/(
1+
α
2
), α
} =
2α
.Second,S(i)π
<
α2p(i). Whenpp(τ)≥
α
max{
p(i),
pp(τ)}
, we haveDon
−
Dopt Dopt≤
p(i)+
z S(i)π+
p(i)+
pp(τ)≤
max{
p(i),
pp(τ)} +
α
pp(τ) max{
p(i),
pp(τ)} +
pp(τ)≤
1+
α
2
max{
p(i),
pp(τ)}
(
1+
α)
max{
p(i),
pp(τ)}
=
2α.
The second last inequality follows from the fact that the functionf
(
x)
=
1+αx1+x decreases monotonically in
[
α,
1]
. When pp(τ)< α
max{
p(i),
pp(τ)}
, we havepp(τ)< α
p(i). SinceDon−
Dopt≤
min{
p(i)+
z,
Si+
z}
andz≤
α
pp(τ), we have Don−
Dopt≤
min{
(
1+
α
2)
p(i),
Si+
α
2p(i)}
. ByLemma 3.3, we are done.Case2. Condition (ii) holds. IfSi
≤
1+2αp(i), then Don−
Dopt≤
Si+
z≤
1+2α(
p(i)+
pp(τ))
≤
1+2αDopt<
2α
Dopt.IfSi
>
1+2αp(i), from the fact thatri≤
S(i)π<
Si and byObservation 8,m≥
i+
1. There are two possibilities: First, S(i)π≥
α2p(i). Then
(
Don−
Dopt)/
Dopt≤
(
p(i)+
z)/(
Sπ
(i)
+
p(i)+
pp(τ)+
z)
≤
(
p(i)+
1+α2 pp(τ)
)/((
1+
α 2)
p(i)+
(
1+
1+α 2)
pp(τ))
≤
max{
1/(
1+
α 2),
1+α 2/(
1+
1+α 2)
} =
2α
. Second,S π(i)
<
α2p(i). Whenpp(τ)≥
(α
−
α
2
)
max{
p (i),
pp(τ)}
, we have Don−
Dopt Dopt≤
p(i)+
z S(i)π+
p(i)+
pp(τ)+
z≤
max{
p(i),
pp(τ)} +
1+α 2 pp(τ) max{
p(i),
pp(τ)} +
1+
1+α 2
pp(τ)≤
1+
(α
−
α
2)
1+α 2
max{
p(i),
pp(τ)}
1+
(α
−
α
2)
1+
1+α 2
max{
p(i),
pp(τ)}
=
1+
α
2 1+
α
=
2α.
The last inequality follows from the fact that the functionf
(
x)
=
1+1+α 2 x 1+(1+1+2α)xdecreases monotonically in
[
α
−
α
2,
1]
. When pp(τ)< (α
−
α
2)
max{
p (i),
pp(τ)}
, we getpp(τ)< (α
−
α
2)
p(i). GivenDon
−
Dopt≤
min{
p(i)+
z,
Si+
z}
andz≤
1+2αpp(τ), we haveDon−
Dopt≤
min{
(
1+
α
2)
p(i),
Si+
α
2p(i)}
. Then we are done byLemma 3.3.Case3. Condition (iii) holds. IfSi
≤
1+2αp(i), we get(
Don−
Dopt)/
Dopt≤
(
Si+
z)/(
S(i)π+
p(i)+
(
1+
α)
pp(τ)+
z)
≤
(
1+α2 p(i)
+
pp(τ))/(
p(i)+
(
2+
α)
pp(τ))
≤
max{
(
1+
α)/
2,
1/(
2+
α)
} =
1+α2
<
2α
. Assume thatSi>
1+α2 p(i). The assumption
thatS(i)π
<
SiandObservation 8implym≥
i+
1. We consider two situations: First,Sπ(i)≥
α2p(i). Then
(
Don−
Dopt)/
Dopt≤
(
p(i)+
z)/(
S(i)π+
p(i)+
(
1+
α)
pp(τ)+
z)
≤
(
p(i)+
pp(τ))/((
1+
α2
)
p(i)+
(
2+
α)
pp(τ))
≤
max{
1/(
1+
α
2
),
1/(
2+
α)
} =
2α
.Second,S(i)π
<
α2p(i). Whenpp(τ)≥
α
2max{
p(i),
pp(τ)}
, we haveDon
−
Dopt Dopt≤
p(i)+
z S(i)π+
p(i)+
(
1+
α)
pp(τ)+
z≤
max{
p(i),
pp(τ)} +
pp(τ) max{
p(i),
pp(τ)} +
(
2+
α)
pp(τ)≤
(
1+
α
2)
max{
p (i),
pp(τ)}
(
1+
α)
max{
p(i),
pp(τ)}
=
2α.
The second last inequality follows from the fact that the functionf
(
x)
=
1+x1+(2+α)xdecreases monotonically in
[
α
2
,
1]
. When pp(τ)< α
2max{
p(i)
,
pp(τ)}
, we havepp(τ)< α
2p(i). SinceDon
−
Dopt≤
min{
p(i)+
z,
Si+
z}
andz≤
pp(τ), we have Don−
Dopt≤
min{
(
1+
α
2)
p(i),
Si+
α
2p(i)}
. ByLemma 3.3, we are done.Lemma 3.5follows.4. Analysis of algorithmH
In this section we show the main result of this paper in the following theorem.
Theorem 4.1. The on-line algorithm H has a competitive ratio no greater than1
+
2α
, whereα
=
√
2
−
1, and the bound is tight.We construct an instance to show that the bound is tight as follows: There are four jobsJ1
,
J2,
J3, andJ4. JobsJ1andJ2arrive at time 0, andJ3andJ4arrive at time 1
+
ϵ
. The processing times and delivery times of the jobs are given by p1=
1,
p2=
α,
p3=
α,
p4=
ϵ
;
q1=
0,
q2=
α,
q3=
0,
q4=
α
2−
ϵ.
The on-line algorithmHgenerates a schedule
σ
: The first batch{
J2}
starts at time 1−
α
, the second batch{
J1}
starts at time1, and the third batch
{
J3,
J4}
starts at time 2. There exists an optimal scheduleπ
in which the first batch{
J1,
J2}
starts attime 0, the second batch
{
J4}
starts at time 1+
ϵ
, and the third batch{
J3}
starts at time 1+
2ϵ
. The schedulesσ
andπ
aredemonstrated inFig. 1.
Then we haveDon
=
1−
α
+
α
+
1+
α
+
α
2−
ϵ
=
2+
α
+
α
2−
ϵ
andDopt=
1+
2ϵ
+
α
. Asϵ
tends to zero, the ratio Don/
Dopttends to(
2+
α
+
α
2)/(
1+
α)
=
1+
2α
.Fig. 1.
We prove that algorithmHhas a competitive ratio no greater than 1
+
2α
. The proof consists of considering all the possible situations. There are two ‘‘global’’ situations: (1)m=
0 and (2)m>
0, wheremis the number of contiguously processed batches immediately before timeτ
inσ
. In turn, in situation (2), the following subcases are distinguished: (2a) J(1)=
Jp(S1);(2b)J(0)
∈
U1∗(τ)
;(2c) B0
=
C(τ)
∪
U2∗(τ)
withC(τ)
̸= ∅
;(2d)B0
=
D(τ)
∪
U2∗(τ)
withD(τ)
̸= ∅
orB0=
U2∗(τ)
withqq(τ)< α
pp(τ);(2e) B0
=
U2∗(τ)
withqq(τ)≥
α
pp(τ).We mention that (2b)–(2e) are under the situationJ(1)
̸=
Jp(S1)and (2c)–(2e) are also under the situationJ(0)∈
U2∗(τ)
. By thedefinition ofR
(τ)
in sub-procedureH1(Cases 1–3), we haveA(τ)
= ∅
andB0=
U1∗(τ)
∪
U∗
2
(τ)
in subcases (2c)–(2e). Thereare three possibilities:B0
=
C(τ)
∪
U2∗(τ)
withC(τ)
̸= ∅
,B0=
D(τ)
∪
U2∗(τ)
withD(τ)
̸= ∅
, andB0=
U2∗(τ)
. Then weknow that (2c)–(2e) cover all the possible situations underJ(0)
∈
U2∗(τ)
and (2b)–(2e) cover all the possible situations under J(1)̸=
Jp(S1). Therefore (2a)–(2e) cover all the possible situations underm>
0. We consider all the above listed situationswithinTheorems 4.2–4.7and show thatDon
/
Dopt≤
1+
2α
for each of them.Note that batchesB0
,
B1, . . . ,
Bmare processed contiguously inσ
andSm<
Sm−1<
· · ·
<
S1<
S0=
τ
. Then Don=
Sl+
l
j=0
p(j)
+
qq(τ),
for any l,
0≤
l≤
m.
(1)Theorem 4.2. Suppose that m
=
0. Then Don/
Dopt≤
1+
2α
.Proof. Sincem
=
0, there exists an idle time interval immediately before timeτ
. Ifτ >
1+2αpp(τ), givenm=
0 andObservation 8, we havermin
(
B0∪
Jp(τ))
=
τ
. ThenDopt≥
τ
+
max{
L(
Jq(τ)),
L(
Jp(τ))
} ≥
max{
τ
+
qq(τ), (
3+2α)
pp(τ)}
. So Don−
Dopt≤
p(0)≤
pp(τ)≤
3+2αDopt<
2α
Doptby(1). In what follows, we suppose thatτ
≤
1+α
2 pp(τ). Case1. J(0)
∈
U1∗(τ)
. SinceDopt≥
qq(τ), by(1), we haveDon
−
Dopt≤
τ
+
p(0)≤
1+
α
2 pp(τ)
+
p(0).
(2)There are three possibilities to consider:
First,p(0)
<
1+2αpp(τ). ByObservation 10,Dopt≥
L(
J(0),
Jp(τ))
≥
p(0)+
pp(τ). From(2)andLemma 3.1(ii), we are done.Second, 1+2αpp(τ)
≤
p(0)<
pp(τ) orA(τ)
̸= ∅
. ByObservation 12(a, b),Dopt≥
p(0)+
(
1+
α)
pp(τ). From(2)andLemma 3.1(iii), we are done.
Third,p(0)
=
pp(τ)andA(τ)
= ∅
. SinceJ(0)∈
U1∗(τ)
, byObservation 3(c), we haveB0⊆
U1∗(τ)
andU∗
2
(τ)
= ∅
. Bysub-procedureH1(Case 3.2.1), we haveB0
=
C(τ)
andqq(τ)< (
1+
α)
pp(τ). SinceDopt≥
L(
J(0))
≥
2p(0)=
2pp(τ), by(1), wehaveDon
−
Dopt≤
τ
+
qq(τ)−
pp(τ)< (
1+2α+
α)
pp(τ)<
3α
pp(τ)<
2α
Dopt.Case2. J(0)
∈
U2∗(τ)
. ThenJ(0)=
Jp(τ). Recall thatτ
≤
1+2αpp(τ). ByObservation 3(b),τ
=
1+2αpp(τ). We consider twosubcases:
Case2.1.U∗
1
(τ)
= ∅
. By sub-procedureH1(Case 1), we haveB0=
U2∗(τ)
, soJq(τ)∈
U∗
2
(τ)
. FromObservation 10, we have Dopt≥
L(
Jq(τ),
Jp(τ))
≥
pp(τ)+
qq(τ). By(1),Don−
Dopt≤
τ
=
1+2αpp(τ)≤
1+2αDopt<
2α
Dopt.Case2.2.U∗
1
(τ)
̸= ∅
. SinceJ(0)∈
U2∗(τ)
, by sub-procedureH1(Cases 2.3 and 3.2),A(τ)
= ∅
and eitherB0=
C(τ)
∪
U2∗(τ)
or B0=
D(τ)
∪
U2∗(τ)
. We consider these two possibilities individually:First,B0
=
C(τ)
∪
U2∗(τ)
. Thenqq(τ)< (
1+
α)
pp(τ). Sincem=
0, according to sub-procedureH1(Case 3.2), we have either E(τ)
̸= ∅
orpc(τ)>
1+2αpp(τ). FromObservation 11, there exists a jobJx∈
B0such thatDopt≥
L(
Jx,
Jp(τ))
≥
(
1+2α+
1)
pp(τ). Given(1)andτ
=
1+α2 pp(τ), we obtainDon
−
Dopt≤
qq(τ)< (
1+
α)
pp(τ)≤
2α
Dopt.Second,B0
=
D(τ)
∪
U2∗(τ)
. Thenqq(τ)< α
pp(τ). Sincem=
0 andt=
1+α2 pp(τ), by sub-procedureH1(Case 2.3), we have rq(τ)
≥
rmin(
D(τ))
≥
α
pp(τ)>
qq(τ). IfSp(τ)π≥
rq(τ), thenDopt≥
rq(τ)+
pp(τ). IfSp(τ)π<
rq(τ), thenDopt≥
pp(τ)+
qq(τ). Hence Dopt≥
min{
rq(τ),
qq(τ)} +
pp(τ)≥
pp(τ)+
qq(τ). From(1),Don−
Dopt≤
τ
=
1+2αpp(τ)<
2α
Dopt.Theorem 4.2follows.In the rest of Section4, we assume thatm
>
0. Then the discussions proceed under conditions (2a)–(2e) individually.Discussion under condition(2a):J(1)
=
Jp(S1).Condition (2a) implies thatJ(1)is the jobJ(i)from the preamble toLemmas 3.2–3.5.
Theorem 4.3. Suppose that J(1)
=
Jp(S1). Then Don/
Dopt≤
1+
2α
.Proof. SinceJ(1)
=
Jp(S1), byObservation 7, we have rx>
S1≥
1
+
α
2 p(1)
,
for any Jx∈
U ∗(τ).
(3) We consider two situations:
Case1. J(0)
∈
U1∗(τ)
. From(3),Dopt>
S1+
pq(τ)+
qq(τ). By(1), we haveDon
−
Dopt<
p(1)+
p(0).
(4)Case1.1.S(π1)
≥
S1. By(3)andObservation 10,Dopt≥
S1+
max{
L(
J(0),
J(1)),
L(
J(0),
Jp(τ))
} ≥
S1+
max{
p(1),
pp(τ)} +
p(0). Set z=
p(0). From(4)andLemma 3.4(ii), we are done.Case1.2. S(π1)
<
S1. From (3),Dopt≥
Sπ(1)+
p(1)+
qq(τ). From (1),Don−
Dopt≤
S1+
p(0). ThenDon−
Dopt≤
min
{
p(1)+
p(0),
S1+
p(0)}
by(4). There are three situations:First,p(0)
<
1+2αpp(τ). From(3),Dopt≥
S(π1)+
p(1)+
L(
J(0),
Jp(τ))
≥
S(π1)+
p(1)+
pp(τ)+
p(0). Setz=
p(0). ByLemma 3.5(ii),we are done.
Second,1+2αpp(τ)
≤
p(0)<
pp(τ)orA(τ)
̸= ∅
. From(3)andObservation 12(a, b),Dopt≥
S(π1)+
p(1)+
L(
Ja(τ),
J(0),
Jp(τ))
≥
S(π1)+
p(1)+
p(0)+
(
1+
α)
pp(τ). Setz=
p(0). ByLemma 3.5(iii), we are done.Third,p(0)
=
pp(τ)andA(τ)
= ∅
. SinceJ(0)∈
U1∗(τ)
, byObservation 3(c), we haveB0⊆
U1∗(τ)
andU∗
2
(τ)
= ∅
.ThenB0
=
C(τ)
and qq(τ)< (
1+
α)
pp(τ). From (3),Dopt≥
S(π1)+
p(1)+
p(0)+
q0>
S(π1)+
p(1)+
2pp(τ) and Dopt≥
S1+
p(0)+
q(0)>
S1+
2pp(τ). By(1),Don−
Dopt≤
min{
p(1)+
α
pp(τ),
S1+
α
pp(τ)}
. Setz=
α
pp(τ). ByLemma 3.5(i),we are done.
Case2. J(0)
∈
U2∗(τ)
. ThenJ(0)=
Jp(τ). Case2.1.U∗1
(τ)
= ∅
. By sub-procedureH1(Case 1), we haveB0=
U2∗(τ)
, soJq(τ)∈
U2∗(τ)
. From(3)andObservation 10, Dopt≥
S1+
L(
Jq(τ),
Jp(τ))
≥
S1+
pp(τ)+
qq(τ). By(1), we getDon−
Dopt≤
p(1). Setz=
0.WhenS(π1)
≥
S1, we are done byLemma 3.4(i). WhenS(π1)<
S1, By(3)and Observation 10,Dopt≥
S(π1)+
p(1)+
L(
Jq(τ),
Jp(τ))
≥
S(π1)+
p(1)+
pp(τ)+
qq(τ). From(1), we haveDon−
Dopt≤
S1, soDon−
Dopt≤
min{
p(1),
S1}
. ByLemma 3.5(i),we are done.
Case2.2.U∗
1
(τ)
̸= ∅
. SinceJ(0)∈
U2∗(τ)
, by sub-procedureH1(Cases 2.3 and 3.2),A(τ)
= ∅
and eitherB0=
C(τ)
∪
U2∗(τ)
or B0=
D(τ)
∪
U2∗(τ)
. We consider these two possibilities individually:First,B0
=
C(τ)
∪
U2∗(τ)
. Thenqq(τ)< (
1+
α)
pp(τ). Recall thatJ(1)=
Jp(S1). By sub-procedureH1(Case 3.2), we haveeitherpc(τ)
>
1+2αpp(τ)orE(τ)
̸= ∅
. ByObservation 11, the batchB0contains a jobJxsuch thatL(
Jx,
Jp(τ))
≥
(
1+2α+
1)
pp(τ). From(3),Dopt≥
S1+
L(
Jx