Online deadline scheduling with preemption penalties

Online deadline scheduling with preemption penalties

Computers & Industrial Engineering 60 (2011) 542–549 Contents lists available at ScienceDirect Computers & Industrial Engineering journal homepage: ...

264KB Sizes 0 Downloads 50 Views

Computers & Industrial Engineering 60 (2011) 542–549

Contents lists available at ScienceDirect

Computers & Industrial Engineering journal homepage: www.elsevier.com/locate/caie

Online deadline scheduling with preemption penalties q Feifeng Zheng a,b, Yinfeng Xu a,b, Chung Keung Poon c,⇑, E. Zhang d, Xiaoping Wu e a

School of Management, Xi’an JiaoTong University, Xi’an 710049, China The State Key Lab for Manufacturing Systems Engineering, Xi’an 710049, China c Department of Computer Science, City University of Hong Kong, 83 Tat Chee Avenue, Kowloon Tong, Hong Kong, China d Shanghai University of Finance and Economics, Shanghai 200433, China e Xi’an University of Posts and Telecommunications, Xi’an 710049, China b

a r t i c l e

i n f o

Article history: Received 3 May 2010 Received in revised form 9 December 2010 Accepted 17 December 2010 Available online 25 December 2010 Keywords: Deadline scheduling Online scheduling algorithms Competitive analysis Preemption penalty

a b s t r a c t This paper presents a study of the problem of online deadline scheduling under the preemption penalty model of Zheng, Xu, and Zhang (2007). In that model, each preemption incurs a penalty of q times the weight of the preempted job, where q P 0 is the preemption penalty parameter. The objective is to maximise the total weight of jobs completed on time minus the total penalty. When the scheduler knows the ratio of longest to shortest job length, D, we show that the WAL algorithm of Zheng et al. (2007) is ((1 + q)D + o(D))-competitive for sufficiently large D. This improves the bound shown in Zheng et al. (2007). When the scheduler only knows that D P (k(1 + q))3 for some k > 1, we propose a ((k(1 + q)D/(k  1)) + o(D))-competitive algorithm. When q = 0, we give an optimal, O(D/log D)-competitive algorithm that, unlike previous algorithms, does not require knowledge of D. This settles an open problem mentioned in Ting (2008). Ó 2011 Elsevier Ltd. All rights reserved.

1. Introduction

1.1. Preemption penalty

Online deadline scheduling has recently received much attention due to its many applications in the manufacturing industry, real time systems and networks; see for example (Baruah et al., 1991; Baruah et al., 1992; Hoogeveen, Potts, & Woeginger, 2000; Goldman, Parwatikar, & Suri, 2000; Lee, 2003; Pruhs, Torng, & Sgall, 2004, chap. 15). In a typical scenario in manufacturing, jobs of various weights arrive over time, and the scheduler has to arrange the processing so that they can be finished before their respective deadlines. When a job is completed before its deadline, an amount of profit proportional to the weight of the job is obtained. When the system is overloaded, there are more jobs than the machine can handle. In this case, the challenge is to decide which jobs to process and which to give up to maximise the total profit. In this paper, we consider preemptive scheduling on a single machine and follow the standard preemption-restart model (see Shmoys, Wein, & Williamson, 1995). That is, preemption is allowed, but the aborted job has to be started again from the beginning to obtain its profit.

In some applications, starting a job represents a commitment to serve the corresponding client. Aborting the job will then likely cause a certain degree of discontent in the affected client. Therefore, we are motivated to study scheduling when there is a penalty for preemption. Zheng et al. (2007) were the first to investigate this problem and introduced the following model of preemption penalties. The system consists of a single machine to process jobs that arrive online. Each job J has four attributes, a(J), p(J), w(J) and d(J), representing its arrival time, processing time (i.e., job length), profit and deadline respectively. The scheduler does not know any of these job parameters until the job arrives, i.e., at time a(J). When it arrives, all its attributes become known. The scheduler gains a profit of w(J) if it completes job J by its deadline d(J). On the other hand, there will be a penalty of q w(J) if he starts J but aborts it before its completion. Here q is called the preemption penalty parameter and is a non-negative real number. (When q = 0, the model reduces to the classic one in which there is no penalty.) Note that if a job is preempted multiple times, a penalty will be imposed for each preemption. Our goal is to maximise the total weight of the completed jobs minus the total penalties caused by preemptions. To measure the performance of an online algorithm A, competitive ratio analysis (refer to Borodin & El-yaniv (1998)) is often used. Denote the schedules produced by A on an input I as CA ðIÞ, and the schedule produced by an optimal offline algorithm OPT as C⁄(I). Let jCA ðIÞj and jC⁄(I)j be the total profit of completed jobs in CA ðIÞ and C⁄(I) respectively. Denote the total preemption

q

This manuscript was handled by area editor Maged M. Dessouky.

⇑ Corresponding author. Tel.: +852 2788 7157; fax: +852 2788 8614. E-mail addresses: [email protected] (F. Zheng), [email protected] (Y. Xu), [email protected] (C.K. Poon), [email protected] (E. Zhang), [email protected] (X. Wu). 0360-8352/$ - see front matter Ó 2011 Elsevier Ltd. All rights reserved. doi:10.1016/j.cie.2010.12.011

543

F. Zheng et al. / Computers & Industrial Engineering 60 (2011) 542–549

penalty received by A in CA ðIÞ as jP CA ðIÞj. OPT is an offline optimal algorithm and never aborts jobs, implying that there will be no preemption penalties. Therefore, the competitive ratio of A is de jC ðIÞj fined as rA ¼ supI jCA ðIÞjjP . If q = 0, then rA ¼ supI jjCCAðIÞj . ðIÞj C ðIÞj A

1.2. Previous results Zheng et al. (2007) presented the WAL algorithm that makes use of knowledge of D (the ratio of the length between the longest and shortest jobs) and proved their algorithm to be (3D + o(D))competitive for D > 9 and q = 1. They also gave a (1.366D + 0.366) lower bound. Fung (2008) considered the general case for q > 0, and proved a lower bound of ((1 + 1/q)1/dDe  1)1 + 1. When q = 1, the lower bound is approximately D/ln 2  1.443D for large D, improving the previous bound of (1.366D + 0.366). Fung (2008) also pointed out that in fact WAL has a competitive ratio of (2 + q)D + o(D) for constant q and sufficiently large D. When q = 1, the ratio is the same as that proved in Zheng et al. (2007). Some previous works for the online broadcast scheduling problem are also relevant to the special case of q = 0 in our problem. Specifically, when translated to our terminology, Fung, Chin, and Poon (2005) proposed the AnotherpCompletes Earlier (ACE) algoffiffiffiffi   rithm and proved that it is D þ 2 D þ 2 -competitive. This was improved by Ting (2008) to O(D/log D), matching the lower bound of X(D/log D) by Zheng et al. (2006). Note that both Fung et al.’s and Ting’s algorithms require knowledge of D. Whether an equally competitive algorithm exists that does not assume knowledge of D was left as an open problem in Ting (2008). The best previous algorithm without knowledge of D is (4D + 1)-competitive, obtained by a simple extension of the greedy algorithm, GD, proposed by Kim and Chwa (2003).

  bound of 2 þ dDDe1 when   1 þ dDDe when 1 6 k < D.

1 D

6 k < 1, and a matching bound of

Preemption penalty has also been studied with other objectives, such as minimising flow time or total completion time. There, the penalty is either modelled as set-up costs or as a requirement to redo some portion of the preempted jobs (see e.g., Julian, Magazine, & Hall (1997), Liu & Cheng (2002), Liu & Cheng (2004) and the references therein). 1.5. Organisation of Paper The rest of the paper is organised as follows. In Section 2, we give our analysis of WAL and present a modified algorithm that only assumes knowledge of a lower bound on D. In Section 3, we give an algorithm for the case, where q = 0 and does not require any knowledge of D. Finally, Section 4 concludes the paper. 2. Scheduling with preemption penalties 2.1. The case with knowledge of D In this section, we will give a tighter analysis of the algorithm WAL (Weight-and-Length) proposed in Zheng et al. (2007). We first state the WAL Algorithm below. The WAL Algorithm. The algorithm is triggered when either a job is completed or a new job arrives. When WAL completes a job, it will start to process the job with the largest profit among those that have arrived but not yet been satisfied. If a job R arrives while WAL is processing J, WAL will abort J to start R if and only if one of the following two conditions is satisfied: C1: w(R) P bw(J), pffiffiffiffi C2: aw(J) 6 w(R) < bw(J) and pðRÞ < pðJÞ= D,

1.3. Our contributions Throughout this paper, we assume that 1 6 p(J) 6 D. For the problem when q > 0, we give a tighter analysis of WAL and show that it is ((1 + q)D + o(D))-competitive for a large enough D. This implies that WAL is (2D + o(D))-competitive when q = 1, improving the previous bound of (3D + o(D)). Note that WAL knows the exact value of D beforehand. We also present a modification of WAL so that it only needs to know a lower bound on D, i.e., D P k3(1 + q)3 forsome real number k > 1. We  qÞ prove that the modified algorithm is kð1þ D þ oðDÞ -competitive k1 for large enough D. As k increases, the ratio approaches ((1 + q)D + o(D)) from above. Note that this result is useful in situations, where the manufacturer may foresee the information of some future jobs at the beginning via certain business techniques so that he has a lower bound on D. For the problem when q = 0, we present an optimal (O(D/log D)-competitive) algorithm, which does not require knowledge of D at all. This answers an open question in Ting (2008). 1.4. Related work One can view the non-preemptive problem as a special case of our problem, where q = 1. Lipton and Tomkins (1994) studied the scenario when the job deadlines are always tight (interval scheduling) and the job lengths are chosen from a finite set of real numbers instead of an arbitrary number within [1, D]. One of their results is a two-competitive non-preemptive algorithm in the case, where p(J) is either 1 or D and the profit is proportional to the job length (i.e., w(J) = p(J)). Goldwasser (2003) extended the work of Lipton and Tomkins (1994) and investigated the case, where each job has a slack time equal to k P 0 times of its length, i.e., d(J)  a(J) = (k + 1)p(J). They proved a matching upper and lower

where a is some constant (to be determined later) such that 1 < a < b and b = D1/3. (Note that we could have chosen b = Dc for any positive c < 1/2. We fix b at D1/3 to avoid introducing more symbols in our analysis.) To analyse the competitive ratio of WAL, we define the notion of a preempting chain (called a subschedule in Zheng et al., 2007) as follows. A preempting chain in the schedule produced by WAL is a sequence of jobs r = (J1, . . . , Jm) such that J1 is preceded by an idle period or a completed job, Ji is preempted by Ji+1 for all 1 6 i 6 m  1 and Jm is a completed job. Because OPT is an optimal offline algorithm, we can assume without loss of generality that it never aborts a job that it starts. By construction of WAL, every job scheduled by OPT must start between the start and completion of some preempting chain unless it has already been finished by WAL earlier. (Otherwise, if there is some job J started by OPT at time t outside any preempting chain and J has not been finished by WAL earlier, then J is available at time t while WAL is idle, a contradiction.) Thus, to prove an upper bound on the competitive ratio, it suffices to compute the maximum ratio, r, of the profit of OPT to that of WAL on an arbitrary preempting chain. Then the competitive ratio is at most r + 1. The main idea of Zheng et al. (2007) is to continually modify a preempting chain until it possesses certain desirable properties. Moreover, the ratio of the optimal profit to that obtained by WAL can only increase by the sequence of changes. More precisely, suppose Ji+1 preempts Ji by condition C2 in r. Then we change the weight and processing time of Ji and Ji+1 so that Ji preempts Ji1 by condition C2 and Ji+1 preempts Ji by condition C1. We achieve this by decreasing w(Ji) to w(Ji+1)/b and swapping p(Ji) and p(Ji+1). We repeat this change until no more such change is possible. Using this approach, Zheng et al. (2007) proved that the competitive ratio is at most 3D + o(D).

544

F. Zheng et al. / Computers & Industrial Engineering 60 (2011) 542–549

Here, we use a different approach. To simplify our notations, denote by ai, wi and pi the arrival time, profit and length of job Ji (1 6 i 6 m) respectively in a preempting chain r = (J1, . . . ,Jm). Let jrj be the net profit of WAL in processing r. Thus jrj = wm  q(w1 +  + wm1). Let jr⁄j denote the total weight of jobs started by OPT while WAL is processing r. Let Oi be the set of jobs that are started by OPT while WAL is processing Ji, and jOij be the total profit of the jobs in Oi. Note that Oi may contain multiP ple jobs. Thus, jr j ¼ m i¼1 jOi j. We first provide some intuition. Observe that wi grows exponentially in i. Thus, the profits of both WAL and OPT in r are almost determined by the last several jobs in r. We will prove that no two consecutive abortions are due to condition C2. This will allow us to derive tighter bounds on the profit of WAL and OPT. For the remaining jobs, we can afford to be slightly more generous in upper bounding the profit of OPT and lower bounding that of WAL. Below, we state two fundamental lemmas (proved in Zheng et al., 2007). Lemma 2.1. Consider an arbitrary preempting chain r = (J1, . . . , Jm) produced pffiffiffiffi by WAL. If Ji+1 preempts Ji by condition C2, then piþ1 < D < pi . pffiffiffiffi pffiffiffiffi Proof. follows easily from piþ1 < pi = D 6 D and ffi pffiffiffiThis pffiffiffiffi pi > Dpiþ1 P D. h Combining Lemma 2.1 and the second inequality in condition C2, no two consecutive abortions can be caused by condition C2. Lemma 2.2. Consider an arbitrary preempting chain r = (J1, . . . , Jm) produced by WAL. (a) For 1 6 i < m, if pi 6

jOi j < b and if pi >

pffiffiffiffi D, then

pffiffiffiffi  D þ 1 wi

pffiffiffiffi D, then

pffiffiffiffi pffiffiffiffi  pi  xpi = D jobs of length < pi = D and each of these jobs must have profit less than awi. Otherwise, WAL would have aborted Ji by condition C2. Hence we have:

pffiffiffiffi pffiffiffiffi jOi j < xbwi þ dpi  xpi = Deawi < ðpi þ 1Þawi þ ðb  pi a= DÞxwi : pffiffiffiffi If b  api = D > 0, then offfiffiffiffithe ffiffiffiffi right hand sidep pthe  previous line is maximised when x ¼ pDffiffiffiffi . Hence jOi j < b D wi 6 adDewi for large enough D. If b  api = D 6 0, then the right hand side is maximised when x = 0. Therefore, jOij 6 dpieawi 6 adDewi. The proof for the second part of (b) is similar. The only difference ispthat ffiffiffiffi OPT can start, as the last one in Om, a job of length at least pm = D and profit less than bwm. p More ffiffiffiffi precisely, suppose OPT starts x jobspffiffiffi offfi length at least pm = D (and weight
j pffiffiffiffik jOm j < xbwm þ pm  ðx  1Þpm = D awm   pffiffiffiffi pffiffiffiffi 6 pm þ pm = D awm þ b  pm a= D xwm : pffiffiffiffi jOmj is maximised either pffiffiffiffi atpffiffiffixffi= 1 or x ¼ d De. Hence jOm j < maxfb þ bpm ca; pm a= D þ b D gwm 6 (aD + o(D))wm. h Based on the above two lemmas, we have the following theorem. Theorem 2.1. Suppose the preemption penalty is q times the profit of each preempted job (where q is a constant >0). Then WAL is ((1 + q)D + o(D))-competitive for large enough D. Proof. As discussed before, it suffices to bound the ratio jr⁄j/jrj for an arbitrary preempting chain r = (J1, . . . , Jm). We first consider the case when m P 4. The total weight of the jobs Ji (1 6 i 6 m  3) is:

w1 þ    þ wm3 6



jOi j < adDewi (b) If pm 6

pffiffiffiffi D, then

pffiffiffiffi  jOm j < b D þ 1 wm

and if pm >

pffiffiffiffi D, then

jOm j < ðaD þ oðDÞÞwm pffiffiffiffi Proof. The pffiffiffiffi first part of (a) and (b) are easy. If pi 6 D, OPT can start at most D þ 1 jobs of unit-length, each of profit less than bwi. Now, we prove the second part of (a). Note that all but the last job in Oi are started and finished between ai and ai+1. We claim that the last job, J, in Oi must be completed by OPT no later than ai+1 + 1. Suppose to the contrary that J is completed at time ai+1 + t for some t > 1. Then, OPT could have replaced J, which is of weight w(J) and w(J ) < abwi. Moreover, 0 OPT would start J at ai+1 + t  1. Note that WAL would not preempt 0 Ji+1 to start J . If Ji+1 preempts Ji by condition C1, wi+1 P bwi and 0 hence w(J )
1

þ  þ m4

a

wm3 < 0

1

a

a w a  1 m3

and by Lemma 2.2,

jO1 j þ    þ jOm3 j <

a2 dDe w : a  1 m3

We now bound the ratio jr⁄j/jrj by the following case analysis. pffiffiffiffi Case 1: Jm preempts Jm1 by condition C2. Then pm < D by Lemma 2.1. Also, by the construction of WAL, wm1 6 wm/a. Because no two consecutive abortions are due to condition C2, Jm1 must abort Jm2 due to con2 dition C1. Hence wm2 6 wm/(a ffiffiffiffi and wm3 6 wm/(a b). pb) Using Lemma 2.2, jOm j < bð D þ 1Þwm = o(D)wm and jOm1j < (adDe) wm1 6dDewm. Also, jOm2j < a dDewm2 for large enough D. Therefore, jOm2j < adDewm/ (ab) = o(D)wm. Combining all the parts, we have

jO1 j þ    þ jOm j <

a2 dDe wm þ oðDÞwm þ dDewm þ oðDÞwm a  1 a2 b

6 ðD þ oðDÞÞwm : On the other hand, the net profit gained by WAL is at least

 a  wm3 þ wm2 þ wm1 a  1

a 1 1 1 w þ þ P wm  q a  1 a2 b ab a m   q P 1  ð1 þ oð1ÞÞ wm :

wm  q

a

545

F. Zheng et al. / Computers & Industrial Engineering 60 (2011) 542–549

Hence the competitive ratio is at most aD/(a  q). Case 2: Jm preempts Jm1 by condition C1. Then pm 6 D and wm1 6 wm/b. Because at least one of Jm3 and Jm2 is aborted by condition C1, wm2 6 wm/(ab) and wm3 6 wm/(a b2).

pffiffiffiffiffi (a) For 1 6 i < m, if pi 6 Di , then

jOi j < biþ1 and if pi >

pffiffiffiffiffi  Di þ 1 wi

pffiffiffiffiffi Di , then

jOi j < ðaDi þ oðDiþ1 ÞÞwi Similar to case 1, we have jOmj < (aD + o(D))wm, jOm1j < adDewm/b =o(D)wm and jOm2j < adDewm/(ab) =o(D)wm. Combining all the parts, we have

a2 dDe wm þ oðDÞwm þ oðDÞwm þ ðaD þ oðDÞÞwm a  1 ab2 6 ðaD þ oðDÞÞwm

jO1 j þ    þ jOm j <

whereas the net gain by WAL is

 a  jrj P wm  q wm3 þ wm2 þ wm1 a1

a 1 1 1 w P ð1  oð1ÞÞwm : þ P wm  q þ a  1 ab2 ab b m Hence the competitive ratio is at most aD. Setting a = q + 1, the competitive ratio is at most aD + o(D) in both cases. Now, consider the case when m 6 3. When m = 1, Lemma 2.2 directly gives the bound aD. When m = 2 or 3, the bounds obtained above for the two cases still hold. This completes the proof of the theorem. h 2.2. The case with partial knowledge of D In this section, we consider the case when the online algorithm has only partial knowledge of D. Specifically, it knows of a lower e , on D, i.e., D P D e. bound, D Recall that the minimum processing time is 1. Thus, the maximum job length ratio D is numerically equal to the maximum e and the maxjob length. We define Dt as the maximum between D imum job length of any job that has arrived by time t. We now present our Dynamic-Preemption-Condition (DPC) algorithm. The DPC Algorithm. The algorithm is triggered either when a job is completed or when a new job arrives. In the former case, DPC will start a job with the largest profit among those that have arrived but are not yet satisfied. When a new job R arrives at time t, DPC will first update the current Dt if necessary. Then if another job J is being served, DPC will abort J to start R if and only if either conditions below is satisfied: C1: w(R) P btw(J) pffiffiffiffiffi C2: aw(J) 6 w(R) < btw(J) and pðRÞ < pðJÞ= Dt and J did not preempt its predecessor by condition C2 where a = q + 1 as in previous section and bt ¼ D1=3 t . (Again, we c could have chosen b ¼ Dt for any positive c < 1/2). Consider an arbitrary preempting chain r = (J1, . . . , Jm). The symbols ai, wi, and pi denote respectively the arrival time, weight and processing time of job Ji as usual. Furthermore, we let Di and bi be respectively the value of Dt and bt when t = ai. Lemma 2.3. Consider an arbitrary preempting chain r = (J1, . . . , Jm) produced byffi DPC. If Ji+1 preempts Ji by condition C2, then pffiffiffiffiffiffiffiffiffi piþ1 < Diþ1 < pi . pffiffiffiffiffiffiffiffiffi Proof. By condition C2, piþ1 < pi = Diþ1 . Because pi 6 Di < Di+1, we pffiffiffiffiffiffiffiffiffi pffiffiffiffiffiffiffiffiffi have piþ1 < Diþ1 . Because pi+1 P 1, we have pi > Diþ1 . h Lemma 2.4. Consider an arbitrary preempting chain r = (J1, . . . , Jm) produced by DPC.

(b) If pm 6

pffiffiffiffiffiffiffi Dm , then

jOm j < bmþ1 and if pm >

pffiffiffiffiffiffiffi  Dm þ 1 wm

pffiffiffiffiffiffiffi Dm , then

jOm j < ðaDm þ oðDÞÞwm where bm+1 = D1/3. Proof. The proof is similar to that of Lemma 2.2, except that D and b are replaced by the appropriate Dj’s and bj’s. For the first part of (a) and (b), note that OPT can start at most pffiffiffiffiffi pi þ 1 6 Di þ 1 unit-length jobs, each of weight less than bi+1wi (where 1 6 i 6 m). For the second part of (a), with similar analysis to the proof for the second part of (a) in Lemma 2.2, we conclude that OPT completes the last job in Oi on or before time ai+1 + 1. We then pffiffiffiffiffiffiffiffiffiffi assume that OPT starts x jobs of length at least pi = Diþ1 and pffiffiffiffiffiffiffiffiffiffi weight less than bi+1wi and at most dpi  xpi = Diþ1 e unit-length pffiffiffiffiffiffiffiffiffiffi Diþ1 , we jobs with weight less than awi. Together with 0 6 x 6 pffiffiffiffiffiffiffiffiffiffi have jOi j < maxfadpi e; biþ1 Diþ1 gwi 6 max {adDie, o(Di+1)wi 6 (aDi + o(Di+1))wi with similar analysis as in the proof of Lemma 2.2. The proof for the second part of (b) is similar to that of Lemma 2.2. Suppose OPT starts x long jobs so that condition pffiffiffiffi C2 will not hold. Then each of these jobs has length at least pm = D and weight wffi m. OPT can also start and finish at most bpm  ðx  1Þ 0), and it is known that   e ¼ k3 ðq þ 1Þ3 for some k > 1. Then DPC is kðqþ1Þ D þ oðDÞ D>D k1

competitive for large enough D. Proof. The proof idea is the same as that in Theorem 2.1. By the construction of DPC, no two consecutive abortions are caused by condition C2 in an arbitrary preempting chain r = (J1, . . . , Jm). Consider the jobs Ji (1 6 i 6 m  3). We have that a w w1 þ    þ wm3 6 a1 m3 . By Lemma 2.4(a), jO1 j þ    þ jOm3 j < a2 Dm3 þaoðDm2 Þ w . m3 a1 We now bound the ratio jr⁄j/jrj by a case analysis. pffiffiffiffiffiffiffi Case 1: Jm preempts Jm1 by condition C2. Then pm < Dm by Lemma 2.3. Also, by the construction of DPC, wm1 6 wm/a. Because no two consecutive abortions are due to condition C2, Jm1 must abort Jm2 due to condition C1. Hence wm2 6 wm/(abm1) and wm3 6 wm/(a2bm1). pffiffiffiffiffiffiffi  Using Lemma 2.4, jOm j < Dm þ 1 bmþ1 wm = o(D) wm and jOm1j < (aDm1 + o(Dm))wm1 6 (D + o(Dm))wm. Regarding jOm2j, if Jm2 preempts Jm3 by condition C2, then pffiffiffiffiffiffiffiffiffiffiffiffi  pffiffiffiffiffiffiffiffiffiffiffiffi pm2 6 Dm2 and jOm2 j < bm1 Dm2 þ 1 wm2 6 o(D)wm. If Jm2 preempts Jm3 by condition C1, then jOm2j < (aDm2 + o

546

F. Zheng et al. / Computers & Industrial Engineering 60 (2011) 542–549

(Dm1))wm2 6



Dm2 bm1

 þ oðaDbm1 Þ wm ¼ oðDÞwm . Thus, jOm2j < o(D)wm m1

in both cases. By a similar argument, jO1j +  + jOm3j < o(D)wm.

we

can

show

that

Combining all the parts, we have

jO1 j þ    þ jOm j < ðD þ oðDÞÞwm : On the other hand, the net profit gained by DPC is at least

 a  wm  q wm3 þ wm2 þ wm1 a  1

a 1 1 1 w þ þ P wm  q a  1 a2 bm1 abm1 a m

q 1 1 k1 P 1 þ þ 1 wm ¼ wm a qka ka ka where the last equality uses the fact that a = q + 1. Hence the comqÞD petitive ratio is at most kð1þ þ oðDÞ. k1 Case 2: Jm preempts Jm1 by condition C1. Then pm 6 D and wm1 6 wm/bm. Because at least one of Jm3 and Jm2 is aborted by condition C1, wm2 6 wm/(abm) and wm3 6 wm/(a bmbm2). Similar to case 1, we have jOmj < (aD + o(D))wm and jOm1j < (aDm1 + o(Dm))wm/bm = o(D)wm. pffiffiffiffiffiffiffiffiffiffiffi If Jm2 preempts Jm3 by condition C2, then pm2 6 Dm2 and jOm2j < o(D)wm. If Jm2 preempts Jm3 by condition C1, then jOm2j < (aDm2 + o(Dm1))wm/(abm) = o(D)wm. Combining all the parts, we have

a2 Dm3 þ aoðDm2 Þ wm þ oðDÞwm a1 abm bm2 þ oðDÞwm þ ðaD þ oðDÞÞwm 6 ðaD þ oðDÞÞwm

jO1 j þ    þ jOm j <

whereas the net gain by DPC is

completion time. Before describing the DPC1 algorithm, we give some preliminary definitions. Given an arbitrary input job list C, let r = (J0, . . . , Jm) be a preempting chain produced by DPC1 such that Ji is preempted by Ji+1 for 0 6 i < m and Jm is completed by DPC1. J0 preempts no other job, that is, r cannot be backward-extended. If m = 0, then r consists of a single job completed by DPC1. If Ji preempts Ji1 by good-profit preemption, Ji is called a gp job. Otherwise, if Ji preempts Ji1 by short-length preemption, it is an sp job. J0 preempts none and we treat it as a gp job. Suppose that Ji is a gp job, and Jj is an sp job for j = i + 1, . . . , k, then we call Ji the nearest preceding gp job of Jj for j = i, . . . , k. Note that Ji itself is the nearest preceding gp job of Ji. Let dt be the maximum length of jobs that have arrived by time t, at which DPC1 gets to know dt. Let kt = 3dt/log dt. Denote by s(Ji) the time at which DPC1 starts Ji. DPC1 is formally described as follows. The DPC1 Algorithm. The algorithm is triggered either when a job is completed or when a new job arrives. After completing a job, DPC1 will start the job with the largest profit among those that have arrived but have not been satisfied yet. Otherwise, it remains idle if there is no such job. Suppose that while DPC1 is processing 0 job J, whose nearest preceding gp job is J , a new job R arrives at time t 2 (s(J), s(J) + p(J)). DPC1 will abort J to start R immediately if either of the two conditions below is satisfied: C1: wðRÞ P

qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi maxf21; dsðJ0 Þ gwðJ 0 Þ

C2: The anticipated completion time of R, tc = a(R) + p(R), is strictly earlier than s(J) + p(J) and furthermore, qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi wðRÞ < maxf21; dsðJ0 Þ gwðJ 0 Þ and

8 0  < 2dðsðJ Þ;tc Þ wðJ 0 Þ if d 0 > 21 sðJ Þ ðdt Þ1=3 wðRÞ P : wðJ 0 Þ otherwise where dðsðJ 0 Þ; t c Þ ¼

j

dðsðJ 0 Þ;t c Þ

k .

tc sðJ 0 Þ ksðJ0 Þ

 a  jrj P wm  q wm3 þ wm2 þ wm1 a1

a 1 1 1 P wm  q w þ þ a  1 abm bm2 abm bm m

a q q ðk  1Þðka2 þ 1Þ wm P P 1  2  wm 2 2 3 k a2 a k a k ka k1 wm : P k

Note that 2ðd Þ1=3 6 1. Moreover, w(R) is compared with w(J ) but t not w(J), in both conditions C1 and C2. If R preempts J by condition C1, then R is a gp job. Otherwise if R preempts J by condition C2, 0 0 then R is an sp job and a(R) + p(R) < s(J) + p(J) 6 s(J ) + p(J ), where 0 the second inequality is tight when J = J .

qÞ Hence the competitive ratio is at most kð1þ D þ oðDÞ. h k1 By Theorem 2.2, as k increases, the competitive ratio of DPC approaches ((1 + q)D + o(D)), which is the competitive ratio of WAL in the case with the knowledge of D.

By the construction of DPC1, all the jobs in r = (J0, . . . , Jm) except J0 are started by DPC1 on their arrivals. So, s(Ji) = a(Ji) holds for 0 < i 6 m. Job J0 may or may not be started by DPC1 on its arrival.

3. Scheduling without preemption penalties In this section we will discuss the case when q = 0, i.e., there are no preemption penalties. For the case, where the online algorithm knows D beforehand, Ting (2008) proposed the BALANCE algo  5=6 6D rithm, which is log þ Oð D Þ -competitive and matches the lowD er bound by Zheng et al. (2006). (Note: All logarithms in this section are of base 2.) In this section, we will investigate the case, where the online algorithm does not have knowledge of D at the beginning. We will present the Dynamic-Preemption-Condition-1 (abbr. DPC1) algorithm and prove its optimal competitiveness. Similar to BALANCE, DPC1 makes two kinds of preemptions: the good-profit preemption that would increase the anticipated profit of processing, and the short-length preemption that would not increase the anticipated profit of processing but would reduce the

0

3.1. Basic properties

Property 1. In an arbitrary preempting chain r = (J0, . . . , Jm) produced by DPC1, pðJ i Þ 6 dsðJi Þ 6 dsðJiþ1 Þ for 0 6 i 6 m  1. Proof. By the definition of dt, it is a non-decreasing function in time t. First, dsðJi Þ 6 dsðJiþ1 Þ due to s(Ji) < s(Ji+1). Because Ji shall arrive on or before s(Ji), p(Ji) is a candidate for dsðJi Þ , implying that pðJ i Þ 6 dsðJi Þ . h Assume that there are n + 1 (n P 0) gp jobs in r = (J0, . . . , Jm). We will divide r into n + 1 segments r = (s0, . . . , sn) such that in each segment si ¼ ðRi;0 ; Ri;1 ; . . . ; Ri;ki Þ ð0 6 i 6 nÞ, the first job Ri,0 is a gp job and the other ki jobs are sp jobs. If ki = 0, this means that there are no sp jobs in si. For 0 6 i < n, the last job in si will be preempted by Ri+1,0 by condition C1. For sn, Rn;kn ¼ J m . Property 2. In an arbitrary preempting chain r = (s0, . . . , sn) produced by DPC1, we have that s(Ri+1,0)  s(Ri,0) < p(Ri,0) for 0 6 i < n.

547

F. Zheng et al. / Computers & Industrial Engineering 60 (2011) 542–549

Proof. By the definition of segment si, Ri,j(1 6 j 6 ki) is a sp job. So, sðRi;ki Þ þ pðRi;ki Þ < sðRi;0 Þ þ pðRi;0 Þ. Furthermore, sðRiþ1;0 Þ < sðRi;ki Þþ pðRi;ki Þ because Ri;ki is preempted by Ri+1,0 at time s(Ri+1,0). So, s(Ri+1,0)  s(Ri,0) < p(Ri,0). h

Let jrj be the total profit obtained by DPC1 in r. Let jr⁄j and si be the total profit of jobs that are started by OPT while DPC1 is P serving r and si respectively. Then, jr j ¼ ni¼0 si . We will first bound si with respect to w(Ri,0). For notational convenience, denote by ai, wi and pi the arrival time, weight and processing length of job Ri,0, respectively, and by si the time DPC1 starts Ri,0. For 1 6 j 6 ki, denote by ai,j, wi,j, pi,j, and si,j those parameters of Ri,j respectively in the rest of this section. Lemma 3.1. For 0 6 i < n, if dsi 6 21, then

 pffiffiffiffiffiffi jsi j < dsi þ 21 wi ;

i

We will also need the following technical lemma in the competitive analysis to follow.  pffiffi  6 x Lemma 3.2. Given an arbitrary i P 0; f ðx; iÞ ¼ 1 þ log x

  iþ1 pffiffi  pffiffi 6 x pffiffi x p1ffiffi 1 þ p1ffiffix þ p1ffiffi 2 þ    þ p1ffiffi i Þ ¼ 1 þ log 1  is an x x1 x ð xÞ ð xÞ increasing function of x when x > 21.  pffiffi  pffiffi 6 x pffiffi x increases in x because its Proof. First, f ðx; þ1Þ ¼ 1 þ log x x1 first order derivative with respect to x is positive when x > 21.  iþ1 Moreover, 1  p1ffiffix increases in x for i P 0. Hence, f(x,i) increases

otherwise if dsi > 21, then



s <

For the segment sn, the last job is Rn;kn ¼ J m completed by DPC1. OPT will start its last job in sn strictly earlier than sðJ m Þ þ pðJ m Þ ¼ sn;k

n þ pn;kn . Using similar argument as in cases 1 and 2 above, sn can be upper bounded as stated in the lemma. This completes the proof of the whole lemma. h



qffiffiffiffiffi

6dsi þ dsi wi : log dsi

in x. The lemma follows. h

Furthermore, if dsn 6 21,

pffiffiffiffiffiffi

 

s < ds þ 21 wn ; n n

3.2. Competitive analysis

otherwise if dsn > 21, then

! pffiffiffiffiffiffi þ dsn wn :

ksn  2dðsn ;sn;kn þpn;kn Þþ1



s < n

  5=6 6D Þ -competitive when 21 < D Theorem 3.1. DPC1 is log D þ OðD  pffiffiffiffi  21 and pffiffiffiffi D þ 6:9 -competitive when 1 < D 6 21, respectively. 211

ðdsn Þ1=3

Proof. We first consider si for 0 6 i < n. Case 1: dsi 6 21. First, si starts and ends at time si and si+1 respectively, and si+1  si < pi by Property 2. Moreover, pi 6 dsi by Property 1. OPT starts at most bsiþ1  si c 6 bpi c 6 dsi unit-length jobs with weight less than wi followed by pffiffiffiffiffiffi one job with weight less than 21wi . So, jsi j <   pffiffiffiffiffiffi dsi þ 21 wi in this case. Case 2: dsi > 21. This is proved by similar reasoning as in Lemma 3 of Ting (2008). More precisely, let Q1, Q2, . . ., Qh be the sequence of jobs started by OPT within the time interval [si, si+1). For all 1 6 j 6 h  1, Qj completes before si+1, that is, a(Qj) + p(Qj) < si+1. On the other hand, 0 siþ1 < ai;j0 þ pi;j0 for all 1 6 j 6 ki as the Ri;j0 ’s are all sp jobs. By construction of DPC1, we have that wðQ j Þ <

dðs ;aðQ j ÞþpðQ j ÞÞ 2 i wi as none of the Qj’s preempts any Ri;j0 . 1=3 ds

i

Now, observe that for each integer k 2 [0, d(si, si+1)], at most ksi of the Qj’s has d(si, a(Qj) + p(Qj)) = k because each Qj has length at least 1. It follows that wðQ 1 Þ þ    þ dðs ;s Þþ1

pffiffiffiffiffi ksi 2 i iþ1 Finally, wðQ h Þ < dsi wi ; wðQ j1 Þ < wi . 1=3 ds

i

otherwise, Qh would have preempted Ri,0 by condition C1. It follows that

ksi  2dðsi ;siþ1 Þþ1



s < i

ðdsi Þ1=3

þ

! qffiffiffiffiffi dsi wi : b

2

6 ðdsi Þ1=3 for 0 6 i < n. Thus,



s < i



qffiffiffiffiffi

6dsi þ dsi wi : log dsi

pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi Case 1: 0 6 k 6 n  1 Let ri ¼ maxf21; dsi g. Because Ri,0 preempts Ri1;ki1 by condition C1, Q wi 6 wiþ1 =ri 6 . . . 6 wn = n1 j¼i r j . n1

X

s jr j  sn ¼ i i¼0

k  n1 qffiffiffiffiffi

X X pffiffiffiffiffiffi 6dsi < dsk þ 21 wi þ þ dsi wi log dsi i¼0 i¼kþ1  pffiffiffiffiffiffi k n1 qffiffiffiffiffi w dsk þ 21 wn X X 6dsi n 6 þ þ dsi Qn1 pffiffiffiffiffiffini log d s i i¼0 i¼kþ1 j¼i r j 21   pffiffiffiffiffiffi n1 qffiffiffiffiffi w dsk þ 21 wn X 6dsi n < pffiffiffiffiffiffi þ dsi n1 pffiffiffiffiffiffink1 þ Q log dsi i¼kþ1 21 21  1 rj j¼i

pi

c

Together with Properties 1 and 2, we have 2dðsi ;siþ1 Þ 6 2 ksi 6 ds bk i c si

Proof. Let C be the schedule produced by DPC1 for a given job input list. Assume, without loss of generality, that DPC1 completes g(P1) jobs in C. We can divide C into g preempting chains so that in each preempting chain, only the last job is completed by DPC1. Because the total profit of both OPT and DPC1 in C is the simple summation of their respective total profits in each preempting chain, to upper bound the ratio between the profit of OPT and that of DPC1 in C, it suffices to bound the ratio in an arbitrary preempting chain r = (s0, . . . , sn), where si (0 6 i 6 n) are segments defined before. For DPC1, jrj = wm by the definition of r. Assume that dsk 6 21 and dt > 21 for some t 2 (sk, sk+1], where 0 6 k < n. If dsn 6 21, we set k = n. We will discuss two cases, where 0 6 k 6 n  1 and, where k = n.

where the first inequality follows from Lemma 3.1, and the second pffiffiffiffiffiffini pffiffiffiffiffiffi for inequality holds because 21 6 ri and hence wi 6 wn = 21 0 6 i 6 k. For the third inequality, the first term on the right hand pffiffiffiffi pffiffiffiffi ðds þ 21Þwn ð21þ 21Þwn side is pffiffiffiffi k pffiffiffiffi nk1 6 pffiffiffiffi pffiffiffiffi nk1 ¼ Oð1Þwn for 0 6 k 6 n  1. ð 211Þð 21Þ ð 211Þð 21Þ pffiffiffiffiffi Below we will bound the second term. Note that r i ¼ dsi for k + 1 6 i < n. Combining dsi 6 dsiþ1 with Lemma 3.2, we have that

548

F. Zheng et al. / Computers & Industrial Engineering 60 (2011) 542–549

n1 qffiffiffiffiffi w X 6dsi n þ dsi Qn1 log d s i i¼kþ1 j¼i r j ! pffiffiffiffiffiffiffiffiffi n1 qffiffiffiffiffi w X 6 dskþ1 6dsi wn n 6 þ 1 Qn1 þ þ dsi Qn1 log dskþ1 log d s r i j i¼kþ2 j¼kþ2 j¼i r j ! ! pffiffiffiffiffiffiffiffiffi n1 qffiffiffiffiffi w X 6 dskþ2 6dsi 1 wn n 6 þ1 1 þ pffiffiffiffiffiffiffiffiffi Qn1 þ þ dsi Qn1 log dskþ2 log dsi dskþ2 i¼kþ3 j¼kþ3 r j j¼i r j

6 ... 6

6

1 !0 pffiffiffiffiffiffiffiffiffi 6 dsn1 1 1 @ ffiffiffiffiffiffiffiffiffi p þ . . . þ pffiffiffiffiffiffiffiffiffink2 Awn þ1 1þ log dsn1 dsn1 dsn1 1 ! pffiffiffiffi 0 pffiffiffiffi 6 D D @ 1 1  pffiffiffiffink1 Awn þ 1 pffiffiffiffi log D D1 D

D1



dðsn ;sn;k þpn;k Þþ1 n n

ksn 2

ðdsn Þ1=3

þ

pffiffiffiffiffiffi dsn wn .

Thus, the ratio between what OPT and DPC1 gain in r can be bounded in two subcases according to whether sn consists of a single job, i.e., kn = 0. Case 1.1. kn = 0 and then DPC1 completes Rn,0, implying that jrj = wn.

!

dðsn ;sn þpn Þþ1 pffiffiffiffiffiffi pffiffiffiffiffiffi

 k  2 6dsn s n

s < w wn þ d 6 þ d s n s n n n log dsn ðdsn Þ1=3

pffiffiffiffi 6D 6 þ D wn : log D

OPT may still satisfy Rn,0 after DPC1 if the job has a sufficiently large deadline, and thus OPT gains at most jr⁄j + wn in r. Hence,  pffiffiffi 

   pffiffiffiffi jr j  s =jrj ¼ O D , and then ðjr j þ wn Þ=jrj < 6D þ O D n

log D

log D

in this case. dðsn ;sn;k þpn;k Þ Case 1.2. kn > 0. In this case, jrj ¼ wn;kn P 2 ðd nÞ1=3 n wn , which is sn n because dðsn ; sn;kn þ pn;kn Þ > 0. larger than ðd wÞn1=3 > Dw1=3 sn  5=6 

  D and So, jr j  sn =jrj ¼ O log D



s <

ksn  2dðsn ;sn;kn þpn;kn Þþ1

n

ðdsn Þ1=3

If 21 < D, ðjr j þ wn;kn Þ=jrj <

pffiffiffiffi 21ffiffiffiffi 21 p 211Þ

þ 6:9 ¼ oðDÞ by dsk 6 21, otherpffiffiffiffi 21 D þ 6:9 because wise if D 6 21, then ðjr j þ wn;kn Þ=jrj < pffiffiffiffi ð 211Þ dsk 6 D. The theorem follows. h ð

4. Conclusion

wise, if k = n p1,ffiffiffiffiit is equal to 0. Thus

We already bound sn from above by

pffiffiffiffiffiffi pffiffiffiffiffiffi pffiffiffiffiffiffi 21 dsk þ 21 21      dsk þ 6:9: þ 1 < pffiffiffiffiffiffi ðjr j þ wn;kn Þ=jrj < pffiffiffiffiffiffi 21  1 21  1

Because the lower bound in Zheng et al. (2006) applies to this problem, DPC1 is an optimal scheduler.

where the last inequality holds due to dsn1 6 dsn 6 D and Lemma 3.2. Consider the right hand side of the last inequality above. If  pffiffiffi  pffiffiffi pffiffiffi 6 D 6 D k < n  1, it is less than log þ 1 pffiffiffiD wn ¼ log w þ Oð1Þwn . OtherD D n

6 D jr j  sn < wn þ Oð1Þwn : log D

OPT may satisfy Rn;kn after DPC1 does and thus

! pffiffiffiffiffiffi þ dsn wn :

Similar to Case 1.1, OPT may satisfy Rn;kn with profit wn;kn after

DPC1 does. With dsn 6 D, we have that sn =jrj < 2ksn þ pffiffiffiffiffiffi 1=3 5=6 6D 6D 6 log Þ and then ðjr j þ wn;kn Þ=jrj < log dsn D D þ OðD Dþ OðD5=6 Þ in this case. pffiffiffiffiffiffini Case 2: k = n and then dsn 6 21. In this case, wi 6 wn = 21 for 0 6 i 6 n. DPC1 will complete Rn;kn with weight wn;kn , which is at least wn, by the construction of DPC1. That is, jrj P wn. For OPT, jr⁄j can be bounded using Lemma 3.1:

 pffiffiffiffiffiffi n n  n dsk þ 21 X X X pffiffiffiffiffiffi

s < jr j ¼ dsk þ 21 wi 6 pffiffiffiffiffiffini wn i i¼0 i¼0 i¼0 21 pffiffiffiffiffiffi pffiffiffiffiffiffi 21 dsk þ 21 pffiffiffiffiffiffi  wn : < 21  1

In this paper, we discussed online deadline scheduling under the preemption penalty model introduced by Zheng et al. (2007). We gave a tighter analysis of their WAL algorithm and showed that it is ((1 + q)D + o(D))-competitive for large enough D, where q P 0 is the preemption penalty parameter of the model. The WAL algorithm requires knowledge of the exact value of D. When we only know that D P k3(q + 1)3 for some k > 1, we presented an algo  qþ1Þ rithm which is kðk1 D þ oðDÞ -competitive for large enough D. The ratio approaches (1 + q)D + o(D) as k increases. For the special case, where q = 0 (i.e., there is no preemption   5=6 6D Þ -competitive optimal penalties), we presented a log D þ OðD algorithm, which does not require the knowledge of D a priori. Note that the algorithm is assumed to know the minimum job weight. Designing an algorithm that does not need such knowledge is still an open problem. For the first problem with the knowledge of D, there is still a gap of approximately 0.557D between upper and lower bounds for the special case, where q = 1. An obvious open question is to pinpoint the true competitive ratio. It is also interesting to find out whether randomisation helps to break the lower bound of 1.443D for q = 1. Acknowledgement The authors thank the anonymous referees for their helpful suggestions. The work described in this paper was fully supported by a grant from the Research Grants Council of the Hong Kong SAR, China [CityU 119307], and the NSFC Grants, 71071123 and 60736027. References Baruah, S., Koren, G., Mao, D., Mishra, B., Raghunathan, A., Rosier, L., et al. (1992). On the competitiveness of on-line real-time task scheduling. Real-Time Systems, 4(2), 125–144. Baruah, S., Koren, G., Mishra, B., Raghunathan, A., Rosier, L., & Shasha, D. (1991). Online scheduling in the presence of overload. In 32nd Annual symposium on foundations of computer science (pp. 100–110). Borodin, A., & El-yaniv, R. (1998). Online computation and competitive analysis. Cambridge University Press. Fung, S. (2008). Lower bounds on online deadline scheduling with preemption penalties. Information Processing Letters, 108(4), 214–218. Fung, S., Chin, F., & Poon, C. (2005). Laxity helps in broadcast scheduling. In Proceedings of 9th Italian conference on theoretical computer science, Lecture notes in computer science (Vol. 3701, pp. 251–264). Springer. Goldman, S., Parwatikar, J., & Suri, S. (2000). Online scheduling with hard deadlines. Journal of Algorithms, 34, 370–389. Goldwasser, M. (2003). Patience is a virtue: The effect of slack on competitiveness for admission control. Journal of Scheduling, 6(2), 183–211. Hoogeveen, H., Potts, C. N., & Woeginger, G. J. (2000). On-line scheduling on a single machine: Maximizing the number of early jobs. Operations Research Letters, 27, 193–197. Julian, F., Magazine, M., & Hall, N. (1997). Generalized preemption models for single-machine dynamic scheduling problems. IIE Transactions, 29, 359–372.

F. Zheng et al. / Computers & Industrial Engineering 60 (2011) 542–549 Kim, J.-H., & Chwa, K.-Y. (2003). Scheduling broadcasts with deadlines. In 10th International computing and combinatorics conference (pp. 415–424). LNCS 2697. Lee, J.-H., 2003. Online deadline scheduling: multiple machines and randomization. In 15th Annual ACM symposium on parallel algorithms and algorithms (pp. 19–23). Lipton, R., & Tomkins, A. (1994). Online interval scheduling. In Proceedings of 5th ACM–SIAM symposium on discrete algorithms (pp. 302–311). Liu, Z., & Cheng, T. E. (2002). Scheduling with job release dates, delivery times and preemption penalties. Information Processing Letters, 82(2), 107–111. Liu, Z., & Cheng, T. E. (2004). Minimizing total completion time subject to job release dates and preemption penalties. Journal of Scheduling, 7(4), 313–327. Pruhs, K., Torng, E., & Sgall, J. (2004). Online scheduling. In J. Y. Leung (Ed.), Handbook of scheduling: Algorithms, models and performance analysis (pp. 151–15-41). CRC Press.

549

Shmoys, D., Wein, J., & Williamson, D. (1995). Scheduling parallel machines on-line. SIAM Journal on Computing, 24, 1313–1331. Ting, H. (2008). A near optimal scheduler for on-demand data broadcasts. Theoretical Computer Science, 410(1–3), 77–84. Zheng, F., Fung, S., Chan, W., Chin, F., Poon, C., & Wong, P. (2006). Improved on-line broadcast scheduling with deadlines. In The 12th annual international computing and combinatorics conference, Lecture notes in computer science (Vol. 4112, pp. 320–329). Springer. Zheng, F., Xu, Y., & Zhang, E. (2007). On-line production order scheduling with preemption penalties. Journal of Combinatorial Optimization, 2(13), 189–204.