Hybrid Discrete Differential Evolution Algorithm for Lot Splitting with Capacity Constraints in Flexible Job Scheduling

A two-level batch chromosome coding scheme is proposed to solve the lot splitting problem with equipment capacity constraints in flexible job shop scheduling, which includes a lot splitting chromosome and a lot scheduling chromosome. To balance global search and local exploration of the differential evolution algorithm, a hybrid discrete differential evolution algorithm (HDDE) is presented, in which the local strategy with dynamic random searching based on the critical path and a random mutation operator is developed. The performance of HDDE was experimented with 14 benchmark problems and the practical dye vat scheduling problem. The simulation results showed that the proposed algorithm has the strong global search capability and can effectively solve the practical lot splitting problems with equipment capacity constraints.


Introduction
In a practical production system, with much change of market and diversification of customer needs, variety and small batch production mode has gradually become the main way of manufacturing.In this mode, batch splitting scheduling problem has become an urgent issue addressed in the actual production.Batch splitting, also called lot streaming in many researches, is the process of splitting given jobs, each consisting of a batch of identical parts, into many smaller subbatches to allow their overlapping processing on alternative machines to get a better performance.An overview of the models and methods for batch splitting has been reported in the literature [1][2][3].Job shop scheduling problem with batch splitting is commonly more complex than traditional job shop scheduling problem and usually more close to the actual manufacturing system.
In recent years, a growing body of literature suggests the research of job shop scheduling problems with batch splitting" for the sake of correctness.Low et al. [4] and Buscher and Shen [5] adopted integer programming methods to solve the batch splitting in job shop scheduling problem.Buscher and Shen (2009) presented consistent-sized batch splitting strategy under the conditions of given subbatches and put forward three-phase algorithm to solve lot streaming problem in job shops, which consists of predetermination of sublot sizes, the determination of schedules based on tabu search, and the variation of sublot sizes [6].
To minimize makespan of a batch splitting scheduling problem with setup time and alternative machines, Pan and Zhu (2004) split an original batch into equal sized subbatches, with the batch size for each subbatch fixed in advance, and used genetic algorithm to find the optimal sequence in which operations have to be machined [7].Sun et al. [8] and An [9] put forward a batch splitting algorithm and a sublot scheduling algorithm based on genetic algorithm, optimized the number of subbatches of each job, and determined the size of each subbatch based on splitting strategy of equal-sized subbatches.Considering the production batch and the setup time of machine, Lin et al. (2007) proposed a hybrid genetic algorithm and combined the heuristic rules with simulated annealing algorithm to solve the flexible job shop scheduling problem by fixing the number of subbatches [10].Ju and Zhu (2007) regarded each job as a batch, merged the same type of jobs sorted which are adjacent to each other into a subbatch in the evolution, combined particle swarm optimization and genetic algorithm, and proposed the strategy of job shop scheduling optimization of batch production [11].
Bai et al. [12] proposed a flexible size lot splitting approach based on "cursors, " designed a novel particle coding scheme combining the lot splitting with the sublot scheduling in particle swarm algorithm to solve the multiobjective flexible job shop scheduling with lot splitting.Huang [13] discussed multiobjective job shop scheduling with lot splitting production when the number of lots split is 1, 2, 3, and 4, in which subbatches are equal, and used ant colony algorithm to optimize the processing sequences.However, these recent researches focused on that the batch sizes of subbatch and sub-subbatches are determined in advance, and these research results have provided an important basis for intensive study solving the lot splitting problem in job shop scheduling.
Differential evolution algorithm (DE) [14] introduced by Storn and Price (1995) is a novel and efficient parallel direct search method, which has good robustness as well as fast convergence.Consequently, over the past few years, several researchers have demonstrated the applicability of DE in job shop scheduling problem [15][16][17][18][19][20].In particular, Sang et al. ( 2010) gave an equal-sized batch scheme in advance and used DE to optimize the sequence of nonintermingling subbatches for the flow shop problems with the objective to minimize the total weighted earliness and tardiness [17].Zhao et al. (2010) used the strategy of small production batch to shorten the production cycle.Considering mutation operator with the characteristics of the same sum of the individual values to meet the batch splitting constraints, DE was firstly applied in the lot splitting scheduling problem, and job shop scheduling problem with consistent-sized batch splitting [18], variable-sized batch splitting [19], and lot streaming under multiple-resource constraints [20] were, respectively, studied.However, the above researches did not involve the constraints of equipment capacity.
For solving the lot splitting with equipment capacity constraints in flexible job shop scheduling, it needs to split an original lot into many appropriate smaller processing subbatches, find the optimal sequence of those subbatches, and also consider equipment processing capacity constraints.It is a more complex NP hard problem which is motivated by practical engineering applications.In this paper, we proposed a hybrid discrete differential evolution algorithm for lot splitting with equipment capacity constraints in flexible job shop scheduling problem and used a two-level coding scheme to map the solution space into the chromosome space.To improve the performance of DE and avoid its trapping into local optimal solution, a local search strategy with dynamic random searching based on the critical path and random mutation operator is developed.The simulation results indicated that the algorithm has strong global search capability and can effectively solve the practical batch scheduling problem with the equipment capacity constraints.
The remainder of this paper is organized as follows.Section 2 provides the formulation of lot splitting with equipment capacity constraints in job shop scheduling problem, including subbatch size constraints, product and requirement constraints, setup costs, and setup time constraints and delivery duration constraints.Section 3 proposes a hybrid parallel algorithm combining with a local search strategy with dynamic random searching based on the critical path and random mutation operator to solve both the batch splitting problem and the batch scheduling problem.Section 4 gives the computational experiments and analyzes the results, and Section 5 makes the conclusion.

Problem Description and Formulation
2.1.Problem Description.Given a job shop production system with  kinds of products and  kinds of machines, where the capacity of each kind of machine is different, that is, each kind of machine has minimum and maximum output, the assumptions are that (1) any product can be divided into  batches processed individually, (2) each product has several operations that are waiting to be processed, (3) each machine can process different operation of any type of product, and (4) the setup time and costs for each operation cannot be omitted.Lot splitting with equipment capacity constraints in job shop scheduling problem is how to merge and split orders received, determine the number of sublots and sublot sizes of each product, the operational sequencing and working equipment of each batch, and minimize the objective function to satisfy with the constraints.(1) Subbatch Size Constraint.In general, several products are taken in a batch as a unit to be processed during batch production.For the problems with equipment capacity constraints, each machine has its minimum output (min   ) and maximum output (max   ).The subbatch size ( , ) of product  processed on machine  must satisfy the formula (1) and achieve the maximum output as much as possible min   ≤  , ≤ max   , ∀ ∈ ,  ∈ .

Notations
(1) (2) Product Requirement Constraint.The number of the th type of product processed on all machines should be equal to the total number of its requirement (  ) (3) Setup Costs and Setup Time Constraint.In batch production, each machine is a flexible production line as it can process any type of product.Setup between two different products on the same machine usually generates setup costs.For example, the dye vat commonly must be cleaned in order to guarantee the quality of the next product, so it results in setup costs, that is, cleaning costs Formula (3) represents that the start time difference ( ,  −  , ) between the earlier product  and the later product   processed on machine  should be bigger than the setup time (trTime ,,  ).Setup costs are affected by two successive products processed and equipment capacity; that is, there are the setup costs between the earlier task and the later task on the same equipment.
(4) Delivery Duration Constraint.Delivery dates of the orders from different customers always are different.In the same order, the customer sometimes even may have different requirements that some productions need to be processed urgently, so the tardiness penalty coefficient ( , ) of production  is different.Generally,  , of important customers is bigger than that of general customers.If the completion time ( , ) is beyond the delivery time ( , ), there will be the tardiness penalty costs (poCost , ) just like the following: Based on above constraints, the batches splitting of all products must be determined according to the received orders, moreover the number of sublots and sublot sizes of each procedure for each product must be arranged on different machine to minimize the total production costs of enterprises under the precondition of meeting the orders requirements as far as possible.Objective function of the lot splitting with equipment capacity constraints in flexible job shop scheduling problem can be seen as follows: minimize , × max (0,  , −  , ) . ( In the above formula, the total production costs include processing costs (∑ ∈,∈ (conCost , + unitCost , ×  , )), setup costs (∑ ∈,∈,  ∈ trCost ,,  ), and tardiness penalty costs (∑ ∈,∈  , × max(0,  , −  , )). is the ratio coefficient between tardiness penalty costs and the other two costs.Processing costs are made up of constant costs (∑ ∈,∈ conCost , ) and variable costs (∑ ∈,∈ unitCost , ×  , ).In the practical production, processing costs and processing time of product  processed on machine  with maximum output can be obtained by experience.

A Hybrid Discrete Differential Evolution Algorithm
3.1.Encoding and Decoding.In the lot splitting scheduling problem, the number of sublots and sublot sizes of each product must be determined, and the working machine and operational sequencing of each sublot must be also arranged.
In this paper, a two-level coding scheme is developed to map the solution space into the chromosome space, where the first level code represents lot splitting chromosome (chrome 1 ), and the second level code denotes lot scheduling chromosome (chrome 2 ).chrome 1 is used to determine the number of subbatches and subbatch sizes of each product, and chrome 2 is used to prioritize the operational sequencing arrangement of each subbatch.
For the problem with equipment constraints, a new coding scheme is proposed to describe chrome 1 considering the requirements of maximum output as far as possible.chrome 1 is divided into two parts, where the first part is the lot splitting scheme number of product , the second part describes sublot sizes of product , and the meaningless "0" is as the interval between them.The number of lot splitting scheme for product  (  ) is less than or equal to the smaller one between its demand (  ) and the number of machines ().For example, there are two products divided into two subbatches.The batch size of each product is 8, and it can be divided into four schemes such as (1,7), (2,6), (3,5), and (4,4).So one of the lot splitting chromosomes may be [3, 1|0|3, 5, 1, 7].As shown in Figure 1,  ,  represents sublot size of the   th batch of product .
Based on the coding scheme of processing procedure, chrome 2 represents the operational sequencing of each procedure in each batch and the length of each chromosome len 1 = ∑  =1   ×  .For example, chrome 2 is [21,11,22,12,12,21,22,11,11,22,21,12], where "21" means the first batch of the second product and three "21" indicate three different successive procedures of the second product.
Based on chrome 1 and chrome 2 , the decoding scheme is as follows.
Step 2. Select the th gene of chrome 2 from left to right, acquire the processing product number  and the subbatch number , and then obtain the subbatch size ( , ) of the th batch of production  combining with chrome 1 based on the gene location.
Step 3. Allocate working machines for the unscheduled tasks according to Substeps 3.1 and 3.2 and execute preparation and processing operation.Substep 3.1.Fully considering the utilization of equipments, select the appropriate type of machine according to the subbatch size ( , ).If  , equals the maximum output of machine, then arrange the th batch of production  to the type of equipment.Otherwise, arrange the task to process on the type of equipment whose maximum output is the nearest to  , .Substep 3.2.After confirming the type of equipment, select a specific equipment according to the dispatching rules that first completed equipment is firstly arranged.
Firstly calculate the processing operation number  corresponding to the th gene of chrome 2 and compare the finish time of the preceding operation with the earliest allowed start time of the processing equipment to obtain the start time of the th batch of production .According to the operation of the production  and the preceding task processed on the machine, determine whether they need setup.If this type of machine is the only one, then directly arrange the th batch of production  to process on this machine.Otherwise, select the machine which can earliest complete the other tasks.Finally, calculate start time and finish time of the th batch of production .
Step 4. Refresh the earliest allowed start time of each machine.
Step 5. Set  =  + 1.If  ≤ len 1 , then go to Step 2. Otherwise, quit. is then generated by using the crossover operator which mixes the components of the mutant vector  +1  and the original one    .In the last step of each iteration, the selection operator with greedy strategy chooses the better one for the next generation by comparing  +1  with    .Since the DE algorithm was originally designed to work with continuous variables, rather most engineering problems have either an integer objective function or discrete objective function.Here, we adopt the following method as the global search strategy of a hybrid discrete differential evolution algorithm (HDDE) in this paper, which makes the individuals evolve directly in the discrete domain and can effectively speed up the algorithm.

Global Evolution
(1) Consider where (a) Consider In formula (7), rand represents a uniformly distributed random value that ranges from zero to one.
Here generate a random number (rand), if rand < , then set the subsequent individual to use POX crossover operator [21] Formula ( 9) means that a trial individual  +1  is generated by the crossover of the original individual    and the mutant individual  +1  , where  is the crossover probability ranged in [0, 1].Operation ( +1  ,    ) is the same as above.

Local Search Strategy.
The above operators of global evolution procedure are directly carried out in discrete domain, which can effectively improve the search efficiency of the algorithm, but it is easy to fall into local extremum.In this paper, the local search strategy is developed to enhance the local exploration ability of the algorithm, which includes dynamic random search strategy based on the critical path used to adjust the lot scheduling chromosome and search neighborhood solutions of the operational sequencing in the case of the same subbatch divided and random mutation operator used to adjust the lot splitting chromosome and change the subbatch sizes again under the condition of the unchanged operational sequence of the sublots.Dynamic random search [26] (DRS) is appropriate for continuous optimization problems and cannot be directly applied to the problem in this paper.So we improve DRS strategy to make it applicable for discrete operators.Furthermore, DRS involves the selection of the neighborhood, which has a larger influence on search quality and efficiency of the algorithm.Here the longest path of no time intervals between the operations is called the critical path of a feasible scheduling.The change of any operation on the critical path is the key to the change of the maximum finish time, and it is also an important part of the neighborhood structure constructed.Neighborhood based on the critical path can effectively avoid unnecessary search and improve the performance of algorithm.Therefore, the local search with two neighborhood structures including INTERCHANGE and INSERT based on the critical path is embedded in the framework of HDDE, which can adjust the operational sequencing under the condition of the lot splitting chromosome unchanged.The procedure of DRS is as follows.
Step 1. Set the initial values: epoch = 0 and Xcurrent = X, where Xcurrent and X are the current individual and the candidate individual, respectively.
Step 3. Generate a new individual Xnew = INTERCHANGE (Xcurrent); that is, Xnew is generated by using exchange between the th component and the th component of Xcurrent and keeping the else components unchanged.At the same time, random mutation operator is introduced in the local search of lot splitting chromosome, which is used to search the neighborhood solution of the subbatches splitting under the unchanged operational sequence of the subbatches.The specific procedure is as follows: randomly select a chromosome and its mutant bit and then divide the subbatch sizes again.Step 1. Set parameters, such as , , ,  max , Epoch, and .
Step 2. Population initialization.Use random initialization to generate each individual including the lot splitting chromosome and the lot scheduling chromosome in the population.Moreover set generation  = 0.
Step 3. Operation Oper 1 .Execute mutation operator and crossover operator on the lot splitting chromosome and the lot scheduling chromosome successively and then generate the mutant individual ( +1  ) and the trial individual ( +1  ), respectively.
Step 4. Calculate the fitness values, select to generate the next population ( +1 ), and update the optimal value and the optimal individual.
Step 5. Operation Oper 2 .Carry out the local search of 10% individuals in the population  +1 to find their neighborhood solution.Then calculate the fitness function and update the optimal value and the optimal individual.
Step 6.If the optimal value of the population has no continuous change for the appointed iterations, then reinitialize 10% individuals of the population and have the global optimal solution instead of one solution in the population.Step 7. Set  =  + 1.If  <  max , then go to Step 3. Otherwise, quit.

Analysis of Complexity of the
Obviously, the time complexity of HDDE algorithm is related to len 1 ,   ,  max , and Epoch.
The results of HDDE, KBACO [22], PVNS [23], hGA [24], and eGA [25] are compared in Table 1, where  * is the optimal value obtained by HDDE,  max is the optimal value obtained by the algorithms from literatures, dev denotes the relative error percent between HDDE and the other algorithms, that is, dev = ( max −  * )/ max × 100%, and "--" means that corresponding experiment was not conducted in those literatures.As shown in Table 1, the HDDE algorithm is not worse than any of those algorithms, and it can obtain the global optimal solution for most of the problems, which   3. There is also the cleaning time (unit: hour), that is, setup time, while the product of different color depth is processed in the vat with the maximum output in Table 3.The processing time (unit: hour) and cost of different product on different vat with its maximum output are shown in Table 4, where p1, p2, and p3 denote three main operations of dyeing process, that is, preprocessing, dyeing, and postprocessing, respectively.The setup time and cost of preprocessing operation of any product are 0.Moreover, suppose that switching cost factors  = 0.9 and  = 0.7.
To evaluate the effectiveness of local search strategies, DE and HDDE run 30 times, independently, and the parameters are set as follows:   = 50,  max = 200,  = 0.5,  = 0.7, Epoch = 10, and  = 3. Figure 2 and Table 5 show the comparison of results obtained by DE and HDDE over 30 runs and Figure 3 is convergent graph of the optimal value obtained by DE and HDDE.As seen in Figure 2 and Table 5, the local search strategy leads to a significant improvement in the global searching ability of HDDE.The results obtained by HDDE over 30 times are better than those of DE.However, HDDE also consumes a certain amount of computation time.In addition, As we can see from Figure 3, DE does not evolve essentially in later stage with the increasing of iteration.On the contrary, HDDE can avoid trapping into the local optimum effectively, and it has higher optimization efficiency than DE.
In general, a larger standard deviation e represents that there is a greater difference between the most value and the average value of solutions, and a smaller standard deviation shows that the most value is close to the average value of solution.As we can see from Figure 3, no more changes are occurred in the optimal value obtained by DE in later iterations; that is, DE easily gets into the local extremum in the later evolution period.Furthermore, as shown in Figure 2 and Table 5, most value of solutions calculated for 30 times is close to the average value.Because of a local search strategy with dynamic random searching based on the critical path and random mutation operator, HDDE can evolve further in later iterations as seen in Figure 3; that is, the local search strategy helps HDDE being out of local minimum.On the other hand, randomness of the local search strategy also results in the bigger difference between some value of solution and the average value as shown in Figure 2 and Table 5.

Conclusion
Aiming at lot splitting with equipment capacity constraints in flexible job shop scheduling problem, a two-level coding scheme including the lot splitting chromosome and the lot scheduling chromosome is presented.The new encoding method of the lot splitting chromosome is applied to solve the batch splitting optimization problem satisfying the maximum processing output of machine.Moreover, according to the faultiness that DE is apt to be trapped into the local optima, the local search strategy with dynamic random searching based on the critical path and random mutation operator is developed, which is, respectively, used to adjust the neighborhood solutions of the lot splitting chromosome and the lot scheduling chromosome.Based on the analysis and comparison of results of benchmark problems, it is shown that the proposed algorithm has better optimization performance beyond most of other global algorithms.Finally, the proposed algorithm is applied to solve the practical scheduling problem of some dyeing workshop.Simulation results show that the proposed algorithm has good global search ability and it can effectively solve the practical lot splitting with equipment capacity constraints in flexible job shop scheduling problem.
and    3 are three different randomly selected individuals,  +1  is a mutant individual, and  ∈ [0, 1].Formula (6) consists of two parts as follows.

Step 4 .Step 5 .Step 7 . 3 . 8 .
Calculate the objective value of Xnew.Judge the dominance relation among Xnew, X, and Xcurrent.If Xnew dominates X, then update X = Xnew and go to Step 7. Otherwise, if Xnew dominates Xcurrent, then update Xcurrent = Xnew and go to Step 7. Generate a new individual, Xnew = INSERT(Xcurrent); that is, Xnew is generated by shifting one of the components from the th component to the  − 1th component of Xcurrent in turn backward, and moving the th component to the th component.Step 6. Calculate the objective value of Xnew.Judge the dominance relation among Xnew, X, and Xcurrent.If Xnew dominates X, then update X = Xnew and go to Step 7. Otherwise, if Xnew dominates Xcurrent, then update Xcurrent = Xnew and go to Step 7. Increase iteration number by one,  = +1.If iteration counter is less than its maximum value ( < ), then go to Step Step Update epoch, epoch = epoch + 1.If local search stop criterion is not reached (epoch < Epoch), then go to Step 2. Otherwise, quit.
Proposed Algorithm.As shown in the above procedure, the computation time of HDDE spent is almost in the iterative process.Each individual in the population goes through main operators including difference evolution, decoding, selection, and local search every iteration.Considering a batch splitting scheduling

Figure 2 :
Figure 2: Best values of HDDE and DE obtained over 30 runs.

Figure 3 :
Figure 3: Convergent graph of the optimal solution for DE and HDDE.
: Processing time of product  processed on machine  with the maximum output conTime , : Constant time of product  processed on machine  unitTime , : Unit Time of product  processed on machine  trCost ,,  : Setup costs of product  and   successively processed on machine  trTime ,,  : Setup time of product  and   successively processed on machine   , : Tardiness penalty coefficient of product  in order   , : Due date of product  in order   , : Start time of product  processed on machine   , : Finishing time of product  processed on machine   , : Completion time of product  in order  poCost , : Tardiness penalty cost of product  in order .
Procedure.DE is a parallel evolutionary algorithm based on population, which utilizes   parameter vectors as a population   = [  1 ,   2 , . . .,     ] for each generation .Each vector called each individual of the population represents potential solution for the optimization problem.DE generates a mutant vector  +1  for each vector    in the population by adding the weighted difference between two randomly selected vectors (   2 and    3 ) to a third one    1 .A trial vector  +1

Table 1 :
Results of HDDE and the other algorithms.
3.4.Algorithm Procedure.In this paper, the HDDE algorithm is presented based on the combination of the DE algorithm and the local search strategy.For simplicity, population evolution of DE is denoted as operation Oper 1 , and the local search strategy is denoted as operation Oper 2 .The procedure of HDDE solving the lot splitting with equipment capacity constraints in flexible job shop scheduling problem is as follows.

Table 2 :
Information of orders received.

Table 3 :
Cleaning time (unit: hour) while each product of different color depth is processed in the vat with the maximum output.

Table 4 :
Processing time (unit: hour) and cost of different product on different vat with its maximum output.  ), the maximal iteration number ( max ), dynamic random search times (ℎ), and the length of the lot scheduling chromosome (len 1 ), the time complexity of difference evolution operator is (  × len 1 ), decoding operator is (  × len 1 ), selection operator is (  ), and local search operator is (len 1 × ℎ × 0.1).Therefore, the time complexity of whole algorithm is  (  ,  max ) =  max × ( (  × len 1 ) +  (  × len 1 )

Table 5 :
Results of DE and HDDE.Each algorithm has its own advantages, but it also has certain disadvantage on large scale problems.For instance, the HDDE algorithm has lower global search for  13 and  14 .