Optim Lett DOI 10.1007/s11590-009-0163-4 ORIGINAL PAPER
An optimal online algorithm for two-machine open shop preemptive scheduling with bounded processing times Ming Liu · Chengbin Chu · Yinfeng Xu · Feifeng Zheng
Received: 7 May 2009 / Accepted: 10 November 2009 © Springer-Verlag 2009
Abstract This paper deals with a two-machine open shop scheduling problem. The objective is to minimize the makespan. Jobs arrive over time. We study preemptionresume model, i.e., the currently processed job may be preempted at any moment in necessary and be resumed some time later. Let p1, j and p2, j denote the processing time of a job J j on the two machines M1 and M2 , respectively. Bounded processing times mean that 1 ≤ pi, j ≤ α (i = 1, 2) for each job J j , where α ≥ 1 is a constant number. We propose an optimal online algorithm with a competitive ratio 5α−1 4α . Keywords Open shop scheduling · Bounded processing times · Competitive analysis · Online algorithm
M. Liu · C. Chu · Y. Xu · F. Zheng School of Management, Xi’an Jiaotong University, 710049 Xi’an, Shaanxi, People’s Republic of China M. Liu (B) · C. Chu Laboratoire Génie Industriel, Ecole Centrale Paris, Grande Voie des Vignes, 92295 Châtenay-Malabry Cedex, France e-mail:
[email protected] C. Chu e-mail:
[email protected] Y. Xu · F. Zheng State Key Laboratory for Manufacturing Systems Engineering, 710049 Xi’an, Shaanxi, People’s Republic of China e-mail:
[email protected] F. Zheng e-mail:
[email protected]
123
M. Liu et al.
1 Introduction In recent years, one of the basic assumptions made in deterministic scheduling was that all the useful information of the problem instance was known in advance. However, this assumption is usually not realistic. This reason promotes the emergence of online scheduling. Three online models are commonly considered in [2]. The first one assumes that all jobs are available at time 0 but presented to online algorithms in a list, i.e., one by one. An online algorithm has to schedule each job before seeing the next one in the list. The second model assumes that the running time of each job is unknown to an online algorithm until the job is finished. The online algorithm only knows whether an uncompleted job is still running or not. In the third model, it is assumed that jobs arrive over time. The online algorithm may decide which available job to schedule not only when a machine is idle but also when it is busy by preempting a job in necessary. When all information is available at the beginning (before scheduling), the problem is called offline. In this work, we will study the third model with bounded processing time of a job. Note that the knowledge of bounded time of a job is not needed in the first model where all jobs are scheduled before their processing, i.e., at time 0, and such knowledge is impossible in the second model. We use the competitive analysis [1] to measure the performance of an online algorithm for one problem. For any input job sequence I , let C O N (I ) denote the objective (function) value of the schedule produced by the online algorithm A O N and C O P T (I ) denote the objective value of an optimal schedule. We say that A O N is ρ-competitive if ρ = sup I
C O N (I ) . C O P T (I )
We also say that ρ is the competitive ratio of A O N . Let ON be the set of all online algorithms for the problem. The lower bound of competitive ratio is defined as follows. C O N (I ) = inf sup C O P T (I ) O N ∈ON I Thus an online algorithm is optimal if its competitive ratio matches the lower bound. There are a lot of literature on (offline) shop scheduling [5,6], while we only concern about online open shop scheduling on two machines with objective to minimize the makespan. Chen et al. [4] investigated the first online model where jobs are presented in a list, and considered non-preemptive case. They proposed a 1.848-competitive algorithm and showed a lower bound of 1.754. Vestjens [3] addressed the third model where jobs arrive over time, and proposed an optimal algorithm with a competitive ratio of 3/2 for non-preemptive case and an optimal 5/4-competitive algorithm for preemptive-resume case. In the above studies, the processing time of a job can be arbitrarily large or small. In reality, it is unreasonable for a job with processing time enormously large, thus we will focus on two-machine open shop scheduling in the scenery with bounded processing time of a job. To the best of our knowledge, He and Zhang [7] are the first
123
An optimal online algorithm for two-machine open shop preemptive scheduling
who study this scenery. They investigated the first online model without preemption and studied two cases where jobs have processing times within [ p, r p] ( p > 0, r ≥ 1) and where the largest processing time is known in advance. The best competitive ratio of 4/3 is obtained for the former case and L S (List Scheduling) algorithm is proved optimal for the latter one. Angelelli et al. [8] followed the model in He and Zhang [7] and considered a different case that the sum of all jobs’ lengths is known beforehand and also the length of each job does not exceed a fixed upper bound γ . A lower bound is given and they also proposed an online algorithm which is optimal for some values of γ . Angelelli et al. [9] made a further discussion on different values of γ and gave an optimal algorithm. He and Dosa [10] also studied the case with bounded processing time on three identical machines. They present algorithms with either optimal or nearly optimal competitive ratios. We are not aware of any work on the third online model in the considered scenery. In this work, we will study the third online model with bounded processing time of a job, and we normalize the bounds [ p, r p] in He and Zhang [7] to [1, α] where α ≥ 1. Moreover, with various release times of jobs, we consider preemptive-resume model. The rest of the paper is organized as follows. Section 2 contains the problem definition, some notations and preliminaries. In Sect. 3, we show a lower bound of competitive ratio 5α−1 4α . In Sect. 4, we propose an algorithm SLICE-α and show that it is optimal with the matching competitive ratio of 5α−1 4α . 2 Problem definition and offline analysis 2.1 Online problem definition We are given two machines, denoted by M1 and M2 , and a job instance I = {J1 , ..., Jn } where the number n is not known to online algorithms in advance. The online paradigm is that jobs arrive over time, i.e., each job’s character, such as processing time, becomes known at its arrival. Each job J j is associated with a release time r j . We denote each job J j by an ordered pair ( p1, j , p2, j ), where p1, j and p2, j are the processing times of a job J j on machines M1 and M2 respectively. We study two-machine open shop problem, i.e., job J j may be processed first on M1 then on M2 or vice versa; the decision maker may determine the routes such that no job can be processed on both machines simultaneously at any time. We study the preemption-resume model, which means that the currently processed job may be preempted at any moment in time, and it may be resumed at any later moment in time. We assume that 1 ≤ p1, j , p2, j ≤ α, where α ≥ 1 is a constant number. Our objective is to minimize the makespan. Using three-field notation, the problem can be denoted by O2|online, r j , 1 ≤ p·, j ≤ α|Cmax . 2.2 Offline analysis In contrast to online scheduling, in an offline scheduling problem, the algorithms know all information of each job in advance. Let Cmax (σ ) denote the makespan of
123
M. Liu et al.
Fig. 1 An optimal solution to example 1
the by an algorithm. For a set of jobs, says S ⊂ I, let P1 (S) = schedule σ obtained p , P (S) = 1, j 2 J j ∈S J j ∈S p2, j and L(S) = max J j ∈S {r j + p1, j + p2, j }. Let r (S) = min J j ∈S r j . We define Z ∗ = max S⊆I {r (S) + P1 (S), r (S) + P2 (S), L(S)}. Clearly, the minimum makespan of an optimal preemptive schedule and an optimal non-preemptive schedule π satisfy Cmax (π ) ≥ Cmax ( ) ≥ Z ∗ . We introduce a lemma which states some structural information of an (offline) optimal schedule. We will use these structural information to design online algorithm SLICE-α and to prove the optimality of the algorithm. Lemma 1 [11] For any instance I of the two-machine open shop with all jobs being released at time 0, Cmax (π ) ≥ Cmax ( ) ≥ Z ∗ = max{P1 (I), P2 (I), L(I)}. Furthermore, the structure of any optimal schedule is as follows: (1) (2) (3)
If P1 (I) ≥ max{P2 (I), L(I)}, then M1 is busy all the time. If P2 (I) ≥ max{P1 (I), L(I)}, then M2 is busy all the time. If L(I) > max{P1 (I), P2 (I)}, then the job J j such that p1, j + p2, j = L(I) is processed all the time either on M1 or on M2 , and all the other jobs are processed in the remaining available machine time.
Given an job sequence I, according to this lemma, an offline optimal algorithm works as follows: Whenever one job’s one part, that is the processing time on one machine, is finished, the algorithm is triggered. Step 1: Renew the jobs’ processing times (left to process) in the sequence. Step 2: Process arbitrary two jobs from the sequence on each machine. Example 1 We are given a job sequence I = {J1 = (3, 5), J2 = (2, 4), J3 = (4, 2), J4 = (2, 2), J5 = (3, 3), J6 = (3, 2)}. Figure 1 illustrates the final schedule obtained by the optimal algorithm.
3 A lower bound In this section, we will deal with the lower bound of the competitive ratio for online algorithms. Let ξ = 5α−1 4α . Please note that α ≥ 1. Theorem 1 For O2|online, r j , 1 ≤ p·, j ≤ α|Cmax , there is no algorithm with a competitive ratio less than ξ .
123
An optimal online algorithm for two-machine open shop preemptive scheduling
Proof For any online algorithm A O N , we construct a special job instance I such that C O N /C O P T is at leat ξ . The first job J1 = (α, α) is released at time 0. Assume that A O N schedules the job at time T ≥ 0. The rest jobs will arrive depending on the value of T . Case 1 T ≥ α − 1. In this case, no more jobs will arrive. C O N ≥ T + 2α ≥ 3α − 1. In the optimal scheme, J1 will be scheduled at time 0 and C O P T = 2α. Therefore, CO N α−1 3α − 1 =1+ > ξ. ≥ CO PT 2α 2α Case 2 0 ≤ T < α − 1. l and pl the respective parts of J that have been processed by time Denote by p1,1 1 2,1 r and pr the respective parts processed after time α − 1. It follows α − 1, and by p1,1 2,1 l + pl that p1,1 2,1 ≤ α − 1 − T , implying that neither of the two machines completes processing J1 at time α − 1. By symmetry of the two machines, assume without loss α−1−T l l . Thus pl r ≥ p2,1 , and then p2,1 ≥ α+1+T due of generality that p1,1 2,1 ≤ 2 2 l r to p2,1 + p2,1 = α. The second job J2 = (1, α) is released at time α − 1. Since 5α−1 r r p2,1 ≥ α+1+T ≥ α+1 2 2 , we have C O N ≥ (α − 1) + α + p2,1 ≥ 2 . An optimal schedule consists of processing J1 and J2 on M2 from time 0, and processing J2 and J1 on M1 from time α − 1. Thus C O P T = 2α.
CO N 5α − 1 = ξ. ≥ CO PT 4α The theorem follows.
4 An optimal algorithm In this section, we will present an optimal online algorithm SLICE-α with competitive ratio matching the lower bound ξ . SLICE-α is based on SLICE Algorithm which is proposed and proved 5/4-competitive for the case without processing time bound in [3]. As ξ goes to infinity, the competitive ratio of SLICE-α approaches from below to 5/4. Before describing algorithm SLICE-α, we first recall some notations used in [3]. For a job instance, let σ denote the schedule produced by algorithm SLICE-α. For any time t, define the surviving job of a job J j to be the part of J j that still needs to be processed in σ after time t. Let p1, j (t) and p2, j (t) denote the (remaining) processing times of the surviving job J j on M1 and M2 respectively at time t. We denote by S(t) the set of surviving jobs at time t. Let P1 (t) be the total processing time of jobs in S(t) on M1 , i.e., P1 (t) = J j ∈S(t) p1, j (t), and P2 (t) be that on M2 or P2 (t) = J j ∈S(t) p2, j (t). Let Jk be the job with longest total processing time in S(t) and let L(t) = p1,k (t) + p2,k (t) = max J j ∈S(t) { p1, j (t) + p2, j (t)}. We also say that Jk determines L(t) and it is the largest job in S(t). According to Lemma 1, given
123
M. Liu et al.
S(t), if no more jobs are released after time t, then the optimal makespan is at least t + max{P1 (t), P2 (t), L(t)}. We are now ready to describe algorithm SLICE-α. Algorithm SLICE-α: Whenever a new job J j is released at time r j , the algorithm is triggered. Step 1: Compute P1 (r j ) , P2 (r j ) and L(r j ). Step 2: If L(r j ) ≤ max{P1 (r j ), P2 (r j )}, go to Step 3; otherwise go to the next step. Step 2.1: If J j determines L(r j ), go to the next step, otherwise go to Step 2.2. Step 2.1.1: Start to process J j on M1 at once until supposed time t = r j + min{ p1, j , (ξ − 1)( p1, j + p2, j )}. And process other jobs in S(r j ) − {J j } in arbitrary order on M2 from time r j . Step 2.1.2: If p2, j > t − r j , process J j on M2 until supposed time r j + p2, j , and process other jobs in S(t) − {J j } in arbitrary order on M1 from time t. Step 2.1.3: Process the remaining portion of J j on M1 and then that of J j on M2 . As M1 or M2 is processing J j , the other machine behaviors similarly as M1 does in Step 2.1.2 from a different supposed time t. Step 2.2: If another job Jl (other than J j ) determines L(r j ), then maintain the schedule for Jl determined at the previous release time. Step 3: Produce an optimal schedule S for the jobs in S(r j ). Process the jobs by S . Note that if J j is completed on both machines in Step 2.1.3 at some time t, then all other jobs arriving before time t are also completed according to the condition L(r j ) > max{P1 (r j ), P2 (r j )} by Step 2. The intuitive idea behind algorithm SLICE-α is similar to that of algorithm SLICE. On the arrival of each job J j , if the largest surviving job determines the makespan of the optimal schedule for jobs in S(r j ), the job will be processed on two machines in part and alternately, as shown from Step 2.1.1 to Step 2.1.3, because SLICE-α tries to remain the job largest until the arrival of the next job. Otherwise if the total processing time on either machine determines the makespan, the algorithm will keep both machines busy as long as possible from time r j . In order to prove that algorithm SLICE-α is ξ -competitive by contradiction, we assume that there exists a smallest counterexample, denoted by I, which consists of a minimum number of jobs. For this smallest counterexample I, the competitive ratio of algorithm SLICE-α is greater than ξ . The idea is used in [3] to prove that SLICE algorithm is 5/4-competitive. We first show several properties of this smallest counterexample. Then we will derive a contradiction to the existence of such a counterexample. We use σ and π to denote the schedule obtained by algorithm SLICE-α and an optimal schedule for this smallest counterexample I, respectively. Thus, Cmax (σ ) and Cmax (π ) denote the makespan obtained by SLICE-α and that of the optimal schedule for I, respectively. Lemma 2 In σ , there is no simultaneous idle time on both machines before time Cmax (σ ). Proof By contradiction. Suppose that there exists simultaneous idle time on both machines before Cmax (σ ). Deleting all jobs scheduled before this idle time neither
123
An optimal online algorithm for two-machine open shop preemptive scheduling
decreases Cmax (σ ) nor increases C O P T (π ). This contradicts the minimality of I. The lemma follows. We assume that the first job in I is released at time 0, since otherwise we can reduce the release times of all the jobs in I by some length, which can only make the ratio of Cmax (σ )/Cmax (π ) increase. Furthermore, we assume that M2 finishes last in σ by symmetry of the two machines. Lemma 3 There exists idle time on M2 in σ . Proof Suppose otherwise that there is no idle time on M2 . With the assumption that M2 finishes last in σ , we claim that σ is an optimal schedule. It is a contradiction to the construction of I. Let rk ≥ 0 be the last release time before the last idle time on M2 finishes. Then there exists idle time within [rk , Cmax (σ )]. Let Jk+1 be the next released job following Jk , implying rk+1 > rk . By the definition of rk , we have the following lemma. Lemma 4 In σ , there is idle time on M2 within [rk , rk+1 ] but not within [rk+1 , Cmax (σ )]. Lemma 5 Algorithm SLICE-α executes Step 2 but not Step 3 at release time rk . Proof By contradiction. Suppose that SLICE-α executes Step 3 (not Step 2) at time rk . Then the algorithm must create a schedule in which M2 is contiguously busy until all jobs in S(rk ) are finished on this machine. By Lemma 4, all jobs in S(rk ) must finish earlier than rk+1 on M2 . This implies that all jobs processed on M2 after (or at) time rk+1 are released at time rk+1 or later. By Lemma 4, we have that σ is an optimal schedule. There is a contradiction. The lemma holds. Let Jl be the largest job in S(rk ) and hence determine L(rk ). We can observe that Jl is the only job in S(rk ) that may still need processing on M2 after time rk . The following lemma indicates that the surviving job of Jl has been the largest job from its release time rl . Lemma 6 At any release time t such that rl ≤ t ≤ rk , SLICE-α executes Step 2 but not Step 3, and the surviving job of Jl always determines L(t). Proof By induction. By Lemma 5, we know that at time rk the algorithm executes Step 2. By the definition of Jl , we know that the surviving job of Jl determines L(rk ). Assume that at release time r j such that rl < r j ≤ rk , the algorithm executes Step 2 and the surviving job of Jl determines L(r j ). Therefore, at r j the algorithm must execute Step 2.2 since Jl is released before r j . The execution of Step 2.2 implies that at some previous release time r j−1 , Jl determines L(r j−1 ), i.e., L(r j−1 ) = p1,l (r j−1 ) + p2,l (r j−1 ). Therefore, we only need to show that at release time r j−1 , the algorithm also executes Step 2. By contradiction. Suppose that at time r j−1 , the algorithm executes Step 3 (not Step 2). By Lemma 1, all jobs in S(r j−1 ), including the surviving job of Jl at
123
M. Liu et al.
r j−1 must be scheduled in such a way that they are processed in a period of length max{P1 (r j−1 ), P2 (r j−1 )}. This implies that r j−1 + max{P1 (r j−1 ), P2 (r j−1 )} ≥ r j + p1,l (r j ) + p2,l (r j ).
(1)
Since at time r j , the algorithm executes Step 2 and the surviving job Jl = ( p1,l (r j ), p2,l (r j )) is the largest surviving job. Then we have p1,l (r j ) + p2,l (r j ) > max{P1 (r j ), P2 (r j )}. Together with inequality (1), max{P1 (r j−1 ), P2 (r j−1 )} − (r j − r j−1 ) > max{P1 (r j ), P2 (r j )}.
(2)
We discuss the above inequality in two cases. Case 1 P1 (r j−1 ) ≥ P2 (r j−1 ). By Lemma 1 and the fact that there is no idle time on M2 throughout [0, rk ], we know M1 is busy throughout [r j−1 , r j ]. This implies that r j − r j−1 = P1 (r j−1 ) − P1 (r j ).
(3)
Combining case condition and Eq. (3), inequality (2) goes as follows. P1 (r j−1 ) − (r j − r j−1 ) = P1 (r j ) > max{P1 (r j ), P2 (r j )}. It is a contradiction. Case 2 P1 (r j−1 ) < P2 (r j−1 ). Since there is no idle time on M2 throughout [0, rk ], we know M2 is busy throughout [r j−1 , r j ]. This implies that r j − r j−1 = P2 (r j−1 ) − P2 (r j ).
(4)
Similarly, inequality (2) turns out to be P2 (r j−1 ) − (r j − r j−1 ) = P2 (r j ) > max{P1 (r j ), P2 (r j )}. Again, it is a contradiction. The lemma follows.
Lemma 7 Jl cannot be completed before time rk+1 in σ . Proof By contradiction. Suppose that Jl is completed at time Cl (σ ) such that rk ≤ Cl (σ ) < rk+1 . By Step 2 of the algorithm, all the jobs in S(rk ) are completed not later than Cl (σ ). There exists simultaneous idle time throughout [Cl (σ ), rk+1 ]. This contradicts Lemma 2. The lemma holds. Corollary 1 Jl is processed throughout [rl , rk+1 ], either on M1 or on M2 .
123
An optimal online algorithm for two-machine open shop preemptive scheduling l and pl the respective parts of J that have been processed by time We denote by p1,l l 2,l r r the respective parts that are processed after r rk+1 , and by p1,l and p2,l k+1 . We know that l r p1,l + p1,l = p1,l .
(5)
l r p2,l + p2,l = p2,l .
(6)
By Corollary 1, we further have l l p1,l + p2,l = rk+1 − rl .
Recall that ξ =
5α−1 4α
(7)
and α ≥ 1.
l > (ξ − 1)C r Lemma 8 p1,l max (π ), and p2,l > (ξ − 1)C max (π ).
Proof We first prove the second inequality in the lemma. Let P 2 be the total time spent by M2 on processing jobs other than Jl from time rk+1 onwards, i.e., P 2 = r . Because I is a counterexample, we have Cmax (σ ) − rk+1 − p2,l r ξ Cmax (π ) < Cmax (σ ) = rk+1 + p2,l + P 2.
(8)
Since there exits idle time within [rk , rk+1 ], and rk and rk+1 are two consecutively released job, we claim that all the jobs contributing to P 2 are released on or after time rk+1 . Therefore, rk+1 + P 2 ≤ Cmax (π ). Together with inequality (8), r (ξ − 1)Cmax (π ) < p2,l .
Now we prove the first inequality. Due to inequality (8) and Eqs. (7) and (6), l l r l ξ Cmax (π ) < p1,l + p2,l + rl + p2,l + P 2 = rl + p1,l + p2,l + P 2 .
(9)
Since Jl and all the jobs that contribute to P 2 are released on or after time rl , we have rl + p2,l + P 2 ≤ Cmax (π ). Together with inequality (9), l (ξ − 1)Cmax (π ) < p1,l .
This completes the proof.
Theorem 2 For O2|online, r j , 1 ≤ p·, j ≤ α|Cmax , algorithm SLICE-α is optimal with a competitive ratio ξ . Proof In order to prove that the smallest counterexample I does not exist, we will show that there is a contradiction to Lemma 8. It suffices to prove either l ≤ (ξ − 1)C r p1,l max (π ) or p2,l ≤ (ξ − 1)C max (π ). Note that if min{ p1,l , p2,l } ≤
123
M. Liu et al. l , pr } ≤ (ξ − 1)C (ξ − 1)( p1,l + p2,l ), then min{ p1,l max (π ) and the theorem follows. 2,l Therefore, we assume that for job Jl ,
min{ p1,l , p2,l } > (ξ − 1)( p1,l + p2,l ).
(10)
min{ p1,l , (ξ − 1)( p1,l + p2,l )} = (ξ − 1)( p1,l + p2,l ).
(11)
It implies
l ≤ (ξ − 1)Cmax (π ), the theorem follows. Thus we assume that Moreover, if p1,l l p1,l > (ξ − 1)Cmax (π ). It follows that l p1,l > (ξ − 1)( p1,l + p2,l ).
(12)
By Step 2 and Lemma 6, Jl was first processed on M1 from time rl . Due to inequality (10) and Eq. (11), we have p2,l > (ξ −1)( p1,l + p2,l ) = min{ p1,l , (ξ −1)( p1,l + p2,l )}, which implies that jl is processed on M2 sometime during [rl , rk+1 ] by Step 2 of SLICE-α. Combining Step 2 and Eq. (11), we claim that Jl is being processed on M1 l = (ξ −1)( p + p ), which contradicts inequality (12). at time rk+1 . Otherwise, p1,l 1,l 2,l By inequality (12) and Step 2 of the algorithm, we know that at least a portion l ≥ p − (ξ − 1) p2,l − (ξ − 1)( p1,l + p2,l ) of Jl has been processed on M2 , i.e., p2,l 2,l ( p1,l + p2,l ). Together with Eq. (6), r l = p2,l − p2,l ≤ (ξ − 1)( p1,l + p2,l ) ≤ (ξ − 1)Cmax (π ). p2,l
This completes the proof.
Remark 1 When α → ∞, we have ξ = 5/4, matching the competitive ratio of algorithm SLICE proposed in [3]. Remark 2 ξ = 1 when α = 1. Acknowledgments The authors would like to acknowledge the constructive comments by anonymous referees which have improved the presentation of the paper. This work is partially supported by NSF of China under Grants 70525004, 60736027 and 70702030.
References 1. Borodin, A., El-Yaniv, R.: Online Computation and Competitive Analysis. Cambridge University Press, Cambridge (1998) 2. Pruhs, K., Sgall, J., Torng, E.: Online scheduling. In: Leung, J.Y.-T. (ed.) Handbook of Scheduling: Algorithms, Models, and Performance Analysis (2004) 3. Vestjens, A.P.A.: On-line machine scheduling. PhD Thesis, Eindhoven University of Technology (1997) 4. Chen, B., Du, D., Han, J., Wen, J.: On-line scheduling of small open shops. Discrete Appl. Math. 110, 133–150 (2001) 5. Pinedo, M.: Scheduling: Theory, Algorithms, and Systems. 2nd edn. Prentice Hall, New York (2002) 6. Brucker, P. : Scheduling Algorithms. Springer, Berlin (2007)
123
An optimal online algorithm for two-machine open shop preemptive scheduling 7. He, Y., Zhang, G.: Semi on-line scheduling on two identical machines. Computing 62, 179–187 (1999) 8. Angelelli, E., Speranza, M.G., Tuza, Z.: Semi on-line scheduling on two parallel processors with upper bound on the items. Algorithmica 37, 243–262 (2003) 9. Angelelli, E., Speranza, M.G., Tuza, Z.: New bounds and algorithms for on-line scheduling: two identical processors, known sum and upper bound on the tasks. Discrete Math. Theor. Comput. Sci. 8, 1–6 (2006) 10. He, Y., Dosa, G.: Semi-online scheduling jobs with tightly-grouped processing times on three identical machines. Discrete Appl. Math. 150, 141–159 (2005) 11. Gonzalez, T., Sahni, S.: Open shop scheduling to minimize finish time. J. ACM 23, 665–679 (1976) 12. Pardalos, P., Shylo, O.: An algorithm for the job scheduling problem based on global equilibrium techniques. Comput. Manag. Sci. 3, 331–348 (2006) 13. Pardalos, P., Shylo, O., Vazacopoulos, A.: Solving job shop scheduling problems utilizing the properties of backbone and “big valley”. Comput. Optim. Appl. doi:10.1007/s10589-008-9206-5 14. Rocha, P., Ravetti, M., Mateus, G., Pardalos, P.: Exact algorithms for a scheduling problem with unrelated parallel machines and sequence and machine-dependent setup times. Comput. Oper. Res. 35, 1250–1264 (2008)
123