16
Journal of Combinatorial Optimization, 8, 13–28, 2004 c 2004 Kluwer Academic Publishers. Manufactured in The Netherlands. Flow Shop Scheduling Problems Under Machine–Dependent Precedence Constraints A.A. GLADKY AND Y.M. SHAFRANSKY Institute of Engineering Cybernetics, National Academy of Sciences of Belarus, Minsk, Republic of Belarus V.A. STRUSEVICH [email protected] School of Computing and Mathematical Sciences, University of Greenwich, London, UK Received March 26, 2001; Revised September 18, 2002; Accepted September 19, 2002 Abstract. The paper considers the flow shop scheduling problems to minimize the makespan, provided that an individual precedence relation is specified on each machine. A fairly complete complexity classification of problems with two and three machines is obtained. Keywords: flow shop, precedence constraints, complexity, polynomial-time algorithm 1. Introduction In the flow shop scheduling model a set of jobs must be processed on a number of sequential machines. Each job consists of several operations, and each operation has to be processed on a specified machine. For any job, its operations are processed in the same order, i.e., all jobs have the same processing route. In this paper we study problems of finding a schedule that minimizes the completion time of the last operation, i.e., the makespan. To meet practical requirements, additional processing restrictions can be incorporated into a scheduling model. We study one of these typical restrictions, known as precedence constraints. In the corresponding models it is assumed that a binary relation is imposed over the set of jobs, so that if job J j is said to precede job J k , then job J k may not be started until job J j is completed. As a rule, a precedence relation is represented by a so-called reduction digraph. For the scheduling systems that involve only one processing stage (a single machine, parallel machines) there is no confusion in interpreting precedence constraints. For multi- stage scheduling models, at least two possible interpretations are known. According to the first of them, if job J j precedes job J k then the processing of job J k on any machine may not be started until job J j is completed on all machines. The other interpretation says that if job J j precedes job J k then the processing of job J k on any machine may not be started until job J j is completed on the same machine. The choice between these interpretations may dramatically affect the computational complexity of the corresponding problems. For example, the two-machine flow shop problem to minimize the makespan under the first interpretation of precedence constraints is NP-hard even if the reduction graph contains exactly one arc (see Lenstra et al., 1977). Under the second interpretation, the problem is

Flow Shop Scheduling Problems Under Machine–Dependent Precedence Constraints

Embed Size (px)

Citation preview

Page 1: Flow Shop Scheduling Problems Under Machine–Dependent Precedence Constraints

Journal of Combinatorial Optimization, 8, 13–28, 2004c© 2004 Kluwer Academic Publishers. Manufactured in The Netherlands.

Flow Shop Scheduling Problems UnderMachine–Dependent Precedence Constraints

A.A. GLADKY AND Y.M. SHAFRANSKYInstitute of Engineering Cybernetics, National Academy of Sciences of Belarus, Minsk, Republic of Belarus

V.A. STRUSEVICH [email protected] of Computing and Mathematical Sciences, University of Greenwich, London, UK

Received March 26, 2001; Revised September 18, 2002; Accepted September 19, 2002

Abstract. The paper considers the flow shop scheduling problems to minimize the makespan, provided thatan individual precedence relation is specified on each machine. A fairly complete complexity classification ofproblems with two and three machines is obtained.

Keywords: flow shop, precedence constraints, complexity, polynomial-time algorithm

1. Introduction

In the flow shop scheduling model a set of jobs must be processed on a number of sequentialmachines. Each job consists of several operations, and each operation has to be processedon a specified machine. For any job, its operations are processed in the same order, i.e., alljobs have the same processing route. In this paper we study problems of finding a schedulethat minimizes the completion time of the last operation, i.e., the makespan.

To meet practical requirements, additional processing restrictions can be incorporatedinto a scheduling model. We study one of these typical restrictions, known as precedenceconstraints. In the corresponding models it is assumed that a binary relation is imposed overthe set of jobs, so that if job Jj is said to precede job Jk, then job Jk may not be started untiljob Jj is completed. As a rule, a precedence relation is represented by a so-called reductiondigraph.

For the scheduling systems that involve only one processing stage (a single machine,parallel machines) there is no confusion in interpreting precedence constraints. For multi-stage scheduling models, at least two possible interpretations are known. According to thefirst of them, if job Jj precedes job Jk then the processing of job Jk on any machine maynot be started until job Jj is completed on all machines. The other interpretation says thatif job Jj precedes job Jk then the processing of job Jk on any machine may not be starteduntil job Jj is completed on the same machine. The choice between these interpretationsmay dramatically affect the computational complexity of the corresponding problems. Forexample, the two-machine flow shop problem to minimize the makespan under the firstinterpretation of precedence constraints is NP-hard even if the reduction graph containsexactly one arc (see Lenstra et al., 1977). Under the second interpretation, the problem is

Page 2: Flow Shop Scheduling Problems Under Machine–Dependent Precedence Constraints

14 GLADKY, SHAFRANSKY AND STRUSEVICH

solvable in polynomial time if the graph is series-parallel (Gordon and Shafransky, 1998;Monma, 1979; Sidney, 1979) and is NP-hard in the strong sense if the reduction graph is anarbitrary acyclic digraph (Monma, 1980). Similar differences in the complexity are knownfor various multi-stage scheduling models under different interpretations of precedenceconstraints (see Strusevich, 1997; Tanaev et al., 1994).

Under the second interpretation of precedence constraints it is traditionally assumed thatthe precedence relation is machine-independent, i.e., if job Jj precedes job Jk on somemachine, it must precede job Jk on any other machine. In other words, the relation isdescribed by a single reduction graph, the same for all machines.

In this paper we study flow shop scheduling problems under precedence constraintsthat are understood in the sense of the second interpretation. However, we assume thatthe precedence constraints are machine-dependent, i.e., an individual relation is specifiedon each machine. Research on scheduling models under machine-dependent precedenceconstraints has been originated in Shafransky and Strusevich (1998). Study of this type ofconstraints not only leads to new results in scheduling theory, but also provides a flexiblemathematical tool for handling technological or managerial decisions that specify certainjob orders on different machines.

The remainder of this paper is organized as follows. In Section 2 we give a formaldescription of the problem and introduce necessary notation. Section 3 explains how atwo-machine flow shop problem can be converted into a problem with the same reductiongraph on both machines by doubling the number of jobs. In Section 4 we show that the two-machine problem under chain-like precedence constraints is NP-hard in the strong senseeven if all processing times are unit. In Section 5 we use dynamic programming techniquesto solve the two-machine problem with a fixed number of chains on one machine. Section 6studies the three-machine flow shop problem under various assumptions on the structure ofprecedence constraints.

2. Preliminaries and notation

More formally, the flow shop scheduling problem can be formulated as follows. We aregiven m machines M1, M2, . . . , Mm and a set N = {J1, J2, . . . , Jn} of jobs. Each jobJj ∈ N consists of m operations O1 j , O2 j , . . . , Omj such that operation Oi j of job Jj hasto be processed on machine Mi . The processing time of an operation Oi j equals pi, j timeunits. Unless stated otherwise, we write pi, j = 0 to denote the fact that job Jj still has to beperformed on machine Mi , but the processing time of this operation is very small and canbe neglected. Every job is first processed on machine M1, then on M2 and so on, until it isprocessed on machine Mm . In the processing of any operation preemption is not allowed.Standard scheduling requirement says that each machine processes at most one job at atime, and each job is processed on at most one machine at a time. For a schedule S, letCmax(S) denote the value of the makespan.

If no extra constraints are imposed, the classical flow shop scheduling problem with mmachines is usually denoted by Fm‖Cmax; (see Lawler et al., 1993). Problem F2‖Cmax canbe solved in O(n log n) time due to Johnson (1954). Problem F3‖Cmax is NP-hard in thestrong sense (Garey et al., 1976). It is known that for both these problems there exists an

Page 3: Flow Shop Scheduling Problems Under Machine–Dependent Precedence Constraints

FLOW SHOP SCHEDULING PROBLEMS 15

optimal schedule with the same sequence of jobs on each machine; such a schedule is calleda permutation schedule.

For machine Mi , 1 ≤ i ≤ m, we introduce a binary relationi→. We write Jj

i→ Jk todenote the fact that job Jj precedes job Jk on machine Mi . For each machine Mi precedenceconstraints are given by a reduction graph Gi . The set of vertices of the reduction graphcoincides with the set of jobs, and there is an arc going from vertex Jj to vertex Jk if job Jj

immediately precedes job Jk .In this paper we concentrate on the two-machine and three-machine flow shop prob-

lems under machine dependent precedence constraints. We denote these problems byF2|G1, G2|Cmax and F3|G1, G2, G3|Cmax, provided that each of the graphs Gi is an arbi-trary acyclic digraph. In order to make a sharp borderline between easy and hard problems,we need to be more specific about the structure of a reduction graph. We write

Gi = ∅ if the set of jobs on machine Mi is not ordered;Gi = Chi if graph Gi is a chain, i.e., if the set of jobs on machine Mi is totally (or linearly)

ordered;Gi = Cli if graph Gi is chain-like, i.e., a collection of chains;Gi = T ri if graph Gi is tree-like, i.e., a collection of in-trees and out-trees;Gi = SPi if graph Gi is series-parallel; see, e.g. Tanaev et al. (1994) for the definition and

properties of series-parallel graphs.

Recall that problem F2|G1 = G2|Cmax is NP-hard in the strong sense, as proved inMonma (1980). On the other hand, problem F2|G1 = G2 = SP|Cmax is solvable inO(n log n) time. The latter result follows from the general theory of optimization of so-called priority-generating functions systematically exposed in Tanaev et al. (1994), see alsoGordon and Shafransky (1978) and Monma and Sidney (1979). A special purpose algorithmis presented in Monma (1979) and Sidney (1979).

3. Two machines: Reduction to identical graphs

We now describe how problem F2|G1, G2|Cmax can be reduced to a problem with the samereduction graph for both machines.

If the set of arcs of graph G2 is contained in the set of arcs of graph G1, then an optimalschedule can be found among permutation schedules feasible with respect to the graph G1.Therefore the original problem is equivalent to problem F2|G1, G2 = G1|Cmax. The casewhen all arcs of G1 are included into the set of arcs of graph G2 is symmetric.

Below we present a general scheme of reducing problem F2|G1, G2|Cmax with n jobsto problem F2|G1 = G2|Cmax with 2n jobs. Denote the processing times of a job J onmachines M1 and M2 by a(J ) and b(J ), respectively.

Substitute each job Jj in the original problem for two jobs J 1j and J 2

j , and define theprocessing times

a(J 1

j

) = a(Jj ), b(J 1

j

) = 0; a(J 2

j

) = 0, b(J 2

j

) = b(Jj ).

Page 4: Flow Shop Scheduling Problems Under Machine–Dependent Precedence Constraints

16 GLADKY, SHAFRANSKY AND STRUSEVICH

For the new problem introduce a precedence relation �→ in the following way:

J 1j �→ J 2

j , j = 1, 2, . . . , n;

J 1i �→ J 1

j if Ji1→ Jj , 1 ≤ i ≤ n; 1 ≤ j ≤ n;

J 2i �→ J 2

j if Ji2→ Jj , 1 ≤ i ≤ n; 1 ≤ j ≤ n.

Denote the reduction graph of the relation �→ by G. A schedule S feasible for theconstructed problem F2|G1 = G2 = G|Cmax can be easily translated into a scheduleS feasible for the original problem F2|G1, G2|Cmax, and vice versa. Therefore, if graphG appears to be series-parallel, a schedule optimal for problem F2|G1 = G2 = G|Cmax

can be found in polynomial time, and that schedule determines a schedule optimal for theoriginal problem F2|G1, G2|Cmax with the same value of the makespan.

4. Two machines: Unit processing times

In this section we demonstrate that problem F2|G1 = CL1, G2 = CL2, pi, j = 1|Cmax isNP-hard in the strong sense. Let the decision version of this problem be denoted by ProblemP .

Our proof consists of several phases. The starting point is problem F2|G1 = G2 =G|Cmax, which is known to be NP-hard in the strong sense due to Monma (1980). We referto the decision version of that problem as Problem P0. First (see Lemma 1), we show thatProblem P0 polynomially reduces to the decision version of problem F2|G1 = CL1, G2 =CL2, pi, j ≥ 0|Cmax denoted by Problem P1. In the second phase of the proof (see Lemma 2)we show that in turn Problem P1 polynomially reduces to the decision version of problemF2|G1 = CL1, G2 = CL2, pi, j ≥ 1|Cmax; we call the latter Problem P2. Finally (seeLemma 3), we present a scheme of pseudopolynomial reduction of Problem P2 to thedesired Problem P .

Lemma 1. Problem P0 polynomially reduces to Problem P1.

Proof: Take an arbitrary instance of Problem P0 that involves n jobs J ′1, J ′

2, . . . , J ′n to

be processed in a two-machine flow shop. The processing times of job J ′j on machines M1

and M2 are given integers. We write J ′i �→ J ′

j to point out that job J ′j cannot be started

on any machine unless job J ′i is completed on that machine. In Problem P0 we have to

determine whether there exists a schedule S0 such that Cmax(S0) ≤ y for a given positiveinteger threshold value y.

In Problem P0 for each job J ′j define the set {s1( j), s2( j), . . . , sv( j)} of indices of

its successors with respect to the relation �→. This implies that J ′j precedes each of the

jobs J ′sk ( j), 1 ≤ k ≤ v, and does not precede all other jobs. Similarly, define the set

{p1( j), p2( j), . . . , pw( j)} of indices of all predecessors of job J ′j .

For Problem P0, define the set � = {(i, j) | 1 ≤ i ≤ n, 1 ≤ j ≤ n, J ′i �→ J ′

j } of allordered pairs of indices of the jobs connected by the relation �→.

Page 5: Flow Shop Scheduling Problems Under Machine–Dependent Precedence Constraints

FLOW SHOP SCHEDULING PROBLEMS 17

Now define the following instance of Problem P1. The set of jobs consists of two typesof jobs: main jobs J1, J2, . . . , Jn associated with those in Problem P0 and auxiliary jobsdenoted by Ji, j and introduced for every pair (i, j) ∈ �. The processing times for the mainjobs remain the same as for the jobs in Problem P0. The processing times of all auxiliaryjobs are set to be equal to zero. Notice that in this proof zero processing times are interpretedas very small positive values that can be disregarded.

We now define precedence relations1→ and

2→ over the set of jobs of Problem P1 byspecifying digraphs G1 and G2 for machines M1 and M2, respectively. For each machine,the corresponding graph consists of n chains, the i-th chain is associated with main jobJi and either with the set of its successors or the set of its predecessors in Problem P0.Formally, the i-th chain of graph G1 is given by

Ji1→ Ji,s1(i)

1→ Ji,s2(i)1→ · · · 1→ Ji,sv (i),

while the i-th chain of graph G2 is given by

Jp1(i),i2→ Jp2(i),i

2→ · · · 2→ Jpw(i),i2→ Ji .

We show that in Problem P0 there exists a schedule S0 such that Cmax(S0) ≤ y if and onlyif in Problem P1 there exists a schedule S1 such that Cmax(S1) ≤ y for the same thresholdvalue y.

Since each chain contains exactly one main job and the processing times of all auxiliaryjobs can be neglected, we may restrict our consideration to those schedules for Problem P1

in which all the chains are processed on each machine as blocks, without splitting.Suppose that schedule S0 exists. We may assume that S0 is a permutation schedule.

Associating the jobs in problem P0 with the chains in Problem P1, we obtain a schedulefor the latter problem in which for each machine the order of chains is identical to the orderof jobs in schedule S0. Observe that the value of the makespan for the resulting schedule isequal to Cmax(S0), since the processing times of the auxiliary jobs are zero.

Now suppose that schedule S1 with Cmax(S1) ≤ y exists. Let the order in which the chainsare processed on machine M1 be given by permutation π1 = (i1, i2, . . . , in) of indices ofchains (or of those of the main jobs). We will call permutation π1 feasible with respect to therelation �→ if the sequence (J ′

i1, J ′

i2, . . . , J ′

in) of jobs in Problem P0 ordered in accordance

with π1 is feasible with respect to �→.If permutation π1 is infeasible with respect to �→, find the largest index k such that the set

Nk = {J ′i1, J ′

i2, . . . , J ′

ik} contains a successor of job J ′

ik. Find such a successor, say, job J ′

il,

that is maximal in Nk with respect to �→, i.e., Nk does not contain a job which is a successorof both J ′

ikand J ′

il.

Since J ′ik

�→ J ′il, it follows from the structure of chains in Problem P1 that auxiliary job

Jik il is a successor of the main job Jik in graph G1 and, at the same time, is a predecessor ofthe main job Jil in graph G2. Therefore, in schedule S2 job Jil cannot be started on machineM2 until job Jik is completed on machine M1.

For Problem P1, consider a new schedule in which the order of chains and their startingtimes on machine M2 are maintained as in schedule S1, while machine M1 processes thechains in the order (i1, . . . , il−1, il+1, . . . , ik, il , ik+1, . . . , in). This transformation increases

Page 6: Flow Shop Scheduling Problems Under Machine–Dependent Precedence Constraints

18 GLADKY, SHAFRANSKY AND STRUSEVICH

the starting times on machine M1 of the auxiliary jobs of the form Jil iµ . Still, the obtainedschedule is feasible. Indeed, recall that in Problem P0 each job J ′

iµis a successor of both J ′

ik

and J ′il. Therefore, in schedule S1 for Problem P1 job Jiµ is sequenced on M1 along with its

chain after job Jik due to the choice of indices ik and il . Since the starting times on machineM2 are kept as in schedule S1 the new schedule has the same value of makespan. Denotethis new schedule by S1 again and verify whether the permutation π1 of chains on machineM1 is feasible with respect to �→. Repeating the described transformations as many times asrequired we come to a schedule S1 such that π1 does not contradict the relation �→. Noticethat the value of the conflict index k decreases with each iteration of this process.

In the obtained schedule, let π2 be the sequence of chains on machine M2. Consider aschedule for Problem P0 in which the jobs are processed on M1 in accordance with π1

and on M2 in accordance with π2. The makespan of the obtained (not necessarily feasible)schedule does not exceed y. Using standard interchange argument, it can be shown that forproblem P0 a schedule S0 in which both machines process the jobs in accordance with afeasible permutation π1 has a no larger value of makespan, i.e., Cmax(S0) ≤ y.

Thus, in O(n2) time we have transformed Problem P0 into Problem P1.

Lemma 2. Problem P1 polynomially reduces to Problem P2.

Proof: Take an arbitrary instance of Problem P1 that involves n jobs J1, J2, . . . , Jn.

Processing time of job Jj on machine Mi is equal to pi, j . The precedence relations1→ and

2→ are defined for machines M1 and M2 so that each graph G1 and G2 is a collection ofchains. We have to determine whether there exists a schedule S1 such that Cmax(S1) ≤ yfor a given positive integer y.

For Problem P1 we split the set of all operations into two subsets denoted by Q0 andQ+. The first subset contains all operations with zero processing times, while Q+ consistsof all operations with strictly positive processing times.

Based on the taken instance of Problem P1, define the following instance of Problem P2.The set of jobs remains the same, and the relations

1→ and2→ do not change. The length of

each operation of set Q+ becomes K times larger, while the length of each operation of setQ0 becomes equal to one time unit. Here we set K = 2n +1 and show that in Problem P1 aschedule S1 with Cmax(S1) ≤ y exists if and only if in the constructed instance of ProblemP2 there exists a schedule S2 such that Cmax(S2) ≤ K (y + 1) − 1.

Suppose that schedule S1 for Problem P1 exists and in this schedule the sequences ofjob indices on machines M1 and M2 are given by (i1, . . . , in) and ( j1, . . . , jn), respectively.Assuming that each operation starts as early as possible it can be easily verified that thereexists an index r = i p = jq such that

Cmax(S1) = p1,i1 + · · · + p1,i p−1 + p1,r + p2,r + p2, jq+1 + · · · + p2, jn .

Notice that no more than 2n operations contribute to the value of Cmax(S1). When theprocessing time of each operation is enlarged K times, the value of the makespan willincrease at most K times. Moreover, if each zero processing time is increased by one timeunit, the value of the makespan will increase by at most 2n = K −1 time units. This impliesthat in Problem P2 there exists a schedule S2 such that Cmax(S2) ≤ K y + K −1 as required.

Page 7: Flow Shop Scheduling Problems Under Machine–Dependent Precedence Constraints

FLOW SHOP SCHEDULING PROBLEMS 19

Suppose now that for Problem P2 the desired schedule S2 exists. If in this schedulethe processing times of all operations of set Q0 are made zero, this does not increase themakespan. If now the processing time of each operation of set Q+ is made K times shorter,the value of the makespan will become K times less. Therefore, we obtain a schedule S forProblem P1 such that Cmax(S) ≤ y +1− 1

K . Without loss of generality, we may assume thatin schedule S all operations start as early as possible. Since for Problem P1 all processingtimes are integer, the value of Cmax(S) also has to be integer. Thus, Cmax(S) ≤ y and wemay accept schedule S as the desired schedule S1.

Thus, in O(n) time we have transformed Problem P1 into Problem P2.

Lemma 3. Problem P2 pseudopolynomially reduces to Problem P.

Proof: Take an arbitrary instance of Problem P2 that involves n jobs J1, J2, . . . , Jn. Theprecedence relations

1�→ and2�→ are defined for machines M1 and M2 so that each graph G1

and G2 is a collection of chains. We have to determine whether there exists a schedule S2

such that Cmax(S2) ≤ y for a given positive integer y. The processing times of job Jj onmachines M1 and M2 are positive integers, and in this proof we denote them by a j and b j ,respectively.

Suppose that there are k1 chains in graph G1 and k2 chains in graph G2. For each graph,its chains are numbered arbitrarily. We create an instance of Problem P in which thereare exactly

∑nj=1 max{a j , b j } + k1 + k2 + 1 jobs. Each operation of every job requires one

time unit.First, we associate each job Jj , 1 ≤ j ≤ n, with max{a j , b j } jobs denoted by

Jj,1, Jj,2, . . . , Jj,max{a j ,b j }. Furthermore, we associate the p-th chain, 1 ≤ p ≤ k1, ofgraph G1 with a job denoted by Jn+1,p. Similarly the q-th chain in graph G2 is associatedwith a job denoted by Jn+2,q . Besides, we introduce a new job denoted by J0.

For this set of jobs we define the precedence relations1→ and

2→ on machines M1

and M2, respectively. In Problem P there are k1 +1 chains on machine M1. Suppose that ingraph G1 in Problem P2 the p-th chain, 1 ≤ p ≤ k1, is of the form Ji1

1�→ Ji1

1�→ · · · 1�→ Jir .

This chain induces the p-th chain with respect to the relation1→ for Problem P:

Ji1,ai1

1→ Ji1,ai1 −11→ · · · 1→ Ji1,1

1→ Ji2,ai2

1→ Ji2,ai2 −11→ · · · 1→ Ji2,1

...1→ Jir ,air

1→ Jir ,air −11→ · · · 1→ Jir ,1

1→ Jn+1,p.

The remaining jobs are connected by the chain that is numbered by k1 + 1 and is of thefollowing structure:

J1,max{a1,b1}1→ J1,max{a1,b1}−1

1→ · · · 1→ J1,a1+11→ J2,max{a2,b2}

1→ J2,max{a2,b2}−11→ · · · 1→ J2,a2+1

...1→ Jn,max{an ,bn}

1→ Jn,max{an ,bn}−11→ · · · 1→ Jn,an+1

1→ J01→ Jn+2,1

1→ Jn+2,21→ · · · 1→ Jn+2,k2 .

Page 8: Flow Shop Scheduling Problems Under Machine–Dependent Precedence Constraints

20 GLADKY, SHAFRANSKY AND STRUSEVICH

Similarly, in Problem P there are k2 + 1 chains on machine M2. If the q-th chain,1 ≤ q ≤ k2, in graph G2 in Problem P2 is of the form Jj1

2�→ Jj22�→ · · · 2�→ Jjt , then

this chain induces the q-th chain with respect to the relation2→ for Problem P:

Jn+2,q2→ Jj1,1

2→ Jj1,22→ · · · 2→ Jj1,b j1

2→ Jj2,12→ Jj2,2

2→ · · · 2→ Jj2,b j2

...2→ Jjt ,1

2→ Jjt ,22→ · · · 2→ Jj1,b jt

.

The remaining jobs are connected by the chain that is numbered by k2 + 1 and is of thefollowing structure:

J02→ Jn+1,1

2→ Jn+1,22→ · · · 2→ Jn+1,k1

2→ J1,max{a1,b1}2→ J1,max{a1,b1}−1

2→ · · · 2→ J1,b1+12→ J2,max{a2,b2}

2→ J2,max{a2,b2}−12→ · · · 2→ J2,b2+1

...2→ Jn,max{an ,bn}

2→ Jn,max{an ,bn}−12→ · · · 2→ Jn,bn+1.

We show that in Problem P2 a schedule S2 with Cmax(S2) ≤ y exists if and only if inthe constructed instance of Problem P there exists a schedule S such that Cmax(S) ≤ Y =y + k1 + k2 + ∑n

j=1 |a j − b j | + 1.

For the constructed Problem P , consider a schedule S in which a job J ′ starts on machineM2 at the same time it is completed on M1. Suppose that there is a job J ′′ that could start oneach of the machines M1 or M2 immediately after job J ′ is completed on that machine. Forschedule S, let the sequence of jobs on machine M1 be denoted by (α1, J ′, β1, J ′′, γ1), whilethe sequence of jobs on M2 be denoted by (α2, J ′, β2, J ′′, γ2); here α1, β1 etc. representcertain sequences of jobs. Since J ′′ could start on M1 right after J ′, it follows that sequenceβ1 contains no predecessor of J ′′ with respect to the relation

1→. Analogously, β2 containsno predecessor of J ′′ with respect to the relation

2→. Therefore, we may introduce a scheduleS in which the machines process the jobs according to the sequences (α1, J ′, J ′′, β1, γ1) and(α2, J ′, J ′′, β2, γ2), respectively. Notice that for any job that belongs to both sequences β1

and β2 the difference between the starting time on machine M2 and the completion time onmachine M1 is the same in both schedules S and S. This implies that Cmax(S) = Cmax(S).

The structure of the chains for Problem P is such that no job may start on M2 until jobJ0 is completed on M1. Job J0 belongs to the (k1 + 1)-th chain on machine M1 and may notbe completed before time t1 + 1, where t1 = ∑n

j=1[max{a j , b j } − a j ].Applying the above argument (with J ′ = J0 and J ′′ = Jn+2,1), we may restrict our

attention to those schedules in which job Jn+2,1 immediately follows job J0 on bothmachines. Repeating this argument (first with J ′ = Jn+2,1, J ′′ = Jn+2,2, then withJ ′ = Jn+2,2, J ′′ = Jn+2,3 and so on) we derive that it suffices to consider schedulessuch that machine M1 starts with processing the whole (k1 + 1)-th chain in the timeinterval [0, t1 + k2 + 1], while machine M2 starting at time t1 + 1 processes the jobs

Page 9: Flow Shop Scheduling Problems Under Machine–Dependent Precedence Constraints

FLOW SHOP SCHEDULING PROBLEMS 21

J0, Jn+2,1, . . . , Jn+2,k2 in this order and without intermediate idle time. Moreover, in thisschedule job J0 and also each job of the form Jn+2,u, 1 ≤ u ≤ k2, starts on M2 at the sametime it is completed on M1.

Define t2 = ∑nj=1[max{a j , b j } − b j ]. In a symmetric way, it can be shown that without

increasing the value of the makespan, any schedule for Problem P can be transformedinto a schedule S such that machine M2 in the time interval [Cmax(S) − t2 − k1, Cmax(S)]processes the jobs of the (k2 + 1)-th chain (except job J0 assigned earlier). Moreover, insuch a schedule every job of the form Jn+1,u, 1 ≤ u ≤ k1, starts on M2 at the same time itis completed on M1.

Let S be a schedule for Problem P that possesses all above properties. Let W1 denote theset of operations processed on machine M1 that are contained in the chains 1, 2, . . . , k1 (eachwithout the opening job). Similarly, W2 denotes the set of operations processed on machineM2 that are contained in the chains 1, 2, . . . , k2 (each without the closing job). It follows thatschedule S with Cmax(S) ≤ Y exists if and only if it is possible to process the operations ofset W1 on machine M1 in the time interval [t1+k2+1, Cmax(S)−(t2+k1+1)] and to processthe operations of set W2 on machine M2 in the interval [t1 + k2 + 2, Cmax(S) − (t2 + k1)].

Observe that in Problem P2 preemption, if allowed, does not reduce the makespan. Thestructure of the sets W1 and W2 is such that they cannot be processed earlier than thejobs in the original Problem P2 are processed without preemption. On the other hand,a schedule for Problem P2 can easily be translated into a schedule for processing thesets W1 and W2. This implies that schedule S2 for Problem P2 with Cmax(S2) ≤ y fora certain integer y exists if and only if for Problem P there exists a schedule S withCmax(S) ≤ t1 + k2 + 1 + y + t2 + k1 = Y .

Thus, in no more than O(∑n

j=1(a j + b j )) time we have transformed Problem P2 intoProblem P .

Since polynomial reductions in Lemmas 1 and 2 are also pseudopolynomial, the state-ments proved in this section imply the following result.

Theorem 1. Problem F2|G1 = Cl1, G2 = Cl2, pi, j = 1|Cmax is strongly NP-hard.

Notice that problem F2|G1 = G2, pi, j = 1|Cmax is polynomially solvable, since anyfeasible permutation determines an optimal schedule.

5. Two machines: Dynamic programming

In this section we consider problem F2|G1 = Cl, G2|Cmax and show that this problemis polynomially solvable by a dynamic programming algorithm, provided that the numberof connected components in graph G1 is bounded by a constant. Problem F2|G1, G2 =Cl|Cmax is symmetric.

Let the number of components in graph G1 be denoted by k, and the components, i.e., thechains, are numbered arbitrarily. The q-th chain, 1 ≤ q ≤ k, consists of nq jobs numbered insuch a way that J q

11→ J q

21→ · · · 1→ J q

nq . The total number of jobs is equal to n = ∑kq=1 nq .

Page 10: Flow Shop Scheduling Problems Under Machine–Dependent Precedence Constraints

22 GLADKY, SHAFRANSKY AND STRUSEVICH

For a set of jobs Q define a(Q) to be equal to the total processing time of the jobs of set Qon machine M1. A similar value for machine M2 is denoted by b(Q).

Introduce a class S(i1, i2, . . . , ik) of partial schedules in which machine M1 processesthe jobs of set N 1(i1, i2, . . . , ik) = ⋃ k

q=1{J q1 , J q

2 , . . . , J qiq}, while machine M2 processes

the jobs of set N 2(i1, i2, . . . , ik) that consists of all jobs which can be started on thatmachine. Because of the flow shop nature it follows that set N 2(i1, i2, . . . , ik) is a subsetof N 1(i1, i2, . . . , ik). Besides, due to the precedence relation

2→ we derive that a job of setN 1(i1, i2, . . . , ik) belongs to set N 2(i1, i2, . . . , ik) if and only if that job has no predecessor

with respect to2→ in set N\N 1(i1, i2, . . . , ik).

Given a string (i1, i2, . . . , ik) such that 0 ≤ ir ≤ nr , r = 1, 2, . . . , k, the set N 1(i1, i2,

. . . , ik) is uniquely specified. Based on N 1(i1, i2, . . . , ik) and the structure of graph G2 theset N 2(i1, i2, . . . , ik) can be determined. Notice that this set is unique and can be found inno more than O(n2) time.

Denote the makespan of the best schedule in class S(i1, i2, . . . , ik) by f (i1, i2, . . . , ik).The idea of the dynamic programming procedure we intend to use, can be explained as fol-

lows. For a class S(i1, . . . , iq , . . . , ik), the best schedule Sq among those schedules in whichthe last job processed on machine M1 is job J q

iqcan be obtained from any optimal schedule in

class S(i1, . . . , iq−1, iq −1, iq+1, . . . , ik) by assigning job J qiq

to be processed last on machine

M1. It follows that job J qiq

is completed on machine M1 at time a(N 1(i1, . . . , iq , . . . , ik)).Define

Tq = max{ f (i1, . . . iq−1, iq − 1, iq+1, . . . , ik), a(N 1(i1, . . . , iq , . . . , ik))}. (1)

If there is a job that may start on M2 at time Tq , then this job is job J qiq

itself, andthis job is completed on M2 at time Tq + b(J q

iq). In order to convert the current schedule

into a schedule of class S(i1, . . . , iq , . . . , ik) we need to find the set of all jobs that canbe processed on machine M2 after time Tq + b(J q

iq). This set consists of all jobs of set

N 2(i1, . . . , iq , . . . , ik)\{N 2(i1, . . . , iq − 1, . . . , ik) ∪ J qiq} and we obtain

Cmax(Sq ) = Tq + b(N 2(i1, . . . , iq , . . . , ik)\N 2(i1, . . . , iq − 1, . . . , ik)). (2)

If, otherwise, no job may be started on M2 at time Tq then Cmax(Sq ) = Tq . Notice that inthis case N 2(i1, . . . , iq , . . . , ik)\N 2(i1, . . . , iq − 1, . . . , ik) = ∅, so that (2) still holds.

A schedule that is optimal in class S(i1, i2, . . . , ik) can be found by constructing allschedules Sq , q = 1, 2, . . . , k, and selecting the one with the smallest makespan.

Formally, the dynamic programming procedure can be presented as follows.

Algorithm 1

Initialization. Define f0(0, 0, . . . , 0) = 0.

Iteration. For each p = 1 to n do the following. For each ordered partition of integer pinto k integer summands i1, i2, . . . , ik such that 0 ≤ ir ≤ nr , r = 1, 2, . . . , k, performthe following:

Page 11: Flow Shop Scheduling Problems Under Machine–Dependent Precedence Constraints

FLOW SHOP SCHEDULING PROBLEMS 23

1. Find the sets N 1(i1, i2, . . . , ik) and N 2(i1, i2, . . . , ik).2. For each q, 1 ≤ q ≤ k, such that iq ≥ 1 compute Tq by formula (1) and find the set

Pq (i1, i2, . . . , ik) = N 2(i1, . . . , iq , . . . , ik)\N 2(i1, . . . , iq − 1, . . . , ik).3. Compute f (i1, . . . , ik) = min{Tq + b(Pq (i1, i2, . . . , ik)) | 1 ≤ q ≤ k, iq ≥ 1}.

The value of f (n1, n2, . . . , nk) found as a result of running Algorithm 1 defines themakespan of an optimal schedule for the original problem. The total number of parti-tions generated in all iterations of the algorithm does not exceed nk . The most time con-suming stage of processing a partition i1, i2, . . . , ik in the algorithm is the finding of setN 2(i1, i2, . . . , ik) which takes at most O(n2) time. Thus, we conclude that the total runningtime of Algorithm 1 is at most O(nk+2). This time is polynomial for a fixed value of k.

Algorithm 1 if applied to problem F2|G1 = Ch, G2|Cmax runs in O(n3) time. However,this problem can be solved faster. Assume that the jobs are numbered in the sequenceinduced by the chain on machine M1. The completion times of the jobs on M1 provide therelease dates

r j =j∑

k=1

p1, j , j = 1, 2, . . . , n, (3)

for machine M2. Thus, the original problem reduces to the single machine problem to min-imize the makespan subject to release dates. The latter problem, traditionally denoted by1|r j , prec|Cmax, is solvable in O(n2) time due to Lawler (1973). Recall that Lawler’s algo-rithm is designed for minimizing the maximum cost on a single machine subject to arbitraryprecedence constraints without release dates. Problem 1|r j , prec|Cmax can be reduced toproblem 1|prec|Lmax of minimizing the maximum lateness Lmax = max{C j − d j } underprecedence constraints, where C j denotes the completion time of job Jj , and d j is a duedate for job Jj . Notice that if graph G2 is series-parallel, then we do not need Lawler’salgorithm, since problem 1|SP|Lmax is solvable in O(n log n) time due to the fact that Lmax

is a priority-generating function, see Tanaev et al. (1994, Chapter 3) for details.Problems F2|G1, G2 = Ch|Cmax and F2|G1 = SP, G2 = Ch|Cmax are solvable in a

symmetric way.Notice that Algorithm 1 does not distinguish between trivial chains (each consisting of a

single vertex) and non-trivial chains (those with at least two vertices). This is a disadvantageif graph G1 contains a considerable number of isolated vertices. Below we describe a processof reducing the number of connected components in graph G1 for problem F2|G1 =Cl1, G2 = Cl2|Cmax. We assume that graphs G1 and G2 consist of k1 and k2 nontrivialchains, respectively. Besides, each graph may contain a certain number of isolated vertices.

Let N1 denote the set of jobs corresponding to the isolated vertices in graph G1. Set N1

may contain pairs of jobs J ′ and J ′′ that belong to the same chain in graph G2, and haveto be processed on machine M2 in a certain order in any schedule. The flow shop natureof the original problem implies that we may restrict our search for an optimal schedule toonly those schedules in which all such pairs of jobs J ′ and J ′′ are processed on machineM1 in the sequence induced by the chains of graph G2. Thus, we may introduce additionalarcs in graph G1 without increasing the optimal makespan.

Page 12: Flow Shop Scheduling Problems Under Machine–Dependent Precedence Constraints

24 GLADKY, SHAFRANSKY AND STRUSEVICH

Take a nontrivial chain C in graph G2 and find all jobs of set N1 which belong to thatchain. If C contains only one such job, treat the corresponding vertex as a (trivial) chain inG1. Otherwise, if C contains several vertices of set N1, then connect these vertices in G1

with the chain induced by C . Repeat this procedure for all nontrivial chains in graph G2.As a result, the current graph G1 contains no more than k1 + k2 chains (including trivial

ones), as well as a certain number of isolated vertices. Let N 1 denote the set of jobscorresponding to the isolated vertices in G1. None of the jobs of set N 1 is contained in anontrivial chain of graph G2, therefore the vertices corresponding to the jobs of set N 1 areisolated in both graphs G1 and G2. The best way to process the jobs of set N 1 in the two-machine flow shop is to order them according to Johnson’s algorithm for problem F2‖Cmax,see Johnson (1954). In graph G1 connect the vertices of set N 1 with the chain induced bythe Johnson permutation.

Thus, by connecting isolated vertices in graph G1 with chains without increasing theoptimal makespan we have made the number of connected components (chains) in G1 assmall as k1 + k2 + 1. Applying Algorithm 1 to the resulting problem we obtain that theoriginal problem is solvable in no more than O(nk1+k2+3) time.

6. Three machines

In this section we study the complexity of the flow shop problems with three machines. Forthe purpose of the complexity classification it suffices to consider the situations in which thejobs are linearly ordered on at least one of the machines; otherwise the problem is NP-hard.This follows from Theorem 1 and the fact that the classical problem F3‖Cmax is NP-hardin the strong sense (Garey et al., 1976).

We start with problem F3|G1 = Ch, G2 = G3 = ∅|Cmax. Let the jobs be numberedaccording to the sequence induced by the chain on machine M1. The original problem isequivalent to the flow shop problem with two machines M2 and M3 and the release datesfound by formula (3). The latter problem, usually denoted by F2|r j |Cmax, is known to beNP-hard in the strong sense due to Lenstra et al. (1977), see also Lawler et al. (1993).Symmetrically, problem F3|G1 = G2 = ∅, G3 = Ch|Cmax is also strongly NP-hard.

The situation when the jobs are linearly ordered on the middle machine M2 differs dras-tically from that considered above. In this case even problem F3|G1, G2 = Ch, G3|Cmax

can be solved in polynomial time.Assume that the jobs are numbered in such a way that J1

2→ J22→ · · · 2→ Jn . It follows

that job J1 may not start on M2 earlier that this job and the set P1 of its predecessors withrespect to the relation

1→ are completed on M1. Therefore, we start the jobs of set P1 inany feasible order followed by job J1 on machine M1 at time zero. Further, for machineM1, find the set P2 of the predecessors of job J2 that are not assigned to be processedon M1. Start the jobs of set P2 in any feasible order followed by job J2 on machine M1

immediately after job J1 is completed. Repeating the process, schedule all other jobs onmachine M1. Let π1 denote the obtained sequence of jobs. Notice that all required sets ofpredecessors P1, P2 etc. can be found in no more than O(u) time, where u denotes thenumber of arcs in graph G1. Compute the completion times of the jobs on machine M2,provided that machine M1 processes the jobs according to π1 starting at time zero without

Page 13: Flow Shop Scheduling Problems Under Machine–Dependent Precedence Constraints

FLOW SHOP SCHEDULING PROBLEMS 25

intermediate idle time and each operation on machine M2 starts as early as possible. Treat thefound completion times as the release dates r j for machine M3. Apply Lawler’s algorithm(Lawler, 1973) to the single machine problem for machine M3 with the graph G3 and thefound release dates r j . Thus, problem F3|G1, G2 = Ch, G3|Cmax is solvable in O(n2)time.

Notice that for problem F3|G1 = T r, G2 = Ch, G3|Cmax the release dates for machineM3 can be found in O(n) time, since the number of arcs in a tree-like graph is no greaterthan n. If G3 = ∅, then the jobs on machine M3 are ordered as on M2. If G3 = SP then theoriginal problem reduces to problem 1|SP|Lmax and is solvable in O(n log n) time (Tanaevet al., 1994). The problem F3|G1, G2 = Ch, G3 = T r |Cmax can be treated in a symmetricway.

To complete this study, we only need to consider the three-machine problem, providedthat the jobs are linearly ordered on two machines M1 and M3. It can be seen that problemF3|G1 = Ch1, G2 = ∅, G3 = Ch3|Cmax problem is equivalent to the single machineproblem to minimize the makespan with release and delivery times, also known as the“head-body-tail” problem. The latter problem in general is NP-hard in the strong sense butis solvable in polynomial time if the release dates and the delivery times are agreeable,i.e., the jobs can be numbered in such a way that the sequence of the release dates is non-decreasing while the sequence of the delivery times is non-increasing; see Hall and Shmoys(1992) for a discussion. This implies that F3|G1 = Ch1, G2 = ∅, G3 = Ch3|Cmax isNP-hard in the strong sense, provided that the chains Ch1 and Ch3 are different, whileproblem F3|G1 = Ch, G2 = ∅, G3 = Ch|Cmax with the same chains on M1 and M3 issolvable in O(n) time by assigning the jobs on M2 in the same sequence as on the othermachines.

We are left to establish the complexity status of problem F3|G1 = Ch, G2 = ∅, G3 =Ch|Cmax. Below we show that the problem is NP-hard even if graph G2 is of a very simplestructure.

Theorem 2. Problem F3|G1 = Ch, G2 = ∅, G3 = Ch|Cmax is NP-hard even if thereduction graph G2 contains a single arc.

Proof: We prove the theorem by reduction from the following NP-complete problem.PARTITION: Given positive integers e1, . . . , er , is it possible to partition the index set{1, . . . , r} into disjoint subsets X and Y such that

∑i∈X ei = E , where E = ∑r

i=1 ei/2?Define the following instance of problem F3|G1 = Ch, G2 = ∅, G3 = Ch|Cmax. There

are r + 2 jobs J0, J1, . . . , Jr , Jr+1. The processing times are as follows:

p1,0 = 0, p2,0 = E, p3,0 = E ;

p1, j = 0, p2, j = e j , p3, j = 0, j = 1, 2, . . . , r ;

p1,r+1 = E, p2,r+1 = E, p3,r+1 = 0.

On machines M1 and M3 the jobs have to be processed in the order of their numbering. Onmachine M2 job Jr+1 precedes job J0; the other jobs are independent.

Page 14: Flow Shop Scheduling Problems Under Machine–Dependent Precedence Constraints

26 GLADKY, SHAFRANSKY AND STRUSEVICH

It can be verified that for the constructed instance a schedule S such that Cmax(S) ≤ 4Eexists if and only if PARTITION has a solution.

Observe that the proof of Theorem 2 implies that the single machine problem to minimizethe makespan with agreeable release dates and delivery times is NP-hard even if only onejob has a non-zero release date, one job has a non-zero delivery time and the reductiongraph contains exactly one arc.

Recall that throughout the paper we have assumed that zero processing times are inter-preted as small positive numbers. Under this interpretation, for each machine the reductiongraph contains vertices associated with these jobs. An alternative interpretation is to treatoperations with zero processing times as missing, i.e., the corresponding jobs are not pro-cessed on the corresponding machine, and therefore induce no vertices in the related reduc-tion graph. The chosen interpretation of zero processing times may affect the complexityof the problem, a well-known example is the two-machine flow shop problem with no-waitin process, see Tanaev et al. (1994) for details. Below we present another example of thissort.

Theorem 3. Problem F3|G1 = Ch, G2 = ∅, G3 = Ch|Cmax is NP-hard in the strongsense if the operations with zero processing times are treated as missing.

Proof: We prove the theorem by reduction from the following problem that is NP-complete in the strong sense.3-PARTITION: Given positive integers e1, . . . , e3r and integer E such that

∑3ri=1 ei = r E

and E/4 < ei < E/2, is it possible to partition the index set {1, . . . , 3r} into r disjointsubsets X j such that

∑i∈X j

ei = E?Define the following instance of problem F3|G1 = Ch, G2 = ∅, G3 = Ch|Cmax. There

are 4r jobs J1, J2, . . . , J4r . The processing times are as follows:

p1,1 = E, p2,1 = E p3,1 = 2E ;

p1, j = 2E, p2, j = E, p3, j = 2E, j = 2, . . . , r − 1;

p1,r = 2E, p2,r = E, p3,r = 0;

p1,r+i = 0, p2,r+i = ei , p3,r+i = 0, i = 1, . . . , 3r.

On machines M1 and M3 the jobs have to be processed in the sequence (J1, J2, . . . , Jr ),and the operations of the other jobs are missing. On machine M2 the jobs are independent.

It can be verified that for the constructed instance a schedule S such that Cmax(S) ≤ 2r Eexists if and only if 3-PARTITION has a solution.

Notice that if zero processing times are treated as small positive numbers, a similarcomplexity result holds, provided that the reduction graphs on the first and the third machinesare chain-like. Here, in each reduction graph, the jobs with zero processing times induceisolated vertices, while the vertices associated with other jobs form a single chain.

Table 1 summarizes the results obtained in this paper. We write “NPS” or “NP” if thecorresponding problem is NP-hard in the strong sense or in the ordinary sense, respectively.

Page 15: Flow Shop Scheduling Problems Under Machine–Dependent Precedence Constraints

FLOW SHOP SCHEDULING PROBLEMS 27

Table 1. Complexity of flow shop problems under machine-dependent precedence constraints

m G1 G2 G3 Condition Complexity

2 Cl1 Cl2 pi j = 1 NPS

2 Ch G O(n2)

2 G Ch O(n2)

2 Ch SP O(n log n)

2 SP Ch O(n log n)

2 Cl G O(nk+2)†

2 G Cl O(nk+2)†

2 Cl1 Cl2 O(nk1+k2+3)‡

3 Ch ∅ ∅ NPS

3 ∅ ∅ Ch NPS

3 G1 Ch G3 O(n2)

3 Ch1 Ch2 ∅ O(n)

3 ∅ Ch2 Ch3 O(n)

3 T r Ch SP O(n log n)

3 SP Ch T r O(n log n)

3 Ch1 ∅ Ch3 NPS

3 Ch Cl Ch 1 arc in G2 NP

3 Ch ∅ Ch O(n)

3 Ch ∅ Ch Missing operaitons NPS

†k is the number of connected components of graph G.‡k1 and k2 are the numbers of non-trivial chains in G1 and G2, respectively.

Acknowledgment

This paper was completed while the second author was visiting the University of Greenwich.The support of this visit by The Royal Society is greatly appreciated. Comments from twoanonymous referees have contributed to improving clarity of the proofs.

References

M.R. Garey, D.S. Johnson, and R. Sethi, “The complexity of flowshop and jobshop scheduling,” Math. Oper. Res.,vol. 1, pp. 117–129, 1976.

V.S. Gordon and Y.M. Shafransky, “Optimal sequencing under series-parallel precedence constraints,” DokladyAkademii Nauk BSSR, vol. 22, pp. 244–247, 1978 (in Russian).

L.A. Hall and D.B. Shmoys, “Jackson’s rule for single machine scheduling: Making a good heuristic better,” Math.Oper. Res., vol. 17, pp. 22–35, 1992.

S.M. Johnson, “Optimal two- and three-stage production schedules with setup times included,” Naval Res. Log.Quart., vol. 1, pp. 61–68, 1954.

E.L. Lawler, “Optimal sequencing of a single machine subject to precedence constraints,” Manag. Sci., vol. 19,pp. 544–546, 1973.

Page 16: Flow Shop Scheduling Problems Under Machine–Dependent Precedence Constraints

28 GLADKY, SHAFRANSKY AND STRUSEVICH

E.L. Lawler, J.K. Lenstra, A.H.G. Rinnooy Kan, and D.B. Shmoys, “Sequencing and scheduling: Algorithmsand complexity,” in Handbooks in Operations Research and Management Science, Logistics of Production andInventory, S.C. Graves, A.H.G. Rinnooy Kan, and P.H. Zipkin (Eds.), North-Holland, Amsterdam et al., 1993,vol. 4, pp. 445–522.

J.K. Lenstra, A.H.G. Rinnooy Kan, and P. Brucker, “Complexity of machine scheduling problems,” Ann. Discr.Math., vol. 1, pp. 343–362, 1977.

C.L. Monma, “The two-machine maximum flow time problem with series parallel precedence constraints: Analgorithm and extensions,” Oper. Res., vol. 27, pp. 792–797, 1979.

C.L. Monma, “Sequencing to minimize the maximum job cost,” Oper. Res., vol. 28, pp. 942–951, 1980.C.L. Monma and J.B. Sidney, “Sequencing with series-parallel precedence constraints,” Math. Oper. Res., vol. 4,

pp. 215–234, 1979.Y.M. Shafransky and V.A. Strusevich, “The open shop scheduling problem with a given sequence of jobs on one

machine,” Naval Res. Log., vol. 45, pp. 705–731, 1998.J.B. Sidney, “The two-machine maximum flow time problem with series parallel precedence relation,” Oper. Res.,

vol. 27, pp. 782–791, 1979.V.A. Strusevich, “Shop scheduling problems under precedence constraints,” Ann. Oper. Res., vol. 69, pp. 351–377,

1997.V.S. Tanaev, V.S. Gordon, and Y.M. Shafransky, Scheduling Theory: Single-Stage Systems, Kluwer Academic

Publishers: Dordrecht et al., 1994.V.S. Tanaev, Y.N. Sotskov, and V.A. Strusevich, Scheduling Theory: Multi-Stage Systems, Kluwer Academic

Publishers: Dordrecht et al., 1994.