13
Discrete Optimization Routing open shop and flow shop scheduling problems Wei Yu a , Zhaohui Liu a,, Leiyang Wang a , Tijun Fan b a Department of Mathematics, East China University of Science and Technology, Shanghai 200237, China b Institute of Operations and Supply Chain Management, East China University of Science and Technology, Shanghai 200237, China article info Article history: Received 13 September 2010 Accepted 24 February 2011 Available online 4 March 2011 Keywords: Scheduling Routing Open shop Flow shop Complexity Approximation algorithm abstract We consider a generalization of the classical open shop and flow shop scheduling problems where the jobs are located at the vertices of an undirected graph and the machines, initially located at the same ver- tex, have to travel along the graph to process the jobs. The objective is to minimize the makespan. In the tour-version the makespan means the time by which each machine has processed all jobs and returned to the initial location. While in the path-version the makespan represents the maximum completion time of the jobs. We present improved approximation algorithms for various cases of the open shop problem on a general graph, and the tour-version of the two-machine flow shop problem on a tree. Also, we prove that both versions of the latter problem are NP-hard, which answers an open question posed in the literature. Ó 2011 Elsevier B.V. All rights reserved. 1. Introduction In the classical scheduling problems, it is assumed that the machines and jobs are located at the same site, and hence there are no time lags between the processing of two successive jobs or operations. However, this assumption does not justify for some cases in practice. In the Flexible Manufacturing Systems, the machines are located at different sites of a workshop and the jobs to be processed must be trans- ported to the sites. In the Traveling Repairmen Problem, the repairmen (machines) must travel on a transportation network to provide repairing service for the customers (jobs) located at the nodes of the network (see Afrati et al., 1986). Another example comes from the scheduling of robots which provide daily maintenance for some equipments distributed at different locations (see Averbakh and Berman, 1996, 1999). In this paper we consider a generalization of the classical scheduling problem where the jobs are located at the vertices of an undirected graph and the machines travel along the graph to process the jobs. Since this problem involves deciding both the routing and scheduling of the machines, we call it routing-scheduling problem. For convenience we denote a particular routing-scheduling problem by adding ‘‘R’’ to the standard three-field notation for the corresponding classical scheduling problem (see Lawler et al., 1993). We consider three types of the underlying graphs, i.e., the general graph, tree and line. Except when specified the underlying graph is assumed to be a general graph. It should be noted that the routing-scheduling problems can also be seen as the corresponding scheduling problems with machine-inde- pendent and sequence-dependent setup times. To illustrate the representation of the routing-scheduling problems we give two examples. One is ROkC max which denotes the problem of assigning machines traveling on a general graph to process jobs in the open shop mode to minimize the makespan. Another example is treeRF2kC max which refers to the problem of assigning two machines traveling on a tree to process jobs in the flow shop mode to minimize the makespan. From the latter example, we see that a prefix added to ‘‘R’’ specifies the underlying graph. For the routing-scheduling problems with the makespan criterion, we distinguish two versions. In the tour-version the makespan means the time by which each machine has processed the jobs assigned to it and returned to its initial location. While in the path-version the makespan represents the maximum completion time of all jobs. Closely related to the routing-scheduling problems are two classical routing problems, i.e., the well-known Traveling Salesman Problem (TSP for short) and the Shortest Hamiltonian Path Problem (SHPP for short) on a graph satisfying the triangle inequality. Currently, Chris- tofides (1976)’s 3/2-approximation algorithm is the best available for TSP. For SHPP, which requires to find a shortest path going through all vertices, Hoogeveen (1991) showed that a modified version of Christofides’ algorithm achieves the same approximation factor 3/2 even 0377-2217/$ - see front matter Ó 2011 Elsevier B.V. All rights reserved. doi:10.1016/j.ejor.2011.02.028 Corresponding author.Tel.: +86 21 64252308; fax: +86 21 64252018. E-mail address: [email protected] (Z. Liu). European Journal of Operational Research 213 (2011) 24–36 Contents lists available at ScienceDirect European Journal of Operational Research journal homepage: www.elsevier.com/locate/ejor

Routing open shop and flow shop scheduling problems

  • Upload
    wei-yu

  • View
    238

  • Download
    24

Embed Size (px)

Citation preview

European Journal of Operational Research 213 (2011) 24–36

Contents lists available at ScienceDirect

European Journal of Operational Research

journal homepage: www.elsevier .com/locate /e jor

Discrete Optimization

Routing open shop and flow shop scheduling problems

Wei Yu a, Zhaohui Liu a,⇑, Leiyang Wang a, Tijun Fan b

a Department of Mathematics, East China University of Science and Technology, Shanghai 200237, Chinab Institute of Operations and Supply Chain Management, East China University of Science and Technology, Shanghai 200237, China

a r t i c l e i n f o

Article history:Received 13 September 2010Accepted 24 February 2011Available online 4 March 2011

Keywords:SchedulingRoutingOpen shopFlow shopComplexityApproximation algorithm

0377-2217/$ - see front matter � 2011 Elsevier B.V. Adoi:10.1016/j.ejor.2011.02.028

⇑ Corresponding author.Tel.: +86 21 64252308; faxE-mail address: [email protected] (Z. Liu).

a b s t r a c t

We consider a generalization of the classical open shop and flow shop scheduling problems where thejobs are located at the vertices of an undirected graph and the machines, initially located at the same ver-tex, have to travel along the graph to process the jobs. The objective is to minimize the makespan. In thetour-version the makespan means the time by which each machine has processed all jobs and returned tothe initial location. While in the path-version the makespan represents the maximum completion time ofthe jobs. We present improved approximation algorithms for various cases of the open shop problem on ageneral graph, and the tour-version of the two-machine flow shop problem on a tree. Also, we prove thatboth versions of the latter problem are NP-hard, which answers an open question posed in the literature.

� 2011 Elsevier B.V. All rights reserved.

1. Introduction

In the classical scheduling problems, it is assumed that the machines and jobs are located at the same site, and hence there are no timelags between the processing of two successive jobs or operations. However, this assumption does not justify for some cases in practice. Inthe Flexible Manufacturing Systems, the machines are located at different sites of a workshop and the jobs to be processed must be trans-ported to the sites. In the Traveling Repairmen Problem, the repairmen (machines) must travel on a transportation network to providerepairing service for the customers (jobs) located at the nodes of the network (see Afrati et al., 1986). Another example comes from thescheduling of robots which provide daily maintenance for some equipments distributed at different locations (see Averbakh and Berman,1996, 1999).

In this paper we consider a generalization of the classical scheduling problem where the jobs are located at the vertices of an undirectedgraph and the machines travel along the graph to process the jobs. Since this problem involves deciding both the routing and scheduling ofthe machines, we call it routing-scheduling problem. For convenience we denote a particular routing-scheduling problem by adding ‘‘R’’to the standard three-field notation for the corresponding classical scheduling problem (see Lawler et al., 1993). We consider three typesof the underlying graphs, i.e., the general graph, tree and line. Except when specified the underlying graph is assumed to be a general graph.It should be noted that the routing-scheduling problems can also be seen as the corresponding scheduling problems with machine-inde-pendent and sequence-dependent setup times. To illustrate the representation of the routing-scheduling problems we give two examples.One is ROkCmax which denotes the problem of assigning machines traveling on a general graph to process jobs in the open shop mode tominimize the makespan. Another example is tree–RF2kCmax which refers to the problem of assigning two machines traveling on a tree toprocess jobs in the flow shop mode to minimize the makespan. From the latter example, we see that a prefix added to ‘‘R’’ specifies theunderlying graph. For the routing-scheduling problems with the makespan criterion, we distinguish two versions. In the tour-versionthe makespan means the time by which each machine has processed the jobs assigned to it and returned to its initial location. While inthe path-version the makespan represents the maximum completion time of all jobs.

Closely related to the routing-scheduling problems are two classical routing problems, i.e., the well-known Traveling Salesman Problem(TSP for short) and the Shortest Hamiltonian Path Problem (SHPP for short) on a graph satisfying the triangle inequality. Currently, Chris-tofides (1976)’s 3/2-approximation algorithm is the best available for TSP. For SHPP, which requires to find a shortest path going through allvertices, Hoogeveen (1991) showed that a modified version of Christofides’ algorithm achieves the same approximation factor 3/2 even

ll rights reserved.

: +86 21 64252018.

W. Yu et al. / European Journal of Operational Research 213 (2011) 24–36 25

when one end of the path is fixed. Throughout the paper, we always refer to q as the approximation factor for TSP and r as the approx-imation factor for SHPP with one fixed end vertex if algorithms for the two problems are requested.

A number of results on the single-stage routing-scheduling problems have been reported in the literature. Tsitsiklis (1992) discussed thecomplexity of various single-machine problems on a graph with a constant number of vertices or a line. Karuno et al. (1997, 2002), Gaur etal. (2003), Bhattacharya et al. (2008) and Yu and Liu (2010) presented approximation algorithms for different single-machine makespanproblems with job release time constraints on a line, a tree or a cycle. Karuno and Nagamochi (2003, 2004) and Augustine and Seiden(2004) developed approximate solutions for some parallel-machine makespan problems on a line or a tree with a constant number ofleaves.

The multi-stage routing-scheduling problems have been studied in Averbakh and Berman (1996, 1999) and Averbakh et al. (2005, 2006).Averbakh and Berman (1996) dealt with the two-machine flow shop problem RF2kCmax on a tree or a cactus, and obtained polynomial timeoptimization algorithms under the restriction that each machine must travel along a shortest tour. However, the complexity of tree–RF2kCmax is left as an open problem, and we will tackle it in this paper. Averbakh and Berman (1999) considered the tour-version of them-machine flow shop problem RFkCmax, and proposed an approximation algorithm with the performance ratio maxfmþ1

2 ;qg, provided witha q-approximate solution for TSP on the underlying graph. Averbakh et al. (2006) dealt with the tour-version of the m-machine open shopproblem ROkCmax, and obtained an mþ1

2 þ q� �

-approximation algorithm. For m = 2 and q 6 2, they presented an improved 1þ q2

� �-approx-

imation algorithm. Averbakh et al. (2005) gave a 6/5-approximation algorithm for a special case of line–RO2kCmax which is proven NP-hardin Averbakh et al. (2006).

In this paper we also focus on the routing open shop and flow shop problems with the makespan criterion. We treat both versions of

ROkCmax. For the tour-version, we present a max 4qþ32qþ3 ;

2qþ23

n o-approximation algorithm for the two-machine case and a max m

2

� �; 4

3 q� �

þ 13

� �-

approximation algorithm for the m-machine case. Note that q 6 2 in the former algorithm. Our algorithms do better than those in Averbakhet al. (2006). For the path-version, we propose an 8�3r

5�2r-approximation algorithm for the two-machine case, where r 6 2, and an r-approx-imation algorithm for the m-machine case, where

r ¼max m

2

� �;2

� �þ 1

2 ; m 6 6;m2

� �þ 1

3 ; m > 6:

(

We also treat the problem tree–RF2kCmax. First, we prove the problem is NP-hard no matter the tour-version or the path-version, and henceanswer the open question posed in Averbakh and Berman (1996). Then, we give a 10/7-approximation algorithm for the tour-version. Also,we prove that the tour-version of RF2kCmax has an optimal schedule which is a permutation schedule.

The rest of the paper is organized as follows. Section 2 gives the formal description of the problem and some notations. In Section 3 westudy the approximation algorithms for RO2kCmax as well as ROkCmax. In Section 4 we discuss the problem tree–RF2kCmax. Finally, someconcluding remarks are given in Section 5.

2. Problem formulation and notations

The problem studied in the paper is described formally as follows. Given an undirected graph G = (V,E) with the vertex setV = {0,1,2, . . .,n} and the edge set E, there are m machines M1,M2, . . . ,Mm located at vertex 0, and a job j located at vertex j forj = 1,2, . . . ,n. Job j consists of m operations O1,j,O2,j, . . . ,Om,j, and operation Oi,j must be processed nonpreemptively by machine Mi for pi,j timeunits. To process the jobs, all machines travel along the graph at the same speed. The travel time between vertices j and k is given by tj,k. For(j,k) 2 E, tj,k can be viewed as the length of the edge. In general, tj,k is the length of the shortest path between vertices j and k. Clearly, tj,kssatisfy the triangle inequality. Note that a machine may pass a vertex without processing the job located there, or wait there to process thejob.

A schedule S specifies a starting time si,j(S) for each operation Oi,j such that each machine processes at most one job and each job is pro-cessed by at most one machine at any time. In a schedule for the flow shop problem, the operations O1,j,O2,j, . . . ,Om,j must be processed inthis order. However, for the open shop problem, the operations of a job may be processed in any order. The completion time of job j inschedule S is given by Cj(S) = max16i6mCi,j(S), where Ci,j(S) = si,j(S) + pi,j is the completion time of operation Oi,j. Obviously, Cj(S) = Cm,j(S) holdsfor the flow shop problem. Let Cmax(S) be the makespan of S. Then, in the path-version Cmax(S) = max16j6nCj(S), while in the tour-versionCmax(S) = max16j6n{Cj(S) + tj,0}. Our task is to find a schedule that minimizes the makespan. As illustrated in Section 1, we denote the openshop problem by ROkCmax and the flow shop problem by RFkCmax.

With respect to the makespan criterion, it is reasonable to assume that each machine always travels towards the next job to be pro-cessed by it. Thus, m sequences a1,a2, . . . ,am on the job set {1,2, . . . ,n} suffice to specify a schedule for RFkCmax, where ai specifies the rout-ing of Mi. After processing ai(j � 1), Mi travels towards ai(j). On arriving at ai(j), Mi processes it immediately if Mi�1 has processed the job;else, waits there. A flow shop schedule S = (a1,a2, . . . ,am) is called permutation schedule if a1 = a2 = � � � = am.

Only the machine routings are insufficient to specify a schedule for the open shop problem ROkCmax since the processing order of theoperations of each job is also unknown. However, we mainly consider the so-called normal schedules for ROkCmax specified by the machineroutings. Let S = (a1,a2, . . . ,am) be a normal schedule for ROkCmax. Then, Mi travels towards ai(j) after processing ai(j � 1). On arriving at ai(j),Mi processes it immediately if it is not being processed by another machine; else, waits there. If several machines are available for the samejob, we make a choice arbitrarily, and the non-chosen machines continue to wait.

We now introduce some notations to be used throughout the paper. For any V0 # Vn{0}, let T(V0) (resp. Tq(V0)) denote the shortest (resp.q-approximate) tour on V0 [ {0} as well as its length, and H(V0) (resp. Hr(V0)) denote the shortest (resp. r-approximate) Hamiltonian pathon V0 [ {0} starting from vertex 0 as well as its length. For notational compactness, when V0 [ {0} = V we denote T(V0), Tq(V0), H(V0), Hr(V0) asT, Tq, H, Hr respectively.

Each Hamiltonian path on V0 [ {0} starting from vertex 0 indicates a processing order of jobs in V0. However, each tour on V0 [ {0} impliestwo opposite processing orders of jobs in V0. Given a sequence p on V0 and some U # V0, let pR denote the reverse sequence of p, and pnUthe sequence on V0nU obtained by deleting the jobs in U from p without changing the order of the other jobs.

26 W. Yu et al. / European Journal of Operational Research 213 (2011) 24–36

Let Li ¼Pn

j¼1pi;j and pj ¼Pm

i¼1pi;j be the load of machine Mi and the processing time of job j respectively. Define the maximum load andthe maximum processing time as L = max16i6mLi and pmax = max16j6npj respectively.

Let STOm and CTOmmax be the optimal schedule and its makespan for the tour-version of the m-machine open shop problem. SPOm and CPOm

max forthe path-version of the problem, and STF2 and CTF2

max for the tour-version of the two-machine flow shop problem are defined similarly.

3. Open shop problem on a general graph

In this section we treat the open shop problem ROkCmax. Note that line–RO2kCmax has been proven NP-hard in Averbakh et al. (2006). Wepresent two approximation algorithms for RO2kCmax in Sections 3.1 and 3.2, where one is for the tour-version, and the other is for the path-version. Then we show how the algorithms can be used to deal with the m-machine cases in Section 3.3.

3.1. Tour-version of two-machine case

Averbakh et al. (2006) gave a 1þ q2

� �-approximation algorithm for the tour-version of RO2kCmax, provided that q 6 2. Here we give a

better maxf4qþ32qþ3 ;

2qþ23 g-approximation algorithm. For example, when q ¼ 3

2, i.e., the underlying TSP is solved by Christofides’ Algorithm,

the performance ratios of our and Averbakh et al.’s algorithms are 5/3 and 7/4 respectively.Our algorithm first generates two candidate schedules, where one is obtained by running Averbakh et al.’s algorithm, and the other is

obtained by solving the corresponding zero travel time problem to optimality. Then, it takes the better one as the approximate solution.Averbakh et al.’s algorithm is described as follows.

Algorithm H1 (Averbakh et al., 2006)

Step 1. Find a q-approximate tour Tq for TSP on V, which defines two opposite machine routings, denoted by Tq and TRq.

Step 2. Construct a normal schedule SA ¼ ðTq; TRqÞ, i.e., M1 travels along Tq and M2 along TR

q. If neither machine waits during the travel, out-put SA as the approximate solution. Otherwise, let c be the vertex where some machine waits. We construct another schedule SB byexchanging the processing order of two operations O1,c and O2,c in SA, and choose the best one among SA, SB as the approximatesolution.

The classical zero travel time problem O2kCmax is solved by Gonzalez and Sahni (1976)’s algorithm. Yu and Liu (1999) gave an improvedexecution for the algorithm, and we here use it to produce a candidate schedule for RO2kCmax. Let I1 = {jjp1,j 6 p2,j} and I2 = {jjp1,j > p2,j}. Let kbe a job such that min{p1,k,p2,k} = max16j6nmin{p1,j,p2,j}. Without loss of generality, we suppose that p1,k = min{p1,k,p2,k}, i.e., k 2 I1. LetI01 ¼ I1 n fkg. Yu and Liu showed that ððI01; I2; kÞ; ðk; I01; I2ÞÞ is an optimal schedule for O2kCmax, and its makespan is max{L,pmax}.

Algorithm Tour-O2(q)

Step 1. Run Algorithm H1 to generate a schedule S1.Step 2. Construct a normal schedule S2 = (a1,a2) as follows:

if pmax 6 L, set

a1 ¼ ðTqðI01Þ; TqðI2Þ; kÞ; a2 ¼ ðk; TqðI01Þ; TqðI2ÞÞ;

if pmax > L, which implies pk = pmax, set

a1 ¼ ðTq n fkg; kÞ; a2 ¼ ðk; Tq n fkgÞ:

Step 3. Choose the best one among S1, S2 as the approximate solution.

Before proving the performance ratio of Algorithm Tour-O2(q), we give two lower bounds on the optimal makespan. Note that thebounds hold even for the m-machine case.

Lemma 3.1. (i) CTOmmax P Lþ T; (ii) CTOm

max P pj þ 2t0;j for any j 2 {1,2, . . . ,n}.

The following upper bound on Cmax(S1) have been proved in Lemma 1 of Averbakh et al. (2006).

Lemma 3.2. CmaxðS1Þ 6 pc2 þ Lþ qT 6 pmax

2 þ Lþ qT.

In Lemmas 3.3 and 3.4, we prove some upper bounds on Cmax(S2).

Lemma 3.3. If pmax 6 L, then Cmax(S2) 6 L + 2t0,k + 2qT.

Proof. When all the travel times are ignored, S2 is a schedule of length max{L,pmax} = L as shown in Gonzalez and Sahni (1976) and Yu andLiu (1999). When the travel times are taken into consideration, the total travel time of each machine is 2t0;k þ Tq I01

� �þ TqðI2Þ, and the delay

of each operation is no more than it. Thus,

CmaxðS2Þ 6 Lþ 2t0;k þ Tq I01� �þ TqðI2Þ 6 Lþ 2t0;k þ 2qT: �

Lemma 3.4. If L < pmax < L + qT, then Cmax(S2) 6 L + 2t0,k + q T.

W. Yu et al. / European Journal of Operational Research 213 (2011) 24–36 27

Proof. When all the travel times are ignored, S2 is a schedule of length max{L,pmax} = pmax, and there are at least pmax � L units of idle timeon each machine before the time pmax. When the travel times are taken into consideration, the total travel time of each machine is 2t0,k + Tq.Thus,

CmaxðS2Þ 6 pmax þ 2t0;k þ Tq � ðpmax � LÞ 6 Lþ 2t0;k þ qT: �

Based on the above lemmas, we can prove the performance ratio of Algorithm Tour-O2(q).

Theorem 3.1. Algorithm Tour-O2(q), where q 6 2, is a max 4qþ32qþ3 ;

2qþ23

n o-approximation algorithm for the tour-version of RO2kCmax. Particularly,

its performance ratio does not exceed 5/3 when q = 3/2.

Proof. We distinguish two cases.

Case 1. pmax 6 L. By Lemmas 3.2 and 3.3, we have

CmaxðS1Þ 6pmax

2þ Lþ qT 6

32

Lþ qT 632 Lþ qT

Lþ TCTO2

max; ð1Þ

and

CmaxðS2Þ 6 Lþ 2t0;k þ 2qT 6 Lþ ð1þ 2qÞT 6 Lþ ð1þ 2qÞTLþ T

CTO2max: ð2Þ

Hence

minfCmaxðS1Þ;CmaxðS2ÞgCTO2

max

6 min32 Lþ qT

Lþ T;Lþ ð1þ 2qÞT

Lþ T

� 6

4qþ32qþ3 ; if q 6 3

2 ;

q 6 2qþ23 ; if 3

2 < q 6 2:

(

Case 2. pmax > L. If pmax P L + qT, then

CmaxðS2Þ ¼ pmax þ 2t0;k; ð3Þ

and S2 is an optimal schedule according to Lemma 3.1(ii). Next we assume pmax < L + qT. By Lemmas 3.2 and 3.4, we have

minfCmaxðS1Þ;CmaxðS2Þg 623

CmaxðS1Þ þ13

CmaxðS2Þ 623

pmax

2þ Lþ qT

�þ 1

3ðLþ 2t0;k þ qTÞ

¼ Lþ qT þ 13ðpmax þ 2t0;kÞ 6 Lþ qT þ 1

3CTO2

max 6Lþ qTLþ T

þ 13

� CTO2

max: ð4Þ

In addition, we have pmax 6 2L by definition. Thus,

CmaxðS1Þ 6pmax

2þ Lþ qT 6 2Lþ qT 6

2Lþ qTLþ T

CTO2max;

and

minfCmaxðS1Þ;CmaxðS2ÞgCTO2

max

6 minLþ qTLþ T

þ 13;2Lþ qT

Lþ T

� 6

2qþ 23

;

where the last inequality holds for q 6 2. h

The following two examples show that the bound in Theorem 3.1 is tight for q 6 32.

Example 1. The underlying graph is given in Fig. 1(a), where only edges (0,8) and (7,8) have nonzero travel times. The processing times ofthe jobs are defined below:

p1;j ¼ 0; p2;j ¼ �; j 2 f1;2;3;4;5g;p1;6 ¼ 0; p2;6 ¼ 4qþ 4� 5�;

p1;j ¼ �; p2;j ¼ 0; j 2 f7;8;9;10;11g;p1;12 ¼ 4qþ 4� 5�; p2;12 ¼ 0;

p1;13 ¼ p2;13 ¼ 4qþ 4;

where � is a sufficiently small positive number. The optimal schedule is STO2 = (T,TR) with T = (6,12,2,4,8,10,1,3,5,7,9,11,13), andCTO2

max ¼ 8qþ 12 (see Fig. 2). By definition, k = 13 and pmax = L = 8q + 8. Suppose that

Tq ¼ ð6;1;3;5;2;4;13;8;10;7;9;11;12Þ;TqðI01Þ ¼ ð1;2;3;4;5;6Þ;TqðI2Þ ¼ ð7;8;9;10;11;12Þ

Fig. 2. The schedules constructed in Example 1.

Fig. 1. The underlying graphs in Examples 1 and 2.

28 W. Yu et al. / European Journal of Operational Research 213 (2011) 24–36

are the q-approximate tours chosen in Algorithm Tour-O2(q). Then, S1 and S2 can be constructed as in Fig. 2, where Cmax(S1) =Cmax(S2) = 16q + 12. Thus we have

minfCmaxðS1Þ;CmaxðS2ÞgCTO2

max

¼ 4qþ 32qþ 3

:

Example 2. Suppose that q 6 32. The underlying graph is given in Fig. 1(b), where the edges (0,1) and (2,3) have zero travel time. The job

located at vertex 2 is the only job with nonzero processing time, and p1,2 = p2,2 = 2. The optimal schedule is STO2 = (T,TR), whereT = (1,2,3,4,5), and CTO2

max ¼ 6. By definition, k = 2 and pmax = 4 > L = 2. Given a q-approximate tour Tq = (1,4,2,3,5), Algorithm Tour-O2(q)produces S1 = ((1,4,2,3,5), (5,3,2,4,1)) and S2 = ((1,4,3,5,2), (2,1,4,3,5)). It can be verified that Cmax(S1) = Cmax(S2) = 4q + 4. Thus we have

minfCmaxðS1Þ;CmaxðS2ÞgCTO2

max

¼ 2qþ 23

:

3.2. Path-version of two-machine case

We now turn to the path-version of RO2kCmax, and present a 8�3r5�2r-approximation algorithm, where r 6 2 is the performance ratio of an

algorithm for SHPP on graph G. Let k be defined as in Section 3.1.

Algorithm Path-O2(r)

Step 1. Find the minimum spanning tree eT of graph G and then double all the edges to obtain an Eulerian graph. Construct a tour bT suchthat k is adjacent to 0. Run Algorithm H1 with the tour bT instead of Tq to generate a schedule S1.

W. Yu et al. / European Journal of Operational Research 213 (2011) 24–36 29

Step 2. Choose a r-approximate Hamiltonian path Hr starting from the vertex 0, and construct a normal schedule S2 = (Hr,Hr).Step 3. Choose the best one among S1, S2 as the approximate solution.

Obviously, the following lower bounds on the optimal makespan CPOmmax hold.

Lemma 3.5. (i) CPOmmax P Lþ H; (ii) CPOm

max P pj þ t0;j for any j 2 {1,2, . . . ,n}.

The following lemmas give the upper bounds on the makespan of S1 and S2.

Lemma 3.6. CmaxðS1Þ 6 pc2 þ Lþ 2H 6 pmax

2 þ Lþ 2H.

Proof. According to Lemma 3.2, it holds that CmaxðS1Þ 6 pc2 þ Lþ bT 6 pmax

2 þ Lþ bT . Since bT 6 2eT 6 2H, where eT represents the total length ofthe edges in the spanning tree eT , the conclusion holds. h

Lemma 3.7. Cmax(S2) 6 2L + rH.

Proof. S2 is a permutation schedule. Without loss of generality, we suppose that each job is first processed by M1 and then by M2. Then, itsmakespan is equal to the completion time of the last job processed by M2. Since the waiting time of M2 does not exceed L1 and the traveltime is Hr, it holds that Cmax(S2) 6 L1 + L2 + Hr 6 2L + rH. h

Combining Lemmas 3.5, 3.6, 3.7, we can prove the following theorem.

Theorem 3.2. Algorithm Path-O2(r), where r 6 2, is a 8�3r5�2r-approximation algorithm for the path-version of RO2kCmax. Particularly, its

performance ratio does not exceed 7/4 if r = 3/2.

Proof. We first prove CmaxðS1Þ 6 32 Lþ 2H. If pmax 6 L, then by Lemma 3.6, we have CmaxðS1Þ 6 Lþ pmax

2 þ 2H 6 32 Lþ 2H. Consider the case of

pmax > L. It holds that pk = pmax. If k = c, then since k is adjacent to 0 in the tour bT , we have

CmaxðS1Þ 6 maxfLþ 2H; t0;k þ pkg;

which implies Cmax(S1) 6 L + 2H; otherwise, Cmax(S1) 6 t0,k + pk and S1 is optimal. If k – c, then by Lemma 3.6, we have

CmaxðS1Þ 6pc

2þ Lþ 2H 6

pc þ pk

4þ Lþ 2H 6

12

Lþ Lþ 2H ¼ 32

Lþ 2H:

Combining CmaxðS1Þ 6 32 Lþ 2H with Lemmas 3.7, 3.5(i), we have

minfCmaxðS1Þ;CmaxðS2ÞgCPO2

max

6 min32 Lþ 2H

Lþ H;2Lþ rH

Lþ H

� 6

8� 3r5� 2r

:

where the last inequality holds for r 6 2. h

3.3. m-Machine case

In this subsection, we deal with the general m-machine case of ROkCmax. Given an instance I of ROmkCmax, we first construct an instanceI0 of RO2kCmax on the same underlying graph. I0 still consists of n jobs. The processing times of two operations of the job located at vertex jare given by

p01;j ¼Xdm=2e

i¼1

pi;j; p02;j ¼Xm

i¼dm=2eþ1

pi;j:

Let L0 and p0max be the maximum load and the maximum processing time of I0. It is obvious that p0max ¼ pmax and

L0 ¼ maxXdm=2e

i¼1

Li;Xm

i¼dm=2eþ1

Li

( )6

m2

l mL:

Then, we apply Algorithm Tour-O2(q) or Algorithm Path-O2(r) to I0 to obtain several two-machine schedules. Each two-machine schedule Sfor I0 can be converted into an m-machine schedule for I without increasing the makespan, where the first dm/2emachines travel as M1 in S,and the other machines travel as M2 in S.

Algorithm Tour-Om (q)

Step 1. Construct the two-machine instance I0, and apply Algorithm Tour-O2(q) to it to generate two two-machine schedules S1 and S2.Step 2. Convert S1 and S2 into two m-machine schedules, denoted as S1 and S2 still.Step 3. Choose the best one among S1, S2 as the approximate solution.

30 W. Yu et al. / European Journal of Operational Research 213 (2011) 24–36

Theorem 3.3. Algorithm Tour-Om (q) produces a max m2

� �; 4

3 q� �

þ 13-approximate solution for any q P 1 for the tour-version of ROmkCmax.

Proof. Note that the relations (1)–(4) in the proof of Theorem 3.1 hold for any q P 1 for the two-machine instance I0 if L is replaced by L0,and the makespan of S1 and S2 for I is no more than the makespan of S1 and S2 for I0.

If pmax 6 L0, then by (1) and (2), we have

minfCmaxðS1Þ;CmaxðS2Þg 623

CmaxðS1Þ þ13

CmaxðS2Þ 623

pmax

2þ L0 þ qT

�þ 1

3ðL0 þ 2t0;k þ 2qTÞ ¼ L0 þ 4

3qT þ 1

3ðpmax þ 2t0;kÞ:

If pmax P L0 + qT, then by (3), it holds that Cmax(S2) = pmax + 2t0,k = pk + 2t0,k. Thus, by Lemma 3.1(ii), S2 is optimal. If L0 + q T > pmax > L0, then by(4), we have

minfCmaxðS1Þ;CmaxðS2Þg 6 L0 þ qT þ 13ðpmax þ 2t0;kÞ:

In sum, we have

minfCmaxðS1Þ;CmaxðS2Þg 6 L0 þ 43qT þ 1

3ðpmax þ 2t0;kÞ 6 d

m2eLþ 4

3qT þ 1

3CTOm

max 6 maxm2

l m;43q

� ðLþ TÞ þ 1

3CTOm

max

6 maxm2

l m;43q

� þ 1

3

� CTOm

max :

This completes the proof. h

Now we turn to the path-version. When the two-machine schedule S2 constructed in Step 2 of Algorithm Path-O2(r) is converted into anm-machine schedule, its performance is bad, so we do not employ it, and construct a new schedule instead.

Algorithm Path-Om

Step 1. Construct the two-machine instance I0, and apply Step 1 of Algorithm Path-O2(r) to it to generate a schedule S1.Step 2. Construct another schedule S2 = (a1,a2) for I0 as follows:

if pmax 6 L0, set

a1 ¼ ðbT n ðI2 [ fkgÞ; bT R n I01Þ;a2 ¼ ðbT n I2; bT R n I1Þ;if pmax > L0, which implies pk = pmax, set

a1 ¼ ðbT n fkg; kÞ;a2 ¼ bT ;where k; I1; I

01 and I2 are defined as in Section 3.1 and bT is the tour generated in Step 1 of Algorithm Path-O2(r).

Step 3. Convert S1 and S2 into two m-machine schedules, denoted as S1 and S2 still.Step 4. Choose the best one among S1, S2 as the approximate solution.

The following two lemmas are proved for the two-machine instance I0. Certainly, they hold for the original m-machine instance I .

Lemma 3.8. If pmax 6 L0, then Cmax(S2) 6 L0 + 4H.

Proof. When all the travel times are ignored, S2 is a schedule of length max{L0,pmax} = L0. When the travel times are taken into consider-ation, the makespan of S2 increases by at most 2bT , an upper bound on the total travel time of each machine. Thus,CmaxðS2Þ 6 L0 þ 2bT 6 L0 þ 4H. h

Lemma 3.9. If pmax > L0, then CmaxðS2Þ 6 L0 þ t0;k þ bT 6 L0 þ t0;k þ 2H.

Proof. Analogous to Lemma 3.4. h

Theorem 3.4. Algorithm Path-Om produces an r-approximate solution for the path-version of ROmkCmax, where

r ¼max m

2

� �;2

� �þ 1

2 ; m 6 6;m2

� �þ 1

3 ; m > 6:

(

Proof. Note that Lemma 3.6 holds after substituting L0 for L. We distinguish two cases.

Case 1. pmax 6 L0. By Lemma 3.6, we have

CmaxðS1Þ 6pmax

2þ L0 þ 2H 6

12

CPOmmax þ

m2

l mLþ 2H 6 maxfdm

2e;2g þ 1

2

� CPOm

max :

By Lemmas 3.8 and 3.5(i), we have

CmaxðS2Þ 6 L0 þ 4H 6m2

l mLþ 4H 6 maxf m

2

l m;4gCPOm

max :

Thus, the conclusion holds.

W. Yu et al. / European Journal of Operational Research 213 (2011) 24–36 31

Case 2. pmax > L0. By Lemmas 3.6, 3.9 and 3.5, we have

minfCmaxðS1Þ;CmaxðS2Þg 623

CmaxðS1Þ þ13

CmaxðS2Þ 6 L0 þ 2H þ 13ðpmax þ t0;kÞ 6

m2

l mLþ 2H þ 1

3CPOm

max 6 max dm2e;2

n oþ 1

3

� CPOm

max :

This completes the proof. h

4. Two-machine flow shop problem on a tree

In this section we prove that both versions of tree–RF2kCmax are NP-hard and give a 10/7-approximation algorithm for the tour-version.Also, we will show that the tour-version of RF2kCmax has an optimal schedule which is a permutation schedule.

4.1. NP-hardness proof

The proof is done by a reduction from the well-known NP-hard problem PARTITION described below.PARTITION: Given n positive integers a1,a2, . . . ,an with

Pnj¼1aj ¼ 2B and amax = max16j6naj < B, is there an index set J � {1,2, . . . ,n} such

thatP

j2Jaj ¼P

jRJaj ¼ B?

Theorem 4.1. Both the tour-version and the path-version of tree–RF2kCmax are NP-hard.

Proof. Given an instance I of PARTITION, we construct a decision instance I0 of tree–RF2kCmax as follows.As showed in Fig. 3, the tree consists of n + 1 branches originating from vertex 0. For j = 1,2, . . . ,n, the edges (0,n + j) and (n + j, j) each

require the travel time aj. The edge (0,2n + 1) requires zero travel time. The processing times of the operations of jobs 1,2, . . . ,2n + 1 aregiven by

p1;j ¼ 0; p2;j ¼ 7Baj; j ¼ 1;2; . . . ;n;

p1;nþj ¼ p2;nþj ¼ 7B2 þ 7Baj; j ¼ 1;2; . . . ; n;

p1;2nþ1 ¼ 14B2; p2;2nþ1 ¼ 0:

Define L ¼P2nþ1

j¼1 p1;j ¼P2nþ1

j¼1 p2;j ¼ ð7nþ 28ÞB2. The decision instance asks if there is a feasible schedule S with Cmax(S) 6 L + 10B, no matterthe tour-version or the path-version.

Suppose that there is a desired schedule S for I0. Let n + u be the first job in {n + 1,n + 2, . . . ,2n} processed by M1, and Anþu1 the set of jobs

processed before n + u by M1, in schedule S. Set J ¼ Anþu1 n fug. Let Ti (i = 1,2) be the total travel time of Mi, and W2 the total waiting time of

M2 in S. We claim

(i) both M1 and M2 process job 2n + 1 lastly in S;(ii) W2 6 2B;

(iii) J � {1,2, . . . ,n} andP

j2Jaj ¼ B.

(i) Suppose that the last job processed by M1 is q, not 2n + 1 in S. It can be observed that in any schedule the total travel time of eachmachine is at least 8B � 2amax before the processing of the last job. Thus, T1 > 6B and the completion time Cq(S) satisfies

CqðSÞPX2nþ1

j¼1

p1;j þ T1 þ p2;q > Lþ 6Bþ 7B ¼ Lþ 13B;

which contradicts Cmax(S) 6 L + 10B. Then, 2n + 1 is the last job processed by M1, and T1 P 8B, and the completion time of 2n + 1 satisfies

C2nþ1ðSÞPX2nþ1

j¼1

p1;j þ T1 þ p2;2nþ1 P Lþ 8B:

If the last job processed by M2 is not job 2n + 1, we have Cmax(S) P C2n+1(S) + 7B P L + 15B, also a contradiction.

Fig. 3. The tree in the proof of Theorem 4.1.

32 W. Yu et al. / European Journal of Operational Research 213 (2011) 24–36

(ii) Since M2 processes 2n + 1 lastly, it holds that T2 P 8B. Then,

CmaxðSÞ ¼X2nþ1

j¼1

p2;j þ T2 þW2 P Lþ 8BþW2:

By Cmax(S) 6 L + 10B, we obtain W2 6 2B.(iii) By (i), 2n + 1 R J. Thus, J � {1,2, . . . ,n}. For j 2 J, the processing of j and n + j by M1 is separated by n + u, so T1 P 8Bþ 2

Pj2Jaj. Then,

CmaxðSÞP Lþ 8Bþ 2P

j2Jaj. Combining it with Cmax(S) 6 L + 10B, we obtainP

j2Jaj 6 B. Next we proveP

j2Jaj ¼ B.Let v be the first job inf1;2; . . . ;2ng n Anþu

1 processed by M2 in schedule S. Then, v = n + u or v is processed after n + u by M1. Let Av2 be the set of jobs processed

before v by M2. Then, Av2 # Anþu

1 . Let Tvi ði ¼ 1;2Þ denote the travel time of Mi before it processes job v. We have s2;v P Tv

1 þ p1;nþu and

W2 P s2;v � Tv2 �

Xj2Av

2

p2;j P p1;nþu þ Tv1 � Tv

2 �Xj2Av

2

p2;j:

Since

Tv1 P 2

Xj2J

t0;j þ t0;nþu P 4Xj2J

aj þ au

and

Tv2 6 4

Xj2Av

2

aj þ t0;v 6 4X

j2Anþu1

aj þ t0;v 6 4Xj2J

aj þ 4au þ 2av ;

we have

W2 P p1;nþu �Xj2Av

2

p2;j � 3au � 2av P 7B2 þ 7Bau �X

j2Anþu1

p2;j � 5amax P 7B2 þ 7Bau �Xj2J

p2;j � p2;u � 5amax ¼ 7B2 �Xj2J

7Baj � 5amax:

If B >P

j2Jaj, i.e., B PP

j2Jaj þ 1, then W2 P 7B � 5amax > 2B. Thus,P

j2Jaj ¼ B, which implies J is a solution for I .Conversely, suppose that the PARTITION instance I has a solution J = {j1, . . . , jk}. Let {jk+1, . . . , jn} = {1, . . . ,n}n{j1, . . . , jk}. We construct a per-

mutation schedule S for I0 according to the job sequence

ðj1; . . . ; jk; jkþ1;nþ jkþ1; . . . ; jn;nþ jn;nþ j1; . . . ; nþ jk;2nþ 1Þ:

It is easy to verify that in S the total travel time of each machine is 4Pn

j¼1aj þ 2P

j2Jaj ¼ 10B, no matter the tour-version or the path-version.To prove Cmax(S) 6 L + 10B, it suffices to prove that no wait occurs for M2 in S.

Since p1;ji¼ 0 for i = 1,2, . . . ,n, M2 does not wait before processing jk+1 in S. Moreover, since M2 requiresPkþ1

i¼1 p2;ji ¼ p1;nþjkþ1¼ 7B2 þ 7Bajkþ1

units of time more than M1 in order to complete the first k + 1 jobs, it does not wait before n + jk+1. Sincep2;nþju

¼ p1;nþjuand

Pvi¼1p2;ji

¼ 7B2 þ 7BPv

i¼kþ1aji P p1;nþjvfor k + 1 6 u < v 6 n, M2 does not wait before n + jv. Further, since p2;nþju

¼ p1;nþjuand

Pni¼1p2;ji ¼ 14B2 P p1;nþju

for 1 6 u 6 k, M2 does not wait until the end. This completes the proof. h

Remark 1. Since when there is a solution for I in the proof of Theorem 4.1, the schedule constructed for I0 is a permutation schedule, weconclude that finding an optimal permutation schedule for tree–RF2kCmax is also NP-hard.

4.2. 10/7-Approximation algorithm for the tour-version

In this subsection, we present a 10/7-approximation algorithm for the tour-version of tree–RF2kCmax. First we show that the optimalschedule can be found in permutation schedules even for the tour-version of RF2kCmax. Although Averbakh and Berman (1996) have provedthat there is a permutation schedule which is optimal if each machine must travel along a shortest tour, our result is better.

Lemma 4.1. For the tour-version of RF2kCmax, there is an optimal schedule such that the jobs first processed by two machines are the same, and soare the jobs finally processed.

Proof. Let S = (a1,a2) be an optimal schedule. Without loss of generality we assume that a2 = (1,2, . . . ,n) and a1(1) = i. If i = 1, then the jobsfirst processed by two machines are the same. If i > 1, we consider the schedule S0 ¼ ða1;a02Þ, where a02 ¼ ði;1;2; . . . ; i� 1; iþ 1; . . . ;nÞ, andshow that Cmax(S0) 6 Cmax(S).

Note that C1,j(S0) = C1,j(S) for j = 1,2, . . . ,n, and a02ðjÞ ¼ a2ðjÞ for j = i + 1, . . . ,n. In order to prove Cmax(S0) 6 Cmax(S), we need only to proves2,i+1(S0) 6 s2,i+1(S).

Since s2,1(S) = C1,1(S) P t0,i + p1,i + ti,1 + p1,1 and s2,i(S0) = t0,i + p1,i, it holds that

s2;1ðS0Þ ¼ maxfC1;1ðS0Þ; s2;iðS0Þ þ p2;i þ ti;1g ¼ maxfC1;1ðSÞ; t0;i þ p1;i þ ti;1 þ p2;ig 6 C1;1ðSÞ þ p2;i ¼ s2;1ðSÞ þ p2;i:

Further,

s2;2ðS0Þ ¼ maxfC1;2ðS0Þ; s2;1ðS0Þ þ p2;1 þ t1;2g 6 maxfC1;2ðSÞ; s2;1ðSÞ þ p2;i þ p2;1 þ t1;2g 6 s2;2ðSÞ þ p2;i;

W. Yu et al. / European Journal of Operational Research 213 (2011) 24–36 33

and by induction, we can obtain s2,i�1(S0) 6 s2,i�1(S) + p2,i. So

s2;iþ1ðS0Þ ¼ maxfC1;iþ1ðS0Þ; s2;i�1ðS0Þ þ p2;i�1 þ ti�1;iþ1g 6 maxfC1;iþ1ðSÞ; s2;i�1ðSÞ þ p2;i þ p2;i�1 þ ti�1;i þ ti;iþ1g6 maxfC1;iþ1ðSÞ; s2;iðSÞ þ p2;i þ ti;iþ1g ¼ s2;iþ1ðSÞ:

Owing to the symmetry of the roles of M1 and M2 in the two-machine flow shop, a similar argument can prove that the jobs finally pro-cessed by two machines are the same too. h

Theorem 4.2. For the tour-version of RF2kCmax, there is an optimal schedule which is a permutation schedule.

Proof. By Lemma 4.1, there exists an optimal schedule S1 = (a1,a2) such that a1(1) = a2(1) and a1(n) = a2(n). Without loss of generality weassume that a1 = (1,2, . . . ,n). Then, a2(1) = 1, a2(n) = n.

For i = 2,3, . . . ,n � 2, let Si be a schedule obtained by shifting O2,i to immediately follow O2,i�1 in Si�1. Obviously, Sn�2 = (a1,a1) is apermutation schedule, and we need to prove Sn�2 is optimal. Assume that Cmax(Sn�2) > Cmax(S1). Then there exists some i P 1 such that

CmaxðSiÞ ¼ CmaxðS1Þ;dl ¼ CmaxðSlÞ � CmaxðS1Þ > 0; l ¼ iþ 1; . . . ;n� 2:

Suppose that the total travel time T1 of M1 is not greater than the total travel time T2 of M2 in Si; otherwise, we exchange the roles of M1 andM2, and consider the symmetric problem, for which the initial optimal schedule is given by Si with the reversed machine routings.

For each operation O1,j (j = 1,2, . . . ,n), its starting times and completion times in S1,S2, . . . ,Sn�2 do not change, so we simply denote themby s1,j and C1,j in the following discussion. For l = i, i + 1, . . . ,n � 2, let Wl denote the total waiting time of M2 in Sl. We will show that forl = i + 1, i + 2, . . . ,n � 2, Sl possesses the following properties:

(i) s2,j(Sl) P C1,j + dl for j = l + 1, l + 2, . . . ,n;(ii) M2 does not wait after processing job i + 1;

(iii) Wl 6Wi.

We first show that Si+1 possesses the above properties. Since Si+1 is obtained by shifting O2,i+1 to follow O2,i in Si, andCmax(Si+1) = Cmax(Si) + di+1, we have

s2;jðSiþ1ÞP s2;jðSiÞ þ diþ1 P C1;j þ diþ1; j ¼ iþ 2; . . . ;n;

i.e., Si+1 satisfies property (i). Property (ii) follows from property (i). Before processing job i, the waiting times of M2 in Si and Si+1 are equal. IfM2 does not wait after processing job i in Si+1, then Wi+1 6Wi, and property (iii) holds. Otherwise, due to property (ii), the waiting only hap-pens before processing job i + 1 (see Fig. 4, where r is the job processed immediately after i by M2 in Si), and

C1;iþ1 � C2;iðSiþ1Þ � ti;iþ1 6 C1;r � tiþ1;r � C2;iðSiþ1Þ � ti;iþ1 6 C1;r � C2;iðSiÞ � ti;r ;

i.e., the waiting time of M2 after job i in Si+1 is no more than that in Si. Property (iii) holds too.Suppose that properties (i), (ii) and (iii) hold for Sl. We next show they hold for Sl+1. Let u and v denote respectively the jobs processed

immediately after l and l + 1 by M2 in Sl (see Fig. 4). Since Sl satisfies property (ii), the waiting of M2 after job i + 1 in Sl+1 can only happen justbefore l + 1 and v are processed. If the waiting happens before processing l + 1, then C1,l+1 � C2,l(Sl) > tl,l+1, and hence

tl;u ¼ ðC1;lþ1 � C2;lðSlÞÞ þ ðs2;uðSlÞ � C1;lþ1Þ > tl;lþ1 þ ðC1;u � C1;lþ1ÞP tl;lþ1 þ tlþ1;u;

Fig. 4. The schedules in the proof of Theorem 4.2.

34 W. Yu et al. / European Journal of Operational Research 213 (2011) 24–36

which contradicts the triangle inequality. If the waiting happens just before processing v, then since Sl satisfies property (i), we haveCmax(Sl+1) = Cmax(S1), a contradiction again. So we conclude that Sl+1 satisfies property (ii), which leads to Wl+1 = Wl 6Wi, i.e., Sl+1 satisfiesproperty (iii) too.

Because Sl possesses properties (i) and (ii), and Sl+1 satisfies property (ii), we have

s2;jðSlþ1ÞP C1;j þ dl þ CmaxðSlþ1Þ � CmaxðSlÞ ¼ C1;j þ dlþ1; j ¼ lþ 2; lþ 3; . . . ;n;

i.e. Sl+1 possesses property (i). By property (iii), we have Wn�2 6Wi. Combining the inequality with T1 6 T2, we obtain

CmaxðSn�2Þ ¼Wn�2 þXn

j¼1

p2;j þ T1 6Wi þXn

j¼1

p2;j þ T2 ¼ CmaxðSiÞ ¼ CmaxðS1Þ;

a contradiction with the assumption Cmax(Sn�2) > Cmax(S1). This completes the proof. h

Let S be a permutation schedule for the tour-version of RFkCmax. We let t(S) denote the travel time of a machine in S, and C0maxðSÞ denote

the makespan for the corresponding zero travel time problem given that the job sequence is the same as in S. The following lemma hasbeen proved in Averbakh and Berman (1999).

Lemma 4.2. CmaxðSÞ ¼ C0maxðSÞ þ tðSÞ.

In what follows, we study the tour-version of tree–RF2kCmax. Averbakh and Berman (1996, 1999) have developed several 3/2-approximationalgorithms for it. We here present an improved 10/7-approximation algorithm. Define k; I1; I

01 and I2 as in Section 3.1, where

p1,k = min{p1,k,p2,k}. Note that any depth-first tour is optimal for TSP on a tree.

Algorithm Tour-F2-Tree

Step 1. Choose a depth-first tour bT such that k is adjacent to 0.Step 2. Construct two permutation schedules based on bT and bT R. Let S1 denote the better one.Step 3. Construct a permutation schedule S2 based on the sequence a ¼ ðbT n ðI2 [ fkgÞ; bT n I01Þ. If pmax 6 L, generate another permutation

schedule S3 based on the sequence ðbT n I2; bT n I1Þ. Note that k is the first job in the sequence defined by bT .Step 4. Choose the best one among S1, S2 and S3 (if available) as the approximate solution.

Lemma 4.3. Let A = max{pmax,L} and piðJÞ ¼P

j2Jpi;j for J � {1,2, . . . ,n} and i = 1, 2. Then it holds that (i) CTF2max P Aþ T; (ii)

CTF2max P p1ðI01Þ þ p1;k þ p2;k þ p2ðI2Þ þ T.

Proof. Running Johnson (1954)’s Algorithm to solve the corresponding zero travel time problem to optimality will give a permutationschedule with the job sequence ðI01; k; I2Þ. So, we have

C0maxðS

TF2ÞP max A; p1 I01� �þ p1;k þ p2;k þ p2ðI2Þ

� �:

By Lemma 4.2, it holds that CTF2max P C0

maxðSTF2Þ þ T . Thus, the desired conclusions hold. h

From Theorem 1 in Averbakh and Berman (1999), we know that C0maxðS1Þ 6 3

2 A. Combining it with Lemma 4.2, we have the followinglemma.

Lemma 4.4. CmaxðS1Þ 6 32 Aþ T.

Several bounds on the makespan of S2 and S3 are given in the following two lemmas.

Lemma 4.5. CmaxðS2Þ 6 CTF2max þmaxf0; p2ðI01Þ � p1;k; p1ðI2Þ � p2;kg þ T: Specially, if pmax > L, then CmaxðS2Þ 6 CTF2

max þ T.

Proof. Since each machine travels the tour bT at most twice in S2, we have t(S2) 6 2T. Since S2 is a permutation schedule based on thesequence a, there is an index l such that

C0maxðS2Þ ¼

Xl

j¼1

p1;aðjÞ þXn

j¼l

p2;aðjÞ;

where a(j) is the jth element of a. If a(l) = k, then

C0maxðS2Þ ¼ p1 I01

� �þ p1;k þ p2;k þ p2ðI2Þ 6 CTF2

max � T;

where the inequality follows from Lemma 4.3(ii). Similarly, if aðlÞ 2 I01, then

C0maxðS2Þ 6 p1 I01

� �þ p2 I01

� �þ p2;k þ p2ðI2Þ 6 CTF2

max � T þ p2 I01� �� p1;k;

if a(l) 2 I2, then

C0maxðS2Þ 6 p1 I01

� �þ p1;k þ p1ðI2Þ þ p2ðI2Þ 6 CTF2

max � T þ p1ðI2Þ � p2;k:

In addition, if pmax > L, then a(l) = k must hold. Thus, by Lemma 4.2, we obtain the desired conclusions. h

Lemma 4.6. If pmax 6 L, then Cmax(S3) 6 L + p1,k + 2T.

W. Yu et al. / European Journal of Operational Research 213 (2011) 24–36 35

Proof. Since each machine travels the tour bT at most twice in S3, t(S3) 6 2T holds. Thus, by Lemma 4.2, we need only to proveC0

maxðS3Þ 6 Lþ p1;k.Consider the corresponding zero travel time problem. As shown in Yu and Liu (1999), I01; I2; k

� �; k; I01; I2� �� �

is an optimal schedule for thecorresponding open shop problem, where its makespan is max{L,pmax} = L. Then, k; I01; I2

� �; ðk; I01; I2Þ

� �is a flow shop schedule with

makespan no more than L + p1,k, i.e., C0maxðS3Þ 6 Lþ p1;k. h

Using Lemmas 4.3, 4.4, 4.5, 4.6, we can prove the performance ratio of Algorithm Tour-F2-Tree.

Theorem 4.3. Algorithm Tour-F2-Tree is a 10/7-approximation algorithm for the tour-version of tree–RF2kCmax.

Proof. If pmax > L, then by Lemmas 4.4, 4.5 and 4.3(i), we have

minfCmaxðS1Þ;CmaxðS2Þg 623

CmaxðS1Þ þ13

CmaxðS2Þ 613

CTF2max þ Aþ T 6

43

CTF2max:

Next we assume pmax 6 L. Then, A = L holds. Let 14 < b < 1

2 be a parameter whose value will be determined later. We analyze two cases.

Case 1. p1,k 6 bL. By Lemma 4.6, it holds that Cmax(S3) 6 (1 + b)L + 2T. Combining the inequality with Lemma 4.4, we have

minfCmaxðS1Þ;CmaxðS3Þg 62� 2b3� 2b

CmaxðS1Þ þ1

3� 2bCmaxðS3Þ 6

4� 2b3� 2b

ðAþ TÞ 6 4� 2b3� 2b

CTF2max:

Case 2. p1,k > bL. Then, it holds that

p1ðI2Þ � p2;k 6 L� p1;k � p2;k 6 L� 2p1;k 6 ð1� 2bÞL;

and

p2 I01� �� p1;k 6 L� p2;k � p1;k 6 ð1� 2bÞL:

By Lemma 4.5, we have CmaxðS2Þ 6 CTF2max þ ð1� 2bÞLþ T. Further, by Lemma 4.4, we have

minfCmaxðS1Þ;CmaxðS2Þg 64b

4bþ 1CmaxðS1Þ þ

14bþ 1

CmaxðS2Þ 61

4bþ 1CTF2

max þ Aþ T 64bþ 24bþ 1

CTF2max:

Combining Cases 1 and 2, and setting b = 1/3, we obtain

minfCmaxðS1Þ;CmaxðS2Þ;CmaxðS3ÞgCTF2

max

6 max4� 2b3� 2b

;4bþ 24bþ 1

� ¼ 10

7:

This completes the proof. h

5. Conclusions

In this paper we discuss some routing open shop and flow shop scheduling problems in which the jobs are located at the vertices of anundirected graph and the machines move between the vertices to process the jobs. For the open shop problem on a general graph, we pres-ent approximation algorithms for various cases. An obvious direction for further research is to develop better approximation algorithms,especially for the m-machine cases. Also, it is interesting to decide whether the two-machine cases have approximation algorithms withthe performance ratio q or r, i.e., algorithms that do as well as applied to the underlying TSP or SHPP. For the two-machine flow shop prob-lem on a tree whose complexity is left open in the literature, we give the NP-hardness proof. Also, we prove that the tour-version of thetwo-machine flow shop problem on a general graph has a permutation schedule that is optimal. However, it is open whether the path-ver-sion has the property. We present a 10/7-approximation algorithm for the tour-version of the two-machine flow shop problem on a tree.The path-version is still in need of efficient approximation algorithms.

Acknowledgements

The authors are grateful to the anonymous referees for their helpful comments. This research is supported by the National Natural Sci-ence Foundation of China (Grants No. 10771067 and No. 70871038) and the Fundamental Research Funds for the Central Universities ofChina.

References

Afrati, F., Cosmadakis, S., Papadimitriou, C.H., Papageorgiou, G., Papakostantinou, N., 1986. The complexity of the traveling repairman problem. Informatique Theorique etApplications 20 (1), 79–87.

Augustine, J.E., Seiden, S., 2004. Linear time approximation schemes for vehicle scheduling problems. Theoretical Computer Science 324, 147–160.Averbakh, I., Berman, O., 1996. Routing two-machine flowshop problems on networks with special structure. Transportation Science 30, 303–314.Averbakh, I., Berman, O., 1999. A simple heuristic for m-machine flow-shop and its applications in routing-scheduling problems. Operations Research 47, 165–170.Averbakh, I., Berman, O., Chernykh, I.D., 2005. A 6/5-approximation algorithm for the two-machine routing open-shop problem on a 2-node network. European Journal of

Operational Research 166, 3–24.Averbakh, I., Berman, O., Chernykh, I.D., 2006. The routing open-shop problem on a network: Complexity and approximation. European Journal of Operational Research 173,

531–539.

36 W. Yu et al. / European Journal of Operational Research 213 (2011) 24–36

Bhattacharya, B., Carmi, P., Hu, Y., Shi, Q., 2008. Single vehicle scheduling problems on path/tree/cycle networks with release and handling times. Lecture Notes in ComputerScience 5369, 800–811.

Christofides, N., 1976. Worst-case analysis of a new heuristic for the traveling salesman problem. Technical Report. Pittsburgh: Graduate School of Industrial Administration,Carnegie-Mellon University.

Gaur, D.R., Gupta, A., Krishnamurti, R., 2003. A 53-approximation algorithm for scheduling vehicles on a path with release and handling times. Information Processing Letters

86, 87–91.Gonzalez, T., Sahni, S., 1976. Open shop scheduling to minimize finish time. Journal of the Association for Computing Machinery 23, 665–679.Hoogeveen, J.A., 1991. Analysis of Christofide’s heuristic: Some paths are more difficult than cycles. Operations Research Letters 10, 291–295.Johnson, S.M., 1954. Optimal two- and three-stage production schedules with setup times included. Naval Research Logistic Quarterly 1, 61–68.Karuno, Y., Nagamochi, H., 2003. 2-Approximation algorithms for the multi-vehicle scheduling problem on a path with release and handling times. Discrete Applied

Mathematics 129, 433–447.Karuno, Y., Nagamochi, H., 2004. An approximability result of the multi-vehicle scheduling problem on a path with release and handling times. Theoretical Computer Science

312, 267–280.Karuno, Y., Nagamochi, H., Ibaraki, T., 1997. Vehicle scheduling on a tree with release and handling time. Annals of Operations Research 69, 193–207.Karuno, Y., Nagamochi, H., Ibaraki, T., 2002. Better approximation ratios for the single-vehicle scheduling problems on line-shaped networks. Networks 39, 203–209.Lawler, E.L., Lenstra, J.K., Rinnooy Kan, A.H.G., Shmoys, D.B., 1993. Sequencing and scheduling: Algorithms and complexity. In: Handbooks in Operations Research and

Management Science. In: Graves, S.C., Rinnooy Kan, A.H.G., Zipkin, P. (Eds.), . Logistics of Production and Inventory, vol.4. North-Holland, Amsterdam, pp. 445–522.Tsitsiklis, J.N., 1992. Special cases of traveling salesman and repairman problems with time windows. Networks 22, 263–282.Yu, W.-C., Liu, Z., 1999. Bi-directional scheduling algorithms for some two-machine shop problems. Journal of East China University of Science and Technology 25 (6), 629–

633. in Chinese.Yu, W., Liu, Z., 2010. Single-vehicle scheduling problems with release and service times on a line. Networks, DOI: 10.1002/net.20393.