# A DE-LS Metaheuristic Algorithm for Hybrid Flow-Shop Scheduling Problem considering Multiple Requirements of Customers

Authors: Yingjia Sun; Xin Qi
Journal: Scientific Programming
 (2020)

---

## Abstract

In this paper, we address a hybrid flow-shop scheduling problem with the objective of minimizing the makespan and the cost of delay. The concerned problem considers the diversity of the customers’ requirements, which influences the procedures of the productions and increases the complexity of the problem. The features of the problem are inspired by the real-world situations, and the problem is formulated as a mixed-integer programming model in the paper. In order to tackle the concerned problem, a hybrid metaheuristic algorithm with Differential Evolution (DE) and Local Search (LS) (denoted by DE-LS) has been proposed in the paper. The differential evolution is a state-of-the-art metaheuristic algorithm which can solve complex optimization problem in an efficient way and has been applied in many fields, especially in flow-shop scheduling problem. Moreover, the study not only combines the DE and LS, but also modifies the mutation process and provides the novel initialization process and correction strategy of the approach. The proposed DE-LS has been compared with four variants of algorithms in order to justify the improvements of the proposed algorithm. Experimental results show that the superiority and robustness of the proposed algorithm have been verified.


---

## Body

## 1. Introduction

Flow shop involves a large amount of jobs and machines, and the jobs need to be processed in machines, which formulates a series of stages in the factories. Flow-shop scheduling problem (FSP) [1, 2] has been widely investigated by the researchers, which aims to find the optimal schedule in the production procedures. The FSP, with reference to many constraints of resources, the number of jobs and machines, is a complex combination optimization problem [3, 4]. The research on FSP can be traced back to 1954 [5], in which an exact algorithm has been proposed to deal with the proposed three-machine flow-shop scheduling problem. Then, many scholars have devoted enormous effort and time to the research of FSP. For example, Riahi and Kazemi [6] have proposed a no-wait flow-shop scheduling problem, which is a variant of FSP, considering the makespan and flow time. In the paper, the authors have provided the mathematical formulation and a hybrid metaheuristic algorithm combined ant colony optimization and simulated annealing algorithm. Marichelvam et al. [7] address a flow-shop scheduling problem with minimization of the makespan and total flow time, which is a biobjective flow-shop scheduling problem. In order to solve the proposed problem, a hybrid monkey search algorithm based on a subpopulation has been studied.It is worth mentioning that hybrid flow-shop scheduling problem (HFSP) is one type of FSP, which need to schedule the jobs in machines and complete the assignments of machines [8–10]. In HFSP, there are parallel machines in a stage, which has higher requirements for the schedule Because redundancy and shortage of machines both can reduce the efficiency of the production and increase the cost. In addition, hybrid flow-shop scheduling problem has been proved the NP-hard [11, 12]. For instance, Yu et al. [13] propose a HFSP to minimize the total tardiness in consideration of several practical assumptions. Moreover, a genetic algorithm has been utilized to tackle the proposed problem, which involves a novel decoding approach to get the objective. Pan et al. [14] provide nine algorithms to solve the proposed HFSP, and the objective of the concerned problem is to minimize the makespan. Zhang et al. [12] study the HSFP with a lot streaming, and the objective is to minimize the total flow time. A mathematical formulation is provided for the studied problem, and an effective modified birds optimization algorithm has been applied to obtain the results. In this paper, a hybrid flow-shop scheduling problem has been studied, which considers many stages with parallel machines and multiple requirements of customers. Different requirements of customers indicate that the manufacturer needs to produce different types of productions in a horizon. The diversity of productions reflects on the procedures in the manufacturer. For example, two productions need to be processed in different stages. The first one has two procedures and the other one has three procedures. The objective of the proposed problem is to minimize the makespan and the cost of delay. Thus, the schedule should not only consider the flow time but also take into account the time requirements of the customers, which is inspired by real-world situations.Due to the NP-hard of the HFSP, in many prior studies, metaheuristic algorithms have been applied to tackle the HFSP [6, 11, 13], such as greedy algorithm, simulated annealing algorithm, genetic algorithm, etc. Metaheuristic algorithms can obtain the solution of complexity optimization problem in available time, which have been developed in many fields, i.e., manufacturing industry [15–17], airline industry [18–21], energy sources [22–25], etc. In addition, Differential Evolution (DE), firstly proposed by Storn and Price [26], is a powerful evolutionary algorithm for global optimization. Like most evolutionary algorithms, DE is a population-based algorithm involving three main operations [25, 27, 28], i.e., mutation operations, crossover operation, and selection operation. These operations update the solution by the specific mechanism and help the algorithm to find the global optimal solution. Recently, DE algorithm has been widely studied by many researchers and has shown good performance in solving many optimization problems, especially in flow-shop scheduling problem. For example, Zhang and Xing [29] have utilized DE to solve a distributed limited-buffer flow-shop scheduling problem, with minimization of the makespan. In the study, two heuristics and two differential evolution metaheuristics have been proposed for various situations. Zhou et al. [30] presented a hybrid differential evolution named DE-eEDA, which combined DE with an estimation of distribution algorithm. The authors have applied the proposed DE-eEDA to tackle the reentrant hybrid flow-shop scheduling problem with the objective of minimizing the total weighted completion time. In this paper, a hybrid differential evolution with local search algorithm (denoted by DE-LS) has been proposed to solve the studied problem, which has modified the mutation process and provides the novel initialization process and correction strategy of the approach. Moreover, the local search has been utilized in the specific situation which can improve the solution by several operators, i.e., 2-opt and swap. Moreover, the comparison between previous studies works and this study is provided in Table 1, which compares the studies from three aspects, i.e., types of problems, objectives, and approaches.Table 1
Comparison between previous studies and this study.
ReferencesTypes of problemsObjectivesApproachesPan et al. [1]Lot-streaming FSPMinimize the total weighted earliness and tardiness penaltiesDiscrete artificial bee colonyRiahi and Kazemi [6]No-wait FSPMinimize the makespanA hybrid ant colony optimization and simulated annealing algorithmMarichelvam et al. [7]FSPMinimize the makespan and total flow timeA hybrid monkey search algorithm based on subpopulationRuize and Stützle [31]Permutation FSPMinimize the makespanIterated greedy algorithmXu et al. [32]Permutation FSPMinimize the makespan and total weighted tardinessIterated local searchLei and Zheng [11]HFSPMinimize the total tardiness, maximum tardiness, and makespanA novel neighborhood search with global exchangeZhang et al. [12]HFSPMinimize the total flow timeEffective modified migrating birds optimizationYu et al. [13]HFSPMinimize the total tardinessGenetic algorithmPan et al. [14]HFSPMinimize the makespanNine effective metaheuristicsTasgetiren et al. [33]Blocking FSPMinimize the makespanIterated greedy algorithmYagmahan and Yenisey [34]FSPMinimize the makespan and total flow timeAnt colony system algorithmZhang and Xing [29]FSPMinimize the makespanDifferential evolutionZhou et al. [30]HFSPMinimize the total weighted completion timeA hybrid differential evolution with an estimation of distribution algorithmThis studyHFSPMinimize the makespan and cost of delayA hybrid differential evolution and local searchThe contributions of our paper can be organized as follows: (1) A hybrid flow-shop scheduling problem with consideration of multiple requirements of customers has been considered, with reference to diverse productions and different procedures. (2) The novel mixed-integer programming model has been provided in the paper to formulate the studied problem. (3) The hybrid metaheuristic algorithm with Differential Evolution and Local Search (DE-LS) has been proposed to tackle the proposed problem, which involves the modified mutation process, initialization process, correction strategy, etc. (4) The proposed DE-LS has been compared with four variant algorithms, and the robustness and superiority of DE-LS have been verified.The remaining components of this paper can be summarized as follows. The problem description and mathematical formulation are provided in Section2. In Section 3, the proposed hybrid algorithm DE-LS has been illustrated detailedly, with the encoding strategy and correction strategy, initialization, etc. The results of computational experiments can be seen in Section 4. The conclusion of the paper is presented in Section 5.


## 2. Problem Description and Mathematical Formulation

The flow-shop scheduling problem has been proved as NP-hard [35]. Moreover, the hybrid flow-shop scheduling problem with two machines in one stage has also been proved NP-hard [36]. In this paper, a hybrid flow-shop scheduling problem with consideration of several machines in one working processing and more than one stage is being studied, which is NP-hard. This study focuses on the multiple demands of customers in the hybrid flow-shop scheduling problem, which is based on the real-world situations. Generally, the manufacturers will revive many bookings from different customers, which have different requirements about the productions. For example, some customers need the productions adding one or more processes based on the basic productions. On the contrary, some of them may need the productions omitting one or more processes based on the basic productions. The differences between customers directly influence the efficiency and the working patterns of the manufacturers. Thus, the paper considers the differential demands of the customers. Moreover, the paper aims to improve the efficiency of the manufacturers and reduce the delay cost. The notations used in the paper can be found in Table 2.Table 2
Notations in the paper.
NThe total number of jobsNThe index of jobsCThe total number of customersCThe index of customersMThe total number of machinesmThe index of machinesJThe total number of working processesjThe index of working processeskThe number of production typesckThe demands number of customerc for production with type kDcThe latest delivery time of customercQjm1, if the machinem in the j working process; 0, otherwisePkjmThe processing time of production with typek in the j working process in machine mBnjmThe begin time of jobn in the j working process in machine mCnjmThe completion time of jobn in the j working process in machine mMaxmThe maximum number of jobs can be assigned to machinem in the same working processρcThe penalty cost of customerc if the latest delivery time is not satisfiedTo better understand the proposed problem, an example of the processes of the manufacturing and the delivering is shown in Figure1. Firstly, the suppliers provide the original materials, and then the following processes can be started. Due to the different requirements of the customers, the jobs need to be processed with the specific sequences of the machines. For example, job 2 and job 3 need to be processed in the first process, while job 1 and job N do not need that. Jobs with different processing sequences can manufacture the productions with multiple types, which aims to satisfy the differential demands of customers.Figure 1
An example of the manufacturing and delivery.In order to study the proposed problem, the following assumptions have been made in this paper:(a)
The job will not be interrupted when it starts(b)
The production with the same type is homogeneous(c)
The machine can process the jobs list with different types of jobs(d)
The arrival times of all jobs are known and the same.Decision variables are as follows:(1)xnjm=1,if the jobnis processed with machineminjworking  process,0,otherwise,ynk=1,if the jobnwill be processed to production with typek,0,otherwise,znc=1,if the jobnis assined  to customerc,0,otherwise,φinm=1,if the jobiis processed before the jobnin machinem,0,otherwise.The MIP formulation is(2)MinCmax+∑c=1C∑n=1N∑m=1M∑j=1JmaxCnjm−Dc,0zncρc,subject to(3)Cmax=maxn∈1,2,…,NCnjm,∀j∈1,2,…,J,∀m∈1,2,…,M,(4)∑n=1Nynkznc≥ck,∀c∈1,2,…,C,∀k∈1,2,…,K,(5)∑n=1Nxnjm≤Maxm,∀j∈1,2,…,J,∀m∈1,2,…,M,(6)∑m=1Mxnjm≤1,∀n∈1,2,…,N,∀j∈1,2,…,J,(7)∑k=1Kynk≤1,∀n∈1,2,…,N,(8)∑c=1Cznc≤1,∀n∈1,2,…,N,(9)Cnjm=Bnjm+∑k=1KPkjmynk,∀n∈1,2,…,N,∀j∈1,2,…,J,∀m∈1,2,…,M,(10)Cnjm≤Cmax,∀n∈1,2,…,N,∀j∈1,2,…,J,∀m∈1,2,…,M,(11)Cijm≤Cnjmφinm,∀i,n∈1,2,…,N,∀j∈1,2,…,J,∀m∈1,2,…,M,(12)xnjm,ynk,znc,φinm∈0,1,∀i,n∈1,2,…,N,∀j∈1,2,…,J,∀m∈1,2,…,M,∀k∈1,2,…,K,∀c∈1,2,…,C.Objective (2) involves two phases, which are Cmax and the penalty part. The definition of Cmax is provided in (3). Equation (3) means that Cmax is the maximum makespan in all jobs. The penalty part means that it will have an external cost if the production is delayed to each customer. Constraint (4) denotes that the demands of each customer will be satisfied. Constraint (5) means that the number of jobs assigned to one machine in a working process will not exceed the limitation of the machine. Constraint (6) limits that one job will not be scheduled to more than one machine in each working process. Constraint (7) denotes that only one type can be assigned to a job, and constraint (8) means one job only can be assigned to one customer. Constraint (9) is the definition of the completion time, which can be calculated by the begin time of the job and the processing time. Constraint (10) means that the completion time of any job is less than Cmax. Constraint (11) defines that if two jobs are processed in one machine, the completion time of the latter one is larger than the former one. Four decision variables are defined in constraint (12).


## 3. The Proposed Hybrid Approach DE-LS

In this section, a hybrid metaheuristic algorithm DE-LS has been proposed, which involves a specific encoding strategy, correction strategy, initialization, etc., for the studied problem. In addition, the mutation strategy of the DE has been modified in order to improve the solution. The framework of the proposed DE-LS has also been provided in the section, which describes all processes and operation logic of the proposed algorithm.


### 3.1. Encoding Strategy and Correction Strategy

The difference of the productions lies in the processes in the manufacturing. For example, there are four kinds of the productions and three processes in the manufacturing totally. Production A needs to be processed by the first two processes, and production B is processed by the last two processes. The example of the relationship between productions and processes is provided in Figure2.Figure 2
An example of the relationship between productions and processes.Therefore, we define the procedures according to the different processes, and each job corresponds to a procedure. The processes in each procedure is defined before. Firstly, each job must be assigned to one kind of procedure, which will indicate one type of production. Thus, the number of each procedure is limited by the requirements of the customers. We provide an example of solution presentation in Figure3. In the figure, there are seven jobs, and each job has a specific encoding number, which indicates the assigned procedure of the job. For example, the encoding number of job 3 and job 5 is 3, which means that these two jobs will be processed with procedure 3. The last line of the figure is the customers’ requirements, which is known as the limitation of the encoding.Figure 3
An example of solution presentation.The solutions in this paper are integer and have a specific range. However, noninteger and out-of-range solutions will be generated during the processes of solutions computation. A correction strategy of solution is provided in the paper. Firstly, the range of the solution should be determined, which is related to the number of procedures. For example, there are four procedures totally, and each element in the solutions is integer in [1, 4]. Then, correct each element in the solution using round-off method. Moreover, the out-of-range elements are corrected according to the bound of the solution. Finally, count the number of procedures in the solutions and compare them with the customers’ requirements. A simple example of the correction strategy is provided in Figure 4. The first line in the picture is the computed solution which is noninteger and did not meet the range of solution. After rounding the solution, a new solution is generated which is integer and met the range of solution. However, another limitation of the solution is the requirements of customers. The number of procedure 4 in the solution is more than the requirements of customers and the number of procedures 2 and 3 is less than the requirements of customers. Hence, randomly select two jobs with procedure 4 (i.e., job 4 and job 7) and change the procedure of them into 2 and 3, respectively. For a better understanding, we provide the pseudocode of the correction strategy in Algorithm 1.Figure 4
An example of correction strategy.Algorithm 1: The pseudocode of the correction strategy.
Initialization: the solutionx, the number of jobs J, the lower-bound of the solution Lower, the upper-bound of the solution Upper, the list of customers’ requirements CR, procedures count list count.(1)
Whilej≤J then(2)
ifxj<Lower or xj>Upper then(3)
xj=randomLower, Upper(4)
End if(5)
xj=roundxj(6)
j=j+1(7)
End while(8)
Whilej≤J then(9)
countxj=countxj+1(10)
j=j+1(11)
End while(12)
∗The following processes is used to correct the limitation of customers’ requirements(13)
Whilei≤lengthcount then(14)
ifcounti<CRi then(15)
For positiontims=1:CRi−counti(16)
index=False(17)
Whilek≤lengthcount and index=False then(18)
ifcountk>CRk then(19)
For positionj=1:J(20)
ifxj==k then(21)
xj=i(22)
counti=counti+1(23)
countk=countk−1(24)
index=True(25)
break(26)
End if(27)
End for(28)
Elsek=k+1(29)
End while(30)
End for(31)
End if(32)
i=i+1(33)
End while


### 3.2. Initialization

The initial solution should be generated before the solution changing, which is the available solution of the proposed problem. The initialization of the classical DE generated the initial solution using the minimum and maximum values of the solution. In this paper, the first step of the initialization is also to generate random variables for each solution, which are integer and between the range of the solution. Then, the limitation of the customers’ requirements should be considered. The correction strategy can be used to make the solution available. The details of the initialization can be found in Algorithm2.Algorithm 2: The processes of initialization.
Initialization: the population sizeNP, the dimension of the solution D, the lower-bound of the solution XL=x1L,x2L,…,xDL, the upper-bound of the solution XU=x1U,x2U,…,xDU, the empty initial solution X=X1,X2,…,Xi,…,XNP, and Xi=xi1,xi2,…,xij,…,xiD.(1)
For positioni=1:NP(2)
For positionj=1:D(3)
xij=xjL+rand0,1×xjU−xjL(4)
xij=roundxij(5)
End for(6)
End for(7)
Using the processes of correcting the limitation of customers’ requirements which can be found in the Algorithm1.


### 3.3. Details of the Proposed DE-LS

The details of the proposed DE-LS can be seen in this section, which involves the mutation strategy, crossover, selection, and local search. The first three phases are the part of the classical DE, and the local search in the paper is to improve the searched solution.


#### 3.3.1. Selective Mutation Strategy

Generally, many mutation operators are widely used in the DE, such as rand/1, rand/2, best/1, etc. The solution can be changed after using the mutation operations, and we call the new solution mutant solution,Vi=vi1,vi2,…,vij,…,viD. Some popular mutation operators can be found as follows:(13)Rand1:Vi=Xr1+F×Xr2−Xr3,(14)Rand2:Vi=Xr1+F×Xr2−Xr3,Vi=Xr1+F×Xr2−Xr3+F×Xr4−Xr5,(15)Best1:Vi=Xbest+F×Xr1−Xr2,(16)Best2:Vi=Xbest+F×Xr1−Xr2+F×Xr3−Xr4,(17)Current−to−best1:Vi=Xi+F×Xbest−Xi+F×Xr1−Xr2,where the integer variables r1,r2,r3,r4,r5,i are from [1, NP]. The variable i is determined, and other five variables are randomly generated. Moreover, they satisfy the inequation r1≠r2≠r3≠r4≠r5≠i. Xbest is the current best solution. The variable F is randomly generated between 0 and 1.In this paper, selective mutation strategy is proposed to update the solutions. For instance, if the best solution is updated in the last iteration, the current-to-best/1 operation will be applied in the mutation process. Otherwise, a random mechanism will be utilized to select the mutation operator. The details of the proposed selective mutation strategy are described as follows:(1)
Ifrand0,1<CR or j==jrand then(2)
IfXbest is updated then(3)
Apply  current-to-best/1:Vi=Xi+F×Xbest−Xi+F×Xr1−Xr2(4)
Elses=rand0,1(5)
Ifs<S1 then(6)
Apply rand/1:Vi=Xr1+F×Xr2−Xr3(7)
Else(8)
Apply best/1:Vi=Xbest+F×Xr1−Xr2(9)
End if(10)
End if(11)
End ifwhere the parameters CR and S1 are random numbers between 0 and 1. The integer parameter jrand is randomly generated between 1 and D.


#### 3.3.2. Crossover

The crossover operation in the DE can generate a new solution vector, which is always called trial vector. Each element in trial vector is selected from the corresponding element which may from solution before mutation or mutated solution. In this paper, binomial crossover operation is applied, and the details can be represented as follows:(18)uij=vij,if rand0,1≤CRorj==jrand,xij,otherwise,where CR is a random number between 0 and 1, and the integer number jrand is selected from 1 to D. The index i∈1,2,…,NP means the individual of the solution. The equation indicates that when the random number is less than CR and j==jrand, the element of mutated solution is selected for the trial solution. Otherwise, the element of solution before being mutated is selected for trial solution.


#### 3.3.3. Selection

The selection is the last process of DE in an iteration. The selection mechanism in the paper is the same as that in most studies, which remains the better solution after the solution changing. The selection regulation can be found as follows:(19)Xi=Ui,if  objUi≤objXi,Xi,otherwise,where objUi and objXi are the objective value of the solution Ui and Xi, respectively. The equation means that the solution with lower objective value can survive to the next generation.


#### 3.3.4. Local Search

Local search (LS) has been widely applied to solve complex optimization problems, which can get the optimal solution in an available time. Moreover, local search is to find neighborhoods of the selected solution by using specific neighborhood structure operators, such as, 2-opt, exchange, swap, etc. In order to improve the efficiency of the proposed approach, local search has been used in this paper. The proposed local search is utilized after the selection process, which search the neighborhoods by the improved solutions. In addition, two neighborhood structure operations have been applied in the paper, i.e., 2-opt and swap. These two operations are very popular and simple. In Figure5, the changing mechanisms of 2-opt and swap operations have been illustrated. For example, two jobs need to selected before the operations. In the example, job 2 and job 5 have been selected for the 2-opt operation, and job 1 and job 7 have been selected for the swap operation. Then, the 2-opt operation is to convert all jobs between the selected two jobs as seen in the figure. The swap operation is to exchange the value of the selected two jobs. We provide the pseudocode of the proposed local search, which can be found in Algorithm 3.Figure 5
An example of 2-opt and swap operations.Algorithm 3: The proposed local search.
Input: solutionXi=x1,x2,…,xj,…,xD, the objective value objXi, maximum number of iterations T, pre-defined index index∈0,1.(1)
Whilet<T then(2)
opt=rand0,1(3)
j1=randint1,D−1(4)
j2=randintr1,D(5)
Ifopt<index then(6)
Get the new solutionXi′ by using 2-opt operation, and the selected jobs are j1 and j2(7)
Else(8)
Get the new solutionXi′ by using swap operation, and the selected jobs are j1 and j2(9)
End if(10)
Calculate the objective valueobjXi′(11)
IfobjXi>objXi′ then(12)
UpdateXi=Xi′(13)
End if(14)
t=t+1(15)
End while


#### 3.3.5. The Proposed DE-LS

In this section, the proposed DE-LS approach is described in Algorithm4, which involves the basic processes of DE, i.e., mutation, crossover, and selection, and a proposed local search is also embedded.Algorithm 4: The proposed DE-LS.
Initialization: the population sizeNP, the dimension of the solution D, the lower-bound of the solution XL=x1L,x2L,…,xDL, the upper-bound of the solution XU=x1U,x2U,…,xDU, the empty initial solution X=X1,X2,…,Xi,…,XNP, and Xi=xi1,xi2,…,xij,…,xiD, maximum number of iterations Itermax, F′, CR′, and S′ are the pre-defined parameters.(1)
Apply the initialization process to get the initial solutionX and the objective value objX(2)
Find the current best solutionXbest and objXbest(3)
Whileiter<Itermax then(4)
For positioni=1:NP then(5)
F=randF′,1(6)
CR=randCR′,1(7)
For positionj=1:D then(8)
∗The processes of mutation(9)
Ifrand0,1<CR or j==jrand then(10)
Generater1≠r2≠r3∈1,2,…,NP(11)
IfXbest is updated then(12)
uij=xij+F×xbest,j−xij+F×xr1j−xr2j(13)
Elses=rand0,1(14)
Ifs<S′ then(15)
uij=xr1j+F×xr2j−xr3,j(16)
Else(17)
uij=xbest,j+F×xr1j−xr2j(18)
End if(19)
End if(20)
Else(21)
uij=xij(22)
End if(23)
End for(24)
Using correction strategy(25)
Get the objective valueobjUi(26)
IfobjUi≤objXi then(27)
Xi=Ui(28)
Else(29)
Apply the proposed local search which can be found in Algorithm3 to update the solution Xi(30)
End if(31)
End for(32)
Search the new best solution and update the solutionXbest and objXbest(33)
iter=iter+1(34)
End while


## 3.1. Encoding Strategy and Correction Strategy

The difference of the productions lies in the processes in the manufacturing. For example, there are four kinds of the productions and three processes in the manufacturing totally. Production A needs to be processed by the first two processes, and production B is processed by the last two processes. The example of the relationship between productions and processes is provided in Figure2.Figure 2
An example of the relationship between productions and processes.Therefore, we define the procedures according to the different processes, and each job corresponds to a procedure. The processes in each procedure is defined before. Firstly, each job must be assigned to one kind of procedure, which will indicate one type of production. Thus, the number of each procedure is limited by the requirements of the customers. We provide an example of solution presentation in Figure3. In the figure, there are seven jobs, and each job has a specific encoding number, which indicates the assigned procedure of the job. For example, the encoding number of job 3 and job 5 is 3, which means that these two jobs will be processed with procedure 3. The last line of the figure is the customers’ requirements, which is known as the limitation of the encoding.Figure 3
An example of solution presentation.The solutions in this paper are integer and have a specific range. However, noninteger and out-of-range solutions will be generated during the processes of solutions computation. A correction strategy of solution is provided in the paper. Firstly, the range of the solution should be determined, which is related to the number of procedures. For example, there are four procedures totally, and each element in the solutions is integer in [1, 4]. Then, correct each element in the solution using round-off method. Moreover, the out-of-range elements are corrected according to the bound of the solution. Finally, count the number of procedures in the solutions and compare them with the customers’ requirements. A simple example of the correction strategy is provided in Figure 4. The first line in the picture is the computed solution which is noninteger and did not meet the range of solution. After rounding the solution, a new solution is generated which is integer and met the range of solution. However, another limitation of the solution is the requirements of customers. The number of procedure 4 in the solution is more than the requirements of customers and the number of procedures 2 and 3 is less than the requirements of customers. Hence, randomly select two jobs with procedure 4 (i.e., job 4 and job 7) and change the procedure of them into 2 and 3, respectively. For a better understanding, we provide the pseudocode of the correction strategy in Algorithm 1.Figure 4
An example of correction strategy.Algorithm 1: The pseudocode of the correction strategy.
Initialization: the solutionx, the number of jobs J, the lower-bound of the solution Lower, the upper-bound of the solution Upper, the list of customers’ requirements CR, procedures count list count.(1)
Whilej≤J then(2)
ifxj<Lower or xj>Upper then(3)
xj=randomLower, Upper(4)
End if(5)
xj=roundxj(6)
j=j+1(7)
End while(8)
Whilej≤J then(9)
countxj=countxj+1(10)
j=j+1(11)
End while(12)
∗The following processes is used to correct the limitation of customers’ requirements(13)
Whilei≤lengthcount then(14)
ifcounti<CRi then(15)
For positiontims=1:CRi−counti(16)
index=False(17)
Whilek≤lengthcount and index=False then(18)
ifcountk>CRk then(19)
For positionj=1:J(20)
ifxj==k then(21)
xj=i(22)
counti=counti+1(23)
countk=countk−1(24)
index=True(25)
break(26)
End if(27)
End for(28)
Elsek=k+1(29)
End while(30)
End for(31)
End if(32)
i=i+1(33)
End while


## 3.2. Initialization

The initial solution should be generated before the solution changing, which is the available solution of the proposed problem. The initialization of the classical DE generated the initial solution using the minimum and maximum values of the solution. In this paper, the first step of the initialization is also to generate random variables for each solution, which are integer and between the range of the solution. Then, the limitation of the customers’ requirements should be considered. The correction strategy can be used to make the solution available. The details of the initialization can be found in Algorithm2.Algorithm 2: The processes of initialization.
Initialization: the population sizeNP, the dimension of the solution D, the lower-bound of the solution XL=x1L,x2L,…,xDL, the upper-bound of the solution XU=x1U,x2U,…,xDU, the empty initial solution X=X1,X2,…,Xi,…,XNP, and Xi=xi1,xi2,…,xij,…,xiD.(1)
For positioni=1:NP(2)
For positionj=1:D(3)
xij=xjL+rand0,1×xjU−xjL(4)
xij=roundxij(5)
End for(6)
End for(7)
Using the processes of correcting the limitation of customers’ requirements which can be found in the Algorithm1.


## 3.3. Details of the Proposed DE-LS

The details of the proposed DE-LS can be seen in this section, which involves the mutation strategy, crossover, selection, and local search. The first three phases are the part of the classical DE, and the local search in the paper is to improve the searched solution.


### 3.3.1. Selective Mutation Strategy

Generally, many mutation operators are widely used in the DE, such as rand/1, rand/2, best/1, etc. The solution can be changed after using the mutation operations, and we call the new solution mutant solution,Vi=vi1,vi2,…,vij,…,viD. Some popular mutation operators can be found as follows:(13)Rand1:Vi=Xr1+F×Xr2−Xr3,(14)Rand2:Vi=Xr1+F×Xr2−Xr3,Vi=Xr1+F×Xr2−Xr3+F×Xr4−Xr5,(15)Best1:Vi=Xbest+F×Xr1−Xr2,(16)Best2:Vi=Xbest+F×Xr1−Xr2+F×Xr3−Xr4,(17)Current−to−best1:Vi=Xi+F×Xbest−Xi+F×Xr1−Xr2,where the integer variables r1,r2,r3,r4,r5,i are from [1, NP]. The variable i is determined, and other five variables are randomly generated. Moreover, they satisfy the inequation r1≠r2≠r3≠r4≠r5≠i. Xbest is the current best solution. The variable F is randomly generated between 0 and 1.In this paper, selective mutation strategy is proposed to update the solutions. For instance, if the best solution is updated in the last iteration, the current-to-best/1 operation will be applied in the mutation process. Otherwise, a random mechanism will be utilized to select the mutation operator. The details of the proposed selective mutation strategy are described as follows:(1)
Ifrand0,1<CR or j==jrand then(2)
IfXbest is updated then(3)
Apply  current-to-best/1:Vi=Xi+F×Xbest−Xi+F×Xr1−Xr2(4)
Elses=rand0,1(5)
Ifs<S1 then(6)
Apply rand/1:Vi=Xr1+F×Xr2−Xr3(7)
Else(8)
Apply best/1:Vi=Xbest+F×Xr1−Xr2(9)
End if(10)
End if(11)
End ifwhere the parameters CR and S1 are random numbers between 0 and 1. The integer parameter jrand is randomly generated between 1 and D.


### 3.3.2. Crossover

The crossover operation in the DE can generate a new solution vector, which is always called trial vector. Each element in trial vector is selected from the corresponding element which may from solution before mutation or mutated solution. In this paper, binomial crossover operation is applied, and the details can be represented as follows:(18)uij=vij,if rand0,1≤CRorj==jrand,xij,otherwise,where CR is a random number between 0 and 1, and the integer number jrand is selected from 1 to D. The index i∈1,2,…,NP means the individual of the solution. The equation indicates that when the random number is less than CR and j==jrand, the element of mutated solution is selected for the trial solution. Otherwise, the element of solution before being mutated is selected for trial solution.


### 3.3.3. Selection

The selection is the last process of DE in an iteration. The selection mechanism in the paper is the same as that in most studies, which remains the better solution after the solution changing. The selection regulation can be found as follows:(19)Xi=Ui,if  objUi≤objXi,Xi,otherwise,where objUi and objXi are the objective value of the solution Ui and Xi, respectively. The equation means that the solution with lower objective value can survive to the next generation.


### 3.3.4. Local Search

Local search (LS) has been widely applied to solve complex optimization problems, which can get the optimal solution in an available time. Moreover, local search is to find neighborhoods of the selected solution by using specific neighborhood structure operators, such as, 2-opt, exchange, swap, etc. In order to improve the efficiency of the proposed approach, local search has been used in this paper. The proposed local search is utilized after the selection process, which search the neighborhoods by the improved solutions. In addition, two neighborhood structure operations have been applied in the paper, i.e., 2-opt and swap. These two operations are very popular and simple. In Figure5, the changing mechanisms of 2-opt and swap operations have been illustrated. For example, two jobs need to selected before the operations. In the example, job 2 and job 5 have been selected for the 2-opt operation, and job 1 and job 7 have been selected for the swap operation. Then, the 2-opt operation is to convert all jobs between the selected two jobs as seen in the figure. The swap operation is to exchange the value of the selected two jobs. We provide the pseudocode of the proposed local search, which can be found in Algorithm 3.Figure 5
An example of 2-opt and swap operations.Algorithm 3: The proposed local search.
Input: solutionXi=x1,x2,…,xj,…,xD, the objective value objXi, maximum number of iterations T, pre-defined index index∈0,1.(1)
Whilet<T then(2)
opt=rand0,1(3)
j1=randint1,D−1(4)
j2=randintr1,D(5)
Ifopt<index then(6)
Get the new solutionXi′ by using 2-opt operation, and the selected jobs are j1 and j2(7)
Else(8)
Get the new solutionXi′ by using swap operation, and the selected jobs are j1 and j2(9)
End if(10)
Calculate the objective valueobjXi′(11)
IfobjXi>objXi′ then(12)
UpdateXi=Xi′(13)
End if(14)
t=t+1(15)
End while


### 3.3.5. The Proposed DE-LS

In this section, the proposed DE-LS approach is described in Algorithm4, which involves the basic processes of DE, i.e., mutation, crossover, and selection, and a proposed local search is also embedded.Algorithm 4: The proposed DE-LS.
Initialization: the population sizeNP, the dimension of the solution D, the lower-bound of the solution XL=x1L,x2L,…,xDL, the upper-bound of the solution XU=x1U,x2U,…,xDU, the empty initial solution X=X1,X2,…,Xi,…,XNP, and Xi=xi1,xi2,…,xij,…,xiD, maximum number of iterations Itermax, F′, CR′, and S′ are the pre-defined parameters.(1)
Apply the initialization process to get the initial solutionX and the objective value objX(2)
Find the current best solutionXbest and objXbest(3)
Whileiter<Itermax then(4)
For positioni=1:NP then(5)
F=randF′,1(6)
CR=randCR′,1(7)
For positionj=1:D then(8)
∗The processes of mutation(9)
Ifrand0,1<CR or j==jrand then(10)
Generater1≠r2≠r3∈1,2,…,NP(11)
IfXbest is updated then(12)
uij=xij+F×xbest,j−xij+F×xr1j−xr2j(13)
Elses=rand0,1(14)
Ifs<S′ then(15)
uij=xr1j+F×xr2j−xr3,j(16)
Else(17)
uij=xbest,j+F×xr1j−xr2j(18)
End if(19)
End if(20)
Else(21)
uij=xij(22)
End if(23)
End for(24)
Using correction strategy(25)
Get the objective valueobjUi(26)
IfobjUi≤objXi then(27)
Xi=Ui(28)
Else(29)
Apply the proposed local search which can be found in Algorithm3 to update the solution Xi(30)
End if(31)
End for(32)
Search the new best solution and update the solutionXbest and objXbest(33)
iter=iter+1(34)
End while


## 3.3.1. Selective Mutation Strategy

Generally, many mutation operators are widely used in the DE, such as rand/1, rand/2, best/1, etc. The solution can be changed after using the mutation operations, and we call the new solution mutant solution,Vi=vi1,vi2,…,vij,…,viD. Some popular mutation operators can be found as follows:(13)Rand1:Vi=Xr1+F×Xr2−Xr3,(14)Rand2:Vi=Xr1+F×Xr2−Xr3,Vi=Xr1+F×Xr2−Xr3+F×Xr4−Xr5,(15)Best1:Vi=Xbest+F×Xr1−Xr2,(16)Best2:Vi=Xbest+F×Xr1−Xr2+F×Xr3−Xr4,(17)Current−to−best1:Vi=Xi+F×Xbest−Xi+F×Xr1−Xr2,where the integer variables r1,r2,r3,r4,r5,i are from [1, NP]. The variable i is determined, and other five variables are randomly generated. Moreover, they satisfy the inequation r1≠r2≠r3≠r4≠r5≠i. Xbest is the current best solution. The variable F is randomly generated between 0 and 1.In this paper, selective mutation strategy is proposed to update the solutions. For instance, if the best solution is updated in the last iteration, the current-to-best/1 operation will be applied in the mutation process. Otherwise, a random mechanism will be utilized to select the mutation operator. The details of the proposed selective mutation strategy are described as follows:(1)
Ifrand0,1<CR or j==jrand then(2)
IfXbest is updated then(3)
Apply  current-to-best/1:Vi=Xi+F×Xbest−Xi+F×Xr1−Xr2(4)
Elses=rand0,1(5)
Ifs<S1 then(6)
Apply rand/1:Vi=Xr1+F×Xr2−Xr3(7)
Else(8)
Apply best/1:Vi=Xbest+F×Xr1−Xr2(9)
End if(10)
End if(11)
End ifwhere the parameters CR and S1 are random numbers between 0 and 1. The integer parameter jrand is randomly generated between 1 and D.


## 3.3.2. Crossover

The crossover operation in the DE can generate a new solution vector, which is always called trial vector. Each element in trial vector is selected from the corresponding element which may from solution before mutation or mutated solution. In this paper, binomial crossover operation is applied, and the details can be represented as follows:(18)uij=vij,if rand0,1≤CRorj==jrand,xij,otherwise,where CR is a random number between 0 and 1, and the integer number jrand is selected from 1 to D. The index i∈1,2,…,NP means the individual of the solution. The equation indicates that when the random number is less than CR and j==jrand, the element of mutated solution is selected for the trial solution. Otherwise, the element of solution before being mutated is selected for trial solution.


## 3.3.3. Selection

The selection is the last process of DE in an iteration. The selection mechanism in the paper is the same as that in most studies, which remains the better solution after the solution changing. The selection regulation can be found as follows:(19)Xi=Ui,if  objUi≤objXi,Xi,otherwise,where objUi and objXi are the objective value of the solution Ui and Xi, respectively. The equation means that the solution with lower objective value can survive to the next generation.


## 3.3.4. Local Search

Local search (LS) has been widely applied to solve complex optimization problems, which can get the optimal solution in an available time. Moreover, local search is to find neighborhoods of the selected solution by using specific neighborhood structure operators, such as, 2-opt, exchange, swap, etc. In order to improve the efficiency of the proposed approach, local search has been used in this paper. The proposed local search is utilized after the selection process, which search the neighborhoods by the improved solutions. In addition, two neighborhood structure operations have been applied in the paper, i.e., 2-opt and swap. These two operations are very popular and simple. In Figure5, the changing mechanisms of 2-opt and swap operations have been illustrated. For example, two jobs need to selected before the operations. In the example, job 2 and job 5 have been selected for the 2-opt operation, and job 1 and job 7 have been selected for the swap operation. Then, the 2-opt operation is to convert all jobs between the selected two jobs as seen in the figure. The swap operation is to exchange the value of the selected two jobs. We provide the pseudocode of the proposed local search, which can be found in Algorithm 3.Figure 5
An example of 2-opt and swap operations.Algorithm 3: The proposed local search.
Input: solutionXi=x1,x2,…,xj,…,xD, the objective value objXi, maximum number of iterations T, pre-defined index index∈0,1.(1)
Whilet<T then(2)
opt=rand0,1(3)
j1=randint1,D−1(4)
j2=randintr1,D(5)
Ifopt<index then(6)
Get the new solutionXi′ by using 2-opt operation, and the selected jobs are j1 and j2(7)
Else(8)
Get the new solutionXi′ by using swap operation, and the selected jobs are j1 and j2(9)
End if(10)
Calculate the objective valueobjXi′(11)
IfobjXi>objXi′ then(12)
UpdateXi=Xi′(13)
End if(14)
t=t+1(15)
End while


## 3.3.5. The Proposed DE-LS

In this section, the proposed DE-LS approach is described in Algorithm4, which involves the basic processes of DE, i.e., mutation, crossover, and selection, and a proposed local search is also embedded.Algorithm 4: The proposed DE-LS.
Initialization: the population sizeNP, the dimension of the solution D, the lower-bound of the solution XL=x1L,x2L,…,xDL, the upper-bound of the solution XU=x1U,x2U,…,xDU, the empty initial solution X=X1,X2,…,Xi,…,XNP, and Xi=xi1,xi2,…,xij,…,xiD, maximum number of iterations Itermax, F′, CR′, and S′ are the pre-defined parameters.(1)
Apply the initialization process to get the initial solutionX and the objective value objX(2)
Find the current best solutionXbest and objXbest(3)
Whileiter<Itermax then(4)
For positioni=1:NP then(5)
F=randF′,1(6)
CR=randCR′,1(7)
For positionj=1:D then(8)
∗The processes of mutation(9)
Ifrand0,1<CR or j==jrand then(10)
Generater1≠r2≠r3∈1,2,…,NP(11)
IfXbest is updated then(12)
uij=xij+F×xbest,j−xij+F×xr1j−xr2j(13)
Elses=rand0,1(14)
Ifs<S′ then(15)
uij=xr1j+F×xr2j−xr3,j(16)
Else(17)
uij=xbest,j+F×xr1j−xr2j(18)
End if(19)
End if(20)
Else(21)
uij=xij(22)
End if(23)
End for(24)
Using correction strategy(25)
Get the objective valueobjUi(26)
IfobjUi≤objXi then(27)
Xi=Ui(28)
Else(29)
Apply the proposed local search which can be found in Algorithm3 to update the solution Xi(30)
End if(31)
End for(32)
Search the new best solution and update the solutionXbest and objXbest(33)
iter=iter+1(34)
End while


## 4. Computational Experiments

In this section, the performance of the proposed algorithm will be evaluated by 18 randomly generated instances. The computational experiments are set with the number of jobsn∈20,30,40,50,60,70,80,90,100. We classify the number of jobs into two scales, i.e., the small scale and large scale. The small scale has number of jobs more than 50; otherwise, when the number of jobs is more than 50, it is the large scale. Moreover, there are two scales for the number of machines for each number of jobs, and we define each instance according to the number of jobs and machine. For example, the first instance is defined as J30-M3, which means the problem setting for this instance is 30 jobs and 3 machines. The processing time of production with each type in each working process is generated from a discrete uniform distribution. All experiments are implemented in Python and run on a PC with 8 GB of RAM memory, 64-bit operating system, and Intel® Core™ i7-6600U CPU @ 2.60 GHz 2.81 GHz.The study proposes a DE-LS to tackle the concerned hybrid flow-shop scheduling problem, which combined the metaheuristic differential evolution algorithm with local search in order to improve the quality of the found solution and solve the study problem efficiently. Moreover, A selective mutation strategy of differential evolution has been provided, such as mutation strategy. Therefore, four algorithms have been compared with the proposed DE-LS, i.e., without LS, best/1, current-to-best/1, and rand/1, which are the variants of the proposed DE-LS. In other words, the without LS algorithm is the proposed DE-LS while without using local search. The other three algorithms, best/1, current-to-best/1, and rand/1, are different in their mutation processes and do not have the selected mechanism; for example, the best/1 algorithm only uses the best/1 mutation operation in the mutation process. In addition, each instance has been executed 10 times for avoiding the random results. The mutant factorF is randomly generated from F′,1, and the parameter F′ is set as 0.4. The crossover control parameter CR is randomly generated from CR′,1, and the parameter CR′ is set as 0.6. The population size NP is set as 10, and the dimensions of solution D is equal to the number of jobs. The local search selection is limited by the parameter S′, which is set as 0.5.The maximum number of iterations for each instance is 200, which is the terminal condition for each algorithm. The objective (denoted by Obj) of each algorithm in each instance is the average objective value of 10 runtimes. The minimum value (denoted by Min) is the minimum objective that the algorithm could find in 10 runtimes. The relative percentage deviation (denoted by RPD) is used as the performance measure in the paper which is widely used to evaluate the performance of algorithms [31, 33]. The RPD can be calculated by the given formulation as follows:(20)RPDi=ZObjectivei−ZMinimumZMinimum∗100,where ZObjectivei is the average objective value of the algorithm i. ZMinimum denotes the minimum objective has been found in all the compared algorithms for the same instance. RPDi is the RPD value of the specific algorithm i. Moreover, the standard deviation (denoted by SD) is also applied to measure the robustness of the compared algorithm, which is calculated as follows:(21)SDi=∑r=1RuntimesZObjectiveir−ZMinimum2Runtimes,where ZObjectiver means the objective value of algorithm i in rth runtimes, and then ZMinimum denotes the minimum objective has been found in all the compared algorithms for the same instance. The standard deviation value of algorithm i is denoted by SDi, which measures the deviation between the found optimal solution and the calculated solutions of algorithm i in all runtimes. The smaller the value of SD, the more robust the algorithm.In Table3, the average objective value and minimum objective value of each compared algorithm for each instance have been provided. We can find that the proposed DE-LS has found the optimal solution in all instances. Moreover, the average objectives of DE-LS in all instances are also better than the other four compared algorithms. In addition, we can find that when the number of jobs is 20 whatever the number of machines is, 3 or 4, the minimum values of all compared algorithms are the same. Moreover, the average objectives value of the proposed DE-LS is equal to the minimum value found, which means that the proposed algorithm can find the minimum value in all runtimes. Although other compared algorithms can find the minimum value, the robustness of other compared algorithms is worser than the proposed DE-LS. When the number of jobs is 30 and 40, and the number of machines is 4, the minimum objective value of Rand/1 algorithm is the same as that of the proposed algorithm. When the number of jobs is 30 and the number of machines is 4, the current-to-best/1 algorithm has found the minimum objective value as same as that of the proposed algorithm. With the increasing number of jobs, the deviation between the proposed DE-LS and the other four compared algorithms becomes obvious.Table 3
Computational results about objective.
InstancesTypesDE-LSWithout LSBest/1Current-to-best/1Rand/1ObjMinObjMinObjMinObjMinObjMin1J20-M3104.68104.68105.25104.68105.44104.68105.15104.68104.79104.682J20-M479.6079.6080.4779.6081.1779.6080.1179.6079.9079.603J30-M3134.63134.46137.30134.99137.90134.99136.51134.46136.14134.984J30-M4120.55120.51121.53120.53123.46122.37121.71120.56120.88120.515J40-M3196.20195.89198.10196.51201.96198.00199.40196.59198.28196.706J40-M4155.23154.96157.66155.62158.81156.54156.12155.28155.89154.967J50-M3229.65229.08230.94229.05232.62230.61231.07229.25230.16229.218J50-M4207.54206.65209.93207.63213.70210.03208.81207.32208.56207.119J60-M3283.95282.97286.76284.36289.78286.25285.62284.11286.50283.5310J60-M4255.86254.68257.96255.77265.17261.83261.88256.21260.33257.6611J70-M3324.68321.56329.79325.87334.77328.82328.82325.60332.79330.2312J70-M4337.72336.66343.81340.52351.49345.41346.60343.06345.64342.4613J80-M3414.80411.70423.99418.48431.32424.06423.16419.02429.11420.7714J80-M4362.54359.00367.54364.58370.72365.28369.02361.06372.58364.2215J90-M3399.48398.22400.91399.24403.39399.32400.82398.44405.90402.0716J90-M4366.55364.21373.06367.38379.74374.52375.61372.49384.60377.1717J100-M3432.39430.50434.83433.20439.23437.19435.94430.04443.80438.6218J100-M4463.80460.39470.86465.35477.93467.42471.54463.94477.54471.25Average270.55269.21273.93271.30277.70273.72274.33271.21276.30273.10The RPD values and SD values of each algorithm for all instances have been provided in Table4. It is easy to find that RPD and SD values of the proposed DE-LS are smaller than those of the other compared algorithms in all instances. In addition, the RPD values of the proposed DE-LS in all instances are no more than 1, and the SD values of the proposed DE-LS are smaller than 5, which indicate that the proposed DE-LS has stronger robustness than the other compared algorithms. It is worth mentioning that when the number of jobs is 20, the RPD and SD values of the proposed DE-LS are equal to zero, which means that DE-LS has found the minimum value in all runtimes in these two instances. When the number of jobs is no more than 60, the RPD values of DE-LS are no more than 0.5 and the SD values of DE-LS are no more than 1.6, which indicates the proposed DE-LS has shown more superiority in the small-scale problem than in the large-scale problem.Table 4
Computational results about RPD and SD.
InstancesTypesDE-LSWithout LSBest/1Current-to-best/1Rand/1RPDSDRPDSDRPDSDRPDSDRPDSD1J20-M30.000.000.540.770.721.170.451.040.100.212J20-M40.000.001.091.131.971.980.630.660.370.443J30-M30.120.252.113.272.564.221.522.411.242.314J30-M40.030.100.841.242.443.120.991.410.310.575J40-M30.160.491.132.503.106.711.793.951.222.636J40-M40.170.461.743.072.484.400.751.500.601.237J50-M30.260.730.822.381.564.040.882.270.491.328J50-M40.431.131.593.533.417.381.052.520.922.269J60-M30.351.101.344.112.407.110.933.031.253.9410J60-M40.461.521.293.714.1210.962.828.862.225.8811J70-M30.973.742.568.584.1113.582.267.553.4911.3212J70-M40.311.462.127.374.4015.052.9510.212.679.2413J80-M30.753.422.9913.084.7720.112.7812.004.2317.8714J80-M40.994.612.388.763.2712.392.7910.893.7814.4615J90-M30.311.430.673.151.305.990.653.411.938.1016J90-M40.643.102.439.434.2615.823.1311.795.6020.7317J100-M30.552.611.115.042.149.411.377.003.2014.3318J100-M40.744.202.2710.893.8118.062.4211.733.7217.64Average0.401.691.615.112.938.971.685.682.077.47Moreover, two-dimensional comparison plots have been provided in Figures6 and 7 in order to make a deeper analysis of the experimental results. We select the average objective value and RPD as the variables of the combination-comparison plots. Furthermore, according to the number of machines, we classify all instances into two groups, i.e., the number of machines equal to 3 and the number of machines equal to 4. There is a two-dimensional comparison plot for each group, respectively. The objective value in the diagram for each algorithm is the further average objective, which is calculated by the average objective of the algorithm for each instance in the specific group. Similarly, the RPD value in the diagram for each algorithm is the average RPD, which is calculated by the RPD value of the algorithm for each instance in the specific group. These two combination plots show that the proposed DE-LS has outperformed other compared algorithms whatever in objective values or RPD values.Figure 6
Two-dimensional diagram when the number of machines equals 3.Figure 7
Two-dimensional diagram when the number of machines equals 4.In addition, consider the stochastic features of the metaheuristic algorithms; the stability of the proposed algorithm has been further evaluated using the box-plot analysis. The box-plot can describe the discrete distribution of the data in a relatively stable way, which means the plot will not be influenced by the abnormal value. In this part, the box-plot of the RPD value for five algorithms for 16 instances in 10 independent runs is shown in Figure8. Appling the concept of quartile, there are six elements having been drawn for each box plot, i.e., the up limb, the up quartile, the average value, the median, the low quartile, and the low limb. In the figure, we can find that all elements in the RPD box-plot graphics of the proposed DE-LS are smaller than other compared algorithms, which shows that there is significant difference in RPD values between the proposed DE-LS and other algorithms. Moreover, the gap between the up limb and low limb of the proposed DE-LS is the smallest. On the contrary, the gap between the up limb and low limb of the rand/1 algorithm is the largest.Figure 8
Box-plot of RPD for five compared algorithms.


## 5. Conclusions

This paper addresses a hybrid flow-shop scheduling problem with considering different requirements of customers, which reflects the procedures of the productions. A mixed-integer programming model has been formulated for the concerned problem. The objective of the studied problem is to minimize the makespan and cost of delay. Different requirements of customers indicate the diverse productions need to be processed in different procedures and have the specific number of the procedures, which increases the complexity of the studied problem. Moreover, a hybrid metaheuristic algorithm which combined differential evolution and local search named DE-LS has been proposed in the paper to solve the studied problem. The differential evolution and local search are efficient metaheuristic algorithms, which can search for the better solution in a short time. Thus, the paper combines these two algorithms in order to find the optimal solution of the concerned problem in an available time. Moreover, the proposed DE-LS has been compared with four variant algorithms, and the experimental results show that the proposed DE-LS outperforms the compared algorithms. In future study, more practical features in flow-shop scheduling problem will be investigated, such as the delivery requirements of customers, the deteriorating effect of the machines, etc.



---

*Source: 8811391-2020-07-15.xml*