IEEE TRANSACTIONS ON ROBOTICS AND AUTOMATION, VOL. 18, NO. 1, FEBRUARY 2002 69
Multicyclic Hoist Scheduling With ConstantProcessing Times
Ada Che, Chengbin Chu, Member, IEEE, and Feng Chu
AbstractThis paper proposes an exact algorithm for the mul-ticyclic schedules of hoist moves in a printed circuit board (PCB)electroplating facility, where exactly ( 1) parts enter and
parts leave the production line during each cycle, and the pro-cessing time at each production stage is a given constant. The mul-ticyclic scheduling problem is transformed into enumeration of in-tervals for linear functions of decision variables. This enumerationis accomplished with a branch and bound procedure. At each nodeof the search tree, by solving a linear programming problem (LPP),either the corresponding partial solution is proved to be unable tolead to a feasible solution, or a lower bound is computed. Due to itsparticular structure, this LPP is equivalent to a cycle time evalu-ation problem in a bivalued graph which can be solved efficiently.The proposed algorithm is polynomial in the number of tanks fora fixed , but exponential if is arbitrary. Computational experi-ence with both benchmark and randomly generated test instancesis presented.
Index TermsAlgorithms, production systems, scheduling.
THIS PAPER addresses cyclic scheduling problem in ano-wait production system involving material handlingfacilities such as hoists or robots which are widely used inindustrial processes for material handling. In such systems,the hoist or robot is in charge of transporting parts from onemachine to another for the next operation. The productivityof these systems largely depends on the schedule of the robotactivities, especially when the intermediate storage area islimited in order to limit the work-in-process. Due to theimportance of the problem, the number of articles addressingproduction systems involving robots or hoists has increasedrapidly in recent years ,  both in cyclic ,, ) and noncyclic environments , .
The model considered in this paper is particularly relevant inprinted circuit board (PCB) electroplating processes and othergalvanization processes with a hoist for material handling. Sucha production line is composed of a sequence of chemical tanks.Each tank contains chemicals required for a specific electro-plating step in the processing of parts, such as acid cleaning,acid activating, copper plating, rinsing, etc. During the process,a part must be successively soaked in each chemical tank for a
Manuscript received March 19, 2000; revised November 20, 2000 and May23, 2000. This paper was receommended for publication by Associate EditorR. Kumar and Editor N. Viswanadham upon evaluation of the reviewers com-ments. This work was supported by the FrenchIsraeli co-operation grant Fac-tory of the Future.
The authors are with the Laboratoire doptimization des systmes industriels(LOSI), Universit de Technologie de Troyes, BP 2060, 10010 Troyes Cedex,France (e-mail: email@example.com; firstname.lastname@example.org; email@example.com).
Publisher Item Identifier S 1042-296X(02)01778-0.
specified period of time. This problem is commonly known ashoist scheduling problem , , , . Whenthe time that parts can stay on machines is not limited, the sys-tems are called robotic cells , , , , .
This paper considers a cyclic production environment.A cyclic production system periodically repeats the samestate. The length of the period is called cycle time. The cycletime measures the throughput rate of a production system.Therefore, the criterion considered in this paper is cycle timeminimization which is equivalent to maximizing the throughputrate, as in almost all works addressing cyclic schedules. Cyclicproduction is very important for its simplicity of implemen-tation and ease of management. It is particularly relevant inmass production, such as PCB electroplating and many othergalvanization processes. In such a system, production linesare specially configured for a quite long period to producevery few specific types of parts with very large lot size andtherefore can be approximated by cyclic production model.This explains why cyclic production environment has receivedvery much attention from researchers and practitioners ,, .
Cyclic schedules can be distinguished between simplecycle schedules and multicyclic schedules. In a general cyclicschedule, parts of type 1, parts of type 2, etc. areintroduced into the system every period (cycle). If is thelargest common divider of these s, this schedule is called-cyclic schedule or -degree cyclic schedule. In simple cycle
schedules, . In this paper, we consider a single part typemulticyclic schedule. In such a schedule, identical parts areintroduced during each cycle, that is, parts are introduced inand removed from each tank during a cycle. The mean cycletime of an -cyclic schedule is defined as the whole cycle timedivided by . The throughput rate is the inverse of the meancycle time. As far as hoist scheduling is concerned, manyresearchers have studied simple cycle schedules , , ,, , ; i.e., 1-cyclic schedules. In practice, however,simple cycle schedules are not necessarily optimal. In general,-cyclic schedules would have larger throughput. Lei and Wang
, Song et al.  have noticed that a 2-cyclic schedulemay be better than the optimal simple cycle schedule. Ourexperiments have also confirmed this fact. Little research workhas been done on multicyclic scheduling problems.
Due to the characteristics of chemical process in PCB elec-troplating or galvanization considered in this paper, we addressthe no-wait environment where as soon as the operation of apart is completed in a tank, it must be immediately removedfrom that tank and transported to the next one. In the litera-ture, some works , , ,  deal with models
1042296X/02$17.00 2002 IEEE
70 IEEE TRANSACTIONS ON ROBOTICS AND AUTOMATION, VOL. 18, NO. 1, FEBRUARY 2002
where the soak time of parts in each tank must fall into a timewindow. Models where the time that parts can stay on machinesis not bounded from above are relevant for mechanical man-ufacturing systems , , , , . These models andtime-window models are less constrained than the one consid-ered in this paper, and therefore they can lead to better pro-ductivity with an optimal solution. The model considered inthis paper is also relevant in practice for three reasons. Firstof all, with no-wait model, the nominal soak times are strictlyrespected. Secondly, with no-wait model, all the finished partsare identical which is not true in multicyclic scheduling withtime window constraints since in this latter case some partsmay be soaked longer in some tanks and some others may besoaked longer in some other tanks. This nonuniformity betweenparts, although they are all of required quality, may cause esthet-ical problems especially in surface treatment processes. Thirdly,when time window is allowed, the problem has been proved tobe NP-hard, even with simple cycle assumption (), while itsno-wait counterpart can be solved in polynomial time as shownin this paper. This makes the flexibility less attractive, particu-larly when optimal multicyclic schedules can be easily obtainedin polynomial time and significantly improves the productivitywith respect to simple cycle schedules. Therefore, no-wait en-vironment is a good approximation especially when the timewindows are narrow.
For hoist scheduling problem, Lei and Wang  presenteda branch-and-bound algorithm for generating optimal 2-cyclicschedules with time window constraints. Song et al. developed a mixed linear programming model for scheduling achemical processing tank line with constant processing times,and proposed a heuristic algorithm which relaxes simple cycleassumption. But the algorithm cannot guarantee the optimalityof the obtained solutions for any instance. The only workaddressing the same model as in this paper was by Kats etal. . In this latter work, an algorithm based on a sievemethod was proposed to generate multicyclic schedules withconstant processing times. Their method, however, can onlysolve scheduling problems with integer input data and seek foran integer cycle time solution. Therefore, it cannot guaranteethe optimality of the obtained solution, even for schedulingproblems with integer input data. In fact, as shown in ourexperiments, the optimal cycle time may not be integer and theinteger roundup of the optimal cycle time may be infeasible.Another drawback of this method is its complexity, since itenumerates all nonforbidden values instead of nonforbiddenintervals for each function of decision variables and checks thefeasibility for each combination. It is understandable that thenumber of combinations may be very large, even if only integervalues are considered.
In this paper, we propose an algorithm for generating optimalmulticyclic schedules of hoist moves with constant processingtimes in a PCB electroplating line. After the problem is formu-lated, it is transformed into enumeration of intervals for func-tions of decision variables. This enumeration is accomplishedusing a branch and bound procedure. At each node of the searchtree, by solving a linear programming problem (LPP), either thecorresponding partial solution is proved to be unable to lead toa feasible solution, or a lower bound is computed. Due to its
particular structure, this LPP is equivalent to a cycle time evalu-ation problem in a bivalued graph () which can be efficientlysolved. The proposed algorithm is polynomial in the number oftanks in the production line for a fixed , but exponential if isarbitrary.
This paper is organized as follows. Section II describes andformulates the different constraints of multicyclic schedulingproblems over decision variables. The model is then analyzedin Section III. Based on this analysis, a branch and bound algo-rithm is proposed in Section IV. The complexity of the algorithmis analyzed in Section V. Section VI gives computational results,and Section VII concludes the paper.
II. PROBLEM DESCRIPTION AND FORMULATION
In this section, we formally describe and formulate math-ematically the problem. This formulation is based on the no-tion of prohibited intervals largely used in cyclic scheduling ofno-wait systems (e.g., , ). Since the problem consideredhere is the same as in , its formulation can also be found in. However, the formulation of Kats et al. can be improved.For the sake of self-consistency, we give a complete formula-tion.
The production line considered in this paper is composed oftanks, . Two dummy tanks and rep-
resent the loading station and the unloading station, respectively.A single type of part is to be processed in this production line.The part flow can be described as follows. Each part is first re-moved from , and then processed successively through tanks
, and finally leaves the system from .Therefore, the problem considered in this paper is a flow-shop.A hoist is responsible for moving parts from one tank to an-other. For simplicity, the hoist move of transporting a part from
to is called move , . The time for thehoist to perform move is denoted as , , andthe time to travel from to without transporting parts(called void moves) is denoted , , . Anytank , , can process at most one part at a time.The processing time of a part in each tank is denoted as ,
. We consider a no-wait system; that is, as soon asa part completes processing in a tank, it must be immediatelytransferred to the next tank.
The hoist is programmed to perform a fixed sequence ofmoves repeatedly. Each repetition of the sequence is called acycle. The duration of a cycle is the cycle time, denoted by .The hoist move sequence during each cycle is a cyclic schedule.
As mentioned in the introduction, this paper deals with-cyclic scheduling problems ( ), that is, exactly
identical parts enter and leave the system during a cycle. Theseparts are introduced into the production line one after anotherrespectively at time instant 0, ,where . Without loss of generality,let and . For the sake of simplicity, the partintroduced at time ( and ) iscalled part and is said to be a part of class .
Throughout the paper, we assume, without loss of generality,that for any series , whenever .
CHE et al.: MULTICYCLIC HOIST SCHEDULING WITH CONSTANT PROCESSING TIMES 71
Fig. 1. A 4-cylic schedule with four tanks.
We also make the following assumptions which correspond towhat happens in reality:
Relation (1) means that a move needs more time than a voidmove between the same pair of tanks. Relation (2) is commonlyknown as the triangle inequality.
As soon as are known, all starting times ofmoves are accordingly determined. To be more specific, letbe the completion time of the th operation ( ) ofpart 0, which is also the starting time of move of part 0. Then
Furthermore, is the completion time of the th op-eration ( ) for part and the starting time of move
of part . In steady state, the starting time of move of theunique part of class within [0, ) is given by
The number of s is . By ordering these s inincreasing order:
where is theunique robot schedule corresponding to ( ).The schedule is feasible if and only if, for any such that
, the robot has enough time to perform moveof the part of class and then go from tank to tank
in order to perform move of the part of classwhere , . From this analysis,an -cyclic schedule is uniquely defined by ( ).
TABLE IMOVE STARTING TIMES FOR EXAMPLE 1
Therefore, we can consider as decision vari-ables of our problem. To illustrate this observation, considerthe following example.
Example 1: A system is composed of four tanks. The pro-cessing times are as follows: , , ,
. All the hoist move times , . Allthe empty hoist travelling times , , .We consider 4-cyclic schedules. When , ,
, , the corresponding and valuesare given in Table I.
The corresponding cyclic schedule is then (0,0);0 (3,2);7(2,3);28 (1,0);34 (4,2);45 (0,1);55 (3,3);62
(2,0);76 (1,1);89 (4,3);100 (3,0);110 (0,2);122(2,1);131 (4,0);148 (1,2);156 (3,1);165 (0,3);177(2,2);198 (4,1);203 (1,3);211, where ; representsmove of part of class and its corresponding starting time .The corresponding schedule is depicted in Fig. 1.
For our problem, a schedule is feasible if and only if it satis-fies the following three families of constraints:
Part processing time constraints. For any, the processing time of a part in
tank is exactly . Tank capacity constraints. For any ,
tank must be empty when a part arrives. Hoist capacity constraints. There must be sufficient
time for the hoist to travel between successive assignedtanks.
72 IEEE TRANSACTIONS ON ROBOTICS AND AUTOMATION, VOL. 18, NO. 1, FEBRUARY 2002
The following two subsections, respectively, formulate thetank capacity constraints and the hoist capacity constraints. Thepr...