Abstract
The scheduling problem of cyclic multi-type parts robotic cell with blocking is studied in this paper. For simultaneously optimizing robotic move sequence and part input sequence, an effective chemical reaction optimization (ECRO) is proposed. In ECRO, a new encoding method, robotic activity encoding, is shown for transferring double sequence into single sequence. To construct feasible solution, a novel rule, order insertion (OI) rule, is presented. To obtain initial population more effectively, insertion robotic activity method (IRAM) is firstly addressed. What’s more, for enhancing the efficiency of ECRO, elementary reaction operators are designed according to properties of feasible solutions. From the simulation results, compare to stochastic generated solution method (SGSM), IRAM is outstanding. The performance of ECRO is better than branch and bound (BB) method and beam search (BS) algorithm.
Introduction
Robotic cell is a kind of advanced production system. It is widely used in printed circuit board (PCB) electroplating lines, semiconductor manufacturing system, iron and steel industries, and aircraft manufacturing factories. The difference between robotic cell and classical flow-shop is that parts are moved from one tank to next tank by robot(s).
Recently, the robotic cell is applied to cyclically produce multi-type parts especially in the semiconductor manufacturing [17, 35] and electroplating line fields [3, 21]. This paper addresses the cyclic multi-type parts robotic cell scheduling problem with blocking. Blocking means when one part is finished on one tank, the part isn’t moved next tank because the robot is busy or the next tank is occupied. Finding a solution of the problem is equivalent to finding two types of correlative sequences: robotic move sequence and part input sequence.
To highlight the difference between this study and those published literatures, a literature review is shown. Considering the problem with two tanks, Sethi et al. [32] formulated the problem as a polynomial solvable travelling salesman problem if the robotic move sequence was given. For the same problem, a MinCycle algorithm [13] was provided that could simultaneously optimized robotic move sequence and part input sequence. Aneja and Kamoun [5] formulated the problem as a special traveling salesman problem and improved the MinCycle algorithm. Recently, for the problem with sequence dependent setup times, Majumder and Laha [25] developed a cuckoo search method that was indicated better than the simulated algorithm designed by Zarandi et al. [36].
For the problem with three tanks, Hall et al. [14] demonstrated that it was NP-hard and proposed a ThreeCell method based on arbitrary robotic move sequence and arbitrary part input sequence. Then the problem was transferred into generalized travelling salesman problem (GTSP) and an improved ThreeCell algorithm [34] was proposed. Zahrouni and Kamoun [35] also presented a more effective MinMPSCycle algorithm, and the performance of MinMPSCycle demonstrated that the CRM (concatenated robot move) sequences or the combination of one-unit cycles were not the best.
For more complicated case, Paul et al. [29] reported an adaptive time window (ATW) heuristic after part input sequence was given, while Carlier et al. [7] proposed an approximate decomposition method, in which part input sequence was firstly determined and robotic move sequence was secondly optimized. Besides, some researchers investigated the problem with fixed processing time [1, 22], where parts must be unloaded from a tank and transported to next tank as soon as it is completely processed; and others studied the case with interval processing time [2–4, 24], where parts can stay on the tank definitely after it completes processing. Whereas, only a few works [11, 15] focus on the multi-type parts robotic cell scheduling problem with more than three tanks and blocking.
In published literatures, three characteristics are shown: the problems with two or three tanks were mainly considered; heuristic methods were used for solving the problem; the mainly production strategy is CRM sequence or the combination of one-unit cycles. In this paper, for solving the problem, minimum part set (MPS) cycle is considered. And an effective chemical reaction optimization (ECRO) is developed to simultaneously optimize robotic move sequence and part input sequence.
Chemical reaction optimization (CRO) [19] is a new metaheuristic approach got by imitating chemical reaction. It possesses the virtues of both GA (genetic algorithm) and SA (simulated annealing) [20] and was successfully used to solve combinatorial optimization problem [12, 33]. However, CRO isn’t used to solve the scheduling problem of cyclic multi-type parts robotic cell with blocking. In this study, the scheduling problem of cyclic multi-type parts robotic cell with blocking is considered and an ECRO is provided to solve the problem. In ECRO, robotic activity is reported for encoding. OI rule is proposed to construct feasible solution. To initialize population, IRAM is reported. For enhancing effectively of ECRO, properties of feasible solution are found and applied to design elementary operators. A number of experiments are conducted to test the performance of ECRO. The results demonstrate ECRO is outstanding.
This paper is structured as follows. The problem description is described in Section 2. The problem analysis is addressed in Section 3. An ECRO is introduced in Section 4. Computational results are shown in Section 5. Afterwards, conclusions are presented.
Problem description
In this study, robotic cell consists of m + 2 tanks and a robot. The tanks are represented by P0, P1, …, P m , Pm+1, where P0 and Pm+1 are inputting tank and outputting tank, respectively. Multi-type parts are processed by the robotic cell in the same time. There are totally n parts, denoted as J1, …, J n , which compose MPS. Each part enters robotic cell from P0, and then is processed successively through P1, …, P m , and finally leaves the robotic cell from Pm+1. All parts have the same processing sequence, but the processing times may be different for a given tank if the type of parts is not same. Therefore, the problem considered in this paper is a flow shop. The robot transports part from one tank to next tank, and at any time the robot can handle one part at most, the tank can contain one part at most. The robot move of J j (1 ≤ j ≤ n) from P i to Pi+1 is called move [i, j](0 ≤ i ≤ m), which consists of three operations: (1) unload J j from P i ; (2) move J j from P i to Pi+1; (3) load J j onto Pi+1.
To facilitate describing and to avoid any confusion with common notations used in scheduling, a definition of notations is shown.
Decision variables:
ti,j: The start time of move [i, j] (0 ≤ i ≤ m, 1 ≤ j ≤ n).
Parameters:
ai,j: The lower bound of the processing time of J j on P i (1 ≤ i ≤ m, 1 ≤ j ≤ n).
di,j: It is the time that the robot performs move [i, j] (0 ≤ i ≤ m, 1 ≤ j ≤ n).
ci,l: Void move time that the robot travels from P i to P l without move part (0 ≤ i, l ≤ m + 1).
T: Cycle time. It is the time elapsed between inputting the first part in an MPS and inputting the first part in next MPS.
τ i : The ith robotic activity (0 ≤ i ≤ n (m + 1) -1).
job (i): The part that the robotic activity τ i moves (0 ≤ i ≤ n (m + 1) -1).
Q (i): The index of tank which τ i transports job (i) from (0 ≤ i ≤ n (m + 1) -1).
M: A large enough positive integer.
σ: The sequence of robotic activities.
σ (i): The (i + 1) th robotic activity in the sequence σ (0 ≤ i ≤ n (m + 1) -1).
δ: The sequence of parts.
δ (j): The jth part in the sequence δ(1 ≤ j ≤ n).
Rdone: Partial feasible schedule of robotic activities.
Rtodo: A set that contains the unscheduled robotic activities.
In this paper, following assumptions hold:
Inequality (1) shows that a move needs more time than a void move between the same pair of tanks. Inequality (2) is known as the triangle inequality.
The problem can be formulated as
Minimize T
Subject to
In this section, a few properties of feasible solutions are presented. According to these properties, elementary reaction operators in ECRO can be constructed.
Solving the problem means determining robotic move sequence and part input sequence. For transferring two-dimension sequence into one-dimension sequence, robotic activity is given by definition 1.
Example: The robotic cell is composed of six tanks (P0, P1, P2, P3, P4, P5). MPS is composed of three
parts, J1, J2, J3. The relationship between τi+(m+1)(j-1) and move [i, j] is listed in Table 1.
Relationship between τi+(m+1)(j-1) and move [i, j]
Relationship between τi+(m+1)(j-1) and move [i, j]
Because robotic activity τi+(m+1)(j-1) corresponds to the move [i, j], and the number of robotic activities is n (m + 1). Finding robotic activity schedule means robotic move sequence and part input sequence are determined. So S = (τ0, τσ(1), …, τσ(n(m+1)-1)) represents solution of the problem. How to check whether a solution is feasible or not, definition 2 is described.
Before one robotic activity τ
i
is executed, job (i) must be loaded and finished its processing on PQ(i)(0 ≤ i ≤ n (m + 1) -1) and Forbid to load a part to an occupied tank and Forbid to unload a part from an empty tank.
According to constraint (3), the processes to cross the cycle boundary is allowed. For avoiding violating problem constraints, some properties of feasible solution are developed.
Thereby, a corollary can result from lemma 1.□
In lemma 1 and corollary, a new feasible robotic activity schedule is obtained by neighbourhood exchange. So lemma 1 and corollary are called neighbourhood exchange (NE).
Set S1 = (τ0, τ12, τ13, τ1, τ2, τ5, τ14, τ6, τ3, τ4, τ7, τ10, τ8, τ9, τ11) be a feasible robotic activity schedule. Figure 1 (a) and (b) show two new feasible robotic activity schedule are obtained, respectively, according to lemma 1 and corollary.

Neighbourhood exchange.
In lemma 1 and corollary, part input sequence doesn’t vary, and robotic move sequence changes. However, lemma 2 considers robotic move sequence fixes and part input sequence changes. So lemma 2 is named part exchange (PEx).
Set S = (τ0, τ12, τ13, τ1, τ2, τ5, τ14, τ6, τ3, τ4, τ7, τ10, τ8, τ9, τ11) be a feasible robotic activity schedule. A new feasible robotic activity schedule is given based on PEx. The detailed procedure is shown in Fig. 2.

Part exchange.
In CRO, each molecule (ω) which has several attributes represents a solution of the problem. One molecule turns another if any change among these attributes occurs. Each molecule possesses two kinds of energies: PE (potential energy) and KE (kinetic energy). The PE corresponds to the objective function of a molecule while the KE represents its ability of escaping from a local optimum.
ECRO is proposed based on CRO. In ECRO, a novel encoding, robotic activity encoding, is provided. A new rule, OI rule, is established for constructing feasible solution. Elementary reactions are realized based on properties of feasible solution.
To facilitate describing, a definition of parameter in ECRO is shown.
Popsize: Initial population size.
InitialKE: Initial kinetic energy.
buffer: Energy buffer.
KelossRate: Kinetic energy loss rate, 0 ≤ KELossRate ≤ 1
Molecoll: The threshold between single or more molecule(s) reaction.
α: The critical point between on-wall ineffective collision and decomposition.
β: The threshold between inter-molecular ineffective collision and synthesis.
Robotic activity encoding and decoding
In previous literatures, two encoding methods, robotic move sequence and part input sequence, were presented. These encoding methods are simple and evolutionary operators are easily realized, but it is hard to simultaneously find robotic move sequence and part input sequence. For amending the defect, a novel encoding method, robotic activity encoding, is proposed. The new encoding method can transfer a scheduling represented by a two-dimensional array into a sequence with one-dimensional array.
According to robotic activity encoding, robotic move sequence and input part sequence are obtained by the following steps.
Set S = (τ0, τ7, τ8, τ1, τ2, τ10, τ9, τ11, τ3, τ4, τ12τ5, τ13, τ14, τ6) be a feasible robotic activity schedule. According to Step 1-Step 3, robotic move sequence is R = (0, 2, 3, 1, 2, 0, 4, 1, 3, 4, 2, 0, 3, 4, 1). Part input sequence is Job = (Jδ(1), Jδ(2), Jδ(3)) = (J1, J2, J3). Figure 3 shows decoding diagram.

Decoding diagram.
A feasible schedule is listed in Table 2. The first column is robotic activity. The second column is robotic move, that is to say, the second column gives robotic move sequence. Columns “P1”, “P2”, “P3”, “P4” show the part that are currently loaded on the tanks. “– ” means the tank is empty. “*J j (1 ≤ j ≤ 3)” means J j is input robotic cells previous cycle. Column “P1” shows part input sequence.
Feasible schedule
Because ECRO is a multi-solution evolutionary algorithm, in this subsection, how to generate initial population of ECRO is presented. Firstly, for constructing feasible solution, a new rule, OI rule is proposed. Secondly, according to OI rule, IRAM that produces initial population is provided.
OI rule
OI rule contains six conditions. The first two conditions were proposed by Brucker, Burke and Groenemeyer [6]. Because of difference between job-shop and flow-shop, infeasible robotic activity schedule is produced if the first two conditions is applied in this paper. For example, if Rdone = {τ0, τ9, τ14}. According to the first two conditions, Rdone = {τ0, τ9, τ14} is partial feasible. However, Rdone = {τ0, τ9, τ14} violates condition (3) of definition 2. So Rdone = {τ0, τ9, τ14} isn’t partial feasible. To construct feasible robotic activity schedule, the remainder conditions is described. If one of the OI rule conditions occurs, Rdone is infeasible. A robotic activity τ
i
(τ
i
∈ Rtodo) is inserted in the end of Rdone, and a robotic activity τ
u
∈ Rdone. If Q (i) = Q (u) = m, but robotic activity τ
i
- 1 ∈ Rtodo. A robotic activity τ
i
(τ
i
∈ Rtodo) is inserted in the end of Rdone, and a robotic activity τ
u
∈ Rdone, If Q (i) ≠ Q (u), Q (i) = m and job (i) = job (u), but robotic activity τ
i
- 1 ∈ Rtodo. A robotic activity τ
i
(τ
i
∈ Rtodo) is inserted in the end of Rdone, and a robotic activity τ
u
∈ Rdone, If Q (i) ≠ Q (u), Q (u) = m and job (i) = job (u), but τu - τ
i
< m. The parts, Jδ(1), Jδ(2), …, Jδ(v)(1 ≤ v < n), are input in previous cycle and finish processing in current cycle. If the inputting sequence of Jδ(1), Jδ(2), …, Jδ(v) isn’t consistent of their outputting sequence in current cycle.
IRAM
To obtain effectively initial population, IRAM based on OI rule is presented. And low bound [6] is used in IRAM
After the Procedure 1 is implemented Popsize times, the initial population is produced.
Elementary reactions of ECRO
In ECRO, there are four elementary reactions. They can be categorized into intensification and diversification. The on-wall ineffective collision and inter-molecular ineffective collision implement intensification, while the decomposition and synthesis perform exploration.
On-wall ineffective collision
Since the obtained molecule can keep outstanding genes of the selected molecule after neighbourhood exchange (NE) is performed, on-wall ineffective collision reaction operator that can implement effectively intensification is designed based on NE in ECRO. For improving effectively intensification, low bound [6] is used in NE neighbourhood structure.
The on-wall ineffective collision reaction operator based on NE is given in the Procedure 3.
Decomposition
In this study, to obtain decomposition reaction operator, lemma 2 [4] is applied. After decomposition reaction operator is performed, part input sequence doesn’t change, and robotic move sequence seriously changes. So decomposition reaction operator can maintain diversity solution. The neighbourhood structure of lemma 2 [4], denoted by VRMS (variable robotic move sequence), is presented in the Procedure 4. The decomposition reaction operator is provided in the Procedure 5.
Inter-molecular ineffective collision
In this subsection, to gain inter-molecular ineffective collision reaction operator, PEx is used. After inter-molecular ineffective collision reaction operator is implemented, part input sequence of selected molecule changes, and robotic move sequence of selected molecule doesn’t change. So depth search is performed more effectively in ECRO. In the following, PEx neighbourhood structure and inter-molecular ineffective collision reaction operator are given, respectively.
Synthesis
In ECRO, since distance-preserving crossover operator [27] can maintain selected molecules outstanding genes. Synthesis operator is realized according to following two steps. Firstly, part input sequence is got applied distance-preserving crossover operator. Secondly, robotic move sequence is stochastic selected molecules. The detailed process is shown in Procedure 8 and Procedure 9.
Fitness function
Fitness function is index which the molecule is evaluated. In this study the fitness function is the same as the objective function. The smaller the fitness value is, the better the molecule is. The objective function value is calculated according to literature [3].
Selection operation
Tournament selection can keep diversity solution and avoid premature. In this paper, tournament selection is considered in selection operation. For improving convergence speed, after multiple tests are carried out, competition scale is one third the number of current population. In procedure 10 detailed process is elaborated.
As mentioned above, ECRO flowchart is shown in Fig. 4.

ECRO flowchart.
This section shows the computational experiments to test the performance of ECRO for the studied problem. Extensive experiments are conducted on a set of problems. All experiments are implemented using Microsoft Visual Studio 2010 and are run on a Intel(R) Core(TM) i5-4460 CPU@ 3.20 GHz and RAM 8 GB PC.
To evaluate the performance of ECRO, 36 instances are generated according to literature [15]. ai,j (1 ≤ i ≤ m,1 ≤ j ≤ n) is an integer and ai,j ∼ U [20, 99]. n is an integer and n = 5, 6, 7, 8. m varies in [4, 20], and m is an even number. di,j = 6 for all 1 ≤ j ≤ n, 0 ≤ i ≤ m. Void move time ci,l = 4|i - l| for all 0 ≤ i, l ≤ m + 1.
IRAM performance
To evaluate the performance of IRAM, the other method, stochastic generated solution method (SGSM), is proposed. When n = 5 and n = 8, thirty solutions of each instance are got by IRAM and SGSM, respectively. Figure 5 shows the result of IRAM and SGSM. Following conclusions can be gained: (1) When n is fixed, the bigger m is, the bigger the value of objective function is. (2) Compared with SGSM, the solutions which IRAM produces is more concentrated. (3) The maximum value (MAXV) that IRAM produces is smaller than the minimum value (MINV) that SGSM gets, and the distance between MAXV and MINV increases gradually when m varies from 4 to 20. So IRAM can produce much better solutions, and initial population is more effective.

Comparison of IRAM and SGSM.
On the test the instances, ECRO compares with branch and bound (BB) method, beam search (BS). BB and BS are designed based on OI rule. But BB is an exact method, BS is a heuristic search algorithm.
ECRO performance is affected by parameters. After multiple tests are carried out, Table 3 lists the parameter values. Termination condition is the maximum computational time exceeds 600 seconds.
Parameter values
Parameter values
For each given pair of (m, n), each instance is run 15 times, the average of each instance, called
For evaluating ECRO performance, the performance indices are defined by Equations (18) and (19).
Figure 6 shows the advantages of ECRO and BS. Although ECRO advantage is going down when n changes from 5 to 8, ECRO is outstanding. For all n, ECRO is much better than BB. Compared to BS, when the number of parts in MPS varies from 5 to 7, ECRO is advantageous, but the advantage is reducing. Furthermore, when n = 8, ECRO is little worse than BS.

BS and ECRO performance.
Tables 4 and 5 displays comparative ECRO with BB and BS. The results indicate high quality solutions can be searched by ECRO. ECRO compares with the BB improvement rate of only six instances is less than zero. In the six instances, although the smallest IR2 is – 2.51%, the biggest distance of the objective function value is 18. In the remainder instances, the worst IR2 is 0.16%, the best IR2 is 20.14%, the average IR2 is 6.41%. Compared to BS, although 7 out of 36 instances aren’t improved, in the remainder instances the biggest IR3 is 10.81%, the average IR3 is 4.56%. So, ECRO is outstanding.
Improvement rate of the algorithms for n = 5 and n = 6
Improvement rate of the algorithms for n = 7 and n = 8
In this paper, the cyclic multi-type parts robotic cell scheduling problem with blocking is investigated, and an effective chemical reaction optimization is proposed for optimizing simultaneously robotic move sequence and part input sequence.
In ECRO, the robotic activity encoding is proposed, the encoding method can transfer a scheduling sequence represented by a two-dimensional array into a sequence with one-dimensional array. To construct feasible solution, OI rule is proposed. For generating effectively initial population, IRAM is presented based on OI rule. For improving search speed and enhancing performance of ECRO, elementary reaction operators are designed according to properties of feasible solutions that are found in this paper. Compared with BB and BS based on solving stochastic generating instances, the proposed algorithm is outstanding. Next, we will discuss how to design evolutionary operators and keep diversity solution for improving ECRO.
Footnotes
Acknowledgments
This work was partially supported by the National Nature Science Foundation of China under Grant Nos. 71471151 and 61573264; Fundamental Research Funds for the Central Universities under Grant No. 26816WCX04; and Science and Technology Research Program of Chongqing Municipal Education Commission under Grant No. KJ1711293.
