Scheduling Optimization in Flowline Manufacturing Cell Considering Intercell Movement with Harmony Search Approach

Based on the non-permutation property of intercell scheduling in flowline manufacturing cells, a hybrid harmony search algorithm is proposed to solve the problem with the makespan criterion. On the basis of the basic harmony search algorithm, the three key elements of memory consideration, pitch adjustment and random selection are discretized and improved to adapt to the operation-based encoding. To compare the performance, different scale cases are generated in both the overall solution and the two-stage solution with the proposed algorithm, the hybrid particle swarm optimization algorithm and the hybrid genetic algorithm. The relative deviation is taken as the performance index. The compared results show that a better solution can be obtained with the proposed algorithm in both the overall solution and the two-stage solution, verifying the superior performance of the proposed algorithm.


Introduction
Based on the important idea of management and manufacturing in group technology (GT), cell manufacturing (CM) mainly carries out cell production by grouping similar parts (tasks) and process equipment (machines). In each production cell, several part families are processed on the machines of the cell, and each manufacturing cell works together to form a cell manufacturing system (CMS) [1]. Each cell produces a series of specific products according to the part family. These part families are generally formed according to the processes, machines, tools, etc. In addition to reducing the cost of setup time, the main advantage of CMS is to simplify material flow. Moreover, the professional skills of operators are improved, repetitive work is reduced and production time is shortened, and reports show that material flow and production costs can be reduced. Flowline manufacturing cell scheduling is the application and scheduling of flow shop production mode in the cell manufacturing environment, that is, the task family of each production cell and the tasks within the family are processed through all machines of the cell according to a certain production technology, and a reasonable processing sequence is arranged to make one or some performance achieve the optimal. The common performance indicators include the minimum maximum completion time (makespan) [2], total tardiness [3] and mean flow time [4].
The realization of CMS is divided into three stages: cell formation, cell layout and cell scheduling. As the design stages of CMS, cell formation is to group jobs and machines, and cell layout solves the location layout problem of cells and production machines. As the production planning stage of 1.
The intercell scheduling problem is solved with non-permutation flow shop cells, aiming to minimize makespan.

2.
A hybrid harmony search algorithm (HHS) is proposed. The three key elements of memory consideration, pitch adjustment and random selection are improved to adapt to the operation-based encoding. Moreover, first in first out (FIFO) rules are integrated into the two-stage solution to deal with the intercell scheduling problem.

3.
Compare the performance of the two existing solutions of intercell scheduling, the global solution and the two-stage solution.
The remainder part of this paper is organized as follows: Section 2 reviews the flowline manufacturing cell scheduling and harmony search algorithms. The problem is described in Section 3. Section 4 introduces the proposed improved harmony search algorithm. The analysis of the experimental results are reported in Section 5. Finally, Section 6 provides conclusions.

Literature Review
A flowline manufacturing cell is a common production layout in the manufacturing industry. The scheduling of flowline manufacturing cells has been studied by many scholars internationally. Neufeld et al. [12] summarized the flow shop group scheduling in detail. Baker [13] studied the two-machine flow shop, considering the time lags or sequence-independent setup time. Wemmerlov and Vakharia [14] developed two heuristic programs to solve the part family scheduling of flowline manufacturing cells with three or more machines. Skorin-Kapov and Vakharia [15] developed six tabu search heuristics. And Sridhar and Rajendran [16] developed a genetic algorithm to minimize makespan for the part scheduling in the flowline manufacturing cell. Logendran et al. [17] and Schaller [18] studied the performance comparison of some hybrid heuristic algorithms for scheduling in the flowline manufacturing cell. Reddy and Narendran [19] proposed a heuristic algorithm for scheduling with sequence-dependent setup time to improve the machine utilization in the flowline manufacturing cell. Logendran et al. [20] developed an LN-PT method to minimize the makespan for group scheduling in flexible flow shop, considering single and multiple setup times on the machine. Logendran et al. [21] proposed a tabu search algorithm to solve the group scheduling problem in flexible flow shop considering sequence dependence. Gupta and Schaller [22] proposed a branch and bound algorithm, which can solve the medium scale problems of flowline manufacturing cells with sequence-independent setup time. Hendizadeh et al. [23] proposed a tabu search meta heuristic algorithm to minimize makespan. Venkataramanaian [24] developed a simulated annealing-based algorithm to solve three objectives (minimum weighted makespan, total flow time and idle time). Zandieh et al. [25] proposed three meta heuristics based on tabu search, simulated annealing and genetic algorithm, and applied them to group scheduling problem with a sequence-dependent setup time. Ying et al. [26] solved the permutation and non-permutation scheduling problems in flowline manufacturing cells considering sequence dependent family setup time. Salmasi et al. [27] proposed a mathematical programming model to minimize the total flow time to solve the group scheduling problem in flow shop.
Although there are a lot of articles on cell formation and cell scheduling, few studies consider the intercell scheduling problem. In theory, the bottleneck can be eliminated by configuring multiple bottleneck machines (which can be moved among cells), or the exceptional tasks (which need to be processed by other cells) can be outsourced. However, neither kind of measure, based on the consideration of manufacturing cost, budget and manufacturing cell space constraints, is realistic. Therefore, in a typical CMS environment, it is very difficult to form independent manufacturing cells. There will always be some bottleneck machines or exceptional tasks that will cause the existence of intercells, so intercell scheduling is inevitable. Yang and Liao [28] studied the group scheduling on two cells with intercell movement, and used branch and bound algorithm and heuristic algorithm to minimize the average flow time. However, this method is limited to two cells, and each part has only one operation. Therefore, Solimanpur et al. [29] proposed a two-stage heuristic algorithm SVS to solve the cell scheduling problem with intercell characteristics. Tavakkoli-Moghaddam et al. [30] considered the multi criteria cost function and the sequence dependent setup time, using the discrete search method to sort the cells and the jobs in the cell simultaneously. Mosbah and Dao [31] proposed an Extended Great Deluge (EGD) method to minimize makespan and a multi-criteria objective function. Solimanpur and Elmi [32] proposed a mixed integer linear programming model for the cell scheduling problem with the goal of minimizing makespan, which was solved by the tabu search algorithm. Neufeld [33] solved the intercell scheduling problem in flowline manufacturing cells, considering material flow and non-permutation scheduling. Li et al. [34] presented a pheromone-based approach (PBA), using multi-agent, aiming to solve the problem of scheduling with flexible processing routes, and exceptional parts, which need to visit machines located in multiple job shop cells.
Harmony search (HS) is a new intelligent optimization algorithm. By repeatedly adjusting the solution variables in the memory, the function value converges with the increase of iterations. The algorithm has the advantages of being a simple concept, having fewer adjustable parameters and being easy to implement. Compared with the basic genetic algorithm (GA), HS has two advantages: one advantage is to make full use of the existing harmony information in the harmony memory, though information on only two parents is used in GA; the other advantage is that HS considers each piece of individual information separately, but GA can only design the whole structure of one individual.
The simulated annealing algorithm is similar to the simulation of physical annealing, the genetic algorithm is similar to the simulation of biological evolution, and the particle swarm optimization algorithm is similar to the simulation of bird swarm, while the HS algorithm simulates the principle of music performance. The HS algorithm is a meta heuristic algorithm proposed by GEEM [35]. It is a population-based metaheuristic algorithm. It is inspired by the music creation process. The purpose of the HS algorithm is to let each music player find a better harmony state. Because of its simplicity and ease of application, HS has been successfully used to deal with a large number of optimization problems [36][37][38][39][40][41][42][43][44][45][46][47].
HS is also successfully used to solve the production scheduling problem. For the just in time (JIT) constrained single machine earliness/tardiness scheduling problem, Liu and Zhou [48] proposed a hybrid harmony search algorithm to minimize the total earliness/tardiness penalty. Zammori et al. [49] considered more realistic factors in single machine scheduling, proposing a two-stage solution: in the first stage, the optimal repair times were calculated to maximize the availability of the machine; in the second stage, an improved HS algorithm was used to obtain the approximate optimal maintenance sequence. Zhao et al. [50] proposed a hybrid harmony search algorithm with efficient job scheduling strategy for permutation of the flow shop scheduling problem. Li et al. [51] proposed a hybrid HS algorithm to solve the multi-objective flow shop scheduling problem. To minimize the total flow time, Gao et al. [52] proposed a discrete harmony search algorithm to solve the no-wait flow shop scheduling problem. Yuan et al. [53] applied the HS algorithm to solve the FJSP problem with the goal of minimizing makespan. Maroosi et al. [54] proposed a parallel and distributed HS framework based on the membrane system to solve the FJSP problem. Gao et al. [55] proposed a Pareto-based grouping HS algorithm to solve the FJSP problem, aiming to minimize makespan and earliness/tardiness penalty.
According to the above review, it can be found that, firstly, there are two solutions to the intercell problem: one is to decompose it into two subproblems, represented by Zeng et al. [56], and the other is based on the literature [57] to solve the problem as a whole; however, no one has ever compared the performance of the two solutions. Secondly, although there are many papers about the harmony search algorithm solving production scheduling, few scholars use it to solve intercell scheduling. Thirdly, when harmony search is used to solve discrete production scheduling, it is necessary to discretize the harmony search process; in this process, traditional and efficient encoding methods, such as operation encoding-based methods, simple and effective heuristic rules are rarely used. Therefore, this paper will solve the flowline manufacturing cell considering intercell move based on the above three aspects.

Problem Statement and Formulation
Flow shop is a common form of production layout in manufacturing industry. It can be described as: each job in the job set J = {1,j, . . . ,N} has the corresponding route, and is processed in turn by the machines in the machine set E = {1,m, . . . M}. The aim of scheduling function is to find the optimal path for the job to pass through each machine. It is called a permutation flow shop scheduling (PFS) problem when n jobs are processed in the same order on m machines. It is called a non-permutation flow shop scheduling (NPFS) problem when n jobs are processed in a different order on m machines. Due to the complexity of non-permutation scheduling problems, most studies about flow shop scheduling problems only considered permutation flow shop scheduling. However, permutation scheduling is not suitable for the cell scheduling problem. One of the reasons is the existence of intercell processes, which makes the job transport between different cells belong to the cell set C = {1,k, . . . K}, with as a result that the processing sequence of jobs on each machine cannot be exactly the same. The other reason is that the intercell machine can only process a part of one job in the job set, which is incompatible with the characteristics of the permutation scheduling problem. Therefore, this paper will focus on the flowline manufacturing cell with non-permutation scheduling characteristics. In order to facilitate the description of the problem, the following indexes are used. This paper takes aim at minimizing makespan of a flowline manufacturing cell system. The objective function is shown in formula (1): There are some related constraints in the practical intercell production scheduling problem. The specific mathematical expression is as follows: where j' and j all belong to the job set J, i' and i, are attached to corresponding jobs j' and j, respectively and m and m' stand for different machines, belonging to machine set E. Formula (2) ensures that further processing can be done when the previous process is finished and the corresponding job has been sent to the corresponding cell.
where, as explained in Table 1, the variable t in y jit stands for the start time of operation o ji , and the meaning of t' is the same as t, but the range of t' is [t, t + P jim ]. The meaning of other variables is the same as in Formula (2). Formula (3) ensures that the same machine can only process one operation at a time.

An Overview of the Harmony Search Algorithm
Each solution in the HS algorithm can be called a harmony and can be expressed by a harmony vector. The initial solution of the harmony vector is generated randomly and stored in harmony memory. Then, a new candidate harmony is generated in these existed harmony vectors through three rules, including memory consideration, pitch adjustment and random selection. After that, the value of the new candidate solution is compared with that of the worst solution in HM. Subsequently, it is determined whether the memory is updated or not with the compared result. In other words, the memory will be updated when the value of the new candidate solution is better than that of the worst solution in HM. The above optimization process is repeated until meeting a specific termination condition. The procedure of the basic HS algorithm is shown in Algorithm 1.
HS is a very simple real-code optimization algorithm that can be easily used to solve continuous and discrete optimization problems [58].
Initialization is executed in step (3). The harmony vector is generally represented as an n-dimension real-valued vector, where each dimension denotes a decision variable of the optimization problem considered.
Step (4) focuses on improvising a new harmony, which contains the following three rules: (1) As shown in step (6) and (7), if r 1 < HMCR(Harmony Memory Consideration Rate), the variable in X new is selected from the harmony memory by selecting a row randomly.
(2) As shown in steps (8)-(10), if r 2 < PAR, the more precise solution will be explored by fine-tuning to find the potential optimal solution.
(3) As shown in step (12), a random variable will be generated within the range.
Step (15) is about updating the HM. The memory will be updated when the value of the new candidate solution is better than that of the worst solution in HM.
Steps (4)- (15) are repeated until the termination condition is met. In order to solve the intercell scheduling problem, the basic HS algorithm needs to be improved. The flow chart of the HHS algorithm is shown in Figure 1. To verify the proposed algorithm, it is applied to both the overall solution and the two-stage solution. Hereafter, the experiments are developed and compared. Thus, the improved harmony search algorithm will be introduced thoroughly in Sections 4.2 and 4.3, from both solution as a whole and two-stage. The improved HS algorithm is achieved with five main steps as follows. (1). Begin (2). Set the parameters HMS, HMCR, PAR, BW, NI.
where r∈(0,1) (13). endif (14). endfor (15). Update the HM as X w = X new , if f(X new ) < f(X w ) (16). If NI is completed, return the best harmony vector X B in the HM; otherwise, go back to step (4) Where HMS, HMCR, PAR, BW and NI stand for the Harmony Memory Size, Harmony Memory Consideration Rate, Pitch Adjustment Rate, Bandwidth of Pitch Adjustment and Number of Iterations, respectively. v is the variable symbol and n is the number of the variable. UB v and LB v represent the upper limit and lower limit of variable v, respectively. The r 1 , r 2 , r 3 and r are random numbers generated between (0,1). X row stands for the harmony vector randomly selected from the harmony memory. X new , X w and X B stand for the new, the worst and the best harmony vector, respectively. Step 1. Initialization of each parameter. HMS: Harmony Memory Size, the size of harmony memory. HMCR: Harmony Memory Consideration Rate, the probability of taking a harmony from the existing harmony memory.
PAR: Pitch Adjustment Rate, the probability of fine tuning for the harmony selected. BW: Tone fine tuning bandwidth, the magnitude of the pitch adjustment. NI: number of iterations.
Step 2. Initialization of the harmony memory. From the solution space of X, the number of HMS harmony (understood as population) is randomly generated on the basis of the operation-based encoding and put into harmony memory, and the corresponding fitness value f(x) is recorded.
Step 3. Create a new harmony. Basic HS is designed for continuous function at first, a harmony variable is generated randomly according to step (9) and step (12) in Table 2. However, this is not suitable for discrete problems. According to the scheduling problem, a new strategy is proposed in this paper.
A random number r1 is generated between (0,1) and compared with HMCR. If r1 < HMCR, a harmony variable is selected from the harmony memory, namely, a job j is randomly selected from the job range [1, N] and this position is the same as it is in the harmony memory. Otherwise, a harmony variable is generated randomly, that is to say, a job number j is selected randomly from the job range [1, N], which is not in Xnew, and then put in the blank position.
If the harmony variable is obtained from the harmony memory, it is necessary to judge whether to pitch adjust or not. A random number r2 is generated between (0,1). If r2 < PAR, a new harmony variable can be obtained by pitch adjustment with BW; namely, when the random number r2 is less than 0.5, all operations are moved to the right by one bit. Otherwise, all operations are shifted to the left by one bit.
Step 4. Update harmony memory. Evaluating Xnew, that is, f(Xnew). If it is better than f(Xw), which is the worst function value in HM, Xnew is used to replace the harmony XW in HM.
Step 5. Checking whether the algorithm meets the termination condition. Repeat step 3 and step 4 until the number of creations (iterations) reaches NI. Step 1. Initialization of each parameter. HMS: Harmony Memory Size, the size of harmony memory. HMCR: Harmony Memory Consideration Rate, the probability of taking a harmony from the existing harmony memory.
PAR: Pitch Adjustment Rate, the probability of fine tuning for the harmony selected. BW: Tone fine tuning bandwidth, the magnitude of the pitch adjustment. NI: number of iterations.
Step 2. Initialization of the harmony memory. From the solution space of X, the number of HMS harmony (understood as population) is randomly generated on the basis of the operation-based encoding and put into harmony memory, and the corresponding fitness value f(x) is recorded.
Step 3. Create a new harmony. Basic HS is designed for continuous function at first, a harmony variable is generated randomly according to step (9) and step (12) in Algorithm 1. However, this is not suitable for discrete problems. According to the scheduling problem, a new strategy is proposed in this paper.
A random number r 1 is generated between (0,1) and compared with HMCR. If r 1 < HMCR, a harmony variable is selected from the harmony memory, namely, a job j is randomly selected from the job range [1, N] and this position is the same as it is in the harmony memory. Otherwise, a harmony variable is generated randomly, that is to say, a job number j is selected randomly from the job range [1, N], which is not in X new , and then put in the blank position.
If the harmony variable is obtained from the harmony memory, it is necessary to judge whether to pitch adjust or not. A random number r 2 is generated between (0,1). If r 2 < PAR, a new harmony variable can be obtained by pitch adjustment with BW; namely, when the random number r 2 is less than 0.5, all operations are moved to the right by one bit. Otherwise, all operations are shifted to the left by one bit.
Step 4. Update harmony memory. Evaluating X new , that is, f(X new ). If it is better than f(X w ), which is the worst function value in HM, X new is used to replace the harmony XW in HM.
Step 5. Checking whether the algorithm meets the termination condition. Repeat step 3 and step 4 until the number of creations (iterations) reaches NI.
(2) The harmony memory initialization. The NEH method proposed by Nawaz et al. [59] is one of the most effective heuristic methods to solve the flow shop scheduling problem. NEH method has two main steps. First, the operations are arranged in descending order according to their processing time. Second, the operation sequence is determined by evaluating the scheduling performance according to the initial sequence of the first step. Assuming that the processing sequence of the first k operation has been determined, the sequence of the k+1 operation is inserted into the k+1 intervals in the current sequence, in which the sequence with the optimal scheduling result is retained as the current sequence and enters the next generation. Repeat this step for the remaining operations until all processes have been arranged.
(2) Encoding and Decoding Operation-based encoding has been widely used in the literature to solve the production scheduling problem; each arrangement is a feasible solution, and it is easy to decode to reduce the complexity of the algorithm. Therefore, this paper adopts this method as the expression of the solution.
(3) The structure and adjustment of the new solution In order to illustrate the solving process, a simple example is given. As shown in Table 2, the case contains three cells, which are represented by three different color wireframes, namely green, blue and purple. There are 10 jobs, P1-P10, and 6 machines, M1-M6. Each job and each machine belongs to a specific unit. The process route row stands for the processing sequence of each job. For example, the process route of P1 is 1, 4 and 2, which means that P1 will be processed by the machine 1, 4 and 2 in turn. The last row stands for the cell number to which the corresponding job belongs. The last column represents the cell number to which the corresponding machine belongs. Namely, the jobs P1, P2 and P3 and machines M1 and M2 belong to cell 1, the jobs P4, P5 and P6 and machines M3 and M4 belong to cell 2, the jobs P7, P8, P9 and P10 and machines M5 and M6 belong to cell 3. Each cell contains a part, which has certain operation needs to be processed by the intercell, as shown in red font in Table 2. For example, the second process of P1 needs to be processed on machine 4 of foreign cell 2, and then returned to cell 1 for processing on machine 2; the first process of P5 needs to be processed on machine 2 of foreign cell 1; the last operation of P9 needs to be processed on machine 4 of foreign cell 2 after the completion of the first two operations. The unit of processing time of the jobs is second.
Because operation-based encoding is used in the algorithm, the method of generating a new harmony in basic HS is not suitable to generate a feasible solution. Therefore, we propose a new generation method to modify the original three rules, as shown in Figure 2.
Because operation-based encoding is used in the algorithm, the method of generating a new harmony in basic HS is not suitable to generate a feasible solution. Therefore, we propose a new generation method to modify the original three rules, as shown in Figure 2.

•
Memory consideration: when the random number r1 is less than HMCR, a line Xrow is randomly selected from the memory, and a job j is randomly selected from the job range [1, N]. The job j in Xrow is placed in the same position index in Xnew. If there are operations on this position, randomly select the idle position in the remaining position.

•
Pitch adjustment: when the random number r2 is less than PAR, the existing elements in Xnew are adjusted by a cyclic shift. When the random number is less than 0.5, all operations are moved to the right by one bit. When the random number is greater than 0.5, all operations are shifted to the left by one bit. The number of bits moved is the parameter BW.

•
Random selection: a part number j is selected randomly from the part range [1, N]. If it is not in Xnew, the blank positions are selected randomly and put in the number of operations in the same quantity.
(4) Update harmony memory Take makespan as objective function value to calculate fitness, if the new harmony vector Xnew scheduling result is better than the worst Xw in the current harmony memory, then Xnew will replace the harmony Xw in HM.

(5) Inspection termination criteria
Check whether the termination criteria are met. If not, repeat steps (3) and (4) until the maximum number of iterations is reached.
The final scheduling Gantt chart based on Table 3 is shown in Figure 3. The values inside the rectangle in all the following Gantt charts stand for the operations of the jobs. For example, the number 102 represents the second operation of the first job. In addition, different jobs are represented with different colors, while different operations of the same job are represented with the same color. The upper numbers on both sides of rectangle represent the start and end time of the operation. The red wireframe stands for the position of the intercell operation.

•
Memory consideration: when the random number r 1 is less than HMCR, a line X row is randomly selected from the memory, and a job j is randomly selected from the job range [1, N]. The job j in X row is placed in the same position index in X new . If there are operations on this position, randomly select the idle position in the remaining position.

•
Pitch adjustment: when the random number r 2 is less than PAR, the existing elements in X new are adjusted by a cyclic shift. When the random number is less than 0.5, all operations are moved to the right by one bit. When the random number is greater than 0.5, all operations are shifted to the left by one bit. The number of bits moved is the parameter BW.

•
Random selection: a part number j is selected randomly from the part range [1, N]. If it is not in X new , the blank positions are selected randomly and put in the number of operations in the same quantity.
(4) Update harmony memory Take makespan as objective function value to calculate fitness, if the new harmony vector X new scheduling result is better than the worst X w in the current harmony memory, then X new will replace the harmony X w in HM.

(5) Inspection termination criteria
Check whether the termination criteria are met. If not, repeat steps (3) and (4) until the maximum number of iterations is reached.
The final scheduling Gantt chart based on Table 2 is shown in Figure 3. The values inside the rectangle in all the following Gantt charts stand for the operations of the jobs. For example, the number 102 represents the second operation of the first job. In addition, different jobs are represented with different colors, while different operations of the same job are represented with the same color. The upper numbers on both sides of rectangle represent the start and end time of the operation. The red wireframe stands for the position of the intercell operation. Because operation-based encoding is used in the algorithm, the method of generating a new harmony in basic HS is not suitable to generate a feasible solution. Therefore, we propose a new generation method to modify the original three rules, as shown in Figure 2.  Pitch adjustment: when the random number r2 is less than PAR, the existing elements in Xnew are adjusted by a cyclic shift. When the random number is less than 0.5, all operations are moved to the right by one bit. When the random number is greater than 0.5, all operations are shifted to the left by one bit. The number of bits moved is the parameter BW.

•
Random selection: a part number j is selected randomly from the part range [1, N]. If it is not in Xnew, the blank positions are selected randomly and put in the number of operations in the same quantity.
(4) Update harmony memory Take makespan as objective function value to calculate fitness, if the new harmony vector Xnew scheduling result is better than the worst Xw in the current harmony memory, then Xnew will replace the harmony Xw in HM.

(5) Inspection termination criteria
Check whether the termination criteria are met. If not, repeat steps (3) and (4) until the maximum number of iterations is reached.
The final scheduling Gantt chart based on Table 3 is shown in Figure 3.

Two-Stage Solution
According to Zeng et al., the problem is divided into two sub-problems, intracell scheduling and intercell scheduling. The so-called intracell scheduling means that the jobs in other cells are not considered except for the jobs in the current cell, while the machines in other cells are available. In this sub-problem, the scheduling among cells is independent of each other. Then, the intercell scheduling is carried out according to the result of each cell obtained from the intracell scheduling, which mainly solves the processing conflict problem between different cell jobs on the same machine at the same time.
(1) Encoding and initialization Taking cells as interval, the operations in each cell are encoded according to the coding principle based on the operation as shown in Figure 4, and the way of initialization refers to the NEH method in the overall solution. In order to better compare the performance of the two methods, the same parameter settings are used as in the overall solution.

Two-Stage Solution
According to Zeng et al., the problem is divided into two sub-problems, intracell scheduling and intercell scheduling. The so-called intracell scheduling means that the jobs in other cells are not considered except for the jobs in the current cell, while the machines in other cells are available. In this sub-problem, the scheduling among cells is independent of each other. Then, the intercell scheduling is carried out according to the result of each cell obtained from the intracell scheduling, which mainly solves the processing conflict problem between different cell jobs on the same machine at the same time.
(1) Encoding and initialization Taking cells as interval, the operations in each cell are encoded according to the coding principle based on the operation as shown in Figure 4, and the way of initialization refers to the NEH method in the overall solution. In order to better compare the performance of the two methods, the same parameter settings are used as in the overall solution.

Two-Stage Solution
According to Zeng et al., the problem is divided into two sub-problems, intracell scheduling and intercell scheduling. The so-called intracell scheduling means that the jobs in other cells are not considered except for the jobs in the current cell, while the machines in other cells are available. In this sub-problem, the scheduling among cells is independent of each other. Then, the intercell scheduling is carried out according to the result of each cell obtained from the intracell scheduling, which mainly solves the processing conflict problem between different cell jobs on the same machine at the same time.
(1) Encoding and initialization Taking cells as interval, the operations in each cell are encoded according to the coding principle based on the operation as shown in Figure 4, and the way of initialization refers to the NEH method in the overall solution. In order to better compare the performance of the two methods, the same parameter settings are used as in the overall solution.

Two-Stage Solution
According to Zeng et al., the problem is divided into two sub-problems, intracell scheduling and intercell scheduling. The so-called intracell scheduling means that the jobs in other cells are not considered except for the jobs in the current cell, while the machines in other cells are available. In this sub-problem, the scheduling among cells is independent of each other. Then, the intercell scheduling is carried out according to the result of each cell obtained from the intracell scheduling, which mainly solves the processing conflict problem between different cell jobs on the same machine at the same time.
(1) Encoding and initialization Taking cells as interval, the operations in each cell are encoded according to the coding principle based on the operation as shown in Figure 4, and the way of initialization refers to the NEH method in the overall solution. In order to better compare the performance of the two methods, the same parameter settings are used as in the overall solution.

(4) Intercell scheduling
After the intracell scheduling of each cell, the processing sequence on each device can be obtained. The core problem of intercell scheduling is to solve the processing sequence of different jobs on the same equipment, especially to solve the conflict between the intercell operation and the operation in the current cell.
When there are conflicts, the heuristic rule is one of the common solutions. There are many kinds of heuristic rules. In this paper, the common first in first out (FIFO) rule is used to deal with the conflict between intercell operation and the operation in current cell. The FIFO rule is described in Figure 8, which is a description of the intercell operation processed afterward (a) and before (b) current cell operation. Sintracell and Eintracell represent the start and end time of the job of intracell, respectively. Sintercell and Eintercell are the start and end time of the job of intercell, respectively.
As shown in the Figure 8a, when Sintercell ≥ Sintracell and Eintracell > Sintercell or Sintercell ≥ Sintracell and Eintracell ≥ Eintercell, the operation in current cell is processed first. In this case, intercell operation jintercell is processed after jintracell, the affected subsequent operation of jintercell, and in turn, jintracell needs to move back.
As shown in the Figure 8b, when Eintracell ≥ Eintercell and Eintercell > Sintracell or Sintracell > Sintercell and Eintercell > Eintracell, the intercell operation is processed first. In this case, operation jintracell is processed after jintercell, the affected subsequent operation need to move back in turn.
It can be seen from Figures 5 and 6 that there is a conflict between operation 102 and operation 402 on the same machine. According to FIFO rule, operation 102 is processed after operation 402, the result of which is shown in Figure 9. Operations 602 and 503 move backwards by the same distance in the sequence, as shown in Figure 10, and the moving distance is represented by black wire frame. Similarly, it can be seen from Figures 5 and 6 that there is a conflict between operation 202 and intercell operation 501 on the same machine. According to the FIFO rule, operation 202 should be moved to the appropriate position, as shown in Figure 11. For each cell, the process of searching for conflicts is repeated several times until no new conflicts occur.

(4) Intercell scheduling
After the intracell scheduling of each cell, the processing sequence on each device can be obtained. The core problem of intercell scheduling is to solve the processing sequence of different jobs on the same equipment, especially to solve the conflict between the intercell operation and the operation in the current cell.
When there are conflicts, the heuristic rule is one of the common solutions. There are many kinds of heuristic rules. In this paper, the common first in first out (FIFO) rule is used to deal with the conflict between intercell operation and the operation in current cell. The FIFO rule is described in Figure 8, which is a description of the intercell operation processed afterward (a) and before (b) current cell operation. (4) Intercell scheduling After the intracell scheduling of each cell, the processing sequence on each device can be obtained. The core problem of intercell scheduling is to solve the processing sequence of different jobs on the same equipment, especially to solve the conflict between the intercell operation and the operation in the current cell.
When there are conflicts, the heuristic rule is one of the common solutions. There are many kinds of heuristic rules. In this paper, the common first in first out (FIFO) rule is used to deal with the conflict between intercell operation and the operation in current cell. The FIFO rule is described in Figure 8, which is a description of the intercell operation processed afterward (a) and before (b) current cell operation. Sintracell and Eintracell represent the start and end time of the job of intracell, respectively. Sintercell and Eintercell are the start and end time of the job of intercell, respectively.
As shown in the Figure 8a, when Sintercell ≥ Sintracell and Eintracell > Sintercell or Sintercell ≥ Sintracell and Eintracell ≥ Eintercell, the operation in current cell is processed first. In this case, intercell operation jintercell is processed after jintracell, the affected subsequent operation of jintercell, and in turn, jintracell needs to move back.
As shown in the Figure 8b, when Eintracell ≥ Eintercell and Eintercell > Sintracell or Sintracell > Sintercell and Eintercell > Eintracell, the intercell operation is processed first. In this case, operation jintracell is processed after jintercell, the affected subsequent operation need to move back in turn.
It can be seen from Figures 5 and 6 that there is a conflict between operation 102 and operation 402 on the same machine. According to FIFO rule, operation 102 is processed after operation 402, the result of which is shown in Figure 9. Operations 602 and 503 move backwards by the same distance in the sequence, as shown in Figure 10, and the moving distance is represented by black wire frame. Similarly, it can be seen from Figures 5 and 6 that there is a conflict between operation 202 and intercell operation 501 on the same machine. According to the FIFO rule, operation 202 should be moved to the appropriate position, as shown in Figure 11. For each cell, the process of searching for conflicts is repeated several times until no new conflicts occur. (4) Intercell scheduling After the intracell scheduling of each cell, the processing sequence on each device can be obtained. The core problem of intercell scheduling is to solve the processing sequence of different jobs on the same equipment, especially to solve the conflict between the intercell operation and the operation in the current cell.
When there are conflicts, the heuristic rule is one of the common solutions. There are many kinds of heuristic rules. In this paper, the common first in first out (FIFO) rule is used to deal with the conflict between intercell operation and the operation in current cell. The FIFO rule is described in Figure 8, which is a description of the intercell operation processed afterward (a) and before (b) current cell operation. Sintracell and Eintracell represent the start and end time of the job of intracell, respectively. Sintercell and Eintercell are the start and end time of the job of intercell, respectively.
As shown in the Figure 8a, when Sintercell ≥ Sintracell and Eintracell > Sintercell or Sintercell ≥ Sintracell and Eintracell ≥ Eintercell, the operation in current cell is processed first. In this case, intercell operation jintercell is processed after jintracell, the affected subsequent operation of jintercell, and in turn, jintracell needs to move back.
As shown in the Figure 8b, when Eintracell ≥ Eintercell and Eintercell > Sintracell or Sintracell > Sintercell and Eintercell > Eintracell, the intercell operation is processed first. In this case, operation jintracell is processed after jintercell, the affected subsequent operation need to move back in turn.
It can be seen from Figures 5 and 6 that there is a conflict between operation 102 and operation 402 on the same machine. According to FIFO rule, operation 102 is processed after operation 402, the result of which is shown in Figure 9. Operations 602 and 503 move backwards by the same distance in the sequence, as shown in Figure 10, and the moving distance is represented by black wire frame. Similarly, it can be seen from Figures 5 and 6 that there is a conflict between operation 202 and intercell operation 501 on the same machine. According to the FIFO rule, operation 202 should be moved to the appropriate position, as shown in Figure 11. For each cell, the process of searching for conflicts is repeated several times until no new conflicts occur. (4) Intercell scheduling After the intracell scheduling of each cell, the processing sequence on each device can be obtained. The core problem of intercell scheduling is to solve the processing sequence of different jobs on the same equipment, especially to solve the conflict between the intercell operation and the operation in the current cell.
When there are conflicts, the heuristic rule is one of the common solutions. There are many kinds of heuristic rules. In this paper, the common first in first out (FIFO) rule is used to deal with the conflict between intercell operation and the operation in current cell. The FIFO rule is described in Figure 8, which is a description of the intercell operation processed afterward (a) and before (b) current cell operation. Sintracell and Eintracell represent the start and end time of the job of intracell, respectively. Sintercell and Eintercell are the start and end time of the job of intercell, respectively.
As shown in the Figure 8a, when Sintercell ≥ Sintracell and Eintracell > Sintercell or Sintercell ≥ Sintracell and Eintracell ≥ Eintercell, the operation in current cell is processed first. In this case, intercell operation jintercell is processed after jintracell, the affected subsequent operation of jintercell, and in turn, jintracell needs to move back.
As shown in the Figure 8b, when Eintracell ≥ Eintercell and Eintercell > Sintracell or Sintracell > Sintercell and Eintercell > Eintracell, the intercell operation is processed first. In this case, operation jintracell is processed after jintercell, the affected subsequent operation need to move back in turn.
It can be seen from Figures 5 and 6 that there is a conflict between operation 102 and operation 402 on the same machine. According to FIFO rule, operation 102 is processed after operation 402, the result of which is shown in Figure 9. Operations 602 and 503 move backwards by the same distance in the sequence, as shown in Figure 10, and the moving distance is represented by black wire frame. Similarly, it can be seen from Figures 5 and 6 that there is a conflict between operation 202 and intercell operation 501 on the same machine. According to the FIFO rule, operation 202 should be moved to the appropriate position, as shown in Figure 11. For each cell, the process of searching for conflicts is repeated several times until no new conflicts occur. means current cell job, denoted by j intracell , S is the start processing time of the job in the result of intracell scheduling and E denotes the end time of job processing in the result of intracell scheduling. S intracell and E intracell represent the start and end time of the job of intracell, respectively. S intercell and E intercell are the start and end time of the job of intercell, respectively.
As shown in the Figure 8a, when S intercell ≥ S intracell and E intracell > S intercell or S intercell ≥ S intracell and E intracell ≥ E intercell , the operation in current cell is processed first. In this case, intercell operation j intercell is processed after j intracell , the affected subsequent operation of j intercell , and in turn, j intracell needs to move back.
As shown in the Figure 8b, when E intracell ≥ E intercell and E intercell > S intracell or S intracell > S intercell and E intercell > E intracell , the intercell operation is processed first. In this case, operation j intracell is processed after j intercell , the affected subsequent operation need to move back in turn.
It can be seen from Figures 5 and 6 that there is a conflict between operation 102 and operation 402 on the same machine. According to FIFO rule, operation 102 is processed after operation 402, the result of which is shown in Figure 9. Operations 602 and 503 move backwards by the same distance in the sequence, as shown in Figure 10, and the moving distance is represented by black wire frame. Similarly, it can be seen from Figures 5 and 6 that there is a conflict between operation 202 and intercell operation 501 on the same machine. According to the FIFO rule, operation 202 should be moved to the appropriate position, as shown in Figure 11. For each cell, the process of searching for conflicts is repeated several times until no new conflicts occur.

(5) Update harmony memory
This part is the same as that in Section 4.2.

(6) Inspection termination criteria
Repeat steps (2)-(5) for each cell until the termination criteria is met. The final scheduling Gantt chart is shown in Figure 12.

Experimental Design
At present, there are no available standard cases about intercells, so random cases are generated to verify the performance of the algorithm. According to the existing literature, the number of cells in the cell manufacturing system is usually small, with an average of 5.9 cells, and each cell has an average of 6 machines [29]. Therefore, the used number of the cell, machines in the cell and job

(5) Update harmony memory
This part is the same as that in Section 4.2.

(6) Inspection termination criteria
Repeat steps (2)-(5) for each cell until the termination criteria is met. The final scheduling Gantt chart is shown in Figure 12.

Experimental Design
At present, there are no available standard cases about intercells, so random cases are generated to verify the performance of the algorithm. According to the existing literature, the number of cells in the cell manufacturing system is usually small, with an average of 5.9 cells, and each cell has an average of 6 machines [29]. Therefore, the used number of the cell, machines in the cell and job

(5) Update harmony memory
This part is the same as that in Section 4.2.

(6) Inspection termination criteria
Repeat steps (2)-(5) for each cell until the termination criteria is met. The final scheduling Gantt chart is shown in Figure 12.

Experimental Design
At present, there are no available standard cases about intercells, so random cases are generated to verify the performance of the algorithm. According to the existing literature, the number of cells in the cell manufacturing system is usually small, with an average of 5.9 cells, and each cell has an average of 6 machines [29]. Therefore, the used number of the cell, machines in the cell and job

(5) Update harmony memory
This part is the same as that in Section 4.2.

(6) Inspection termination criteria
Repeat steps (2)-(5) for each cell until the termination criteria is met. The final scheduling Gantt chart is shown in Figure 12.   This part is the same as that in Section 4.2.

(6) Inspection termination criteria
Repeat steps (2)-(5) for each cell until the termination criteria is met. The final scheduling Gantt chart is shown in Figure 12.

Experimental Design
At present, there are no available standard cases about intercells, so random cases are generated to verify the performance of the algorithm. According to the existing literature, the number of cells in the cell manufacturing system is usually small, with an average of 5.9 cells, and each cell has an average of 6 machines [29]. Therefore, the used number of the cell, machines in the cell and job

Experimental Design
At present, there are no available standard cases about intercells, so random cases are generated to verify the performance of the algorithm. According to the existing literature, the number of cells in the cell manufacturing system is usually small, with an average of 5.9 cells, and each cell has an average of 6 machines [29]. Therefore, the used number of the cell, machines in the cell and job processed by each cell in the paper is shown as Table 3. The processing time of each operation obeys the uniform distribution of [1,10]. The performance index of the algorithm is the relative deviation (RD) defined by Formula (4): where the value B i gained by each algorithm for each problem is compared to B, and B stands for the best solution found by all algorithms.

Calibration of Algorithmic Parameters
It is very important to set a suitable parameter in the intelligent algorithm. A better solution can be obtained with suitable parameters. According to the previous research results, the range of parameters HMS, HMCR and PAR in the HHS algorithm can be taken as [10,50], [0.8,1] and [0.05,0.25], respectively. In cross experiment, three parameters are equivalent to three factors, and each factor contains five levels, as shown in Table 4.  (5 3 ) is designed. Then, the objective function is calculated with the parameters in Table 5 for the case 3 × 5 × 8. Moreover, the obtained data are also recorded here. Since the Taguchi method has the advantages of less experimental time and having a good effect, it is used in this paper to carry out orthogonal analysis. The obtained main effect of average value and signal-to-noise ratio is shown in Figure 13. It can be seen that in the case of 3 × 5 × 8, HMS, HMCR and PAR are 20 or 50, 0.8 and 0.2, respectively. Nine groups are randomly selected to repeat the same orthogonal test, and the final parameters were determined as 50, 0.8 and 0.2, respectively. Each case is iterated for 2500 generations, and the minimum value is taken after 20 cycles. Since the Taguchi method has the advantages of less experimental time and having a good effect, it is used in this paper to carry out orthogonal analysis. The obtained main effect of average value and signal-to-noise ratio is shown in Figure 13. It can be seen that in the case of 3 × 5 × 8, HMS, HMCR and PAR are 20 or 50, 0.8 and 0.2, respectively. Nine groups are randomly selected to repeat the same orthogonal test, and the final parameters were determined as 50, 0.8 and 0.2, respectively. Each case is iterated for 2500 generations, and the minimum value is taken after 20 cycles.

Experimental Result and Analyses
At present, there are two solutions to solve the intercell scheduling problem: the overall solution and the two-stage solution. A new strategy is proposed for the HHS algorithm for non-permutation flowline intercell scheduling. To verify the performances of the proposed strategy, the experiments are developed for cases in randomly generating different scales, comparing with commonly used efficient intelligent optimization algorithms: hybrid genetic algorithm (HGA) [60] and hybrid particle swarm optimization (HPSO) [61]. All calculations are performed using MATLAB R2017a software. The results of each algorithm for both solutions, overall and two-stage, are shown in Table 7.

Experimental Result and Analyses
At present, there are two solutions to solve the intercell scheduling problem: the overall solution and the two-stage solution. A new strategy is proposed for the HHS algorithm for non-permutation flowline intercell scheduling. To verify the performances of the proposed strategy, the experiments are developed for cases in randomly generating different scales, comparing with commonly used efficient intelligent optimization algorithms: hybrid genetic algorithm (HGA) [60] and hybrid particle swarm optimization (HPSO) [61]. All calculations are performed using MATLAB R2017a software. The results of each algorithm for both solutions, overall and two-stage, are shown in Table 6.   The red font means the best value found by all algorithms for each instance.
In the table, SHHS, SHGA and SHPSO are the two-stage solutions for the proposed algorithms, HGA and HPSO. OHHS, OHGA and OHPSO are for the overall solutions for the proposed algorithms, HGA and HPSO.
In order to facilitate the analysis, the above results are displayed in the form of a figure, and the case is divided into four parts for easy to view, as shown in Figure 14a Table 6, the average relative deviation of the proposed HHS at 0.02 and 0.04 are obviously better than the genetic algorithm and a little better than the particle swarm optimization algorithm. The red font means the best value found by all algorithms for each instance.
In the table, SHHS, SHGA and SHPSO are the two-stage solutions for the proposed algorithms, HGA and HPSO. OHHS, OHGA and OHPSO are for the overall solutions for the proposed algorithms, HGA and HPSO.
In order to facilitate the analysis, the above results are displayed in the form of a figure, and the case is divided into four parts for easy to view, as shown in Figure 14a-d. From the point of view of overall and two-stage solutions, the makespan values of SHHS, SHGA and SHPSO algorithms in most cases are significantly better than OHHS, OHGA and OHPSO algorithms in the overall mode. From the point of view of each solution in Table 6, the average relative deviation of the proposed HHS at 0.02 and 0.04 are obviously better than the genetic algorithm and a little better than the particle swarm optimization algorithm.  In order to further study the performance of the two solutions, the computational time is studied. Taking SHHS and OHHS as examples, the calculation time is shown in Figure 15. It can be seen that under the same hardware conditions, which is a personal computer with an Intel(R) 4 CPU, 2.60 GHz and 8 GB of RAM, the calculation time of HHS in the two-stage solution mode is significantly higher than that in the overall solution mode. From the perspective of algorithm flow, this is mainly because in SHHS, it is not only necessary to schedule each cell in turn, but also to detect the operation conflict on the machine where the intercell operation is located. If there is a conflict, the intercell operation or the corresponding operation in the current cell will be moved according to the rules. In most cases, the moved operation will cause other operations in the intracell scheduling result are affected directly or indirectly and need to move in this way many times until there is no conflict. Intercell scheduling is similar to neighborhood search, so it can get a better solution. In order to further study the performance of the two solutions, the computational time is studied. Taking SHHS and OHHS as examples, the calculation time is shown in Figure 15. It can be seen that under the same hardware conditions, which is a personal computer with an Intel(R) 4 CPU, 2.60 GHz and 8 GB of RAM, the calculation time of HHS in the two-stage solution mode is significantly higher than that in the overall solution mode. From the perspective of algorithm flow, this is mainly because in SHHS, it is not only necessary to schedule each cell in turn, but also to detect the operation conflict on the machine where the intercell operation is located. If there is a conflict, the intercell operation or the corresponding operation in the current cell will be moved according to the rules. In most cases, the moved operation will cause other operations in the intracell scheduling result are affected directly or indirectly and need to move in this way many times until there is no conflict. Intercell scheduling is similar to neighborhood search, so it can get a better solution. From the view of algorithm, the HHS algorithm has the advantages of simple concept, less adjustable parameters and easy implementation. Besides, compared with HPSO and HGA, it has two advantages: one is to make full use of the existing harmony information in the harmony memory; the other is that HHS considers each piece of individual information separately. From the point of the 3x6x8 3x6x20 3x7x8 3x7x20 3x8x8 3x8x20 4x5x8 4x5x20 4x6x8 4x6x20 4x7x8 4x7x20 4x8x8 4x8x20 5x5x8 5x5x20 5x6x8 5x6x20 5x7x8 5x7x20 5x8x8 5x8x20 6x5x8 6x5x20 6x6x8 6x6x20 6x7x8 6x7x20 6x8x8 6x8x20 From the view of algorithm, the HHS algorithm has the advantages of simple concept, less adjustable parameters and easy implementation. Besides, compared with HPSO and HGA, it has two advantages: one is to make full use of the existing harmony information in the harmony memory; the other is that HHS considers each piece of individual information separately. From the point of the solution way, the solution process of the overall scheduling is similar to the ordinary flow shop scheduling, which only need one scheduling. Whereas in the two-stage solution, it includes intracell scheduling and intercell scheduling two steps, the solving process of which is equivalent to the number of times of intracell scheduling and multiple rescheduling, so it takes a long time.

Conclusions
In this paper, a hybrid harmony search algorithm is proposed to solve the intercell scheduling problem of non-permutation flowline manufacturing cells with the makespan criterion. In order to adopt operation-based encoding, the three key parts of the basic harmony search algorithm are improved accordingly, including memory consideration, pitch adjustment and random generation. To confirm the proposed algorithm, the performance is compared with the commonly used particle swarm optimization algorithm and genetic algorithm by randomly generating different scale cases. The results show that the proposed algorithm can obtain better solution in the existing overall and two-stage solutions of intercell scheduling. Moreover, the results of each algorithm in the two-stage solution mode are better than those in the corresponding overall solution mode. Compared with the overall scheduling process, the two-stage solution is equivalent to the number of cells in the intracell scheduling and multiple rescheduling, leading to longer time.