6
Discrete Optimization A faster algorithm for 2-cyclic robotic scheduling with a fixed robot route and interval processing times Vladimir Kats a,1 , Eugene Levner b,c,a Institute for Industrial Mathematics, 57/10 Klazkin St., Beer-Sheva 84641, Israel b Holon Institute of Technology, Holon 58102, Israel c Bar Ilan University, Ramat Gan 52900, Israel article info Article history: Received 31 May 2010 Accepted 2 October 2010 Available online 29 October 2010 Keywords: Efficient algorithms Graph-theoretic models Cyclic scheduling Polynomial models Robotic scheduling abstract Consider an m-machine production line for processing identical parts served by a mobile robot. The prob- lem is to find the minimum cycle time for 2-cyclic schedules, in which exactly two parts enter and two parts leave the production line during each cycle. This work treats a special case of the 2-cyclic robot scheduling problem when the robot route is given and the operation durations are to be chosen from pre- scribed intervals. The problem was previously proved to be polynomially solvable in O(m 8 log m) time. This paper proposes an improved algorithm with reduced complexity O(m 4 ). Ó 2010 Elsevier B.V. All rights reserved. 1. Introduction Consider a robotic flowshop line consisting of m workstations (‘‘machines”) processing identical parts, in which a single robot transports the parts between the stations and loads/unloads the parts. The robot repeats its moves periodically, such a production process is called cyclic. The periodic sequence of operations per- formed by the robot is called a schedule and its duration is the cycle time. A cyclic sequence in which during each cycle exactly K parts en- ter the line and K parts leave the line is called a K-cyclic or K-degree schedule. Notice that each robot’s move from one workstation to another appears K times during each cycle. At the end of the cycle the line returns to its original state. The mean cycle time is the cycle time divided by K. The throughput rate of the production process is the average number of finished parts produced per unit of time; it is the inverse of the mean cycle time. The cyclic scheduling prob- lem is to specify a sequence of robot moves and the processing times so that to maximize the throughput rate, or, equivalently, to minimize the mean cycle time. Cyclic robot scheduling problems have been intensely studied over the past decades. Several surveys (see e.g. Crama et al., 2000; Dawande et al., 2005; Hall, 1999) and a recent monograph by Dawande et al. (2007) bring together main algorithmic results. The multi-cyclic schedules may have a higher throughput rate than the best 1-cyclic ones, as has been reported by many authors, see e.g. Blazewicz et al. (1989), Levner et al. (1996), Crama and Klundert van de (1997), Finke and Brauner (1999), Che et al. (2002, 2003), Chu (2006), Che and Chu (2009). Several fast algo- rithms have been developed for the 2-cyclic scheduling problem with constant processing times (Che et al., 2002, 2003; Chu, 2006; Kats and Levner, 2009). In a more general situation, when process- ing times are chosen from prescribed intervals, the methods derived for constant times are not applicable. We consider the 2-cyclic scheduling problem with interval data in the case when the robot route is given in advance. Such a problem type – in which the robot route is fixed, has theoretical and practical importance on its own; moreover, it can be used as an estimating sub-problem in branch-and-bound computational schemes for solving a more gen- eral scheduling problem – in which the best robot route is to be found. The interested reader can find more information on practi- cal applications of this problem in Lei (1993), Ioachim and Soumis (1995), Chen et al. (1998), and Kats et al. (2008). The case of interval data is important in practice because in such a case constraints of the production model are more flexible. In the present paper, we propose a new algorithm of complexity O(m 4 ) for this problem, thus improving the earlier O(m 8 log m)-time geometric algorithm developed in Kats and Levner (2010). In the next section we describe the problem. In Section 3 we reduce it to a parametric critical path problem in a graph. In Sections 4 0377-2217/$ - see front matter Ó 2010 Elsevier B.V. All rights reserved. doi:10.1016/j.ejor.2010.10.002 Corresponding author at: Holon Institute of Technology, Holon 58102, Israel. Tel.: +972 5 46246757; fax: +972 3 7384039. E-mail addresses: [email protected] (V. Kats), [email protected], [email protected], [email protected] (E. Levner). 1 Tel.: +972 8 6421885. European Journal of Operational Research 209 (2011) 51–56 Contents lists available at ScienceDirect European Journal of Operational Research journal homepage: www.elsevier.com/locate/ejor

A faster algorithm for 2-cyclic robotic scheduling with a fixed robot route and interval processing times

Embed Size (px)

Citation preview

Page 1: A faster algorithm for 2-cyclic robotic scheduling with a fixed robot route and interval processing times

European Journal of Operational Research 209 (2011) 51–56

Contents lists available at ScienceDirect

European Journal of Operational Research

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

Discrete Optimization

A faster algorithm for 2-cyclic robotic scheduling with a fixed robot routeand interval processing times

Vladimir Kats a,1, Eugene Levner b,c,⇑a Institute for Industrial Mathematics, 57/10 Klazkin St., Beer-Sheva 84641, Israelb Holon Institute of Technology, Holon 58102, Israelc Bar Ilan University, Ramat Gan 52900, Israel

a r t i c l e i n f o a b s t r a c t

Article history:Received 31 May 2010Accepted 2 October 2010Available online 29 October 2010

Keywords:Efficient algorithmsGraph-theoretic modelsCyclic schedulingPolynomial modelsRobotic scheduling

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

⇑ Corresponding author at: Holon Institute of TechTel.: +972 5 46246757; fax: +972 3 7384039.

E-mail addresses: [email protected] (V. Kats), [email protected] (E. Levner).

1 Tel.: +972 8 6421885.

Consider an m-machine production line for processing identical parts served by a mobile robot. The prob-lem is to find the minimum cycle time for 2-cyclic schedules, in which exactly two parts enter and twoparts leave the production line during each cycle. This work treats a special case of the 2-cyclic robotscheduling problem when the robot route is given and the operation durations are to be chosen from pre-scribed intervals. The problem was previously proved to be polynomially solvable in O(m8log m) time.This paper proposes an improved algorithm with reduced complexity O(m4).

� 2010 Elsevier B.V. All rights reserved.

1. Introduction

Consider a robotic flowshop line consisting of m workstations(‘‘machines”) processing identical parts, in which a single robottransports the parts between the stations and loads/unloads theparts. The robot repeats its moves periodically, such a productionprocess is called cyclic. The periodic sequence of operations per-formed by the robot is called a schedule and its duration is the cycletime.

A cyclic sequence in which during each cycle exactly K parts en-ter the line and K parts leave the line is called a K-cyclic or K-degreeschedule. Notice that each robot’s move from one workstation toanother appears K times during each cycle. At the end of the cyclethe line returns to its original state. The mean cycle time is the cycletime divided by K. The throughput rate of the production process isthe average number of finished parts produced per unit of time; itis the inverse of the mean cycle time. The cyclic scheduling prob-lem is to specify a sequence of robot moves and the processingtimes so that to maximize the throughput rate, or, equivalently,to minimize the mean cycle time.

Cyclic robot scheduling problems have been intensely studiedover the past decades. Several surveys (see e.g. Crama et al.,

ll rights reserved.

nology, Holon 58102, Israel.

[email protected], [email protected],

2000; Dawande et al., 2005; Hall, 1999) and a recent monographby Dawande et al. (2007) bring together main algorithmic results.The multi-cyclic schedules may have a higher throughput rate thanthe best 1-cyclic ones, as has been reported by many authors, seee.g. Blazewicz et al. (1989), Levner et al. (1996), Crama andKlundert van de (1997), Finke and Brauner (1999), Che et al.(2002, 2003), Chu (2006), Che and Chu (2009). Several fast algo-rithms have been developed for the 2-cyclic scheduling problemwith constant processing times (Che et al., 2002, 2003; Chu, 2006;Kats and Levner, 2009). In a more general situation, when process-ing times are chosen from prescribed intervals, the methodsderived for constant times are not applicable. We consider the2-cyclic scheduling problem with interval data in the case whenthe robot route is given in advance. Such a problem type – in whichthe robot route is fixed, has theoretical and practical importance onits own; moreover, it can be used as an estimating sub-problem inbranch-and-bound computational schemes for solving a more gen-eral scheduling problem – in which the best robot route is to befound. The interested reader can find more information on practi-cal applications of this problem in Lei (1993), Ioachim and Soumis(1995), Chen et al. (1998), and Kats et al. (2008).

The case of interval data is important in practice because insuch a case constraints of the production model are more flexible.In the present paper, we propose a new algorithm of complexityO(m4) for this problem, thus improving the earlier O(m8log m)-timegeometric algorithm developed in Kats and Levner (2010). In thenext section we describe the problem. In Section 3 we reduce itto a parametric critical path problem in a graph. In Sections 4

Page 2: A faster algorithm for 2-cyclic robotic scheduling with a fixed robot route and interval processing times

52 V. Kats, E. Levner / European Journal of Operational Research 209 (2011) 51–56

and 5 we present the parametric sub-algorithm and analyze itsproperties. In Section 6 we describe a new algorithm and estimateits complexity. Section 7 concludes the paper.

2. Problem description

A robotic production line has two types of resources - worksta-tions and robots. Consider a flow-line having m sequential work-stations S1, . . . ,Sm. Let S0 and Sm+1 denote the input and outputstations, respectively. The line processes identical parts. The orderof operations and movements of each part along the stations is rep-resented by the sequence S = (S0,S1, . . . ,Sm,Sm+1), where the kthcomponent indicates that the kth operation is performed in stationSk, k = 0, . . . ,m + 1.

A robot is used to transport parts between various stations andload/unload them. As said above, we assume that the robot’s routeis given. In the 2-cyclic schedules, the identical parts are loadedinto the line at time . . . �rT,�rT + T1, . . . ,�2T,�2T + T1,�T,�T + T1,0,T1,T,T + T1,2T, . . . ,rT + T1, (r + 1)T, . . . , where T1 < T andr is an integer. The parts loaded at time rT (respectively, at timerT + T1), r = 0,±1,±2, . . . are called the parts of Class 1 (respectively,the parts of Class 2). Exactly two parts enter and two parts leavethe line during each cycle. T is called the cycle time, T1 is calledthe semi-cycle time; they are the unknowns of our scheduling prob-lem whose optimal values have to be found.

Let us describe a robot cyclic route, denoted by R. Since theloaded robot always moves from a station at which it takes a partto the next station in the sequence S, the route R can be presentedcompactly as a 2(m + 1)-long sequence: R = (SR(0),SR(1),SR(2), . . . ,SR(m),SR(m+1), . . . ,SR(2m+1)), or, simply, R = ([0], [1], . . . , [m], [m+1],. . . , [2m+1]), using, briefly, [k] instead of SR(k).

Consider interval [0,T). Within this interval the robot performstwice all its operations; it starts at time t = 0 with loading a partfrom the input station S0, so [0] = 0. The sequence (0, [1], . . . ,[m], . . . , [2m+1]) is a permutation of the workstation numbers0,1, . . . ,m in which each number is repeated twice.

The scheduling problem must satisfy the following conditions:

(C1) After being loaded at workstation Sk, a part stays there fortime pk, where Lk 6 pk 6 Uk, and Lk and Uk are given con-stants, k = 1, . . . ,m. Time pk is called processing time; Lk andUk define interval [Lk, Uk] of possible values of pk, k = 1, . . . ,m.

(C2) The loaded robot requires time dk to move a part from sta-tion Sk to Sk+1, k = 0, . . . ,m.

(C3) The unloaded robot requires time rij to run from Si to Sj,1 6 i 6m+1, 0 6 j 6m.

(C4) After a part is processed in a workstation, it must beunloaded and moved immediately by the robot to the nextworkstation in S and then be processed on it without pause;this requirement is called the no-wait condition. In this case,processing time and residence time (the latter term denotestime spent by a part on a machine) coincide. This and othertypes of the no-wait robotic cells are discussed in detail inDawande et al. (2007).

The decision variables in the problem are:

pk = part’s processing time at station Sk, for k = 1, . . . ,m;tk (and, respectively, t0k) = the completion time of the operationon workstation Sk within the cycle [0,T) for a part of Class 1(respectively, for a part of Class 2), k = 0, . . . ,m;T = the cycle time, and T1 = the semi-cycle time.

Given processing sequence S, robot’s route R, real numbers dj, rij,Lk, and Uk (k = 1, . . . ,m; i = 1, . . . ,m+1; j = 0, . . . ,m), a feasible schedule

is a set of operation completion times tk, t0k and processing times pk

(k = 1, . . . ,m) lying within prescribed intervals [Lk,Uk] and providingthat the empty robot has sufficient time to travel between theworkstations, for some fixed pair of values T and T1. Such parame-ter values T and T1 will be called feasible. The scheduling problem isto find a feasible schedule {{tk}, {pk}} and a feasible pair (T,T1) sothat cycle time T is minimum, and, thus, the throughput rate ismaximum.

3. The critical path reformulation

For a given periodically repeated robot route R = ([0], [1], . . . ,[m], [m+1], . . . , [2m+1]), the completion times tk and t0k satisfy thefollowing chain of inequalities:

0 ¼ t�½0� < t�½1� < t�½2� � � � < t�½2mþ1� < T; ð1Þ

where t�½q� denotes either tk or t0k.The symbol * in t�½q� is used to distinguish whether the robot

transports a part of Class 1 or Class 2 during its [q]-th move;namely, t�½q� is tk, for some k, if the part is of Class 1 and t�½q� is t0k ifthe part is of Class 2. This information is given by the sequenceR. For example, if m = 4 and robot route R0 = (0,4,20,1,30,2,00,40,3,10), then i (respectively, i0) denotes that a part of Class 1(respectively, of Class 2) is moved by the robot from workstationi, where i = 0,1,2,3,4.

The chain (1) in this case is the following:

0 ¼ t0 < t4 < t02 < t1 < t03 < t2 < t00 < t04 < t3 < t01 < T:

We will study the scheduling problem in time period [0,T) andassume that the robot route R and, therefore, the inequalities (1)are given. We distinguish the case where tk > tk�1 in (1) (we callit ‘‘Case A”) from the case where tk < tk�1 in (1) (‘‘Case B”). The caseswill be displayed in the constraints 4 and 5 below. For instance, forthe route R0considered in the above example, operations on work-stations {1,2,3} belong to the Case A while operation {4} is in CaseB. Also, we need to distinguish the case where tk < t0k from the casetk > t0k in (1) as is displayed in the constraints 7 and 8 below.

Then, taking into account the chain of inequalities (1), thescheduling problem in interval [0,T) can be formulated as the fol-lowing linear program:

Problem P : Find T� ¼minimum T; ð2Þsubject to Lk 6 pk 6 Uk; ð3Þ

pk ¼ tk � tk�1 � dk�1; if tk > tk�1 inð1Þ; ð4Þpk ¼ T þ tk � tk�1 � dk�1; if tk < tk�1 inð1Þ; ð5Þt�½q� þ d½q� þ r½q�þ1;½qþ1� 6 t�½qþ1�; ð6Þt0k ¼ tk þ T1; if tk < t0k inð1Þ; ð7Þt0k ¼ tk þ T1 � T; if tk > t0k inð1Þ; ð8Þt0 ¼ 0; ð9Þ

where k = 1, . . . ,m; q = 0,1,2, . . . ,2m + 1, t�½2mþ2� � T; r½2mþ1�þ1;½2mþ2� �r½2mþ1�þ1;½0�; t00 ¼ T1.

Relation (3) describes the two-sided constraints on the process-ing times. Relations 4 and 5, depending on the mutual position of tk

and tk�1in chain (1), express the no-wait condition, i.e., immedi-ately after being completed on machine k � 1 (at moment tk�1) apart is transported by the robot to machine k (which requiresdk�1 units of time) and then without delay is processed at that ma-chine during pk units of time. Inequalities (6) guarantee that the ro-bot has enough time to arrive at each machine (S[k+1]) before thecorresponding processing operation on this machine is finished.Eqs. (7) and (8) describe relations between variables of Class 1, de-noted by tk, and those of Class 2, denoted by t0k, depending on theirmutual position in (1). These equations guarantee that the parts of

Page 3: A faster algorithm for 2-cyclic robotic scheduling with a fixed robot route and interval processing times

V. Kats, E. Levner / European Journal of Operational Research 209 (2011) 51–56 53

different classes (that is, of Class 1 and 2) stay at each machine pre-cisely the same amount of time. Eq. (9) defines the start moment.

It’s worth mentioning that Eqs. (7) and (8) are relevant forscheduling of high-precision manufacturing systems, for example,no-buffer electrochemical lines producing identical printed circuitboards with a very high accuracy, which is the technology used tofabricate most microprocessors today. In such a line, at any ma-chine (a bath), the processing time for all the identical parts, afterit has been selected from the allowed interval, should be strictlythe same. By the way, the scheduling problem becomes much sim-pler if the parts of different classes are allowed to stay for a differ-ent time at a machine; in such a case, Eqs. 7 and 8 becomeexcessive, and the optimal 2-cyclic schedule can be found in cubictime, as shown by Ioachim and Soumis (1995).

Notice that T and T1 values in the optimal solution of problem(2)–(9) may be such that T – 2T1. The interested reader can findthe illustrating numerical examples in Levner et al. (1996), Cramaand Klundert van de (1997), Finke and Brauner (1999), and Agnetis(2000).

Replacing variables pk in (3) by their expressions in 4 and 5 andreplacing those variables t�k in (6) that correspond to t0k by theirexpressions in (7) and (8), we obtain a linear program with vari-ables T, T1, t1, t2, . . . , tm, and at most 4m + 2 constraints of the formtj � ti + aT + bT1 6 Cij, where a, b 2 { � 1,0,1} and Cij are given realnumbers.

To derive a new strongly polynomial algorithm for the linearprogram obtained, in what follows, we pose (2)–(9) as a two-parameter critical path problem PG in a graph. Consider directedgraph G = (N,A) with node set N = {0,1,2, . . . ,m} in which node kcorresponds to variable tk, k = 0,1,2, . . . ,m and the number of nodesn � jNj = m + 1. Node 0 corresponding to the starting time t0 ofloading at the loading station is chosen as the source node and de-noted by 0. The graph G is called induced.

The arc set A corresponds to constraints (3)–(8). To define thearc set related to constraints (3)–(5), we put (4) and (5) into (3).Then we get constraints of the form Lk 6 tk � tk�1 � dk�1 andLk 6 T + tk � tk�1 � dk�1, each one of which is graphically repre-sented by an arc leading from node k � 1 to node k and havingthe length equal, correspondingly, to Wk�1, k = Lk + dk�1, or Wk�1,

k = Lk � T + dk�1.The arcs of the first type are standard arcs known in the PERT/

CPM models whereas the arcs of the second type have lengthdepending on T. Similarly, constraints of the formtk � tk�1 � dk�1 6 Uk and T + tk � tk�1 � dk�1 6 Uk are representedby the arcs leading from node k to node k � 1 and having the lengthWk,k�1 = �Uk � dk�1, and Wk,k�1 = T � Uk � dk�1, correspondingly

Consider the arc set related to constraints (6)–(8). Variables t�½q�and t�½qþ1� in (6) must be written out explicitly as t[q] or t0½q� and,respectively, t[q+1] or t0½qþ1�. Therefore, (6) will be of the followingform: t[q] + d[q] + r[q]+1, [q+1] 6 t[q+1], or t0[q] + d[q] + r[q]+1,[q+1] 6 t[q+1],or t½q� þ d½q� þ r½q�þ1;½qþ1� 6 t0½qþ1�, or t0½q� þ d½q� þ r½q�þ1;½qþ1� 6 t0½qþ1�.

Substituting variables t0k by their expressions given by (7) and(8), we obtain inequalities (6) of the following form:

t½q� þ d½q� þ r½q�þ1;½qþ1� þ aT1 þ bT 6 t½qþ1�;

which are graphically represented by arcs leading from node [q] tonode [q + l] and having length W[q],[q+l] = d[q] + r[q]+1, [q+1] + aT1 + bT,where a and b are equal to �1, 0, or 1. Thus, length Wv,u of an arbi-trary arc (v,u) 2 A is proved to be a linear function of two variables Tand T1 of the form Wv,u = c + aT1 + bT, where a, b 2 {�1,0,1}, and creal. The total number of arcs jAj 6 4m + 2. Hence, all the constraints(3)–(9) of the problem P are interpreted in terms of a parametricPERT/CPM problem. It follows that in the induced graph G, the setof critical (longest) paths from node 0 to all other nodes dependingon parameters T and T1 defines a schedule {{tk}, {pk}} (depending on

the two parameters). If all the critical path lengths are finite for apair (T,T1) then this pair is feasible for the initial problem P and in-duces a feasible schedule {{tk}, {pk}} in P. Thus we arrive to the fol-lowing lemma.

Lemma 1. Problem P is reducible to the graph problem PG of finding aminimum T for which there exist finite critical paths from the sourcenode 0 to all other nodes in the induced graph G.

In virtue of Lemma 1, the rest of the paper will be devoted to theconstruction of a fast algorithm for solving the graph problem PG.

4. The parametric critical path sub-algorithm

The parametric critical path algorithm described below allowsus to reduce the linear program (2)–(9) with m + 2 variables tothe problem of finding a minimum T subject to a set of disjunctiveinequalities defined for two variables, T and T1.

Let us supply each node v 2 N in graph G with a multi-compo-nent label (called a potential) p(v) that is re-calculated from itera-tion to iteration according to (10) in Step 2 below. Denotepotentials p(v) found after the ith iteration by pi(v) and keep themin the following form: pi(v) = max(V1, . . . ,VL), where terms V1, . . . ,VL

are constants or linear functions of T and T1, that is,Vj = cj + kj1T + kj2T1, with real cj and integers kj1 and kj2; here�i 6 kj1, kj2 6 i, 1 6 j 6 L and 1 6 i 6 n � 1. As will be shown in Sec-tion 5, L = O(n2). Each component Vj has the unique values of coef-ficients kj1 and kj2, which do not depend on a pathway by whichthey may be obtained during iterations 1,2, . . . , i.

Actually, each component Vj of pi(v) in (10) is a length of someindividual path from node 0 to node v expressed as a function ofparameters T and T1. In what follows, a directed path from node0 to a node in G will be called a k-path if it consists of no more thank arcs. The term ‘‘longest path” will relate to the path length de-fined as the sum of the arc lengths taken over all the arcs enteringthe path (rather than the number of arcs in the path). Due to (10),potential pi(v) is the length of a longest i-path from 0 to node v in Greachable from 0, expressed as a function of parameters T and T1.As a result, for any fixed node v, all the individual paths associatedwith potential pn�1(v) after n � 1 iterations constitute a set thatshould contain a critical (n � 1)-path in G from node 0 to node v,for any values of variables T and T1 (if only such a path exists forthose values). The necessary and sufficient condition for the exis-tence of a finite critical path in the induced graph G for a fixed pair(T,T1) is that there is no positive-length cycles in G, for that pair ofparameters (see Cormen et al., 2001, pp. 583 and 594).

To restore the paths that give rise to different label components,we use a multi-component node pointer Pred(v) = (Pred1(v), . . . ,PredL(v)) which points at the node preceding v in the individualpath for each component of potential p(v). In fact, the term Predj(v)is a pair Predj(v) � (u,q), whose first element, u, is the immediatenode-predecessor to node v in the path associated with the jthcomponent Vj of the potential p(v), while its second element, q,indicates that the qth component of the vector potential p(u) ofnode u has been used for generating the jth component Vj of thep(v). If p(v) is computed at the ith iteration then 1 6 q 6 (2i + 1)2.(In fact, p(v) = pi(v) for some i, however, for sake of simplicity wehave omitted the index i in the previous sentence just to avoid atoo heavy notation).

The parametric critical path algorithm is given in Table 1.Notice that, according to the label-correction rule (10), at the ith

iteration the algorithm uses potential pi�1(t(e)) of tail-node t(e),found at the previous, (i � 1)th, iteration, rather than an improvedpotential of the tail that could be obtained at the ith iteration. Sucha ‘‘slowed-down” modification of the Bellman–Ford algorithm en-sures that the number of components in any potential does not

Page 4: A faster algorithm for 2-cyclic robotic scheduling with a fixed robot route and interval processing times

Table 1The parametric critical path (PCP) sub-algorithm.

Input. Graph G with n nodes (where n = m + 1) and parametric arc lengths W(e).Step 1.// Initialization. Enumerate all the nodes of G from 1 to n.

Assign label p0(0) = 0, and put Pred(0) = £.Assign p0(v) = �1 and put Pred(v) = £ to all other nodes v of G,

Step 2.// Label correction. For i = 1 to n � 1 do:For all nodes v in G set

piðvÞ :¼ pi�1ðvÞ:For each arc e = (t(e), h(e)) 2 A compute:

piðhðeÞÞ :¼ max maxfpiðhðeÞÞ; pi�1ðtðeÞ þWðeÞg ð10ÞIf some component in pi(h (e)) was changed, then do a correction in the corresponding component of Pred(h (e)).

Step 3.// Finding the set of functional inequalities for T and T1.For each arc e = (t(e),h(e)) 2 A, write down the following system of functional inequalities with respect to T and T1:

pn�1ðtðeÞÞ þWðeÞ 6 pn�1ðhðeÞÞ: ð11Þ

54 V. Kats, E. Levner / European Journal of Operational Research 209 (2011) 51–56

grow exponentially from iteration to iteration, and the same is truefor the number of arcs in the longest paths (that are kept with thehelp of pointers Pred(v)). The next Lemma 2 states this property. Atthe termination of the PCP algorithm, potential pn�1(v) is equal tothe length of the critical path from 0 to v, for all nodes v that arereachable from node 0. The exact formulation will be given inLemma 3.

Lemma 2. After the ith iteration, the number of components of anyvector potential p(v) and vector pointer Pred(v) never exceeds(2i + 1)2, i = 1, . . . ,n.

The proof is by induction in the number of iterations. Considerthe base value i = 1. Potentials p0(v) and pointers Pred(v) are deter-mined in Step 1 of the PCP algorithm; each one consists of only onecomponent, p0(0) = 0, p0(v) = �1, Pred(0) = Pred(v) = £,(v = 1,2, . . . ,n � 1). Recall that length Wv,u = c + aT1 + bT, where a,b 2 {�1,0,1} and c real. Therefore, as follows from (10), after itera-tion i = 1 potential p1(v) consists of at most (2 + 1)2 = 9 componentsof the form (c1 + T1 + T, c2 + T1, c3 + T1 � T, c4 + T, c5, c6 � T,c7 � T1 + T, c8 � T1, c9 � T1 � T) with real c1,c2, . . . ,c9. Respectively,a single component of p1(v) has its own counterpart in pointerPred(v). So, the claim holds true for the base value i = 1.

Assume now that the statement is true up to a fixed value i � 1,that is, after the (i � 1)th iteration, potential pi�1(v) includes onlycomponents of the following form: Vj = cj + kj1T + kj2T1, with realcj and integers kj1 and kj2; here �(i � 1) 6 kj1, kj2 6 (i � 1), and,thus, the number of components of pi�1(v) and, respectively, ofpointer Pred(v) does not exceed [2(i � 1) + 1]2. At the ith iteration,after applying formula (10), some components of pi(v) remainthe same as those in pi�1(v) while some other components arecomputed as follows: (cj + kj1T + kj2T1) + (c + aT1 + bT) = (cj + c) +(kj1 + b)T + (kj2 + a)T1. But a, b 2 {�1,0,1}, then �i 6 (kj1 + b),+(kj2 + a) 6 i. Hence, the number of components of potential pi(v)and, respectively, the number of components of pointer Pred(v)does not exceed (2i + 1)2. The proof is finished.

This property will be used in the reduction scheme inSection 5. h

Lemma 3 (Correctness of the parametric algorithm PCP). Assumethat, for a pair of fixed values (T,T1), graph G has no positive-length cycles that are reachable from start 0. Then, at the termina-tion of the PCP algorithm, potential pn�1(v) is equal to the lengthof the critical path from 0 to v, for all nodes v that are reachable fromnode 0.

The label-correction rule (10) is somewhat different from (andslower than) the corresponding relaxation rule for the Bellman–Ford shortest-path algorithm presented in Ch. 24.1 of Cormen

et al. (2001). Nevertheless, the proof of this lemma literally repeatsthe argumentation of Lemmas 24.2 and 24.15 in the above book,and is omitted here. More details related to the justification andproperties of the critical path algorithm in the case of a singleparameter can be found in Levner and Kats (1998) and Kats et al.(2008).

5. Reduction to a two-variable linear program

Let us return to graph G = (N,A) with parametric arc lengthsconstructed in Section 3 and apply the parametric critical pathsub-algorithm presented in Table 1. Assign the left sides ofinequalities (11) to nodes h(e) and denote

pnðhðeÞÞ ¼ maxftðeÞ:ðtðeÞ;hðeÞÞ2Ag

ðpn�1ðhðeÞÞ; pn�1ðtðeÞÞ þWðeÞÞ:

In the above expression, pn(h(e)) are the potentials of nodes h(e)that could be found, would the nth iteration of the PCP algorithmbe applied. Similarly to what happened at the previous algorithmiterations, the potentials are again the vectors of the followingform: pn(v) = max(V1, . . . ,VL), where terms V1, . . . ,VL are either con-stants or linear functions of T and T1: Vj = cj + kj1T + kj2T1, with realcj and integer kj1 and kj2, �n 6 kj1, kj2 6 n.

Therefore, each pn(v) has at most (2m + 3)2 components, that is,L 6 (2m + 3)2, and each component has the unique values of coeffi-cients kj1 and kj2. As said above, each component Vj is the paramet-ric length of some individual path. So, at the nth iteration, thealgorithm keeps at most (2m + 3)2 paths to any node v. They arecalled representative n-paths, each one having a unique parametriclength Vj. Those paths are candidates for the longest (n � 1)-pathsthat we are looking for, that is, the longest (n � 1)-paths for anyfeasible values of variables T and T1, should be among them.

Remark. Notice that here we must distinguish between the finitecritical paths that we are looking for and the longest (maximum-length) paths obtained at the nth iteration of the parametricalgorithm. Namely, if a pair (T,T1) is infeasible then the longest n-path at the nth iteration can be a part of an infinitely long pathcontaining a positive-length cycle. On the other side, if a pair (T,T1)is feasible, then the longest n-path will be a finite critical (n � 1)-path.

At each iteration, according to the relation (10) of the PCPalgorithm, the longest path to any node v may increase by at mostone arc; therefore, after the nth iteration each individual path iscomposed of at most n arcs. To restore all the individual paths, onecan use the multi-component node pointer Pred(v) = (Pred1(v), . . . ,PredL(v)) described in Section 4 that points at the node preceding vin the individual path for each component Vj of the potential pn(v).

Page 5: A faster algorithm for 2-cyclic robotic scheduling with a fixed robot route and interval processing times

V. Kats, E. Levner / European Journal of Operational Research 209 (2011) 51–56 55

Let us restore all the n-paths that have given rise to different la-bel components of pn(v) (so that exactly one representative n-pathwill be per each component Vj). Notice that graph G defined in Sec-tion 3 contains cycles, and, therefore, in the set of the representa-tive n-paths there is at least one path to some node v containingexactly n arcs; such paths are briefly called n-arc paths. Recall thatthe n-paths defined in Section 4 contain no more than n arcs.

Select only the n-arc paths, among all the found representativen-paths. Extract all the cycles appearing in G when routing alongeach of the selected n-arc n-paths. Denote this set of these cyclesby C, and call it the critical cycle set. The lengths of these cyclesare linear functions of T and T1. We require the (parametric)lengths of all the cycles in C to be of non-positive length. Thenwe obtain the system of two-variable inequalities in the followingform:

ai þ biT þ ciT1 6 0; i ¼ 1;2; . . . ; jCj ð12Þ

where the left side of (12) is the length k(Ci) � ai + biT + ciT1 of cycleCi 2 C, ai is real, bi and ci are integers, i = 1,2, . . . , jCj. The arc lengthsbeing given, the coefficients ai, bi and ci are calculated uniquely forall i, when computing the lengths of the extracted cycles Ci as func-tions of T and T1. The following lemma states that the inequalities(12) are the necessary and sufficient condition, imposed uponparameters T and T1, for the existence of finite critical paths to allnodes in the graph.

Lemma 4. The finite critical paths from the start node 0 to all othernodes in the graph G exist for those and only those values of T and T1

for which the inequalities (12) holds for all cycles Ci 2 C, or, in otherwords, for these values of T and T1 all the n-arc representative pathsfrom the start 0 to all nodes, including the cyclic paths to the startitself, do not contain positive length cycles.

The proof. The necessary condition is obvious: If some pair of Tand T1 does not satisfy an inequality in (12) then graph G has atleast one cycle of positive length, namely, that one for which theinequality (12) does not hold.

Sufficiency. We prove that even if constraints (12) are imposedonly on a part of the circuits, the length of any other circuit in G isnot strictly positive. Recall that for any fixed values of parameters Tand T1 the vector potential pk(v) is just a number, say p0, equal tothe length of a longest k-path from 0 to node v.

The idea of the proof is the following. First, we show that if (12)holds then the path found by the parametric algorithm PCP con-sists of at most n � 1 arcs. Next, using this fact and the propertyof the minimum cycle mean derived by Karp (1978), we arrive tothe conclusion that all the cycles are non-positive.

Consider a pair of values of parameters T and T1 satisfying allinequalities (12). For this pair, the length of any n-arc representa-tive path from 0 to any node v is not longer than the length of somerepresentative (n � 1)-path from 0 to the v, because (i) any n-arcpath from 0 to v contains at least one cycle, (ii), by our premise,all cycles in the n-arc representative paths are of non-positivelength, and (iii) there exists a representative (n � 1)-path from 0to v the length of which is larger than or equal to the length ofthe path obtained from the considered n-arc path by removingall the non-positive cycles. Then pn(v) 6 pn�1(v) for all v 2 N, fromwhich it follows, as was said above, that any n-arc representativepath from 0 to node v cannot be longer then some representative(n � 1)-path to v.

Suppose now that for the chosen pair (T,T1) graph G containssome positive cycle C. Then in G there exists a positive cycle C0

with the maximum cycle mean k* � k(C0)/jC0j = maxC2Gk(C)/jCj. De-note by G(k*) a graph obtained from G by reducing all the arclengths Wu,v by k� : W 0

u;v � Wu, v - k*; denote the length of the lon-gest q-arc path to node v in G and G(k*) by lq(v) and gq(v), respec-

tively, for q = 1, . . . ,n � 1. Obviously, gq(v) = lq(v) � q � k*, forq = 1, . . . ,n � 1. Graph G(k*) does not contain positive cycles.

Karp (1978) has studied the minimum cycle mean problem ingraphs and examined the properties of graph G(k*). We employthe following claim proved by Karp: In G( k*) there exists a nodeu 2 C0 such that gn(u) = maxq=1,. . .,n�1 gq(u), i.e. gn(u) P gq(u),q = 1, . . . ,n � 1. Substituting gq(u) by its expression depending onlq(u) in the latter inequalities, we obtain:

lnðuÞ � n � k� P lqðuÞ � q � k�; q ¼ 1; . . . ;n� 1;

or

lnðuÞP lqðuÞ þ ðn� qÞ � k�; q ¼ 1; . . . ;n� 1;

or

lnðuÞP lqðuÞ þ k�; q ¼ 1; . . . ;n� 1:

Thus, if there exists a positive length cycle then k* > 0 and,therefore, the longest n-arc path ln(u) to node u is strongly longerthen any other path lq(u) to u:

lnðuÞ > lqðuÞ; for all q < n; i:e:; lnðuÞ > maxq¼1;...;n�1lqðuÞ:

By definition of the potential, pq(v) = maxi=1,. . .,qli(v). Hence,

pnðuÞP lnðuÞ > maxq¼1;...;n�1lqðuÞ � pn�1ðuÞ; i:e: pnðuÞ > pn�1ðuÞ:

But, we saw that if parameters T and T1 satisfy the inequalities(12), then pn(v) 6 pn�1(v) for all v 2 N. We come to a contradictionwhich proves the lemma.

The main result of this paper immediately follows from Lemmas1 and 4:

Theorem 1. Given the critical cycle set C in graph G, the initialproblem P is reducible to the problem PC of finding minimum T subjectto the condition that all the cycle lengths in the set C are non-positive:k(Ci) 6 0, for all Ci 2 C.

It follows from (12) that each condition k(Ci) 6 0 is a linearinequality with respect to T and T1. In the next section, we willshow that the number of these inequalities in PC is O(n4).

6. The algorithm and complexity

The algorithm works as follows:

Stage 1. Construct the induced graph G and transform the originalproblem P to the graph problem PG on G.

Stage 2. Apply the parametric critical path (PCP) sub-algorithm tothe graph problem PG obtained in Stage 1.

Stage 3. Restore the n-arc representative paths obtained at the nthiteration of the PCP sub-algorithm of Stage 2, and extractall the cycles contained in the latter paths. Denote theobtained critical cycle set by C.

Stage 4. Write out the conditions (12) of the non-positivity of thecycle length k for each cycle Ci in C.

Stage 5. Formulate the following two-variable linear program-ming problem PC:

Find T� ¼minimum T

subject to kðCiÞ 6 0; for all Ci 2 C;

and solve it, using for this purpose the algorithms developed byMeggido (1983) or Dyer (1984).

The found optimal solution ðT�; T�1Þ is the optimum solution forthe initial scheduling problem. If the linear program has no feasiblesolution, the scheduling problem is incompatible as well.

Page 6: A faster algorithm for 2-cyclic robotic scheduling with a fixed robot route and interval processing times

56 V. Kats, E. Levner / European Journal of Operational Research 209 (2011) 51–56

Theorem 2. The problem PC can be solved to optimality in O(m4).The proof. Consider the complexity of each stage of the above

algorithm.

Stage 1. The transformation of the original linear programmingproblem P to the graph problem requires linear time inthe number of constraints (arcs), O(jAj) = O(m).

Stage 2. The complexity of the parametric critical path sub-algo-rithm is O(n3jAj). Indeed, it is n2 times larger than thecomplexity of Bellman–Ford’s algorithm for finding thecritical path with constant arc lengths. The increase iscaused by that each label pi(v) = max(V1,V2, . . . ,VL) is L-long, L = O(n2), and each Vj is cj + kj1T + kj2T1, with real cj

and integer kj1 and kj2, where �i 6 kj1, kj2 6 i, 1 6 j 6 L,and 1 6 i 6 n � 1. Computing each max-operator in (10)and performing the addition operation over the functionallabel in (10) is carried out in a component-wise mannerand require O(n2) elementary operations per each arc, sototally Step 2 of the parametric sub-algorithm requiresO(n3jAj) operations for all arcs during n � 1 iterations.Similarly, the maximization operation in (11) requiresO(n2) operations for each arc and totally O(n2jAj) opera-tions for all arcs. Thus, the complexity of the parametricsub-algorithm is O(n3jAj) = O(m4).

Stage 3. There are O(n2) individual representative paths from node0 to any node and, thus, totally O(n3) paths to all nodes.Among all the representative paths, the n-arc representa-tive paths constitute a subset; therefore, the amount of n-arc representative paths is restricted from above by O(n3).Each individual n-arc path can be decomposed into adirected acyclic sub-path (consisting of at most n arcs)and O(n) cycles. Thus, totally O(n4) cycles can be foundin all the representative paths constituting the criticalcycle set C, i.e. jCj = O(n4). Restoring one n-arc path lead-ing from node 0 to node v using a pointer componentPredj(v) requires O(n) operations. The decomposition ofeach n-arc path into the acyclic sub-path and O(n) cyclesalso requires O(n) operations. Therefore, all the cycles inO(n3) paths can be found by O(n4) = O(m4) operations.

Stage 4. A single inequality (12) is associated with each cycle fromC. The calculation of the functional lengths of all thecycles can be done in O(n) operations, for the cyclesbelonging to a single n-arc path, and, hence, in O(n4) forall the n-arc paths. Therefore, this stage requiresO(n4) = O(m4) operations.

Stage 5. The two-variable LP problem with O(n4) constraints (12)can be solved in linear time in the number of constraints(see Meggido, 1983, and Dyer, 1984), i.e. in O(n4) time.

To summarize, the algorithm complexity in graph terms isO(n4), or, in machine terms, O(m4).

7. Concluding remarks

The 2-cyclic robot scheduling problem considered in this papercan be formulated as a special-type linear programming problem.The general linear programs are known to be solvable in weaklypolynomial time. The main result of this paper is that the consid-ered problem can be solved in strongly polynomial time, O(m4),thus improving an earlier O(m8log m)-time algorithm.

The complexity bound for the 2-cyclic algorithm in Section 6 isnot tight. Further analysis of the multi-cyclic problem and its com-plexity is an attractive area for future research. Other researchareas may include extensions of the considered model able to findoptimal K-cyclic robot routes and/or to capture costs. The analysisand design of heuristics for the on-line solution of the schedulingproblem considered is another major area for future research.

Acknowledgment

The authors thank the editor and three anonymous referees fora careful reading of this paper, for many enlightening comments,and for pointing out several useful references.

References

Agnetis, A., 2000. Scheduling no-wait robotic cells with two and three machines.European Journal of Operational Research 123 (2), 303–314.

Blazewicz, J., Sethi, S.P., Sriskandarajah, C., 1989. Scheduling of Robot Moves andParts in a Robotic Cell. In: Stecke, K.E., Suri, R. (Eds.), Operations ResearchModels and Applications. Elsevier, Amsterdam, pp. 81–286.

Che, A., Chu, C., Chu, F., 2002. Multicyclic hoist scheduling with constant processingtimes. IEEE Transactions on Robotics and Automation 18 (1), 69–80.

Che, A., Chu, C., 2009. Multi-degree cyclic scheduling of a no-wait robotic cell withmultiple robots. European Journal of Operational Research 199 (1), 77–88.

Che, A., Chu, C., Levner, E., 2003. A polynomial algorithm for 2-degree cyclic robotscheduling. European Journal of Operational Research 145 (1), 31–44.

Chen, H., Chu, C., Proth, J.M., 1998. Cyclic scheduling of a hoist with time windowconstraints. IEEE Transactions on Robotics and Automation 14 (1), 144–152.

Chu, C., 2006. A faster polynomial algorithm for 2-cyclic robotic scheduling. Journalof Scheduling 9 (5), 453–468.

Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C., 2001. Introduction to Algorithms,second ed. The MIT Press, Cambridge.

Crama, Y., Kats, V., Klundert van de, J., Levner, E., 2000. Cyclic scheduling in roboticflowshop. Annals of Operations Research 96 (1–4), 97–123.

Crama, Y., Klundert van de, J., Cyclic scheduling in 3-machine robotic flow shops,Research Memorandum RM 97018, Maastricht Research School of Economics ofTechnology and Organization, 1997.

Dawande, M., Geismar, H.N., Sethi, S.P., Sriskandarajah, C., 2005. Sequencing andscheduling in robotic cells: recent developments. Journal of Scheduling 8, 387–426.

Dawande, M.W., Geismar, H.N., Sethi, S.P., Sriskandarajah, C., 2007. ThrougputOptimization in Robotic Cells. Springer, Berlin.

Dyer, M.E., 1984. Linear time algorithms for two- and three-variable linearprogramming. SIAM Journal on Computing 13 (1), 31–45.

Finke, G., Brauner, N., 1999. Scheduling in Robotic Cells. In: Inderfurth, K.,Schwödiauer, G., Domschke, W., Juhnke, F., Kleinschmidt, P., Wäscher, G.(Eds.), Operations Research Proceedings 1999 (Selected Papers of Symposiumon Operations Research SOR’99). Springer, Berlin, pp. 72–377.

Hall, N.G., 1999. Operations research techniques for robotic systems. In: Nof, S.Y.(Ed.), Handbook of Industrial Robotics, second ed. John Wiley, New York, pp.543–577.

Ioachim, I., Soumis, F., 1995. Schedule efficiency in a robotic production cell. TheInternational Journal of Flexible Manufacturing Systems 7, 5–26.

Kats, V., Lei, L., Levner, E., 2008. Minimizing the cycle time of multiple-productprocessing networks with a fixed operation sequence and time-windowconstraints. European Journal of Operational Research 187 (3), 1196–1211.

Kats, V., Levner, E., 2010. Parametric algorithms for 2-cyclic robot scheduling withinterval processing times. Journal of Scheduling. doi:10.1007/s10951-010-0166-0.

Kats, V., Levner, E., 2009. A polynomial algorithm for 2-cyclic robotic scheduling: anon-Euclidean case. Discrete Applied Mathematics 157 (2), 339–355.

Karp, R.M., 1978. A characterization of the minimum cycle mean in a digraph.Discrete Mathematics 23 (3), 309–311.

Lei, L., 1993. Determining the optimal starting times in a cyclic schedule with agiven route. Computers and Operations Research 20 (8), 807–816.

Levner, E., Kats, V., 1998. A parametric critical path problem and an application forcyclic scheduling. Discrete Applied Mathematics 87, 149–158.

Levner, E., Kats, V., Sriskandarajah, C., 1996. A Geometric Algorithm for FindingTwo-unit Cyclic Schedules in a No-wait Robotic Flowshop. In: Proceedings ofthe International Workshop on Intelligent Scheduling of Robots and FlexibleManufacturing Systems. CTEH Press, Holon, Israel. pp. 101–112.

Meggido, N., 1983. Linear time algorithms for linear programming in R3 and relatedproblems. SIAM Journal on Computing 12 (4), 759–776.