sequencing and scheduling in a three-machine robotic cell

14

Click here to load reader

Upload: hichem

Post on 15-Oct-2016

218 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Sequencing and scheduling in a three-machine robotic cell

This article was downloaded by: [University Library Utrecht]On: 22 October 2012, At: 17:43Publisher: Taylor & FrancisInforma Ltd Registered in England and Wales Registered Number: 1072954 Registered office: Mortimer House,37-41 Mortimer Street, London W1T 3JH, UK

International Journal of Production ResearchPublication details, including instructions for authors and subscription information:http://www.tandfonline.com/loi/tprs20

Sequencing and scheduling in a three-machine roboticcellWassim Zahrouni a & Hichem Kamoun aa Laboratoire GIAD, Faculté des Sciences Economiques et de Gestion de Sfax, Route del’Aérodrome Km 4.5 BP 1088-3018 Sfax, Tunisia

Version of record first published: 08 Sep 2011.

To cite this article: Wassim Zahrouni & Hichem Kamoun (2012): Sequencing and scheduling in a three-machine robotic cell,International Journal of Production Research, 50:10, 2823-2835

To link to this article: http://dx.doi.org/10.1080/00207543.2011.596999

PLEASE SCROLL DOWN FOR ARTICLE

Full terms and conditions of use: http://www.tandfonline.com/page/terms-and-conditions

This article may be used for research, teaching, and private study purposes. Any substantial or systematicreproduction, redistribution, reselling, loan, sub-licensing, systematic supply, or distribution in any form toanyone is expressly forbidden.

The publisher does not give any warranty express or implied or make any representation that the contentswill be complete or accurate or up to date. The accuracy of any instructions, formulae, and drug doses shouldbe independently verified with primary sources. The publisher shall not be liable for any loss, actions, claims,proceedings, demand, or costs or damages whatsoever or howsoever caused arising directly or indirectly inconnection with or arising out of the use of this material.

Page 2: Sequencing and scheduling in a three-machine robotic cell

International Journal of Production ResearchVol. 50, No. 10, 15 May 2012, 2823–2835

Sequencing and scheduling in a three-machine robotic cell

Wassim Zahrouni and Hichem Kamoun*

Laboratoire GIAD, Faculte des Sciences Economiques et de Gestion de Sfax,Route de l’Aerodrome Km 4.5 BP 1088-3018 Sfax, Tunisia

(Received 25 August 2010; final version received 8 June 2011)

Owing to intense global competition, one of the main concerns of the production-scheduling literature is themodelling and the optimisation of the robotic cells. In this type of cell, as in a classical flowshop, each partfollows the same processing order on all machines. The objective is the minimisation of the cycle time.To efficiently exploit the potential of such cells, an algorithmic framework to a variety of challenging NP-hardoptimisation problems is required. In this paper we consider the problem of scheduling operations in a three-machine robotic cell producing multiple part types. Besides the part sequence, the sequence of robot movesmust be optimised as well. The simultaneous optimisation of the sequences of part and of robot activities hasrarely been tackled in the literature. In addition, most studies restrict the search of the best MPS cycle to CRMsequences or to the combination of one-unit cycles despite the fact that these restrictions may not lead to theoptimality. This paper attempts to fill this gap by providing a constructive heuristic based on specific featuresof the problem. The reported computational tests provide clear evidence that this new way to tackle theproblem is promising.

Keywords: robotic cells; sequencing; blocking flowshop; cyclic scheduling

1. Introduction

Nowadays, fierce global competition has prompted manufacturers to integrate automation to ensure productivity,diversity and product quality. This has led to the development of flexible manufacturing systems that cover a rangeof systems such as flexible manufacturing cells (FMCs). Cellular manufacturing may be formed by gathering themachines needed to produce a special set of items or part family requiring similar operations. Thus, multiple part-types of each given family are processed in a specific cell.

In this paper, we focus on FMCs in which the material is handled by a robot. At this juncture, this type of cell,known as a robotic cell, has become a basic necessity. The efficient implementation of such cells gave birth to acomplex set of issues to be solved, including scheduling problems that aim to derive the most advantageous way touse the available costly machinery.

Recently, there has been considerable and increasing interest in cyclic scheduling expressed by researchers andmanufacturers. The advantage of cyclic scheduling over non-cyclic scheduling in cellular manufacturing is nowunequivocal mainly due to the efficient exploitation of resources and the simpler way to control the cell (Graveset al. 1983, Karabati and Kouvelis 1996, Lee and Posner 1997, Song and Lee 1998, Kouvelis and Karabati 1999,Lee and Korbaa 2004).

Many industries use robotic cells to cyclically produce multiple part types especially in the semiconductormanufacturing (Wood 1996, Venkatesh et al. 1997; Akcalt et al. 2001, Geismar et al. 2004, Kumar et al. 2005) andelectroplating line fields (Song et al. 1993, Lei and Wang 1994, Perkinson et al. 1994, 1996, Chen et al. 1998, Katset al. 1999, Che et al. 2002, 2003, Kats and Levner 2002, Liu et al. 2002, Leung et al. 2004).

This paper tackles the cyclic scheduling problem in a three-machine robotic cell producing multiple part types.The objective here is to minimise the cycle time needed to produce a set of parts or equivalently to maximise thethroughput rate. To fulfil such an objective, two mutually dependent sequences must be jointly optimised, namely:the sequence of robot activities and the sequence of parts to be produced.

The remainder of the paper is organised as follows. Section 2 provides a brief survey of related work. Section 3presents some preliminaries needed to understand the problem and its context. Section 4 presents an efficientalgorithm to determine the optimal robot move cycle and the part sequence that jointly minimise the production

*Corresponding author. Email: [email protected]

ISSN 0020–7543 print/ISSN 1366–588X online

� 2012 Taylor & Francis

http://dx.doi.org/10.1080/00207543.2011.596999

http://www.tandfonline.com

Dow

nloa

ded

by [

Uni

vers

ity L

ibra

ry U

trec

ht]

at 1

7:43

22

Oct

ober

201

2

Page 3: Sequencing and scheduling in a three-machine robotic cell

cycle time. This algorithm is tested computationally in Section 5. Finally, conclusions and future research plans aregiven in Section 6.

2. Literature review

Scheduling problems arising in robotic cells have received considerable attention in the literature. In their seminalwork, Sethi et al. (1992) developed an interesting framework used as a basis for several subsequent studies. Theyshowed that there are m! one-unit cycles in an m-machine cell and proved that one-unit cycle is the optimal schedulefor a two-machine cell processing identical parts. They also conjectured that for a single part type, one-unit cyclesare optimal for the m-machine robotic cells. Crama and van de Klundert (1999) demonstrated the validity of thisconjecture for a three-machine robotic cell, whereas Brauner and Finke (1997) invalidated it for an m-machine cellwhen m� 4. In addition, Dawande et al. (2002) developed an algorithm to find an optimal one-unit cycle in aconstant travel-time cell. For the additive travel-time cell, Crama and van de Klundert (1997) provided apolynomial-time algorithm based on dynamic programming to determine the best one-unit cycle. In their paper,Yan et al. (2010) looked for the optimal cyclic scheduling in a robotic cell with processing time constraints, where asingle part is produced during each cycle. They formulated the problem as the prohibited intervals of cyclic time.The latter are later divided into subsets allowing an efficient enumeration of the non-prohibited intervals using abranch-and-bound algorithm to find the optimal cycle time. Yildiz et al. (2011) considered a robotic cell in which theprocessing times can be altered or controlled by engaging additional resources or by modifying machine conditions.This flexibility, leading to a proportional higher production cost, helps to improve the cell’s performance. The costfunction of this flexibility is not assumed to be linear, as is common in the literature, but rather monotonicallydecreasing. Yildiz et al. considered a bicriteria scheduling problem in an m-machine flexible robotic cell producing asingle part type. The parts were produced according to a special m-unit cycles introduced in the literature byGultekin et al. (2009) and named pure cycles. Thus, besides the cycle time, the authors aimed to simultaneouslyminimise the manufacturing cost.

In the case of a three-machine cell producing a single part type, Hall et al. (1997, 1998) proved that one-unitcycles dominate two-unit cycles. With regard to multiple part types, they showed that even for the two-machine case,there are instances where one-unit cycles are dominated. They also established that in a three-machine cell, therecognition version of the part sequencing problems associated with two out of the six potential robot movesequences are unary NP-complete, whereas those associated with the other four cycles are solvable inpolynomial time.

Aneja and Kamoun (1999) proposed an O(n log n) time algorithm to jointly determine the optimal schedule ofrobot activities with the part input sequence in a two-machine cell. Based on the concept of common states, Kamounet al. (1999) proposed an efficient heuristic called ThreeCell aimed at optimising the sequence of robot activities inconjunction with the part sequence in a three-machine robotic cell. The efficiency of the heuristic comes from itsability to mix two sets of cycles, enabling their associated scheduling problems to be formulated as the efficientlysolvable TSP.

Although this paper only focuses on the free-pickup cells where a completed part may remain on any machineindefinitely, two other types of cells do exist: first, the no-wait robotic cell where the parts must be removed from amachine and transferred to the next one as soon as it is completely processed (Hall and Sriskandarajah 1996, Levneret al. 1997, Agnetis 2000, Agnetis and Pacciarelli 2000, Kats and Levner 2002, Che et al. 2003); second, the intervalprocessing time robotic cell that generalizes the free-pickup cells and the no-wait cells. In this latter type of cell, eachpart has a specific processing time window related to each machine (Lei and Wang 1994, Chen et al. 1998, Che et al.2002). A number of books and surveys have discussed recent developments regarding the robotic cell schedulingproblems. Therefore, we list just a few works that are relevant to our paper (Hall 1999, Crama et al. 2000, Dawandeet al. 2005, 2007).

3. Preliminaries

For the sake of clarity, before dealing with the discussed problem, we start this section by describing the cell andproviding the required notations and definitions. We will also highlight the difference between our approach andthose proposed in the literature.

2824 W. Zahrouni and H. Kamoun

Dow

nloa

ded

by [

Uni

vers

ity L

ibra

ry U

trec

ht]

at 1

7:43

22

Oct

ober

201

2

Page 4: Sequencing and scheduling in a three-machine robotic cell

3.1 Notations

The following brief notations are used to describe a robotic cell:M1 . . .Mm: the machines in the robotic cell in the processing order;I/O: the input/output buffer, also denoted as M0 and Mmþ1;

�i the time taken by a rotational robot movement when travelling between two consecutivemachines Mi�1 and Mi, 1� i�mþ 1;

"1 the time taken by the robot to pick up a part at I;"2i the time taken by the robot to load the part on the machine Mi;

"2iþ1 the time taken by the robot to unload the part from the machine Mi;"2mþ2 the time taken by the robot to drop the part at O;

� the time saved by not stopping at an intermediate machine during a robot movement betweentwo non-consecutive machines;

MPS the Minimal Part Set represents a fixed set of n parts that might all be different, to be producedcyclically;

� the sequence of parts constituting the MPS (The set of parts to be produced);�(j) the jth part to be produced in the sequence �.

3.2 Cell description

The robotic cell studied is composed of a number of serial machines and served by a single-gripper robot.Consequently, each part is either on one of the machines or handled by the robot. As in a classical flowshop, eachpart to be processed is transferred successively through the same sequence of machines from M0 to machines M1,M2 . . .Mm and finally dropped at Mmþ1. A three-machine robotic cell is illustrated in Figure 1.

After loading a part on a machine, the robot either waits on that machine for its processing end or moves toanother one to unload a finished part, otherwise, it moves to the input buffer to pick up a new part and introduce itinto the cell. Neither the machines can process, nor can the robot handle, more than one part at any time. Forreasons of feasibility, the robot will not be conducted to load an already-loaded machine or to unload an alreadyunloaded one. Cells that meet these conditions are called blocking cells.

3.3 Cyclic scheduling

Consistent with the existing literature related to cyclic schedules, the cycle is characterised by two consecutive similarcell states separated by a set of robot activities. These latter activities lead the cell from one state to another.

The state of the cell can be identified by the position of the robot and by the set of parts already being loaded oneach machine. The period of time needed to produce an MPS or equivalently that separates the start and the end ofthe cycle is called ‘the cycle time’. A cycle in which n parts are produced is called an n-unit cycle.

3.4 Robot activities

In a multiple part-type production case, the robot activity noted A�ðkÞi , i2 {0, 1 . . .m} and k2 {1, 2 . . .n}, corresponds

to the following sequence of actions: unload the kth part in the part sequence � from machine Mi, move and load iton machine Miþ1. Since, during a cycle, each machine is loaded and unloaded n times, each activity, regardless of thepart type, is performed n times. To illustrate this, (A1

0, A22,A

11, A

12, A

30, A

31, A

20, A

32, A

21) is a sequence of robot activities

M2

M3 M1

O I

Figure 1. Three-machine robotic cell.

International Journal of Production Research 2825

Dow

nloa

ded

by [

Uni

vers

ity L

ibra

ry U

trec

ht]

at 1

7:43

22

Oct

ober

201

2

Page 5: Sequencing and scheduling in a three-machine robotic cell

in a two-machine robotic cell that produces cyclically an MPS composed of three parts under the sequence:�¼ (�(1)¼ 1–�(2)¼ 3–�(3)¼ 2). That is to say, the processing starts with part 1 (since �(1)¼ 1), then part 3 followedby part 2, and again to part 1, etc.

The chosen starting part for a given part sequence is arbitrary, since this sequence is cyclic and can be repeatedindefinitely. Note that the occurrence number of activity A0, as for activities A1 or A2, is 3, which corresponds to thesize of the considered MPS.

3.5 MPS cycles and CRM sequences

Dawande et al. (2005) defined the MPS cycle to be a cycle during which the n parts forming the MPS enter the cell atInput, get processed and leave it at Output, and finally the cell returns to the same initial state. An MPS cycle isjointly determined by the sequence of robot activities and the sequence of parts.

The authors also define the Concatenated Robot Move Sequences (CRM sequences), which are a class of MPScycles, as an n times repetition of the same one-unit cycle. For example, if m¼ 3 and n¼ 2, the CRM sequence basedon S6 where S6¼ (A0,A3,A2,A1) is (S6, S6) or equivalently (A1

0, A13, A

22, A

11,A

20, A

23, A

12, A

21).

3.6 Problem description

In this paper, we will discuss the cyclic sequencing problem of robot activities in conjunction with the partsequencing problem in a three-machine cell. To solve this double sequencing problem, known to be NP-complete(Hall et al. 1997), a constructive heuristic in the spirit of the NEH algorithm (Nawaz et al. 1983) is proposed.

For a two-machine cell, Hall et al. (1997) prove that the optimal schedule that leads to the minimum cycle time isnot generally a CRM sequence. It is rather obtained by selectively switching between the two possible robot one-unitcycles: S1 and S2. They also developed for this type of cell an O(n4) algorithm called MinCycle to find the best MPScycle. The time complexity of MinCycle was improved later on by Aneja and Kamoun (1999) to O(n log n). It is clearfrom the work of Hall et al. (1997) that for a given part sequence, determining the best corresponding sequence ofrobot activities is obvious.

With regard to the three-machine cell, previous studies only focused on CRM sequences or a combination ofone-unit cycles for which the associated part scheduling problem is efficiently solvable. To the best of ourknowledge, neither an exact nor an approximate approach has been designed to find the best MPS cycle withoutbeing restricted to such a special class of robot moves.

We attempt in this paper to break away from these restrictions and provide an insight into how far the optimalMPS cycle time from the minimal cycle time is related to these special classes of robot move sequences.

4. Scheduling multiple part-types in a three-machine cell

For cells producing multiple part-types, two sub-problems arise and must be solved jointly owing to theirinteraction: the robot activities sequencing problem and the part sequencing problem. In our search for the bestMPS cycle, we are not confined to the CRM sequences or to the combination of one-unit cycles.

In this section, we will provide an algorithm called MinMPSCycle inspired by the NEH algorithm of Nawazet al. (1983). The attention paid to this algorithm is due to the fact that when robot travel times are negligible, itbecomes a scheduling problem in a blocking flowshop. For this latter problem, NEH has long been recognisedamong the highest-performing algorithms especially for permutation flowshop scheduling problem (Ronconi 2004,Grabowski and Pempera 2007)

Before we proceed with the description of the algorithm, we start by recalling the steps of the NEH algorithm.

(a) NEH algorithm:

Step 1: Sort the parts by decreasing sums of processing times on all machines.

Step 2: Schedule the first two parts. Select one of the two part sequences that results in the minimum makespan.

Step 3: For i¼ 3 to n do

2826 W. Zahrouni and H. Kamoun

Dow

nloa

ded

by [

Uni

vers

ity L

ibra

ry U

trec

ht]

at 1

7:43

22

Oct

ober

201

2

Page 6: Sequencing and scheduling in a three-machine robotic cell

Insert tentatively the ith part in one of the ‘i’ possible positions of the partial part sequence. Select oneof these sequences that results in the minimum makespan.The best sequence will be saved for the next iteration.

End for.

A schedule of an m-machine cell producing n part types is determined by a sequence of n� (mþ 1) robotactivities. For a two-machine cell, these robot activities are of types: Aj

0, Aj1, and Aj

2. When activities of type Aj3 are

correctly inserted in this latter sequence of robot activities, we obtain a three-machine cell schedule. This is the ideabehind our proposed algorithm, which consists of the following three main steps. First, find the part sequence in asimilar manner as in the NEH algorithm. Second, assume that the cell contains only two machines and determinethe optimal schedule of robot activities corresponding to the part sequence found earlier. Insert successive activitiesof type Aj

3 in the resultant schedule to obtain finally a three-machine cell schedule. Note that we have used theformulation introduced by Lei and Liu (2001) to convert each partial schedule into a linear program in order toevaluate its corresponding cycle time. The partial schedule with the minimum partial cycle time is retained. Clearly,the constructive algorithm is as follows.

(b) MinMPSCycle algorithm:

Step 1: Sort the n parts, constituting the MPS, by decreasing sums of processing times on machines to get thepriority insertion order noted �.

Step 2: Assume that the cell is only composed of two machines M1 and M2. Find the optimal schedule of robotactivities for the first two parts �(1) and �(2), where �(j) is the jth part in the part sequence �.

Step 3: By maintaining the feasibility, insert in the obtained schedule the activity A�ð1Þ3 in all possible positions, do

the same for A�ð2Þ3 . The insertion of each activity in each position, thereby engendering a new

partial schedule, is converted to a linear program. The corresponding partial cycle time is computed, andthe minimum one is selected. As a result, a schedule denoted � of two parts in a three-machine cell isachieved.

Step 4: Let T denote the cycle time of an alternative current schedule �.

Let T* denote the cycle time of the best obtained schedule �*.For k¼ 3 until k¼ n

// in each part insertion, we initialize the best cycle time.T*¼þ1For i¼ 1 until i¼k�1

// insertion of the part �(k) just after// the part �(i) in the schedule �

T¼ Insert (�, �(i),�(k))//the best obtained schedule with its//corresponding cycle time are recorded.

If (T*4T) then{T*¼T; �*¼ �}

End IfEnd

// the best schedule is used as a starting point// to optimise the next part insertion.

�¼ �*.End

As in the NEH algorithm, step 1 does not generate the part sequence; it just fixes the parts’ priority insertion.Thus, the obtained part sequence �* could be different from �.

With regard to step 2, based on the work of Hall et al. (1997), we can easily conceive of an algorithm for a two-machine cell to find the optimal schedule of robot activities when the part sequence is given. Since there is a commonstate shared by the two possible cycles S1 and S2, the cell can migrate from a common state to the next one by usingeither cycle S1 or S2. We compute the periods of time separating the occurrence of both successive common states forboth cycles. The minimum one corresponds to the best cycle and hence to the best sequence of robot activities.

International Journal of Production Research 2827

Dow

nloa

ded

by [

Uni

vers

ity L

ibra

ry U

trec

ht]

at 1

7:43

22

Oct

ober

201

2

Page 7: Sequencing and scheduling in a three-machine robotic cell

Also, note that in the two-part case, there are only two alternative part sequences: (�(1)–�(2)) or (�(2)–�(1)); bothare equivalent, since the production is cyclic.

In step 3 and for the sake of feasibility, each activity Aj3 must only be inserted between the activities Aj

2 and Ajþ12 .

Figure 2 (Brauner and Finke 1999) represents the possible positions of the activity A3 in any schedule.It is clear that when the number of occurrences of type Aj

3 activities in a schedule is different from the number ofoccurrence of type Aj

0, Aj1 or Aj

2 activities, the resulting schedule is obviously infeasible. This infeasibility willdisappear after the insertion of all activities of type Aj

3.In our algorithm, each schedule is converted to a linear program. In case of an infeasible schedule, which is only

caused by the lack of some activities of type Aj3, the travelling time and processing time constraints related to the

missed activities are simply relaxed.The insertion of each activity of type Aj

3 will be translated, as was done by Lei and Liu (2001), by the addition ofa new set of constraints (travelling time and processing time constraints) to the original linear program. The optimalobjective function value is interpreted as a partial cycle time and serves as a guide to gradually build a feasible high-quality schedule. The term ‘partial schedule’, used in this paper to describe an incomplete schedule (and hencegenerally infeasible), is different from that employed by Lei and Liu (2001) to designate a feasible schedule for only asubset of parts.

Concerning step 4, the first ‘alternative current schedule �’ is a complete and feasible schedule of the two parts(� (1),� (2)) generated by step 3. The subroutine Insert, called to insert part �(k) just after part �(i) in the schedule �,yields the best found partial schedule with its corresponding cycle time. Besides, the parts of an MPS areprogressively inserted according to the priority order � and in the spirit of the NEH algorithm.

(c) Subroutine Insert (�1, �1 (i),�(k)):

Step 1: Remove activities A�1ðiÞ3 and A

�1ðiþ1Þ3 from the schedule �1. Let F be the string of the schedule �1 ranging

from A�1ðiÞ1 to A

�1ðiþ1Þ1 , where both end-points are included.

Step 2: Assume that the cell is composed of only two machines M1 and M2. Find the optimal sequence of robotactivities from A

�1ðiÞ1 to A

�ðkÞ1 and from A

�ðkÞ1 to A

�1ðiþ1Þ1 . Once found, place this sequence of robot activities

in lieu of F. Note that when inserting the part �(k) just after the part �1(i) in the schedule �1, a new partsequence and consequently a new schedule noted �2 will be obtained. That is �2(i–1)¼ �1(i–1), �2(i)¼ �1(i),�2(iþ1)¼�(k), and �2(iþ2)¼ �1(iþ1).

Step 3: Start by inserting the activity A�2ði�1Þ3 only if it was found in the removed string F defined in step 1; then

insert A�2ðiÞ3 , A

�2ðiþ1Þ3 , and finally A

�2ðiþ2Þ3 .Once all robot activities are inserted, a complete schedule of k

parts is achieved.

Each missed activity of type Aj3 must be inserted, one by one, in all possible positions between the activities

Aj2 and Ajþ1

2 (as illustrated in Figure 2) in order to select the best position and progressively reach acomplete schedule. After the insertion of each activity, the new engendered partial schedule is converted toa linear program, the resultant partial cycle time is computed, and the minimum one corresponding to thebest activity’s position is selected.

Step 4: Return the best found partial schedule with its corresponding cycle time.

As explained earlier in step 2 of the MinMPSCycle Algorithm, it is trivial to find the best robotactivities for a two-machine cell when a part sequence is given. It is also important to note that in this kind of

Figure 2. Positions of the activity A3 in any cyclic schedule.

2828 W. Zahrouni and H. Kamoun

Dow

nloa

ded

by [

Uni

vers

ity L

ibra

ry U

trec

ht]

at 1

7:43

22

Oct

ober

201

2

Page 8: Sequencing and scheduling in a three-machine robotic cell

cell (a two-machine cell), the common state shared by the two potential cycles is reached at the moment when therobot activity of type Aj

1 has just been carried out. This explains our interest at step 2 in the optimisation of robotactivities lying between activities of type Aj

1. For the sake of clarity, we recall that to pass from Aj1 to Ajþ1

1 , the robotcan execute the sequence of activities related to either cycle S1 or S2. The sequence of robot activities correspondingto the minimal period of time resulting from both cycles is selected.

5. Computational experiments

To evaluate the performance of our approach, MinMPSCycle was implemented and tested with a C compiler on aPentium IV workstation (3.2GHz and 512MB of RAM). Computational results are presented in Table 1. The firstcolumn shows the number of parts forming the MPS. We use PTmin and PTmax, in the second and third columns,to denote the lower and upper ends of the range of processing times that are generated independently from theuniform distribution. The values of "i, �i and �¼ 0 are the same as those in Kamoun et al. (1999). It is worthmentioning that instead of varying the set of travel times and the set of processing times, it is sufficient to vary one ofthem. Indeed, in the optimisation process, it is trivial to know whether the travel times are large or not; what isimportant is whether the processing times compared with the travel times are large or not. Here, we choosearbitrarily to fix the travel times, and we vary the processing times.

The number of random problem instances generated is illustrated in the fourth column. The fifth and sixthcolumns show respectively the mean and the best enhancement of the cycle time noticed throughout the probleminstances of MinMPSCycle over ThreeCell heuristic. The seventh, eighth and ninth columns show the number ofinstances for which the best cycle time found is given by ThreeCell, MinMPSCycle or both heuristics respectively.The mean CPU time is presented in the last column.

The cycle time enhancements are defined as follows:

MECT ¼ 100�X50

t¼1

ðCtT � Ct

MÞ=ð50� CtMÞ

� �,

BECT ¼ 100� max1�t�50

fðCtT � Ct

MÞ=CtMg, ð1Þ

where CtT and Ct

M denote, respectively, the cycle time obtained by the ThreeCell andMinMPSCycle heuristics for aninstance t.

The computational results clearly show that MinMPSCycle outperforms the ThreeCell heuristic, and thereduction in the cycle time exceeds on average 9%. In addition, the mean enhancement of the cycle time slowlygrows as the size of the problem instance increases. This reduction may seem too small to draw one’s attention, butin reality, the importance of reduction originates from the number of times that the MPS is produced.

Note that, although this approach does not give the optimal solution, the height of the reduction that reaches12.8% proves that the CRM sequences or the combination of one-unit cycles are far from optimality. For this reason,we believe that new research directions must focus on general MPS cycles without restrictions to any special class ofrobot moves, even at the cost of losing the advantages of easiness of understanding and implementing such cycles.

6. Concluding remarks and perspectives

In this paper, we have studied the problem of scheduling multiple part-types in a three-machine robotic cell. Byproposing a constructive heuristic called MinMPSCycle, this work is an attempt to remove the restriction existing

Table 1. Cycle-time reduction of the MinMPSCycle over ThreeCell heuristic.

MPS PTmin PTmax E MECT BECT OThreeCell OMinMPSCycle Oboth CPU time (sec)

5 10 90 50 2.132 10.721 6 34 10 0.41115 10 90 50 6.760 12.884 0 50 0 5.29125 10 90 50 8.361 11.045 0 50 0 19.83935 10 90 50 9.215 11.019 0 50 0 39.90545 10 90 50 9.857 11.832 0 50 0 62.274

International Journal of Production Research 2829

Dow

nloa

ded

by [

Uni

vers

ity L

ibra

ry U

trec

ht]

at 1

7:43

22

Oct

ober

201

2

Page 9: Sequencing and scheduling in a three-machine robotic cell

in the literature limiting the research on the best MPS cycle to CRM sequences or a combination of one-unit cycles.MinMPSCycle yields an improvement of the cycle time exceeding by 9% that of the ThreeCell algorithm andachieving better results in 234 of the 250 random generated instances.

To the best of our knowledge, no similar study has been published. The proposed algorithm can be extendedto tackle the cases of robotic cells equipped with more than three machines by inserting the missed activities and byoptimising the part sequence in the spirit of the NEH algorithm. The insertion technique can be improved bygrouping not only M1 and M2 together to create the initial partial schedule but also M2 and M3 or M1 and M3 aswell. In addition, the computation time may be reduced by converting the partial schedule, not to a linear program,but instead to a graph in which the shortest path must be determined as done by Ioachim and Soumis (1995). Theobserved enhancement of the cycle time clearly brings to light the finding that the restrictions imposed in theliterature worsen the quality of the schedule and make it difficult to attain the optimality. These findings will drivefuture research to remove these particular restrictions by tackling the general case or at least to specify other classesof MPS cycles to enhance the quality of the schedule.

Acknowledgements

The authors thank Prof. Omar Mohsen for his assistance throughout the progress of this work. We would also like to extend oursincere thanks to the anonymous reviewers for their helpful remarks and insightful comments.

References

Agnetis, A., 2000. Scheduling no-wait robotic cells with two and three machines. European Journal of Operational Research,

123 (2), 303–314.

Agnetis, A. and Pacciarelli, D., 2000. Part sequencing in three machine no-wait robotic cells. Operations Research Letters, 27 (4),

185–192.Akcalt, E., Nemoto, K., and Uzsoy, R., 2001. Cycle-time improvements for photolithography process in semiconductor

manufacturing. IEEE Transactions on Semiconductor Manufacturing, 14 (1), 48–56.Aneja, Y.P. and Kamoun, H., 1999. Scheduling of parts and robot activities in two-machine robotic cell. Computers & Operations

Research, 26 (4), 297–312.Brauner, N. and Finke, G., (1997). Final results on the one-cycle conjecture in robotic cells. Internal note, Laboratoire LEIBNIZ,

Institut IMAG, Grenoble, France.

Brauner, N. and Finke, G., 1999. On a conjecture in robotic cells: new simplified proof for the three-machine case. INFOR,

37 (1), 20–36.Che, A., Chu, C., and Chu, F., 2002. Multicyclic hoist scheduling with constant processing times. IEEE Transactions on Robotics

and Automation, 18 (1), 69–80.Che, A., Chu, C., and Levner, E., 2003. A polynomial algorithm for 2-degree cyclic robot scheduling. European Journal of

Operational Research, 145 (14), 31–44.Chen, H., Chu, C., and Proth, J., 1998. Cyclic scheduling with time window constraints. IEEE Transactions on Robotics and

Automation, 14 (1), 144–152.

Crama, Y., et al., 2000. Cyclic scheduling in robotic flowshops. Annals of Operations Research: Mathematics of Industrial

Systems, 96 (1–4), 97–124.

Crama, Y. and van de Klundert, J., 1997. Cyclic scheduling of identical parts in a robotic cell. Operations Research, 45 (6),

952–965.Crama, Y. and van de Klundert, J., 1999. Cyclic scheduling in 3-machine robotic flow shops. Journal of Scheduling, 2 (1), 35–54.Dawande, M., et al., 2005. Sequencing and scheduling in robotic cells: recent developments. Journal of Scheduling, 8 (5), 387–426.

Dawande, M., et al., 2007. Throughput optimization in robotic cells. New York: Springer.Dawande, M., Sriskandarajah, C., and Sethi, S., 2002. On throughput maximization in constant travel-time robotic cells.

Manufacturing and Service Operations Management, 4 (4), 296–312.Geismar, H.N., Sriskandarajah, C., and Ramanan, N., 2004. Increasing throughput for robotic cells with parallel machines and

multiple robots. IEEE Transactions on Automation Science & Engineering, 1 (1), 84–89.Grabowski, J. and Pempera, J., 2007. The permutation flowshop problem with blocking. A tabu search approach. Omega, 35 (3),

302–311.

Graves, S.C., et al., 1983. Scheduling of re-entrant flow shops. Journal of Operations Management, 3 (4), 197–207.

2830 W. Zahrouni and H. Kamoun

Dow

nloa

ded

by [

Uni

vers

ity L

ibra

ry U

trec

ht]

at 1

7:43

22

Oct

ober

201

2

Page 10: Sequencing and scheduling in a three-machine robotic cell

Gultekin, H., Karasan, O.E. and Akturk, M.S., 2009. Pure cycles in flexible robotic cells. Computers & Operations Research, 36

(2), 329–343.

Hall, N.G., 1999. Operations research techniques for robotic systems. In: S.Y. Nof, ed. Handbook of industrial robotics, second

edition. Canada: John Wiley and Sons, 543–578.Hall, N.G., Kamoun, H., and Sriskandarajah, C., 1997. Scheduling in robotic cells: classification, two and three machine cells.

Operations Research, 45 (3), 421–439.

Hall, N.G., Kamoun, H., and Sriskandarajah, C., 1998. Scheduling in robotic cells: complexity and steady state analysis.

European Journal of Operational Research, 109 (1), 43–63.Hall, N.G. and Sriskandarajah, C., 1996. A survey of machine scheduling problems with blocking and no-wait in process.

Operations Research, 44 (3), 510–525.Ioachim, I. and Soumis, F., 1995. Schedule efficiency in a robotic production cell. International Journal of Flexible Manufacturing

Systems, 7 (1), 5–26.Kamoun, H., Hall, N.G., and Sriskandarajah, C., 1999. Scheduling in robotic cells: heuristics and cell design. Operations

Research, 47 (6), 821–83.Karabati, S. and Kouvelis, P., 1996. Cyclic scheduling in flow lines: modelling, observations, effective heuristics and a cycle time

minimization procedure. Naval Research Logistics, 43 (2), 211–231.

Kats, V., Levner, E., and Meyzin, L., 1999. Multiple-part cyclic hoist scheduling using a sieve method. IEEE Transactions on

Robotics and Automation, 15 (4), 704–713.Kats, V. and Levner, E., 2002. Cyclic scheduling in a robotic production line. Journal of Scheduling, 5 (1), 23–41.

Kouvelis, P. and Karabati, S., 1999. Cyclic scheduling in synchronous production lines. IIE Transactions, 31 (8), 709–719.Kumar, S., Ramanan, N., and Sriskandarajah, C., 2005. Minimizing cycle time in large robotic cells. IIE Transactions, 37 (2),

123–136.Lee, J. and Korbaa, O., 2004. Modelling and scheduling of ratio-driven FMS using unfolding time Petri nets. Computers &

Industrial Engineering, 46 (4), 639–653.Lee, T.E. and Posner, M.E., 1997. Performance measures and schedules in periodic jobshops. Operations Research, 45 (1), 72–91.Lei, L. and Liu, Q., 2001. Optimal Cyclic Scheduling of a robotic processing line with two-product and time-window constraints.

INFOR, 39 (2), 185–199.Lei, L. and Wang, T.J., 1994. Determining optimal cyclic hoist schedules in a single-hoist electroplating line. IIE Transactions,

26 (2), 25–33.

Leung, J.M.Y., et al., 2004. Optimal cyclic multi-hoist scheduling: a mixed integer programming approach. Operations Research,

52 (6), 965–976.Levner, E., Kats, V., and Levit, V., 1997. An improved algorithm for cyclic flowshop scheduling in a robotic cell. European

Journal of Operational Research, 97 (3), 500–508.

Liu, J., Jiang, J., and Zhou, Z., 2002. Cyclic scheduling of a single hoist in extended electroplating lines: a comprehensive integer

programming solution. IIE Transactions, 34 (10), 905–914.Nawaz, M., Enscore, E.E., and Ham, I., 1983. A heuristic algorithm for the m-Machine, n-Job flow-shop sequencing problem.

OMEGA, 11 (1), 91–95.Perkinson, T., Gyurcsik, R., and McLarty, P., 1996. Single-wafer cluster tool performance: an analysis of the effects of redundant

chambers and revisitation sequences on throughput. IEEE Transactions on Semiconductor Manufacturing, 9 (3), 384–400.

Perkinson, T., et al., 1994. Single-wafer cluster tool performance: an analysis of throughput. IEEE Transactions on

Semiconductor Manufacturing, 7 (3), 369–373.Ronconi, D.P., 2004. A note on constructive heuristics for the flowshop problem with blocking. International journal of

Production Economics, 87 (1), 39–48.

Sethi, S.P., et al., 1992. Sequencing of parts and robot moves in a robotic cell. International Journal of Flexible Manufacturing

Systems, 4 (3–4), 331–358.Song, J.S. and Lee, T.E., 1998. Petri net modeling and scheduling for cyclic job shops with blocking. Computers and Industrial

Engineering, 34 (2), 281–295.Song, W., Zabinsky, Z.B., and Storch, R.L., 1993. An algorithm for scheduling a chemical processing tank line. Production

Planning and Control, 4 (4), 323–332.

Venkatesh, S., et al., 1997. A steady-state throughput analysis of cluster tools: dual-blade versus single-blade robots. IEEE

Transactions on Semiconductor Manufacturing, 10 (4), 418–424.Wood, S., 1996. Simple Performance models for integrated processing tools. IEEE Transactions on Semiconductor

Manufacturing, 9 (3), 320–328.

Yan, P., et al., 2010. A branch and bound algorithm for optimal cyclic scheduling in a robotic cell with processing time windows.

International Journal of Production Research, 48 (21), 6461–6480.Yildiz, S., Akturk, M.S., and Karasan, O.E., 2011. Bicriteria robotic cell scheduling with controllable processing times.

International Journal of Production Research, 49 (2), 569–583.

International Journal of Production Research 2831

Dow

nloa

ded

by [

Uni

vers

ity L

ibra

ry U

trec

ht]

at 1

7:43

22

Oct

ober

201

2

Page 11: Sequencing and scheduling in a three-machine robotic cell

Appendix 1. Numerical illustrations

We consider a cell producing a four-part type: P0, P1, P2, and P3, where Pi represents the part of type i. The processing timesassociated with these parts are shown in Table 2.

ai, bi and ci represent the processing times of part Pi on machine M1, M2, and M3 respectively (Table 2).

A. MinMPSCycle algorithm illustration

Step 1: The priority part insertion order is �¼ (0–2–3–1)

Step 2: Assuming that the cell is composed of only two machines M1 and M2, the optimal schedule of the first two parts� (1)¼ 0 and � (2)¼ 2 is: A2

0 A02 A2

1 A00 A2

2 A01

Step 3: The target of this step is to insert activities A03 and then A2

3 in the schedule generated by step 2. Each partial schedule,resulting from each insertion of each activity, is converted to a linear program, and the corresponding cycle time iscomputed.

For example, in the first part of Table 3, the algorithm starts with the insertion of activity A03 in the three possible positions,

which are displayed in bold. The schedule associated with the minimum cycle time (156) is retained and considered as the startingpoint in the next insertion of the next activity. In this latter schedule, the algorithm proceeds to the insertion of next activity A2

3 inthe possible positions. Similarly, the schedule associated with the minimum cycle time (171) is retained.

Step 4: The first current schedule is:

A20 A

23 A

02 A

21 A

00 A

03 A

22 A

01

The iterations of insertion of parts �(3) and �(4), where �(3)¼ 3 and �(4)¼ 1, are illustrated in Table 4.

For the sake of accuracy, this table represents the insertions of parts �(k) for k2 {3, 4}. The iteration starts with aninitialisation of the cycle time ‘T*’ to: þ1

For k¼ 3, the iteration starts with the actual part sequence �¼ (0–2). The algorithm aims at inserting in the latter sequencethe part �(3) in all possible positions (that is, just after part �(i) with i2{1, 2}). In other words, these positions are:

(1) Just after part �(1) representing the part P0:After the insertion of the part �(3) right after the part �(1), we obtain a new part sequence: (0–3–2). The cycle timecorresponding to this sequence is T¼ 283.

(2) Just after the part �(2) representing the part P2:When the part �(3) is inserted right after the part �(2), there will be a new part sequence: (0–2–3) with a correspondingcycle time equal to: T¼ 250.

Since the cycle time corresponding to the second schedule is lower than that of the first schedule, the second scheduleis retained and considered as a starting point for the next insertion of part �(4). Similarly, the part �(4) will be iteratively

Table 3. Insertions’ iterations of activities A03 and A2

3.

Schedule Cycle time

Insertion of A03 in all positions

A20 A0

2 A03 A2

1 A00 A2

2 A01 212

A20 A0

2 A21 A0

3 A00 A2

2 A01 202

A20 A0

2 A21 A0

0 A03 A2

2 A01 156

Best one is chosen; we insert A23

A20 A0

2 A21 A0

0 A03 A2

2 A23 A0

1 199

A20 A0

2 A21 A0

0 A03 A2

2 A01 A2

3 189

A20 A2

3 A02 A2

1 A00 A0

3 A22 A0

1 171

Best one is chosen; for two parts, the complete schedule is:

A20 A2

3 A02 A2

1 A00 A0

3 A22 A0

1 171

Note: In the cycle time column, the values shown in bold represent theminimum cycle time of the associated three schedules. The last value inthe same column represents the best cycle time obtained.

Table 2. Part-processing times.

Parts P0 P1 P2 P3

ai 95 17 21 46bi 13 47 59 82ci 49 19 69 19

Total processing time 157 83 149 147

2832 W. Zahrouni and H. Kamoun

Dow

nloa

ded

by [

Uni

vers

ity L

ibra

ry U

trec

ht]

at 1

7:43

22

Oct

ober

201

2

Page 12: Sequencing and scheduling in a three-machine robotic cell

inserted in the sequence �¼ (0–2–3) right after the part �(i) with i2{1, 2, 3}. That is, the part �(4) will be inserted in thesepositions:

(a) Just after part �(1) representing the part P0.(b) Just after part �(2) representing the part P2.(c) Just after part �(3) representing the part P3.

The cycle times corresponding to the three possible schedules are computed. The schedule corresponding to the minimumcycle time (T¼ 337) is retained: �¼ (0–1–2–3).

B. Insert subroutine illustration

For the subroutine insert, we only illustrate the case of k¼ 3, and i¼ 1.The part sequence of the schedule �1¼ �¼ (0–2)� (3)¼ 3; �1(1)¼ 0; �1(2)¼ 2. Therefore, the function to call is:

Insert (�1, 0, 3)

The sequence of robot activities of the schedule �1, which is generated by Step 3 of the MinMPSCycle algorithm, is:

{A20 A

23 A0

2 A21 A0

0 A03 A2

2 A01} or equivalently {A0

1 A20 A2

3 A02 A2

1 A00 A0

3 A22} since the production is cyclic.

Given that the part � (3) is inserted just after the part �1(1) in the schedule �1, the part sequence related to the schedule �2 is:

(�1(1)–� (3)–�1(2)) or equivalently (0–3–2)

Step 1: We remove activities A�1ðiÞ3 ¼A0

3 and A�1ðiþ1Þ3 ¼A2

3 from the schedule �1. We obtain:

{A01 A2

0 A02 A2

1 A00 A2

2}.

The string of the schedule �1, noted F and ranging from A01 to A2

1, is: {A01 A2

0 A02 A2

1}.

Table 4. The simultaneous optimisation of the part sequence and the robot activities.

Insertion of the part k¼ 3 inthe part sequence �¼ (0� 2)

Insertion of the part k¼ 4 in thepart sequence �¼ (0� 2� 3)

T*¼þ1//Initialisation T*¼þ1//Initialisation

i¼ 1//insert after the part �(1) i¼ 1//insert after the part �(1)

�(1)¼ 0 ; �(3)¼ 3 �(1)¼ 0 ; �(4)¼ 1T¼ Insert (�, 0, 3) T¼ Insert (�, 0, 1)�2: (0� 3� 2) �2: (0� 1� 2� 3)T¼ 283 T¼ 317

i¼ 2//insert after the part �(2) i¼ 2//insert after the part �(2)

�(2)¼ 2 ; �(3)¼ 3 �(2)¼ 2 ; �(4)¼ 1T¼ Insert (�, 2, 3) T¼ Insert (�, 2, 1)�2: (0� 2� 3) �2: (0� 2� 1� 3)T¼ 250 T¼ 339

The best obtained cycle time with itsassociated part sequence are:T*¼Min{283, 250)¼ 250;�*: (0� 2� 3).

i¼ 3//insert after the part �(3)

�(3)¼ 3 ; �(4)¼ 1T¼ Insert (�, 3, 1)�2: (0� 2� 3� 1)T¼ 337

The best obtained cycle time with itsassociated part sequence are:T*¼Min{317, 339, 337)¼ 317;�*¼ (0� 1� 2� 3).

International Journal of Production Research 2833

Dow

nloa

ded

by [

Uni

vers

ity L

ibra

ry U

trec

ht]

at 1

7:43

22

Oct

ober

201

2

Page 13: Sequencing and scheduling in a three-machine robotic cell

Step 2: Assuming that the cell is composed of only two machines M1 and M2.

The optimal sequence of robot activities from A01 to A3

1 is: {A01 A

30 A

02 A

31} (This point will be detailed in the next section) and

from A31 to A2

1 is: {A31 A2

0 A32 A2

1}.

Their concatenation gives: {A01 A3

0 A02 A3

1 A20 A3

2 A21}.

We put it in lieu of F in the schedule �1.We obtain:

{A01 A3

0 A02 A3

1 A20 A3

2 A21 A0

0 A22} or also {A2

2 A01 A3

0 A02 A3

1 A20 A3

2 A21 A0

0} since the schedule is cyclic

Step 3: We gradually insert activities A23, A

03 and then A3

3 (See Table 5).

Step 4: Return the best obtained schedule and its corresponding cycle time.

C. Optimal sequence of robot activities from A10 to A1

3

In a two-machine cell, there are two possible cycles:

S1 : fA1,A2,A0g

S2 : fA1,A0,A2g

According to Hall et al. (1997), for a two-machine cell, the cycle times for 1-unit cycles S1 and S2 are given respectively by:

T21�ðiÞ�ðiþ1Þ ¼ �þ b0�ðiÞ þ a0�ðiþ1Þ

T22�ðiÞ�ðiþ1Þ ¼ �þmaxf�, b0�ðiÞ, a

0�ði1Þg

where

a0i ¼ ai þ "1 þ "2 þ 2�1 � �,

b0i ¼ bi þ "5 þ "6 þ 2�3 � �, i ¼ 1, . . . , n,

� ¼ "3 þ "4 þ 2�2, and

� ¼ 2X3

i¼1

�i þ "1 þ "2 þ "5 þ "6 � 2�:

We are about to look for the optimal sequence of robot activities from A01 to A3

1. Here, �(i)¼ 0 and �(iþ1)¼ 3.

Table 5. Iterations of insertions of activities A23, A

03, and A3

3.

Schedule Cycle time

Insertion of A23 in all positions

A22 A2

3 A01 A3

0 A02 A3

1 A20 A3

2 A21 A0

0 326

A22 A0

1 A23 A3

0 A02 A3

1 A20 A3

2 A21 A0

0 316

A22 A0

1 A30 A2

3 A02 A3

1 A20 A3

2 A21 A0

0 283

Best position is chosen; we insert A03

A22 A0

1 A30 A2

3 A02 A0

3 A31 A2

0 A32 A2

1 A00 332

A22 A0

1 A30 A2

3 A02 A3

1 A03 A2

0 A32 A2

1 A00 283

A22 A0

1 A30 A2

3 A02 A3

1 A20 A0

3 A32 A2

1 A00 283

Best position is chosen; we insert A33

A22 A0

1 A30 A2

3 A02 A3

1 A03 A2

0 A32 A3

3 A21 A0

0 312

A22 A0

1 A30 A2

3 A02 A3

1 A03 A2

0 A32 A2

1 A33 A0

0 302

A22 A0

1 A30 A2

3 A02 A3

1 A03 A2

0 A32 A2

1 A00 A3

3 283

Best obtained complete schedule �2 is:

A22 A0

1 A30 A2

3 A02 A3

1 A03 A2

0 A32 A2

1 A00 A3

3 283

2834 W. Zahrouni and H. Kamoun

Dow

nloa

ded

by [

Uni

vers

ity L

ibra

ry U

trec

ht]

at 1

7:43

22

Oct

ober

201

2

Page 14: Sequencing and scheduling in a three-machine robotic cell

So, there are only two possible sequences of robot activities:

S1 : fA01,A

02, A

30, A

31g

S2 : fA01,A

30, A

02, A

31g

a03¼ 56,b00¼ 23,�¼ 10,�¼ 28,For S1, T

21¼ 89,

For S2, T22¼ 10þmax {28, 23, 56}¼ 66.

Since T225T2

1, then the optimal sequence of robot activities is S2: {A01,A

30, A

02, A

31}.

International Journal of Production Research 2835

Dow

nloa

ded

by [

Uni

vers

ity L

ibra

ry U

trec

ht]

at 1

7:43

22

Oct

ober

201

2