A Mutualism Quantum Genetic Algorithm to Optimize the Flow Shop Scheduling with Pickup and Delivery Considerations

Amutualism quantum genetic algorithm (MQGA) is proposed for an integrated supply chain scheduling with thematerials pickup, flow shop scheduling, and the finished products delivery. The objective is to minimize the makespan, that is, the arrival time of the last finished product to the customer. In MQGA, a new symbiosis strategy named mutualism is proposed to adjust the size of each population dynamically by regarding the mutual influence relation of the two subpopulations. A hybridQ-bit coding method and a local speeding-up method are designed to increase the diversity of genes, and a checking routine is carried out to ensure the feasibility of each solution; that is, the total physical space of each delivery batch could not exceed the capacity of the vehicle. Compared with the modified genetic algorithm (MGA) and the quantum-inspired genetic algorithm (QGA), the effectiveness and efficiency of the MQGA are validated by numerical experiments.


Introduction
The coordination of logistics activities in a supply chain has received a lot of attention recently.From the manufacturer's point of view, the important problem in the supply chain scheduling is the coordination of the three stages including material supply, production scheduling, and product delivery.Traditionally, research on scheduling generally focuses on the models with various machine setting, job characteristics, and performance measures [1], and the transportation arrangements of the materials and the finished products are normally ignored in these models.
In the past decades, many researchers studied the machine scheduling problems with transportation under consideration.Some of the results consider the transportation of the jobs between machines in the flow shop model, which incorporates transport times when the jobs are transferred from one machine to another.Maggu et al. [2][3][4] firstly considered the scheduling problem with transportation between machines.In addition, Langston [5] designed algorithms for the problem of planning and coordinating movement within a deterministic flow shop system and analyzed the worstcase performances of the algorithms.Haouari and Ladhari [6] presented an effective branch and bound algorithm for the model proposed by Langston [5].Hurink and Knust [7] considered the flow shop problems with transportation and a single robot with the objective of minimizing the makespan.They derived complexity results for the problems.Hurink and Knust [8] developed a tabu search algorithm for the problem with time windows.Hurink and Knust [9] extended some of the results in [8] to the job-shop scheduling models.For the model with a single robot, Lee and Strusevich [10] studied the two machine flow shop and open shop problems.They presented a best possible approximation algorithm for each of the two problems with some constraints.Naderi et al. [11] proposed simulated annealing algorithms for flow shop problems with the objective of minimizing the total weighted tardiness and makespan.For more new results on the scheduling problems with transportation between machines, please see [12][13][14][15], among others.
Another type of scheduling model with transportation focuses on the delivery of finished jobs to customers.Lee and Chen [16] considered some scheduling models that incorporate the delivery decisions of the finished jobs.They researched the computational complexity of some problems and proposed polynomial or pseudopolynomial algorithms for them.Chang and Lee [17] extended one of the models in [16] to the environment in which each job has an individual amount of space.Li et al. [18] studied a single-machine scheduling problem with routing decisions of a vehicle that serves customers at different addresses.In addition, Chen and Vairaktarakis [19] researched eight problems with production and distribution under consideration and either designed a polynomial time algorithm or proved the NP-hardness for each of the problems.Geismar et al. [20] extended the Chen and Vairaktarakis model to the problem with a short shelf life and no inventory in the process.In addition, Soukhal et al. [21] investigated the scheduling models with constraints on both transportation and buffer capacities to minimize the makespan.They proved new complexity results for special cases of the problems considered.We refer to, for example, [22][23][24][25], for more recent results on the model with delivery operations for finished products.
This paper considers the scheduling model that integrates the pickup of materials, flow shop scheduling, and the delivery of finished jobs.In this model, the material warehouse, the factory, and the customer are located at three different places.There are two vehicles (namely, conveyor and truck) each with a limited capacity.One vehicle (conveyor) travels between the factory and the warehouse for material transportation, and the other vehicle (truck) travels between the customer and the factory for finished products delivery.This model applies to many situations in supply chain business activities.For example, a shoes manufacturer purchases materials from India and arranges the production in China.Finally, the finished products are delivered to the USA.
To the best of our knowledge, research on this model includes Hall and Potts [26], Li and Ou [27], and Wang and Cheng [28].Hall and Potts [26] provided algorithms for models in which jobs are produced on machines and formed in batches for delivery.Li and Ou [27] studied the problem with a vehicle traveling between a warehouse and the factory.They proved the problem is NP-hard in strong sense and developed polynomial time and effective heuristic algorithms, respectively, for special case and the general setting.Wang and Cheng [28] studied the complexity of the model in which the warehouse, the factory, and the customer locations are different.They proved the problem is strongly NP-hard and proposed a heuristic with a tight bound of 2.
The model considered in this paper is different from that in [26].Each job in our model has its own transportation time between the warehouse and the factory and between the factory and the customer.Our model also differs from Li and Ou's model in which the locations of the warehouse and the customer are the same.Furthermore, this paper considers flow shop during the production scheduling, while the model in [28] considers processing jobs in a single machine.
Quantum genetic algorithms (QGA) are heuristic search techniques inspired from the principles of survival of the fittest in natural genetic evolution and quantum theory.They are known to be efficient in a large search space, without explicitly requiring additional information (such as convexity or derivative information) about the objective.In addition, the -bit encoding method has the superposition and probability expression characteristics, and each individual can express more states to increase the diversity of populations.For these reasons, in the last few years, they have been applied to many combinatorial problems, including scheduling and vehicle routing applications that are partially related to our problem.
In order to solve the integrated supply chain scheduling model with the materials pickup, flow shop scheduling, and the finished products delivery, a technique called mutualism quantum genetic algorithm (MQGA) is developed, which differs from traditional QGA method in two aspects.The first aspect is the encoding method.With the encoding method in [29], a chromosome including two segments, the job sequence and the job-to-batch assignment, is designed, and this encoding method could equally and uniquely represent all possible solutions.Furthermore, in order to improve the encoding performance, a local speeding-up method is introduced to perform the deep search operation.After that, a checking routine is carried out to ensure the feasibility of each solution, that is, ensure that the total physical space of each delivery batch could not exceed the capacity of the vehicle.The second aspect is as follows: based on the relationship between two mutually symbiotic species, a population growth model (namely, mutualism) is introduced to improve the performance of the algorithm.In this model, a symbiosis strategy is developed to dynamically adjust the sizes of two subpopulations.This strategy helps to increase the diversity of genes and avoid premature convergence.
The remainder of this paper is organized as follows.In Section 2, the problem including the assumptions and notations is introduced.In Section 3, the two species growth model and the corresponding evolutionary strategy are proposed.The mechanism of MQGA is introduced in Section 4, and the experimental results are discussed in Section 5. Section 6 contains some concluding remarks.

Problem Description
In this paper, it is assumed that the material warehouse, the factory, and the customer are located at different addresses, and there is a set of jobs,  = { 1 ,  2 , . . .,   }, processed in a flow shop scheduling, which consists of  machines  = { 1 ,  2 , . . .,   }.All unprocessed jobs are initially located at the supplier's warehouse and need to be transported to the factory for processing by a vehicle (conveyor).The conveyor is located at the warehouse at the beginning and is available for transportation of jobs from warehouse to the factory and comes back.Each pickup journey takes a constant amount of time, and in a trip the conveyor loads a limited number of jobs due to the limitation of its space capacity.In addition, the finished jobs need to be delivered to a customer by another vehicle (truck), which is initially located at the factory.Because of the constraint of its space capacity, the truck transports limited finished jobs to the customer and returns to the factory.Each trip also takes a constant amount of time.The objective is to minimize the makespan, that is, the arrival time of the last finished job to the customer.Figure 1 gives a description of the integrated supply chain problem including the pickup of materials, flow shop scheduling, and the delivery of finished products.
2.1.Assumptions.Before the introduction of the notations, a number of assumptions are given as follows: (i) all the facilities including conveyor, machines, and truck are available from time zero; (ii) there is no idle time between any consecutive two pickup journeys; (iii) the time of loading and unloading jobs is included in the pickup time and delivery time; (iv) the time of transporting jobs between machines is negligible; (v) the storage or buffer capacities between successive machines are unlimited; (vi) there is no priority among jobs; (vii) machine failure is not considered.
Subject to ≤  ,+1 ,  = 1, 2, . . ., ,  = 1, 2, . . .,  − 1 (4) ≥ 0,  = 1, 2, . . ., ,  = 1, 2, . . ., , ,   ∈ {0, 1} ,  = 1, 2, . . ., ,  = 1, 2, . . ., , ( ∈ {0, 1} ,  = 1, 2, . . ., ,  = 1, 2, . . ., ,  = 1, 2, . . ., . Objective function (1) represents the arrival time of the last finished product to the customer.Constraints (2) ensure that job   should be placed in one and only one position on each machine.Constraints (3) guarantee that there is one and only one job processed on the th position on each machine.Constraints (4) define that the earliest start time of the job on the ( + 1)th position should not be earlier than the completion time of the th position job on the same machine.Constraints (5) ensure that, for the same job, the earliest start time on machine  +1 should not be earlier than its completion time on machine   .Constraints (6) define that the start processing time of a job should not be earlier than its release time.Constraints (7) indicate that the ready time for delivering the th job should not be earlier than its completion time on the last machine.Constraints ( 8) and ( 9) define that the number of jobs in each batch should satisfy the space capacity of the conveyor or the truck.Constraints (10) and (11) determine each job to be assigned to one and only one batch.Constraints ( 12) and ( 13) indicate that if no job is assigned to batch , then no job will be assigned to batch ( + 1).Constraints ( 14) and ( 15) define the departure time  1 .Constraints ( 16) and ( 17) define that the departure time of the th batch should not be earlier than the returning time of the ( − 1)th batch.Constrains ( 18) and ( 19) specify the nonnegativity of  1 and  2 .Equations ( 20)-( 25) define the variables.

The Mutualism Strategy for Population Growth
As the long evolutionary process of nature, the relationship between living beings is complicated.The phenomenon that two species live together is generally referred to as the symbiosis.This paper studies a kind of symbiosis called mutualism, which refers to two species living together and depending on each other over a long period of time.The nutrition of one species is the food source of the other one.
Mutualism brings two advantages to our algorithm.Firstly, there is no need to design the fitness function, and the fitness value of an individual is obtained by the cooperation between two populations, which could reduce the dependence on the domain knowledge.Secondly, different from the traditional framework in which the evolution of populations depends on the fitness values of individuals, mutualism incorporates the cooperative behavior between an individual and its surroundings, so as to postpone the premature convergence and improve the convergence speed.

The Mutualism Population Growth Model.
A differential equation of mutualism population growth model is introduced in this subsection.Assume two species A and B live in the same environment and they do not take each other as food, but the existence of one species can promote the population growth of the other one.For example, algae and fungi are two species living in lichen.Algae provide nutrient to fungi through photosynthesis, and fungi offer algae water and inorganic substance.If algae and fungi are separated in lichen, both of them will die.
Let () and (), respectively, be the numbers of individuals of species A and B at the th generation.Define the maximal individual number of species A (B) by  1 ( 2 ), and the cooperation degree is  1 ( 2 ).In this way, the differential equation of the cooperation system can be written as follows: where   ( = 1, 2) denotes the accrual rate, that is, birth rate subtracting death rate.In time interval [,  + Δ], define ( + Δ) − () =  1 ⋅ Δ ⋅ () as the modified number of species A. So Δ/Δ =  1 ().Once the population number reaches the maximal value, species A will stop growing, and the accrual rate  1 will become zero.and  1 ()/ 1 denotes the influence degree of species B on the population size of species A. We have similar explanation for (27).

The Mutualism Strategy.
In the standard genetic algorithm, the fitness function will be given as an input, and the fitness is easy to reach the peak value.However, in the real environment the adaptability of a species is dynamic and is affected by its surroundings.Therefore, in MQGA, the fitness value of an individual is replaced by its cooperation degree with individuals in other species, and the details on the computation of the cooperation degree are given below.
where Score  denotes the cooperative degree of individual  by cooperating with individual .

Cooperative Degree of a Population.
The cooperative degree of a population stands for the cooperative level of the population, and it can be calculated as follows: where Pop1 (Pop2) is the delegation of population A (B).If  1 > 1, A is more cooperative and obtains more advantage or nutrition from B. Conversely, if  2 > 1, B is more cooperative than A. The two parameters  1 and  2 show the mutual influence degree on population sizes.

Adjustment of Population Sizes.
In our mutualism population growth model, assume where  1 ,  2 are constants.Based on ( 26) and (27), at each generation , the population sizes of A and B will be modified by Δ and Δ, respectively, which are given as follows: The newly added individuals are generated randomly, and the deleted individuals are the ones with the smallest cooperative degree values.
If the cooperative degree of a population is high, its population size will increase.Thus the growth of a population size mostly depends on its ability to coordinate.If the ability is strong, the size will become bigger and bigger till the maximum value.Otherwise, the size will become small and eventually extinct.In order to survive, each population will try its best to gain good genes and cooperate with others.In this way, the quality of solution is improved and the performance of algorithm is enhanced.

Framework of the Mutualism Strategy for Population
Growth.A description of the mutualism strategy for population growth is given in Figure 2.

The Mutualism Quantum Genetic Algorithm
The genetic algorithm (GA) proposed by Holland has achieved a great success for solving complex combinational problem.To improve GA, Han and Kim [31] recently introduced a quantum-inspired genetic algorithm, which attracted many researchers' attention.However, the experiment results are still not satisfactory for large-scale problems.In this section, a method named mutualism quantum genetic algorithm (MQGA) is introduced to solve the integrated supply chain problem including the pickup of materials, the flow shop scheduling, and the delivery of finished jobs.The symbiosis evolutionary strategy is embedded in the quantum genetic algorithm (QGA).

Hybrid Q-Bit
Coding.The encoding in [29] is adopted in this paper, as it has obtained the success on the coordinated scheduling problem with batching machine scheduling and two-stage transportation.Their encoding divided a chromosome into two segments, the job sequence and the job-tobatch assignment, which can represent all possible solutions.Besides, the -bit representation is combined in our algorithm for its advantage of linear superposition of solutions and increase of diversity of genes.The details of the encoding are illustrated as follows.
Firstly, based on the concept and principles of quantum computing, the smallest unit of information stored in a twostate quantum computer is called a -bit.A -bit may be in the "1" state, "0" state, or any superposition of the two.A bit can be represented as |⟩ = |0⟩ + |1⟩, where  and  are complex numbers that specify the probability amplitudes of the corresponding states.|| 2 gives the probability that the bit will be found in the "0" state and || 2 gives the probability that the -bit will be found in the "1" state.Normalization of the state to unity guarantees || 2 + || 2 = 1.Therefore, in MQGA, a population   () = {  1 , . . .,    } in -bit representation is initially randomly generated, and an individual   Secondly, the individual is converted into binary representation in the following way.For each -bit, let   be a random number generated in [0, 1].If |  | 2 >   , the -bit is converted to be 1; otherwise it is 0.
Thirdly, the -bit representation needs to be changed into two segments, the job sequence and the job-to-batch assignment, which include the comprehensive information of production and delivery.Thus we give a converting rule to form three parts, flow shop part (the code size is (⌈log  2 ⌉+1)× ), material pickup part (the code size is 1 × ), and product delivery part (the code size is 1 × ), in which we set the last -bit of part 2 and part 3 as "1" to ensure the last job belongs to the last batch.
For example, given a 3-job, 3-machine problem, let 15 -bits represent a code, and every three -bits form one group.So a code contains five groups, which are then separated into 3 parts.The first three groups are defined as Part 1, the fourth group is Part 2, and the fifth group is Part 3.
For Part 1, suppose the binary representation is [0 1 1 | 1 0 1 | 1 1 0], which is already converted from bit representation; then get [3 5 6].This job permutation is regarded as a random key representation.If values of two elements in the representation are different, let the smaller one denote the job with smaller index; otherwise, let the first one denote the job with smaller index.So, the above random key representation is corresponding to job permutation [1 2 3].
For Part 2 and Part 3, suppose the binary representations are [1 0 1] and [0 0 1], which represent the job-to-batch assignment of the conveyor and the truck, respectively.The final code is the combination of Part 1, Part 2, and Part 3.An example is given in Figure 3.
The final code for another problem with 8 jobs and 2 machines is presented in (32) which is the individual structure of the MQGA, where the first line represents a permutation of 8 jobs and the second (third) line denotes the job-to-batch assignment in the conveyor (truck): ( 5 8 2 1 3 6 4 7 1 0 1 0 0 0 1 1 0 0 1 0 1 0 0 1 ) . ( The rule is that the jobs in the positions after each "1" to the next "1" belong to a new batch.Therefore, in the pickup transportation, job 5 is in the first batch, job 8 and job 2 belong to the second batch, job 1, job 3, job 6, and job 4 are in the third batch, and job 7 is in the last batch.The third line is the delivery batch of truck.Similarly, in the delivery transportation, job 5, job 8, and job 2 are in the same batch, job 1 and job 3 belong to the next batch, and job 6, job 4, and job 7 are in the last batch.Figure 4 illustrates the job sequence and the job-to-batch assignment.
Assume the processing times of the 8 jobs on the two machines are given in Table 2.The pickup time and returning time of the conveyor are 4 time units and 2 time units, respectively.The delivery time and returning time of truck are 8 time units and 4 time units, respectively.Figure 5 gives the visual assignment of jobs to be transported and produced.

The Speeding-Up Method of Inserting Neighborhood.
When applying local search techniques to search better solutions, the neighborhood structure is very important, since it will directly affect the results.For the flow shop problem, the results in [32][33][34] show that the inserting operation is better than exchanging when searching in the local neighborhood.Therefore, this paper employs the inserting operation during the process of search in the neighborhood.The inserting neighborhood of a permutation is a set of solutions, that is, the permutations generated by deleting a job from the original position and inserting the job into a new position.
Denote by () the job in the th position in the permutation , and define  () as the subpermutation after removing job ().Assuming job () is inserted in the ℎth position of   , let  () (ℎ) be the new permutation and  the position where job () is inserted to achieve the minimal makespan; that is, Take the two-machine flow shop problem as an example.Let  max (;  1 ,  2 ) be the makespan for a given permutation , and let   1 (()) and   2 (()), respectively, be the earliest possible completion times of job () on machines  1 and  2 in the forward channel.In addition, define    1 (()),    2 (()), respectively, denoting the earliest possible completion times of job () on machines  1 and  2 in the backward channel.The iterative formulas are given as follows: For the flow shop problem with more than two machines, the details of obtaining the local optimal solution are given in Procedure 1.

A Modified Mechanism of the Solution.
Because the total physical space of all jobs in a batch may exceed the capacity of the vehicle, our encoding could not ensure a feasible solution, and a modified mechanism is needed to update the solution, which is an important step, not only in encoding process, but also in the steps of crossover and mutation, as an unfeasible solution may affect the search process in local neighborhood.
Let TVol be the capacity of the vehicle and Vol(  ) the total space of all jobs in batch   .For simplicity, denote by  ,1 ,  ,2 , . . . ,  the jobs in batch   , where   is the number of jobs in   .The modified mechanism is described in Procedure 2.

Other Operations.
The operations introduced below are performed at each generation of the quantum genetic algorithm (QGA).The fitness of each individual can be  calculated by the mutualism strategy in Section 3.2.In order to ensure the individual with good genes can be chosen in the offspring, the roulette selection is applied here, which could maintain the diversity of genes.In the crossover operation, two decoded individuals are selected as parents to operate single-point crossover.See Figure 6 for the illustration of this operation, in which the corresponding genes of -bit parents are swapped to produce two new offspring.
In the mutation operation, a NOT Gate is used as the mutation operator.Firstly, select individuals with mutation probability   ; then randomly generate a mutation position.Quantum rotation gate is used to maintain diversity of genes, which could change the probability amplitude of quantum states.See more details in our previous work [35].Besides, a catastrophe operator is used to avoid premature convergence.If the solution does not change in two consecutive generations, it could be regarded to be trapped in local optimal solution, and the local best solution will be reserved while others will be replaced by solutions generated randomly.

The Main Procedure of MQGA.
In this subsection, the details of the MQGA are introduced in Algorithm 1.

Experiment
In this paper, all algorithms are programmed with MATLAB language, and all the computations are conducted on a Pentium PC 1.66 GHZ with 512 MB memory.In order to evaluate the performance of MQGA, an extensive set of instances with different characteristics are generated based on the flow shop benchmark problems, including FT benchmark and ABZ benchmark.In order to test the relative large-scale problem, three test instances are designed, where there are 50 jobs and 5 machines, 50 jobs and 10 machines, and 100 jobs and 5 machines, seen in the Appendix.Table 3 shows the transporting times of conveyor and truck in different problems.Table 4 shows the physical spaces of the 100 jobs.These test instances are named N(FT06), N(FT10), N(FT20), N(ABZ3), N(ABZ6), N(ABZ7), N(ABZ8), N(ABZ9), N(TA1), N(TA2), and N(TA3).
In this way, there are a total of 25 combinations.For each combination, MGA [13] is used to test the 11 testing instances in Table 3.After the experiment, the data is transformed to be the relative percentage deviation (RPD), which is calculated as follows: where WT A is the corresponding objective value of the solution achieved by proposed algorithm and WT ref is the minimum objective value under multiple simulation of the same test problem.In addition, for a combination of   and   values, the analysis of variance (AOV) model is employed to eliminate the different RPD values caused by the block (each test problem is regarded as a block).The main experiment results of the AOV are shown in Table 5.
According to the theory of statistical analysis, the greater the  value is, the more significantly the corresponding factors affect.Table 5 shows the interaction between the two parameters has a significant effect on the performance of the algorithm.Based on the experiment, we find the best value of   is 0.8 and the best value of   is 0.2, since they could find the most times of optimal objective value.

The Detailed Simulation Result of N(TA1) Problem.
In order to validate the performance of MQGA, MGA [13] and QGA [36] are compared.Firstly problem N(TA1) is chosen as the representative instance to analyze the performance of algorithms.Three combinations of iterative generations and population sizes are 500 × 10 (i.e., the maximum number of iterations is 500, population size is 10, and subpopulation size is 5), 1000 × 10, and 2000 × 20.For each combination, the results are presented in Table 6, and more results are given in Table 7, where "BV" and "WV, " respectively, denote the best and worst objective values in the 10 run times."AV" is the average objective value.
Known from the results in Table 6, for each calculation, MQGA always obtains a better solution than that obtained by MGA and QGA.When the iteration is 500, the range of objective values of MQGA is (3155, 3192) and (3267, 3382) and (3199, 3229) for MGA and QGA.When the iteration is 2000, the ranges of objective values are, respectively, (3128, 3167), (3210, 3345), and (3131, 3226).Therefore, the search ability of MQGA increases faster than that of MGA and QGA as the iteration increases, and MGA and QGA are more likely to be trapped in local optimal solutions.
The convergence curves of MQGA, MGA, and QGA obtained for each combination are depicted in Figure 7, which indicates the convergence speed of MQGA is faster than that of MGA and QGA, especially for the combination with larger iteration.
The solutions distributions of MQGA, QGA, and MGA are given in Figure 8, which shows that there is no overlap in the solution space of each algorithm.Moreover, the change in the solutions achieved by MQGA is smaller than that of MGA and QGA, which implies that the quality of solution obtained by MQGA is better than that of MGA and QGA.

The Comparison Results of MQGA with MGA and QGA.
The maximum number of iterations is 1000, and the size of In the performance of solution, from Table 8, MQGA is superior to MGA and QGA for all the test instances, and QGA always outperforms MGA.The improvement becomes more obvious as the scale of the problem increases.For example, for medium-scale problem N(FT20), the optimal ability of MQGA improves 0.32%.For the large-scale problem N(TA3), the MQGA improves 14.76%.The reason is that when the number of jobs increases the transportation of vehicle will become the bottleneck for MGA and QGA.Therefore, MGA and QGA are not applicable to the relative largescale problem instances.In addition, in the performance of convergence, MQGA can obtain a better solution than MGA and QGA with less iterative generations.For the relative large-scale problems like N(TA1), N(TA2), and N(TA3), MGA and QGA converge faster to the local optimal solution.However, MQGA could jump out of the local optimum with more iterative generations.Finally, in the performance of time, MQGA needs more computation time than MGA and QGA but obtains an improved solution.

Conclusions and Future Research
This paper studies an integrated scheduling with the materials pickup, flow shop scheduling, and the finished products delivery.The objective is to find a coordinated schedule to minimize the arrival time of the last completed product to the customer.In order to solve the problem, a biologically inspired quantum genetic algorithm is proposed with a new mutualism strategy.The experiment results demonstrate that MQGA can find a satisfactory solution with an acceptable amount of computation time.
Future research could address problems with multiple customers or multiple transport vehicles or different shop environments, including flexible scheduling and job-shop.Problems with other performance measures, including minimum mean tardiness, and multimeasures should also be studied.

Figure 2 :
Figure 2: Description of the mutualism strategy for population growth.

Figure 3 :
Figure 3: The encoding and decoding mode of -bit.

Figure 4 :
Figure 4: Job sequence and the job-to-batch assignment.

Table 1 :
3.2.1.Expert Evaluation Method.Given two individuals  and , respectively, from populations A and B, a method is proposed to evaluate the cooperation degree of individual .Let ob  and ob  be the objective values of  and .Denote, respectively, by ob min , ob max , and ob the minimum value, The cooperation degree of individual  (with individual ) Score  .Condition Score ob  ∈ [ob min , ob], ob  ∈ [ob min , ob] 4 ob  ∈ [ob min , ob], ob  ∈ [ob, ob max ] 2 ob  ∈ [ob, ob max ], ob  ∈ [ob min , ob] 0 ob  ∈ [ob, ob max ], ob  ∈ [ob, ob max ] 1 the maximum value, and the average objective value of all individuals in A and B. By cooperating with individual , define Score  as the cooperative degree of individual .Case 1.Consider ob  ∈ [ob min , ob], ob  ∈ [ob min , ob].In this case, each of the two individuals has a high survival rate and

Table 2 :
The processing times of the 8 jobs on 2 machines.Given two populations A and B, denote by Fitness  the cooperative degree of individual  in A. Firstly choose some individuals from B to form a delegation , and  can be chosen by ways including random selection, greedy selection, or tournament.Then let individual  cooperate with each individual in  with the expert evaluation method.The fitness of  is calculated as follows: the "matching" ability to cooperate.They can offer nutrition to each other, and the collaborative effect is the best.So, the cooperative degree of individual  is set to be "4."Case 2. Consider ob  ∈ [ob min , ob], ob  ∈ [ob, ob max ].In this case, compared to individual , individual  has a smaller objective value, which indicates that individual  is more capable of growing and developing.If the two individuals work together, individual  cannot obtain enough nutrition from individual , and the cooperation is a "mismatch."Therefore,thecooperativedegree of individual  is set to be "2."Case 3. Consider ob  ∈ [ob, ob max ], ob  ∈ [ob min , ob].Known from Case 2, in this case individual  is more capable of growing and developing, and individual  will absorb more nutrition from individual .That will eventually impede the development and growth of individual .Therefore, the cooperative degree of individual  is defined to be "0."Case 4. Consider ob  ∈ [ob, ob max ], ob  ∈ [ob, ob max ].In this case, the two individuals have the similar low levels of growing, and a long period of time is needed for the development of the individuals.But they have the "matching" abilities and can cooperate with each other.Therefore, the cooperative degree of individual  is set to be "1."Thefourcases are summarized in Table1.3.2.2.Cooperative Degree of Individual.

Table 3 :
Parameters of the conveyor and truck.
Note: 1 and 2 are the capacities of conveyor and truck, respectively.Tr1 and Tr2 are the pickup and delivery times.1 and 2 are the returning times of conveyor and truck.

Table 4 :
Physical space of jobs.

Table 5 :
AOV results for the experiment on tuning the parameters.
5.1.Parameter Settings.Two parameters including crossover rate   and mutation rate   are discussed in this section.Assume the two rates are set with the following levels:

Table 9 :
(a) N(TA1): 50 jobs * 5 machines.(b)N(TA2):50 jobs * 10 machines.(c)TA3:100 jobs * 5 machines.(inMQGA,there are two subpopulations, and the size of each subpopulation is 50).To be fair, each algorithm runs 10 times for each instance.The experiment results are shown in Table8, in which each item is an average value.The "Improved%" column represents the percentage difference between the average objective values obtained by the current algorithm with MGA and is calculated by the following formula: Ob represents the objective value achieved by the current algorithm and MGA represents the objective value achieved by MGA.Boldface and italic indicate the best results for each problem.