Flowshop scheduling problem to minimize total
completion time with random and bounded
processing times
YN Sotskov1, A Allahverdi2* and T-C Lai3 1
United Institute of Informatics Problems, Minsk, Belarus;2Kuwait University, Safat, Kuwait;3National Taiwan University, Tapei, Taiwan
The flowshop scheduling problems with n jobs processed on two or three machines, and with two jobs processed on k machines are addressed where jobs have random and bounded processing times. The probability distributions of random processing times are unknown, and only the lower and upper bounds of processing times are given before scheduling. In such cases, there may not exist a unique schedule that remains optimal for all feasible realizations of the processing times, and therefore, a set of schedules has to be considered which dominates all other schedules for the given criterion. We obtain sufficient conditions when transposition of two jobs minimizes total completion time for the cases of two and three machines. The geometrical approach is utilized for flowshop problem with two jobs and k machines. Journal of the Operational Research Society(2004) 55, 277–286. doi:10.1057/palgrave.jors.2601682
Keywords: scheduling; flowshop; uncertainty; geometrical approach; total completion time
Introduction
The deterministic (where processing times are known with certainty) k-machine flowshop scheduling problem with the minimization of total completion time has been considered for both k¼ 2 and k42 cases. Gonzalez and Sahni1proved that this problem is unary NP-hard even for the two-machine case (k¼ 2). Therefore, the main research has been focused on the development of implicit enumeration techniques and heuristics. Many researchers considered this problem for k¼ 2, see Della Croce et al,2 and Allahverdi.3
For k42, many heuristics have been proposed including Rajendran and Ziegler,4Woo and Yim,5and Allahverdi and
Aldowaisan.6 The two-machine flowshop problem has also been considered for stochastic environments, and the following two types of stochastic problems have been addressed in the OR literature. In a stochastic job problem, processing times are assumed to be random variables following certain probability distributions: mainly the exponential probability distribution has been considered. The stochastic job problem has been addressed for minimization of makespan, see Kamburowski,7and Elmagh-raby and Thoney.8 In a stochastic machine problem, processing times are usually deterministic (and fixed before scheduling), while job completion times are random variables as a result of possible machine breakdowns. Allahverdi,9and
Allahverdi and Mittenthal10 addressed the stochastic
machine problem with total completion time criterion. In this paper, we address the stochastic job problem and consider a frequent situation when it is hard to obtain exact probability distributions for random processing times and assuming a specific probability distribution (eg, exponential) is not realistic. As such, a solution obtained by assuming a certain probability distribution may not be close to the optimal solution for the realization of the process. It has been observed that although the exact probability distribu-tions of processing times may not be known before scheduling, upper and lower bounds on processing times are easy to obtain in many practical cases.
The considered problem is to minimize total completion time of n jobs jAJ¼ {1, 2, y, n} processed on k machines mAM¼ {1, 2, y, k} when only a lower bound aj,mX0 and
an upper bound bj,mXaj,mof the processing time tj,mof job j
on machine m are given before scheduling. All n jobs have the same technological route through k machines, namely, 1, 2, y, k. Using the three-field notation of Lawler et al,11this problem may be denoted as Fk|aj,mptj,mpbj,m|PCi,k.
Here-after, Ci,kmeans the completion time of the job in position i
on machine k (the last machine in the technological route), and the criterion PCi,k means minimization of total
completion time Pni¼1Ci;k. For the research on the
deterministic problem see Lawler et al11and Tanaev et al.12 It should be noted that random processing times in the problem Fk|aj,mptj,mpbj,m|
P
Ci,kare due to external forces
in contrast to scheduling problems with controllable proces-sing times. In the latter problem, the objective is to choose
*Correspondence: A Allahverdi, Department of Industrial and Manage-ment Systems Engineering, College of Engineering and Petroleum, Kuwait University, PO Box 5969, Safat 13060, Kuwait.
E-mail: [email protected]
both optimal processing times (which are under the control of a decision-maker), and an optimal schedule with chosen processing times.13–15Another related yet different problem is so-called hoist scheduling.16,17 Hoist scheduling is con-sidered in chemical and electroplating industries, where the objective is to minimize the cycle time of a repetitive process. The hoist has to travel from one tank to another one and lift or drop the job at the suitable time. Because of the nature of the chemical process, the processing time inside each tank has to be controlled within the given lower and upper bounds. In hoist scheduling, the processing times are under the control of decision-maker and are a part of the solution.
The scheduling problems with random and bounded processing times were considered in Lai et al,18and Lai and Sotskov19for jobshop with makespan criterion and in Lai et al20for jobshop with total completion time criterion. In particular, Lai et al18provided the formula for calculating the stability radius of the schedule minimizing the makespan, that is, the largest independent variations of the processing times that this schedule remains optimal without fail. In Lai et al,20 stability analysis of a schedule minimizing total completion time was involved in a branch-and-bound algorithm for solving jobshop problem J|aj,mptj,m
pbj,m|PCi.
For a two-machine flowshop problem F2|aj,mptj,m
pbj,m|Cmax, Allahverdi and Sotskov21 found sufficient
conditions when transposition of two jobs minimizes makespan. In this paper, we address the same problem as Allahverdi and Sotskov21 but with total completion time criterion rather than makespan criterion. We also address the three-machine problem with total completion time criterion. Moreover, we consider the two-job k-machine problem for any regular objective function. In contrast to Lai et al,18Lai and Sotskov19and Lai et al,20where only exponential algorithms have been derived, in this paper, we develop polynomial procedures for solving special cases of problem Fk|aj,mptj,mpbj,m|PCi,k. The next section contains
main notations and definitions. Dominance relations for flowshop with two and three machines are derived in the subsequent two sections. In the three sections following, we utilize geometrical algorithm for the case of two jobs. Concluding remarks are made in the last section.
Definitions and notations
Let tj,mdenote processing time of operation Oj,mof job jAJ
processed on machine mAM. It is assumed that pre-emption of operation Oj,mis not allowed. Although we do not know
the exact value of tj,mbefore scheduling, we know the lower
and upper bounds of feasible processing times tj,mgiven by
inequalities
aj;mptj;mpbj;m ð1Þ
Inequalities (1) define the set (polytope) T of feasible vectors t¼ (t1,1, t1,2, y , tn,k) of the processing times: T¼
{t: aj,mptj,mpbj,m, jAJ, mAM}. For a fixed sequence p¼
(j1, j2, y, jn) of n jobs, we use the notation t[i,m](p) to denote
the processing time of operation Oji,mof job jiAJ which is
located in position i, 1pipn, of the sequence p on machine mAM. Similar to tj,m, the exact value t[i,m](p) is unknown
before scheduling, and so the notations a[i,m](p) and b[i,m](p)
are used for the lower and upper bounds of processing time t[i,m](p).
Let S¼ {p1, p2, y, pn!} be a set of all permutations
(sequences) of n jobs from set J. The set S of permutation schedules is dominant for the problem of two-machine flowshop with random processing times.22Since the proces-sing times are random variables for the problem under consideration, permutation schedules are also dominant for the problem F2|aj,mptj,mpbj,m|PCi,2. However, the set of
permutation schedules is not necessarily dominant for the problem of three-machine flowshop, and for the problem with kX3 and n¼ 2.23Therefore, for the problem with two jobs and kX3 machines, we are forced to consider the whole set of active schedules.12using geometrical approach. For the three-machine case, we will consider permutation schedules since such a restriction of feasible schedules considered is commonly used both in theory and in practice.
Let pr(t) denote the schedule defined by permutation
(sequence) prAS for the fixed vector t AT of processing times
and let Ci,m(pr(t)) denote the completion time of job ji in
position i on machine m in the schedule pr(t).
Definition 1 A set of sequences S*DS is a solution to the problem Fk|aj,mptj,mpbj,m|PCi,k if for each feasible vector
tAT of processing times, the set S* contains at least one sequence prsuch that schedule pr(t) is optimal.
The whole set S of sequences is an obvious solution to the problem Fk|aj,mptj,mpbj,m|PCi,k. However if n is large, it is
hard and practically infeasible for a scheduler to choose the best sequence from a huge set S*
¼ S of candidates as the processing of jobs evolves and additional information about processing times becomes available. Therefore, it is impor-tant to minimize the cardinality of set S*which is a solution to the problem Fk|aj,mptj,mpbj,m|PCi,k. The desirable case
is to construct a solution S* with minimal cardinality. The following dominance relation is used throughout the paper. Definition 2 Sequence prAS dominates sequence puAS with respect to T if the inequality PCi,k(pr(t))pPCi,k(pu(t))
holds for any feasible vector tAT of processing times. Let sd with dA{1, 2} denote a part (subsequence) of
sequence pAS, for example, p¼ (s1, j, s2) means a sequence
of n jobs in which job j is surrounded by subsequences s1and
s2. If there are some conditions of the form tv,xXtw,z which
are sufficient for the sequence p1¼ (s1, w, v, s2)AS to
dominate the sequence p2¼ (s1, v, w, s2)AS with respect to
similar sufficient conditions for the problem Fk|aj,mptj,mpbj,m|PCi,k by replacing tv,x by bv,x and tw,z
by aw,z. More complicated sufficient conditions are derived
in the following two sections.
Two machines
Let Tj,m(p(t)) denote the sum of processing times of the
jobs in positions 1, 2 ,y, j of the sequence pAS on machine mAM. For brevity, we omit t in this notation: Tj;mðpÞ ¼Pji¼1t½i;mðpÞ; jA{1, 2 ,y, n}, mA{1, 2, y, k}.
Also let
djðpÞ ¼ Tj;1ðpÞ Tj1;2ðpÞ; j 2 f1; 2; :::; ng;
DjðpÞ ¼ maxfd1ðpÞ; d2ðpÞ; :::; djðpÞg
ð2Þ where the equality T0,2(p)¼ 0 is assumed. Obviously, Dj(p) is
the total idle time on the second machine until the job in position j of sequence p is completed. Observe that
DjðpÞ ¼ maxfDj1ðpÞ; djðpÞg ð3Þ
If k¼ 2, the completion time of the job in position j of sequence p is given by
Cj;2ðpÞ ¼ Tj;2ðpÞ þ DjðpÞ; ð4Þ
and the total completion time for the schedule defined by sequence p (for brevity, TCT(p)) can be calculated as follows: TCTðpÞ ¼X n j¼1 Cj;2ðpÞ ¼ Xn j¼1 Tj;2ðpÞ þ Xn j¼1 DjðpÞ
Theorem 1 For the problem F2|aj,mptj,mpbj,m|PCi,2, the
sequencep1¼ (s1, w, v, s2)AS dominates the sequence p2¼ (s1,
v, w, s2)AS with respect to T if the following three inequalities
are satisfied: av,2Xbw,2, av,1Xbw,1, and aw,2Xmin{bv,1, bw,1}.
Proof Let sequence p1have job w in position t and job v in
position tþ 1, and sequence p2have job v in position t and
job w in position tþ 1. Since both sequences p1and p2have
the same jobs in positions 1, 2, y, t1 we get the following equations:
djðp1Þ ¼ djðp2Þ; j ¼ 1; 2; . . . ; t 1 ð5Þ
It can easily be shown that
djðp1Þ ¼ djðp2Þ; j ¼ t þ 2; t þ 3; . . . ; n ð6Þ
It follows from Equation (2) that dt(p1)¼ Tt1,1(p1)þ
tw,1–Tt1,2(p1), dt(p2)¼ Tt1,1(p2)þ tv,1–Tt1,2(p2), and
dtþ 1(p1)¼ Tt1,1(p1)þ tw,1þ tv,1–Tt1,2(p1)tw,2 where
Tt1,1(p1)¼ Tt1,1(p2) and Tt1,2(p1)¼ Tt1,2(p2) since both
sequences p1and p2have the same jobs in positions 1, 2, y,
t1. From the latter five equations, we obtain
dtðp1Þ dtðp2Þ ¼ tw;1 tv;1 ð7Þ
dtþ 1ðp1Þ dtðp1Þ ¼ tv;1 tw;2 ð8Þ
dtþ 1ðp1Þ dtðp2Þ ¼ tw;1 tw;2 ð9Þ
It follows from Equation (7) and the hypothesis av,1Xbw,1
that
dtðp1Þpdtðp2Þ ð10Þ
regardless what feasible values tv,1and tw,1 assume.
There-fore, from Equation (5) and Inequality (10) we obtain max{Dt–1(p1), dt(p1)}pmax{Dt–1(p2), dt(p2)}. Owing to (3),
the later inequality is equivalent to
Dtðp1ÞpDtðp2Þ ð11Þ
From the condition aw,2Xmin{bv,1, bw,1} of the theorem, it
follows that either aw,2Xbv,1or aw,2Xbw,1. If aw,2Xbv,1, then
due to (8) we get
dtþ 1ðp1Þpdtðp1Þ ð12Þ
If aw,2Xbw,1, then due to (9) we get
dtþ 1ðp1Þpdtðp2Þ ð13Þ
Therefore, if either (12) or (13) holds, then due to (5) and (10) we get
maxfDt1ðp1Þ; dtðp1Þ; dtþ 1ðp1Þg
p maxfDt1ðp2Þ; dtðp2Þ; dtþ 1ðp2Þg
ð14Þ Since both sequences p1 and p2 have the same jobs in
positions 1, 2, y, t1, we get
Cj;2ðp1Þ ¼ Cj;2ðp2Þ; j ¼ 1; 2; . . . ; t 1 ð15Þ
From Equalities (3), (4), (6) and Inequality (11), it can be shown that
Cj;2ðp1ÞpCj;2ðp2Þ; j ¼ t þ 2; t þ 3; . . . ; n ð16Þ
Taking the difference between the completion times of the jobs in positions t and tþ 1 in sequences p1and p2yields
Ct;2ðp1Þ þ Ctþ 1;2ðp1Þ Ct;2ðp2Þ Ctþ 1;2ðp2Þ ¼ tw;2
tv;2 þ maxfDt1ðp1Þ; dtðp1Þg
maxfDt1ðp2Þ; dtðp2Þg
þ maxfDt1ðp1Þ; dtðp1Þ; dtþ 1ðp1Þg
By the hypothesis av,2Xbw,2and Inequalities (11) and (14),
we obtain
Ct;2ðp1Þ þ Ctþ 1;2ðp1ÞpCt;2ðp2Þ þ Ctþ 1;2ðp2Þ ð17Þ
It follows from Equations (15)–(17) that TCT(p1)p
TCT(p2) which concludes the proof. &
Obviously, Theorem 1 holds for the case T¼ {t}, that is, for the problem F2||PCi,2. Thus, the next corollary follows.
Corollary 1 For the problem F2||PCi,2, the sequence
p1¼ (s1, w, v, s2)AS dominates the sequence p2¼ (s1, v, w,
s2)AS with respect to T¼ {t} if the following three inequalities
are satisfied: tv,2Xtw,2, tv,1Xtw,1, and tw,2Xmin{tv,1tw,1}.
Next, we derive a similar dominance relation for the case of three machines. Although the two-machine case can be seen as a particular case of the three-machine case, Theorem 1 is not a particular case of Theorem 2 proven in the following section.
Three machines
Let fj(p)¼ Dj(p)þ Tj,2(p)Tj1,3(p) where T0,3(p)¼ 0, and let
Fj(p)¼ max{f1(p), f2(p), y , fj(p)}. It can be shown that
Cj;3ðpÞ ¼ Tj;3ðpÞ þ FjðpÞ ð18Þ
Thus if k¼ 3, the total completion time for the schedule defined by sequence p can be calculated as follows:
TCTðpÞ ¼X n j¼1 Cj;3ðpÞ ¼ Xn j¼1 Tj;3ðpÞ þ Xn j¼1 FjðpÞ
We consider a sequence p1¼ (s1, w, v, s2)AS, which has
job w in position t and job v in position tþ 1, and a sequence p2¼ (s1, v, w, s2)AS, which has job v in position t and job w
in position tþ 1.
Lemma 1 Equality fr(p1)¼ fr(p2) holds for r¼ 1, 2, y , t1,
and ifmax{Dt–1(p1), dt(p1), dtþ 1(p1)}pmax{Dt–1(p2), dt(p2),
dtþ 1(p2)}, then fr(p1)pfr(p2) for r¼ t þ 2, t þ 3, y , n.
Proof It is clear that fr(p1)¼ fr(p2) for r¼ 1, 2, y , t1
since both sequences p1and p2have the same jobs in the first
t1 positions. For r ¼ t þ 2, t þ 3, y , n it follows from the definition of fr(p) that fr(p1)fr(p2)¼ max{d1(p1),y, dt(p1),
dtþ 1(p1),y, dr(p1)} max{d1(p2),y, dt(p2), dtþ 1(p2),y,
dr(p2)}.
If max{Dt1(p1), dt(p1), dtþ 1(p1)}pmax{Dt1(p2), dt(p2),
dtþ 1(p2)}, then due to Equality (6) we get fr(p1)pfr(p2). &
Lemma 2 Equality Cr,3(p1)¼ Cr,3(p2) holds for r¼ 1, 2,y,
t1. Moreover, if max{Ft1(p1), ft(p1),
ftþ 1(p1)}pmax{Ft1(p2), ft(p2), ftþ 1(p2)} and max{Dt1(p1),
dt(p1), dtþ 1(p1)}pmax{Dt1(p2), dt(p2), dtþ 1(p2)}, then
Cr,3(p1)pCr,3(p2) for r¼ t þ 2, t þ 3, y, n.
Proof Since both sequences have the same jobs in positions 1, 2,y, t1, we get Cr,3(p1)¼ Cr,3(p2) for r¼ 1, 2,y, t1.
For r¼ t þ 2, t þ 3,y, n it follows from (18) that Cr,3(p1)Cr,3(p2)¼ max{f1(p1),y, ft(p1), ftþ 1(p1),y,
fr(p1)}max{f1(p2),y, ft(p2), ftþ 1(p2),y, fr(p2)}.
If max{Ft1(p1), ft(p1), ftþ 1(p1)}pmax{Ft1(p2), ft(p2),
ftþ 1(p2)} and max{Dt1(p1), dt(p1), dtþ 1(p1)}p
max{Dt1(p2), dt(p2), dtþ 1(p2)}, then due to Lemma 1 we
get Cr,3(p1)pCr,3(p2). &
Theorem 2 For the problem F3|aj,mptj,mpbj,m|
P Ci,3, the
sequencep1¼ (s1, w, v, s2)AS dominates the sequence p2¼ (s1,
v, w, s2)AS with respect to T if the following four conditions
are satisfied: av,1Xbw,1,
av,2Xbw,2,
av,3Xbw,3,
either (aw,3Xbv,2 and aw,2Xbv,1) or (aw,3Xbw,2 and
aw,2Xbw,1).
Proof We consider the two sequences p1and p2that have
different jobs v and w in positions t and tþ 1. It follows from the hypothesis av,1Xbw,1 and either aw,2Xbv,1 or
aw,2Xbw,1, and Equations (7)–(9) that max{Dt1(p1),
dt(p1)}pmax{Dt1(p2), dt(p2)} and
maxfDt1ðp1Þ; dtðp1Þ; dtþ 1ðp1Þg
p maxfDt1ðp2Þ; dtðp2Þ; dtþ 1ðp2Þg
ð19Þ Therefore, the condition given in Lemma 1 holds. The fr(p) values for the jobs in positions r¼ t and r ¼ t þ 1
for the two sequences p¼ p1 and p¼ p2 are given as
follows: ftðp1Þ ¼Tt1;2ðp1Þ þ tw;2 þ maxfDt1ðp1Þ;dtðp1Þg Tt1;3ðp1Þ ftðp2Þ ¼Tt1;2ðp2Þ þ tv;2 þ maxfDt1ðp2Þ; dtðp2Þg Tt1;3ðp2Þ ftþ 1ðp1Þ ¼ þ Tt1;2ðp1Þ þ tw;2 þ tv;2 þ maxfDt1ðp1Þ; dtðp1Þ; dtþ 1ðp1Þg Tt1;3ðp1Þ tw;3 ftþ 1ðp2Þ ¼Tt1;2ðp2Þ þ tv;2 þ tw;2 þ maxfDt1ðp2Þ; dtðp2Þ; dtþ 1 ðp2Þg Tt1;3ðp2Þ tv;3
As long as both sequences have the same jobs in positions 1 through t1, we get
Tt1;2ðp1Þ ¼Tt1;2ðp2Þ; Tt1;3ðp1Þ
¼ Tt1;3ðp2Þ; and Dt1ðp1Þ
¼ Dt1ðp2Þ
From the above equations, we get
ftðp1Þ ftðp2Þ ¼ tw;2 tv;2 þ maxfDt1ðp1Þ; dtðp1Þg maxfDt1ðp2Þ; dtðp2Þg ð20Þ ftþ 1ðp1Þ ftðp1Þ ¼ tv;2 tw;3 þ maxfDt1ðp1Þ; dtðp1Þ; dtþ 1ðp1Þg maxfDt1ðp1Þ; dtðp1Þg ð21Þ ftþ 1ðp1Þ ftðp2Þ ¼ tw;2 tw;3 þ maxfDt1ðp1Þ; dtðp1Þ; dtþ 1ðp1Þg maxfDt1ðp2Þ; dtðp2Þg ð22Þ
It follows from the conditions av,1Xbw,1 and av,2Xbw,2
and either (aw,3Xbv,2 and aw,2Xbv,1) or (aw,3Xbw,2 and
aw,2Xbw,1), and Equalities (20)–(22) that
maxfFt1ðp1Þ; ftðp1Þg p maxfFt1ðp2Þ; ftðp2Þg ð23Þ maxfFt1ðp1Þ; ftðp1Þ; ftþ 1ðp1Þg p maxfFt1ðp2Þ; ftðp2Þ; ftþ 1ðp2Þg ð24Þ Hence, due to Inequalities (19) and (24), the conditions stated in Lemma 2 are satisfied. The completion times of the jobs in positions t and tþ 1 on the third machine are given as Ct;3ðp1Þ ¼ Tt1;3ðp1Þ þ tw;3 þ maxfFt1ðp1Þ; ftðp1Þg Ct;3ðp2Þ ¼ Tt1;3ðp2Þ þ tv;3 þ maxfFt1ðp2Þ; ftðp2Þg Ctþ 1;3ðp1Þ ¼ Tt1;3ðp1Þ þ tw;3 þ tv;3 þ maxfFt1ðp1Þ; ftðp1Þ; ftþ 1ðp1Þg Ctþ 1;3ðp2Þ ¼ Tt1;3ðp2Þ þ tv;3 þ tw;3 þ maxfFt1ðp2Þ; ftðp2Þ; ftþ 1ðp2Þg
From the last four equations, we get
Ct;3ðp1Þ þ Ctþ 1;3ðp1Þ Ct;3ðp2Þ Ctþ 1;3ðp2Þ
¼ tw;3 tv;3 þ maxfFt1ðp1Þ; ftðp1Þg
maxfFt1ðp2Þ; ftðp2Þg
þ maxfFt1ðp1Þ; ftðp1Þ; ftþ 1ðp1Þg
maxfFt1ðp2Þ; ftðp2Þ; ftþ 1ðp2Þg
Now it follows from the condition av,3Xbw,3 and
Inequa-lities (23) and (24) that
Ct;3ðp1Þ þ Ctþ 1;3ðp1Þ
pCt;3ðp2Þ þ Ctþ 1;3ðp2Þ
ð25Þ From Inequality (25) and Lemma 2, we get TCT(p1)pTCT(p2) which concludes the proof. &
Since Theorem 2 holds for the case T¼ {t}, the next corollary follows.
Corollary 2 For the problem F3||PCi,3, the sequence
p1¼ (s1, w, v, s2)AS dominates the sequence p2¼ (s1, v, w,
s2)AS with respect to T¼ {t} if the following four conditions
are satisfied: tv,1Xtw,1,
tv,2Xtw,2,
tv,3Xtw,3,
either (tw,3Xtv,2and tw,2Xtv,1) or (tw,3Xtw,2and tw,2Xtw,1).
Theorems 1 and 2 give sufficient conditions when sequence p1dominates sequence p2. Testing these conditions
may restrict solution S* for problem Fk|aj,mptj,m
pbj,m|PCi,k with k¼ 2 or k ¼ 3. If after such testing all n
jobs will be linearly ordered, then |S*|¼ 1. In general case when |S*|41, one can partition the set T in an appropriate way and then test dominance relations for new problems with smaller sets of feasible vectors of the processing times. Of course, if T is large such an approach may be time-consuming.
Since, in general, dominance relations do not yield an optimal solution, these relations are often used in an implicit enumeration technique (such as a branch-and-bound algo-rithm or a dynamic programming) or in a heuristic algorithm. When these relations are used in an implicit enumeration technique, they help in reducing the search space for the optimal solution further. In the case of a heuristic algorithm, the solution is further improved by applying the dominance relations to the solution obtained from the heuristic algorithm.
In the next section, we demonstrate an efficient geome-trical approach for the problem with two jobs, k machines and any regular criterion.
Geometrical algorithm for problem Fk|n¼ 2|U
Since the set of permutation schedules is not dominant for the considered problem with kX3 and n¼ 2, in this and the next two sections, we consider the whole set of active schedules including the set of permutation schedules as a proper subset. Note that the number of active schedules for problem Fk|n¼ 2,aj,mptj,mpbj,m|F may be equal to 2k.
For the problem J|n¼ 2|Cmax, the geometrical algorithm
developed by Szwarc,25 Hardgrave and Nemhauser26 and Brucker.27Sotskov28,29generalized the geometrical algorithm for the problem Jk|n¼ 2|F with any regular criterion F. Next, we describe this algorithm for the problem Fk|n¼ 2|F. Let TMj,mdenote the sum of processing times of job jAJ
on a set of machines {1, 2,y, m}DM:
TMj;m¼Pmi¼1tj;i; j2 J ¼ f1; 2g; 1pmpk. It is assumed
that TM1,0¼ TM2,0¼ 0. We introduce a coordinate system
on the plane x,y and draw the rectangle R with corners (0, 0), (TM1,k, 0), (0, TM2,k), (TM1,k, TM2,k), and rectangles Rm,
m¼ 1, 2, y, k, with corners (TM1,m1, TM2,m1), (TM1,m,
TM2,m1), (TM1,m1, TM2,m), (TM1,m, TM2,m). For brevity,
we call south-west corner (TM1,m1, TM2,m1) of the
rectangle Rmas SWm, north-west corner (TM1,m1, TM2,m)
as NWm, south-east corner (TM1,m, TM2,m1) as SEm, and
north-east corner (TM1,m, TM2,m) as NEm. The length of a
segment connecting points (x, y) and (x0, y0) in the rectangle
Ris defined as d((x, y), (x0, y0))¼ max{|x–x0|, |yy0|}.
An active schedule can be represented on the plane x,y as a trajectory (continuous polygonal line) t¼ [(0, 0), (x1, y1),
(x2, y2), y, (xr, yr), (TM1,k, TM2,k)] where either xr¼ TM1,k
or yr¼ TM2,k. Indeed, let a point (x, y) belong to the
trajectory t and let d be the length of the trajectory t from the point (0, 0) to the point (x, y). The coordinate x (coordinate y) of point (x, y) defines the state of processing job 1 (job 2) as follows. If SWuoxpSEu and
SWvoypNWv, uAM, vAM, then for the schedule
repre-sented by trajectory t, job 1 (job 2) is completed on the machines 1, 2, y, u1 (on the machines 1, 2, y, v1) before time d. Moreover, at time d job 1 (job 2) has been processed on machine u (machine v) during xSWu(during
ySWv) time units. Since a machine cannot process more
than one job at a time and pre-emption of an operation is forbidden, each straight segment [(x, y), (x0, y0)] of trajectory
t may be either horizontal (when only job 1 is processed) or vertical(when only job 2 is processed) or diagonal with slope of 451 (when both jobs 1 and 2 are processed simulta-neously). It is clear that a horizontal (vertical) segment can only pass along south or north (west or east) boundary of rectangle Rm, mAM, or along north and south (west and
east) boundary of rectangle R. The diagonal segment of a trajectory t can only pass either outside rectangle Rm or
through point NWm or point SEm. Problem Fk|n¼ 2|F of
finding the optimal schedule (trajectory) can be reduced to the shortest path problem in a digraph (V, A) constructed by the following algorithm. Let set V be a subset of set V0¼ {(0, 0), (TM1,k, TM2,k)},{NWm, SEm: mAM},
{(xm, TM2,k), (TM1,k, ym): mAM}.
Algorithm 1
(1) Set V¼ {(0, 0), SE1, NW1, (TM1,k, TM2,k)} and
A¼ {((0, 0), SE1), ((0, 0), NW1)}.
(2) Take vertex (x, y)AV\{(TM1,k, TM2,k)} with zero
outdegree. If (x, y)¼ SEm, then go to Step 3. If (x, y)¼ NWm,
then go to Step 4. If set V\{(TM1,k, TM2,k)} has no vertex
with zero outdegree, then STOP.
(3) Draw a diagonal line starting from vertex SEmuntil
either east boundary [(TM1,k, 0), (TM1,k, TM2,k)] of the
rectangle R is reached in vertex (TM1,k, ym) or open south
boundary (SWh, SEh) of the rectangle Rh, mþ 1phpk, is
reached. In the former case, set V:¼ V,{(TM1,k, ym)} and
A:¼ A,{(SEm, (TM1,k, ym)), ((TM1,k, ym), (TM1,k, TM2,k))}.
In the latter case, set V:¼ V,{SEh, NWh},
A:¼ A,{(SEm, SEh), (SEm, NWh)}. Go to Step 2.
(4) Draw a diagonal line starting from vertex NWmuntil
either north boundary [(0, TM2,k), (TM1,k, TM2,k)] of the
rectangle R is reached in vertex (xm, TM2,k) or open west
boundary (SWh, NWh) of the rectangle Rh, mþ 1phpk,
is reached. In the former case, set V:¼ V,{(xm, TM2,k)}
and A:¼ A,{(NWm, (xm, TM2,k)), ((xm, TM2,k),
(TM1,k, TM2,k))}. In the latter case, set V:¼ V,{SEh,
NWh}, A:¼ A,{(NWm, SEh), (NWm, NWh)}. Go to Step 2.
In order to find the optimal trajectory (ie, optimal schedule) for the problem Fk|n¼ 2|F, one can use the following algorithm.
Algorithm 2
(1) Construct the digraph (V, A) using Algorithm 1 and find all its border vertices, that is, the vertices (x, y) either of the form (xm, TM2,k) or of the form (TM1,k, ym).
(2) Construct the set of trajectories corresponding to the shortest paths in the digraph (V, A) from the vertex (0, 0) to each of the border vertices.
(3) Find a trajectory in the set constructed at Step 2 that represents a schedule with minimal value of the objective function F.
Algorithm 2 takes O(k log k) time (see Sotskov28,29). In the next section, we show how to generalize geometrical approach for the problem Fk|n¼ 2,aj,mptj,mpbj,m|F.
Problem Fk|n¼ 2, aj,mptj,mpbj,m|U
Let (Vt, At) denote digraph (V, A) constructed by Algorithm
1 for the problem Fk|n¼ 2|F with vector tAT of processing times. Let Kt be the set of all paths from vertex (0, 0) to
vertex (TM1,k, TM2,k) in the digraph (Vt, At), tAT. As
follows from Algorithm 1, the same path may belong to sets Ktconstructed for different vectors tAT of processing times
(recall that for any vector tAT, we have VtDV0). Let L¼ Ut2TLt. Notation lu(t) will be used for a trajectory in
rectangle R defined by path luAKt. Contrary to a path luAKt, trajectory lu(t) may be defined only when vector t of
processing times is fixed. Definition 1 given for permutation schedules pr(t), defined by sequences prAS, may be rewritten
for trajectories (active schedules) defined by paths as follows: A set of paths K*DK is called a solution to the problem Fk|n¼ 2, aj,mptj,mpbj,m|F if for each feasible vector tAT of
that trajectory lr(t) is optimal. Let m and m*be integers such
that mX1 and mþ m*pk.
Lemma 3 For any feasible vector tAT at step3 (at step 4) of Algorithm1, the diagonal line with origin in vertex SEm (in
vertex NWm) cannot intersect open south (west) boundaries of
rectangles Rmþ 1, Rmþ 2, y, Rmþ m*1, if and only if the
following m*inequalities hold: X mþ w1 i¼m a2;iX X mþ w1 i¼m b1;iþ 1; w¼ 1; 2; . . . ; m ð26Þ X mþ w1 i¼m a1;iX X mþ w1 i¼m b2;iþ 1; w¼ 1; 2; . . . ; m ! ð27Þ
Proof First, we consider the case m*¼ 1. For any vector tAT, trajectory of the form lu(t)¼ [(0, 0),y, SEm, y,
(TM1,k, TM2,k)], luAKt, cannot intersect open south boundary (SWmþ 1, SEmþ 1) of rectangle Rmþ 1if and only if
a2;mXb1;mþ 1 ð28Þ
Indeed, the diagonal segment of trajectory lu(t) with origin
in vertex SEm intersects open south boundary of rectangle
Rmþ 1only if t2,mot1,mþ 1. However, from (28) it follows that
t2,mXa2,mXb1,mþ 1Xt1,mþ 1. On the other hand, if Inequality
(28) does not hold, then there exists a vector tAT such that the diagonal segment of trajectory lu(t) with origin in vertex
SEmintersects open south boundary of rectangle Rmþ 1. For
the case m*A{2, 3, y, km}, we can repeat a similar argument m* times. As a result, Lemma 3 will be proven for step 3 of Algorithm 1 and vertex SEm. Owing to symmetry of
jobs 1 and 2, Lemma 3 can be similarly proven for step 4 of Algorithm 1 and vertex NWm. &
Let V ¼ U
t2TVtand A ¼ Ut2TAt. Owing to Lemma 3, we
can restrict the number of vertices from set V0which have to be included in the set V*. To restrict the number of arcs in the set A*, we can use the following Lemmas 4 and 4*where it is assumed that b1,kþ 1¼ TM1,kand b2,kþ 1¼ TM2,k. Let m,
m*and h be integers such that mX1 and h¼ m þ m*pk þ 1.
Lemma 4 For hpk, inclusions (SEm, SEh)AA* and (SEm,
NWh)AA* (for h¼ k þ 1, inclusions (SEm, (TM1,k, ym))AA*
and((TM1,k, ym), (TM1,k, TM2,k))AA*) hold if and only if the
following system of linear inequalities has a solution: X mþ w1 i¼m t2;iX X mþ w1 i¼m t1;iþ 1; w¼ 1; 2; . . . ; m ð29Þ X mþ w i¼m t2;io X mþ w1 i¼m t1;iþ 1 þ b1;h ð30Þ
ai;jpti;jpbi;j; i¼ 1; 2; j ¼ m; m þ 1; . . . ; h ð31Þ
Proof From Lemma 3, it follows that Inequalities (29) and (31) are necessary and sufficient for the existing vector tAT for which the diagonal line with origin in vertex SEm does
not intersect open south boundary of rectangles Rmþ 1,
Rmþ 2, y , Rh1. Let T*denote the set of all vectors tAT
where its components satisfy Inequalities (29) and (31). For hpk, Inequality (30) is necessary and sufficient for the existing vector t*AT*for which diagonal line with origin in vertex SEm intersects open south boundary (SWh, SEh) of
rectangle Rh. (In Figure 1, all such diagonal lines are located
in the black region.) Therefore for hpk, arcs (SEm, SEh) and
(SEm, NWh) have to be included to the set At at step 3 of
Algorithm 1 if and only if system (29)–(31) has a solution. We can prove Lemma 4 for the case h¼ k þ 1 similarly as for the case hpk. Note that for h ¼ k þ 1, Inequality (30) definitely hold due to the assumption of b1,kþ 1¼ TM1,k. &
Owing to symmetry between jobs 1 and 2, the claim analogous to Lemma 4 (we call it Lemma 4*) can be proven for arcs (NWm, SEh) and (NWm, NWh) with mX1 and
h¼ m þ m*pk, and for arcs (NW
m, (xm, TM2,k)) and ((xm,
TM2,k), (TM1,k, TM2,k)) with mX1 and h¼ k þ 1. In
particular, analogous system (29*)–(31*) of linear inequalities used in Lemma 4* instead of (29)–(31) is obtained from system (29)–(31) by replacing t2,iby t1,i, t1,iþ 1by t2,iþ 1, and
b1,hby b2,h. Using Lemmas 3, 4 and 4*one can construct the
digraph (V*, A*) containing path set K*which is a solution
to the problem Fk|n¼ 2,aj,mptj,mpbj,m|F for any regular
criterion F. To this end, we can use Algorithm 3 where Rkþ 1
denotes R. Algorithm 3
(1) Set V*¼ {(0, 0), SE1, NW1, (TM1,k, TM2,k)} and
A*¼ {((0, 0), SE1), ((0, 0), NW1)}.
(2) Take vertex (x, y)AV*\{(TM1,k, TM2,k)} with zero
outdegree. If (x, y)¼ SEm, go to Step 3. If (x, y)¼ NWm, go
to Step 4. If set V*\{(TM1,k, TM2,k)} has no vertex with zero
outdegree, go to Step 5. b1,h a2,m b2,m Rm Rh
(3) Test Inequalities (26) from Lemma 3 and define rectangle Rh with minimal h where its boundary may be
reached by the diagonal line with origin in vertex SEm. If
hpk, set V*: ¼ V*,{SEh, NWh} and A*:¼ A*,{(SEm,
SEh), (SEm, NWh)}. If h¼ k þ 1, set V*: ¼ V*,{(TM1,k,
ym)}, A*:¼ A*,{(SEm, (TM1,k, ym)), ((TM1,k, ym), (TM1,k,
TM2,k))}. Go to Step 2.
(4) Test Inequalities (27) from Lemma 3 and define rectangle Rh with minimal h where its boundary may be
reached by the diagonal line with origin in vertex NWm. If
hpk, set V* : ¼ V*,{SEh, NWh} and A*:¼ A*,{(NWm,
SEh), (NWm, NWh)}. If h¼ k þ 1, set V*: ¼ V*,{(xm,
TM2,k)}, A*:¼ A*,{(NWm, (xm, TM2,k)), ((xm, TM2,k),
(TM1,k, TM2,k))}. Go to Step 2.
(5) Solve system (29)–(31) for each vertices SEmAV* and
SEhAV* such that (SEm, SEh)eA*, 1pmohpk þ 1. If system (29)–(31) has a solution and hpk (h ¼ k þ 1), then set A*:¼ A*,{(SEm, SEh), (SEm, NWh)} (set A*:¼ A*,{(SEm,
(xm, TM2,k))}).
(6) Solve system (29*)–(31*) for each vertices NWmAV*
and NWhAV* such that (NWm, NWh)eA*, 1pmohpk þ 1. If system (29*)–(31*) has a solution and hpk (h ¼ k þ 1), then set A*: ¼ A*,{(NWm, NWh), (NWm,
SEh)} (set A*:¼ A*,{(NWm, (TM1,k, ym))}). STOP.
In Figure 2, the digraph (V*, A*) constructed by Algorithm 3 is shown for the example of the problem F5|n¼ 2,aj,mptj,mpbj,m|F with lower and upper bounds of
processing times given in Table 1. This digraph represents the set of paths K* (solution to the problem F5|n¼ 2,aj,mptj,mpbj,m|F) in the condensed form.
It is clear that Algorithm 3 takes polynomial time. Indeed, for each of vertices V*we have to test at most k Inequalities (26) at step 3, and at most k Inequalities (27) at step 4. At step 5 (step 6), for each pair of non-adjacent vertices in the constructed digraph (V*, A*) we have to solve system
(29)–(31) (system (29*)–(31*), respectively) of at most 5k linear inequalities with at most 2k variables.
Lemmas 3, 4 and 4*are valid for any regular criterion F. Next, we show how to further minimize the set K*for the total completion time.
Problem Fk|n¼ 2, aj,mptj,mpbj,m|RCi,k
Let D(lr(t)) denote the sum of the lengths of the all
horizontal and vertical segments in the part of trajectory lr(t)¼ [(0, 0), y, (x, y), (TM1,k, TM2,k)] from vertex (0, 0) to
the border vertex (x, y). Next, we show that the total completion time for the schedule presented by trajectory lr(t)
(for brevity, TCT(lr(t))) can be calculated as follows:
TCTðlrðtÞÞ ¼ TM1;k þ TM2;k þ DðlrðtÞÞ ð32Þ
If D(lr(t))¼ 0, then TCT(lr(t))¼ TM1,kþ TM2,k. If
D(lr(t))40, then each vertical (horizontal) segment of
trajectory lr(t) from vertex (0, 0) to the border vertex (x,
y) adds to the sum TM1,kþ TM2,kthe value equal to the
length of this segment since exactly one job waits in each time point corresponding to the vertical (horizontal) segment of trajectory lr(t). The length of the segment [(x, y), (TM1,k,
TM2,k)] is not added to the sum D(lr(t)) since no job waits in
each time point corresponding to this segment (one job is already completed). (x2,TM2,k) (x3,TM2,k) (x4,TM2,k) NW5 (TM1,k,TM2,k) NW2 NW3 NW4 NW1 SE2 SE3 SE4 SE5 (0,0) SE1
Figure 2 Digraph (V*, A*) constructed by Algorithm 3.
Table 1 Lower and upper bounds of processing times
Machine m m¼ 1 m¼ 2 m¼ 3 m¼ 4 m¼ 5
a1,m 2 19 8 4 12
b1,m 2 20 10 10 14
a2,m 16 3 4 2 4
From Equality (32), it follows that minimizing total completion time is equivalent to minimizing the value of D(lr(t)). For any path lwAK, we can define vector tw¼ ðtw 1;1; t w 1;2; :::; t w 1;k; t w 2;1; t w 2;2; :::; t w 2;kÞ 2 T as follows. If point SEm
or point SWmbelongs to the horizontal segment of trajectory
lw(t), we set tw1;m¼ b1;m, otherwise we set tw1;m¼ a1;m. If point
NWm or point SWm belongs to the vertical segment of
trajectory lw(t), we set tw2;m¼ b2;m, otherwise we set
tw
2;m¼ a2;m. Let notation (SEm, SEh)Alwmean that path lw
includes arc (SEm, SEh). Let SEkþ 1 denote vertex (TM1,k,
ym) and NWkþ 1denote vertex (xm, TM2,k).
Theorem 3 The set {lw} is a solution to the problem
Fk|n¼ 2,aj,mptj,mpbj,m|SCi,kif and only if the following three
conditions are satisfied:
(i) If either (SEm, SEh)Alw or (SEm, NWh)Alw, then
Inequalities(26) hold along with Xh1 i¼m b2;io Xh1 i¼m a1;iþ 1 þ b1;h ð33Þ
(ii) If either (NWm, SEh)Alw or (NWm, NWh)Alw, then
Inequalities(27) hold along with Xh1 i¼m b1;io Xh1 i¼m a2;iþ 1 þ b2;h ð34Þ
(iii) Schedule represented by trajectory lw(tw) is optimal for
the problem Fk|n¼ 2|SCi,k with vector twof processing
times.
Proof Sufficiency. First, we show that from conditions (i) and (ii) it follows that path lwis contained in the digraph
(Vt, At) constructed by Algorithm 1 for any feasible vector
tAT. We assume that (SEm, SEh)Alw. From condition (i), it
follows that Inequalities (26) and (33) hold. Thus, system of linear Inequalities (29)–(30) is satisfied for any vector tAT. Therefore, due to Lemma 3, set Atcontains arc (SEm, SEh)
for any vector tAT. Similarly if (NWm, SEh)Alw, then
condition (ii) implies that Inequalities (27) and (34) hold. Therefore, set Atcontains arc (NWm, SEh) for any vector
tAT. Arguing in a similar way for each arc in the path lw, we
conclude that the whole path lwis contained in the digraph
(Vt, At) for any vector tAT. From condition (iii) we get
inequality TCT(lr(tw)) – TCT(lw(tw))X0 for each trajectory
lr(tw) with path lr from the digraph ðVtw; AtwÞ. Therefore
due to (32), we get
DðlrðtwÞÞ DðlwðtwÞÞX0 ð35Þ
We consider arbitrary feasible vector t¼ (t1,1, t1,2, y ,t1,k,
t2,1, t2,2, y, t2,k)AT of the processing times. Since path lwis
contained in the digraph (Vt, At), replacing twj;m¼ aj;m by
tj;mXaj;mcannot change the value D(lw(tw)) but can increase
the value D(lr(tw)). Due to the same reason, after replacing
twj;m¼ bj;m by tj;mobj;m the value D(lw(tw)) is decreased by
the maximal possible value, namely, by value bj,mtj,m.
So, taking into account (35), we get TCTðlrðtÞÞ
TCTðlwðtÞÞ ¼ DðlrðtÞÞ DðlwðtÞÞXDðlrðtwÞÞ DðlwðtwÞÞ
X0: To finish sufficiency proof, we have to compare trajectory lw(t) with trajectory lu(t) such that the digraph
ðVtw; AtwÞ does not contain path lu. Let trajectory lu(tw)
represent schedule with the same orders of jobs on all k machines as the schedule represented by trajectory lu(t).
(Note that the former schedule may not be active.) From condition (iii), we get inequality D(lu(tw))D(lw(tw))X0.
Arguing similarly as for trajectory lr(tw), we can show that
TCTðluðtÞÞ TCTðlwðtÞÞ ¼ DðluðtÞÞ DðlwðtÞÞXDðluðtwÞÞ
DðlwðtwÞÞX0:
Necessity. If either condition (i) or condition (ii) is not satisfied, then due to Lemma 3 there exists feasible a vector tAT such that digraph (Vt, At) does not contain path lw.
Therefore, single-element set {lw} cannot be a solution to the
problem Fk|n¼ 2,aj,mptj,mpbj,m|SCi,k. If schedule
repre-sented by trajectory lw(tw) is not optimal for the problem
Fk|n¼ 2|SCi,kwith vector twAT(violation of condition (iii)), then set {lw} is not a solution to the problem
Fk|n¼ 2,aj,mptj,mpbj,m|SCi,k. &
Testing whether a singleton is a solution to problem Fk|n¼ 2,aj,mptj,mpbj,m|SCi,k takes O(k3) time. Indeed, we
can use Algorithm 2 for some fixed feasible vector t of the processing times and construct all optimal trajectories for the problem Fk|n¼ 2|SCi,k. Then we can test Theorem 3 for
each of the constructed optimal trajectories. Number of optimal trajectories for the problem Fk|n¼ 2|SCi,k is
restricted by the number of border vertices asymptotically restricted by O(k). It is clear that testing Theorem 3 takes O(k2) time.
For the problem F5|n¼ 2,aj,mptj,mpbj,m|SCi,5 with
bounds of processing times given in Table 1, conditions of Theorem 3 hold for the path lw¼ ((0, 0), SE1, SE2, NW3,
(x3, TM2,5), (TM1,5, TM2,5)). Owing to Theorem 3,
single-ton {lw} is a solution to the problem F5|n¼ 2,aj,mp
tj,mpbj,m|SCi,5.
Conclusion
Sufficient conditions are proven for fixing the order of two adjacent jobs in an optimal schedule for the problem Fk|aj,mptj,mpbj,m|SCi,k with n jobs and two or three
machines. Such conditions may be used to minimize solution S* of problem Fk|aj,mptj,mpbj,m|SCi,kwith kp3. It is clear
that Theorems 2 and 3 can be generalized for k43. In the previous section, necessary and sufficient conditions are proven for the existing single-element solution to the problem Fk|n¼ 2,aj,mptj,mpbj,m|SCi,k. This result can be
generalized for a jobshop problem with two jobs and other regular criterion. In this case, we need to modify Equality (32) in an appropriate way. Note that all conditions presented in Theorems 1–3 can be tested in polynomial time.
Acknowledgments—The research of the first author was partially supported by INTAS (project 00-217). The research of the second author was supported by Kuwait University Research Administration (project EM 01/01). The research of the third author was supported by NSC of Taiwan under projects NSC 89-2416-H002-039 and NSC 91-2416-H-002-006.
References
1 Gonzalez T and Sahni S (1978). Flow shop and job shop schedules. Ops Res 26: 36–52.
2 Della Croce F, Narayan V and Tadei R (1996). The two-machine total completion time flow shop problem. Eur J Opl Res 90: 227–237.
3 Allahverdi A (2000). Minimizing mean flowtime in a two-machine flowshop with sequence independent setup times. Comput Ops Res 27: 111–127.
4 Rajendran C and Ziegler H (1997). An efficient heuristic for scheduling in a flowshop to minimize total weighted flowtime of jobs. Eur J Opl Res 103: 129–138.
5 Woo HS and Yim DS (1998). A heuristic algorithm for mean flowtime objective in flowshop scheduling. Comput Ops Res 25: 175–182.
6 Allahverdi A and Aldowaisan T (2002). New heuristics to minimize total completion time in m-machine flowshops. Int J Product Econ 77: 71–83.
7 Kamburowski J (1999). Stochastically minimizing the makespan in two-machine flow shops without blocking. Eur J Opl Res 112: 304–309.
8 Elmaghraby S and Thoney KA (2000). Two-machine flowshop problem with arbitrary processing time distributions. IIE Trans 31: 467–477.
9 Allahverdi A (1999). Stochastically minimizing total flowtime in flowshops with no waiting space. Eur J Opl Res 113: 101–112. 10 Allahverdi A and Mittenthal J (1994). Two-machine ordered
flowshop scheduling under random breakdowns. Math Comput Modelling 20: 9–17.
11 Lawler EL, Lenstra JK, Rinnooy Kan AHG and Shmoys DB (1993). Sequencing and scheduling: algorithms and complexity. In: Graves SS, Rinnooy Kan AHG and Zipkin P (eds). Handbooks in Operations Research and Management Science, 4: Logistics of Production and Inventory. North-Holland, New York, pp 445–522.
12 Tanaev VS, Sotskov YN and Strusevich VA (1994). Scheduling Theory: Multi-Stage Systems. Kluwer Academic Publishers: The Netherlands, Dordrecht.
13 Ishii H, Masuda T and Nishida T (1987). Two machine mixed shop scheduling problems with controllable machine speeds. Discrete Appl Math 17: 29–38.
14 Janiak A (1988). General flow-shop scheduling with resource constraints. Int J Product Res 26: 125–138.
15 Strusevich VA (1995). Two machine flow shop scheduling problem with no wait in process: Controllable machine speeds. Discrete Appl Math 59: 75–86.
16 Lei L and Wang TJ (1991). The minimum common-cycle algorithm for cycle scheduling of two hoists with time window constraints. Mngt Sci 37: 1629–1639.
17 Chen H, Chu C and Proth JM (1998). Cyclic scheduling of a hoist with time window constraints. IEEE Trans Robotics Automat 14: 144–152.
18 Lai TC, Sotskov YN, Sotskova NY and Werner F (1997). Optimal makespan scheduling with given bounds of processing times. Math Comput Modelling 26: 67–86.
19 Lai TC and Sotskov YN (1999). Sequencing with uncertain numerical data for makespan minimization. J Opl Res Soc 50: 230–243.
20 Lai TC, Sotskov YN, Sotskova NY and Werner F. Mean flow time minimization with given bounds of processing times. Eur J Opl Res., in press.
21 Allahverdi A and Sotskov YN (2003). Two-machine flowshop minimum-length scheduling problem with random and bounded processing times. Int Trans Opl Res 10: 65–76.
22 Ku PS and Niu SC (1986). On Johnson’s two-machine flow shop with random processing times. Ops Res 34: 130–136. 23 Pinedo M (1995). Scheduling: Theory, Algorithms, and Systems.
Prentice-Hall: Englewood Cliffs, NJ.
24 Akers SB and Friedman J (1955). A non-numerical approach to production scheduling problems. Ops Res 3: 429–442.
25 Szwarc W (1960). Solution of the Akers–Friedman scheduling problem. Ops Res 8: 782–788.
26 Hardgrave WW and Nemhauser G (1963). A geometric model and graphical algorithm for a sequencing problem. Ops Res 11: 889–900.
27 Brucker P (1988). An efficient algorithm for the job-shop problem with two jobs. Computing 40: 353–359.
28 Sotskov YN (1985). Optimal scheduling two jobs with regular criterion. Design Processes Automating: 86–95 (in Russian). 29 Sotskov YN (1991). The complexity of shop-scheduling
problems with two or three jobs. Eur J Opl Res 53: 326–336.
Received April 2003; accepted November 2003 after one revision