Integrated Production and Transportation Scheduling Method in Hybrid Flow Shop

The connection between production scheduling and transportation scheduling is getting closer in smart manufacturing system, and both of those problems are summarized as NP-hard problems. However, only a few studies have considered them simultaneously. This paper solves the integrated production and transportation scheduling problem (IPTSP) in hybrid flow shops, which is an extension of the hybrid flow shop scheduling problem (HFSP). In addition to the production scheduling on machines, the transportation scheduling process on automated guided vehicles (AGVs) is considered as another optimization process. In this problem, the transfer tasks of jobs are performed by a certain number of AGVs. To solve it, we make some preparation (including the establishment of task pool, the new solution representation and the new solution evaluation), which can ensure that satisfactory solutions can be found efficiently while appropriately reducing the scale of search space. Then, an effective genetic tabu search algorithm is used to minimize the makespan. Finally, two groups of instances are designed and three types of experiments are conducted to evaluate the performance of the proposed method. The results show that the proposed method is effective to solve the integrated production and transportation scheduling problem.


Introduction
Due to the development of industry, scheduling plays a crucial role in modern manufacturing systems. As a branch of flow shop, the hybrid flow shop is widespread in modern industries, including electronics [1], textile [2], steelmaking [3] and petrochemical industries [4].
In mechanical manufacturing, production scheduling and transportation scheduling are two vital parts [5]. Optimizing both of them becomes a core task of advanced manufacturing and modern management, which not only allocates tasks but also affects the utilization level of resources and energy [6].
The importance of production scheduling problem and transportation scheduling problem has been emphasized by many researchers [7][8][9][10][11]. For the literatures of production scheduling problem in hybrid flow shop (also called HFSP), most of the researchers didn't consider the transport procedure between machines or put it as fixed value into the setup time. However, more and more flexible transporters like AGVs are used to perform the transfer tasks in the modern factory, which obviously improves the productivity of manufacturing enterprises [9]. On the other hand, the use of AGVs also brings uncertainty and complexity to the current scheduling scheme. For example, unprocessed jobs can be processed on a set of alternative machines at a specific stage. All of these can cause uncertainty in transfer time during scheduling. As a result, in many manufacturing industries that are sensitive to transport time and limited transport resources, they attach more and more importance to considering the integrated production scheduling and transportation scheduling. Therefore, this paper integrates the production and transportation scheduling in hybrid flow shops with identical machines, which is an extension of the HFSP. Transfer tasks between machines and machines or machines and warehouse are performed by a certain number of AGVs. And the goal of the IPTSP is to find optimal processing sequences on machines and optimal transport sequences on AGVs simultaneously.
Production scheduling and transportation scheduling are both well-known NP-hard problems [12,13]. There are several researches that studied the coordination between production scheduling and transportation scheduling. Bilge and Ulusoy [14] assigned the transportation task to AGVs while scheduling the processing sequence of jobs on the machine. Amir and Pedram [15] addressed a permutation flow-shop scheduling problem with a finite number of transporters carrying jobs from each machine to its subsequent machine. Nishi et al. [16] used a bilevel decomposition algorithm to solve the simultaneous scheduling and conflict-free routing problems for AGVs. Elmi et al. [17] addressed the robotic scheduling problem considering multiple part types, unrelated parallel machines, multiple robots in blocking hybrid flow shop. Zabihzadeh et al. [18] used ant colony optimization (ACO) algorithm and genetic algorithm (GA) to solve flexible flow shop scheduling problem with robotic transportation and release time.
However, in all surveys mentioned above, they considered all stages of each job and put them as a long sequence to optimize. When the long sequence was worked as the code in their algorithms, it might make the algorithms search too large solution space and hardly get a satisfactory solution within reasonable computation time. Therefore, this paper proposes a new method for integrated production and transportation scheduling problem in hybrid flow shop environment, including the establishment of task pool, the new solution representation, the new solution evaluation and so on. Based on those, the production scheduling problem and the transportation scheduling problem mentioned above can be treated together. Then, a genetic algorithm with tabu search is applied to solve the integrated scheduling problem.
This paper is organized as follow. Section 2 presents the notation and description of problem. Section 3 introduces some preparation for solving the IPTSP. Section 4 describes the details of the hybrid algorithm. Section 5 shows the experimental design and results. Finally, Section 6 gives the conclusions and future work.

Problem Description and Formulation
In hybrid flow shop environment, a set of n jobs need to be processed at S stages. Each stage j has M j identical parallel machines, while M j ≥ 2 for at least one stage. Once a job has completed processing at a certain stage, it needs to be transferred to the machine of its next stage by AGV. R identical AGVs are responsible for these transferring tasks. The object of scheduling is to determine the assignment of machines and AGVs at each stage for each job, the sequence of jobs on machines and the sequence of transferring tasks on AGVs, such that the makespan is minimized.
A small example is shown. There are 3 jobs to be processed without preemption on 4 machines. Each job needs to go through 3 processing stages. The number of identical machines in each stage is {1, 2, 1}. The number of identical AGVs is 2. The processing time of each job at each stage is shown in Table 1. The transport time between machines and machines (or a warehouse)  is shown in Table 2. Figure 1 shows a Gantt chart of a scheduling scheme with makespan 40.

Some Preparation for Solving IPTSP
Under the same scale of problem, it's obvious that the solution space of integrated scheduling problem is much larger than that of production scheduling or transportation scheduling. For getting better algorithm design in next section, some preparations are considered to be completed. Firstly, the task pool is introduced to transform scheduling into task selection and assignment, which can simplify the IPTSP. Secondly, a new way of solution representation according to the proposed task pool is proposed, which provides an encoding method for the IPTSP that can be operated by subsequent algorithms. Finally, the solution evaluation can evaluate the makespan of each code. By this way, all of them can help algorithm efficiently find satisfactory solutions while appropriately limiting the search space.

Establishment of Task Pool
In the IPTSP, each job at each stage requires a transportation task which takes it from previous machine (or warehouse) to current machine. And the number of existing transportation tasks does not exceed the total number of jobs at the same time. Based on these characteristics, this paper establishes a specific set of transportation tasks, called task pool. Then, the integrated scheduling problem can be solved through the procedure that the AGVs execute the tasks in the task pool in a specific order until the task pool is emptied. Specifically, a task can be described as: where job_no is the index number of the job involved, stage_no is the current stage number of the job involved, st is the earliest start time of the task, from_location is the starting location of the task (if stage_no =1, it represents the warehouse; else, it represents the processing machine of job at stage stage_no -1).
Here, the task pool is a collection of all tasks to be scheduled. Initially, in the task pool, the number of tasks (1) Task = (job_no, stage_no, st, from_location), is equal to the number of jobs, the job_no of all tasks represent all jobs to be scheduled, the stage_no of all tasks represent stage one, the st of all tasks are zero, the from_ location of all tasks represent warehouse. Once a task in task pool is completed by an AGV, if the stage_no of the task is not equal to the last stage of the job, the completed task (Task old ) will be removed from the task pool. At the same time, a new task (Task new ) representing the next stage of the same job is added to the task pool. The old and new tasks satisfy the following relationship: where, job_no new and stage_no new is the job_no and stage_ no of Task new , job_no old and stage_no old is the job_no and stage_no of Task old , st new and from_location new is the st and from_location of Task new . A simple example is shown in Figure 2. Once the old task Task 2 is completed and stage one is not the last stage of job 2 , a new Task 2 which represent the next stage of the job is added in task pool. In the new task, "6" represents the completion time of job 2 on machine 2 at stage one (also the earliest start time of the new task). And "machine 2 " represents the processing machine selected for job 2 at stage one (also the starting location of the new task). After this, the object of scheduling is to assign the tasks in the task pool to each AGV in a certain order and then to schedule the trip and process, making the makespan smaller. While the task pool is emptied, the scheduling is complete.

Solution Representation
A new way of solution representation based on the proposed task pool is proposed, which provides an encoding method for the IPTSP that can be operated efficiently by subsequent algorithms. Under some task selection rules based on time target (like: FCFS, EDT, GWTQ [19]), we found that the assignment of AGVs and the order of tasks transporting at the first stage have a great impact on the makespan, because the earliest start time of tasks in task pool are all zero and starting locations are all warehouses (at the first stage). Therefore, we consider to transform the assignment of AGVs and the order of tasks transporting at the first stage into a coding sequence to optimize. For that a new solution representation is introduced, based on tasks in task pool at the first stage. The new solution representation is composed of two parts: 1. Transport sequence vector (also called v 1 ); 2. Transporter assignment vector (also called v 2 ).
Transport sequence vector v 1 represents the order of transport for each task at the first stage. Figure 3 illustrates a transport sequence vector. For example, the transport sequence shown in Figure 3 can be translated into a list of ordered tasks below: In v 2 , v 2 (u) represents the AGV selected for the Task u indicated at position u. Figure 4 illustrates a transporter assignment vector. For example, position 3 indicates Task 3 , and v 2 (3) represents the AGV assigned for Task 3 .
With the new solution representation, the assignment of AGVs and the sequence of tasks at the first stage have been confirmed. Furthermore, such algorithm applying requires a makespan evaluation procedure, which will be presented in the next section.

Solution Evaluation
Using the proposed solution representation method, the evaluation of makespan is described as follows: (1) At stage one, the transport sequence and the assignment of AGVs are determined according to the two-vector representation; (2) At stage j (j > 1), a task is assigned to the earliest idle AGV with a specific task selection rule. Repeat the above process until the task pool is emptied.
Among them, after the task is selected and assigned to an AGV, the processing machine (also the destination of the task) at this stage is selected according to the improved First Available Machine (FAM [20]) rule. When the task is completed, if the stage involved in this task doesn't represent the last stage, the task is removed from the task pool and a new task is added (refer to Section 3.1 for the details).
The steps are shown below: Step 1. Schedule the tasks in task pool at stage one: (a) Read the position information in v 1 from left to right, and get the corresponding task Task m to be scheduled.
(b) Get other information about Task m . For example, we can know the assigned AGV R v for the task in v 2 , the involved job J i , the processing time p ij , the earliest start time of the task st, the starting location M k .
(c) Plan the empty trip (from the destination M k' of the previous task to machine M k ) for R v . The start time of the empty trip is earliest idle time of R v . The arrival time of the empty trip is calculated as follow: where, pt k'k represents the transport time from location M k' to location M k , AIT v is the earliest idle time of R v .
(d) Select the processing machine for J i at stage one according the improved FAM rule. The estimated completion time C p i1 ′ of J i at stage one on each available machine M p is calculated as follow: where, MIT p represents the earliest idle time of machine M p , pt kp represents the transport time from location M k to location M p , p i1 represents the processing time of J i at stage one.
Then, the machine M q with the smallest estimated completion time was selected as the processing machine for J i at stage one.
(e) Plan the loaded trip (from location M k to location M q ) for R v . The start time ST i1 of the loaded trip is the And the arrival time of the loaded trip is calculated as follow: where, pt kq represents the transport time from location M k to location M q ; (f ) Plan J i to be processed on M q . The start time S i1 of processing on machine M q is the maximum between the earliest idle time of machine M q and the arrival time of the loaded trip: where, MIT q represents the earliest idle time of machine M q ; (g) Update the earliest idle time of machine M q and AGV R v as follow: (h) Update the task pool referred to Section 3.1; (i) Repeat step1(a)-(h) until the last position of twovector representation is read.
Step 2. Schedule the tasks in task pool at stage j (j > 1): (a) Select the AGV R u with the earliest idle time (AIT); (b) Select a task from task pool as the next task for R u . According to first come first served (FCFS) rule, the way that selecting the task Task m with the smallest st is applied; (c) Plan the empty trip and loaded trip for R u , select processing machine, plan the job processing and update information. All of these procedures are similar with steps from 1(b) to (h); (d) Repeat step 2(a)-(c) until the task pool is emptied.
Step 3. Get the makespan of current two-vector solution representation.

Advantages of the Proposed Solution Representation
The proposed solution representation and solution evaluation do not yield any infeasible solution. We give the theoretical proof: Proof. The disjunctive graph is used to prove it. According to the Ref. [21], an infeasible solution can be described as the condition that its disjunctive graph contains one or more directed cycles.
By contradiction: suppose the proposed solution representation and solution evaluation create an infeasible solution P. And the disjunctive graph of P contains a cycle C. There are three possible situations about the cycle C: (The dashed arrows in figure indicate that there may be some unmarked transport or machine operations on them).
(1) As shown in Figure 5, the cycle C is formed due to machine disjunctive arc and machine disjunctive arc.
As shown in Figure 5, the stage of operation 2 is after the stage of operation 1, the stage of operation 2 is after the stage of operation 1. The disjunctive arc between operation 2 and operation 3 indicates that the stage of operation 2 is equal to the stage of operation 1. So, the stage of operation 4 is after the stage of operation 1. There cannot be a disjunctive arc between operation 1 and operation 4, which is contrary to the figure. This proves that situation one cannot exist. (2) As shown in Figure 6, the cycle C is formed due to transport disjunctive arc and transport disjunctive arc.
As shown in Figure 6, some relationships about the start time of operations can be obtained according to the conjunctive arcs: The disjunctive arc between operation 2 and operation 3 indicates ST 2 <ST 3 . It can be inferred that ST 1 <ST 4 . According to the solution evaluation proposed by this paper, if transport operation 1 and transport operation 4 exist in the task pool at the same time, the transport operation 4 must be selected behind transport operation 1. So there can be no disjunctive arc from transport operation 1 to transport operation 4, which is contrary to the figure. This proves that situation two cannot exist.
(3) As shown in Figure 7, the cycle C is formed due to transport disjunctive arc and machine disjunctive arc.
As shown in Figure 7, some relationships about the start time of operations can be obtained according to the conjunctive arcs: S 1 <ST 2 , ST 3 <S 4 (ST x indicates the start time of transport operation x; S y indicates the start time of machine operation y).
The disjunctive arc between operation 4 and operation 1 indicates ST 4 <ST 1 . It can be inferred that ST 3 <ST 2 . According to the solution evaluation proposed by this paper, if transport operation 3 and transport operation 2 exist in the task pool at the same time, the transport operation 2 must be selected behind transport operation 3. So there can be no disjunctive arc from transport operation 2 to transport operation 3, which is contrary to the figure. This proves that situation three cannot exist.
In summary, all of three possible situations about the cycle C cannot exist. This completes the proof.
Meanwhile, the proposed solution representation has major differences with that of the literatures. Refs. [17,18] represent a solution by three long vectors which considered the sequence of operations, the machine assignment and the transporter assignment for all operations from a global view. They had proved the effectiveness and succeed in many cases. However, when the size of problem becomes larger, it may cause the algorithm to perform a lot of invalid searches and hardly to find an optimal solution.
The proposed solution representation uses two vectors representing the order sequence and assignment of AGVs at the first stage which has a big impact on result. The heuristic rules select tasks for corresponding AGV and select machine for jobs at the other stage. The advantage of the proposed solution representation is that each two-vector representation can be transformed into feasible scheduling scheme. And when applied to algorithms, it can limit the search space within a considerably range. For large-scale problems, a satisfactory solution can be obtained easily within a limited time. Detailed comparative experiments will be presented in Section 5.

Proposed Genetic Algorithm with Tabu Search for IPTSP
Genetic algorithm (GA) is a well-known meta-heuristic algorithm proposed by Holland inspired by the laws of biological evolution in nature. And tabu search (TS) is a local search algorithm proposed by Glover [22] to simulate human memory function. In this paper, the tabu search algorithm is nested into GA for improving offspring individuals in each generation. The framework of the hybrid method is shown in Figure 8.

Population Initialization
The chromosomes in GA are corresponding to the solutions or Gantt charts of the integrated scheduling problem. The method of chromosome representation and decoding is as same as that described in Section 3. In order to ensure the diversity of the population, the algorithm initialize the individuals in the initial population randomly.

Crossover Operator
For GA, the crossover operator determines the way that parents produce new individual, and promotes the algorithm's global search capabilities. In this paper, two crossover operators are adopted. The first crossover operator is the position-based crossover (PBX) for transport sequence vector (v 1 ). The basic procedure of PBX is described as follow (two parents are noted as P1 and P2; two offspring are noted as C1 and C2): Step1. Randomly generate several gene positions, and C1 and C2 respectively inherit the genes of the corresponding gene positions from P1 and P2; Step2. C1 and C2 inherit the remaining genes from another parent (P2 and P1) on the unselected gene position.
The second crossover operator is the multi-point crossover (MPX) for transporter assignment vector (v 2 ). The basic procedure of MPX is described as follow (two parents are noted as P1 and P2; two offspring are noted as C1 and C2): Step1. Randomly generate a sequence composed of 0 and 1, and the length of the sequence is equal to the length of v 2 ; Step2. Select the same genes in P2 and P1 corresponding to position 1 in the sequence, and copy them to C1 and C2, that is, exchange the assigned transporter; Step3. Keep the remaining genes in P1 and P2 to C1 and C2, thus generating offspring C1 and C2.

Mutation Operator
For GA, the mutation operator is used to make perturbations on chromosomes in order to maintain the algorithm's local search capabilities. In this paper, two mutation operators are adopted.
The first mutation operator is used for transport sequence vector (v 1 ), which selects two genes randomly and inserts the back one before the front one or the front one after the back one.
The second mutation operator is used for transporter assignment vector (v 2 ), which selects one gene randomly and change the value of this selected gene to the other AGV.

Neighborhood Structure
For TS, neighborhood structure is a mechanism for generating new solutions by making small disturbances to the current solution. In this paper, four ways of neighborhood structure are adopted.
(1) Binary exchange: select two points randomly in chromosome and reverse the order of all genes between these two points.

Tabu List
The purpose of the tabu list is to avoid roundabout searches and guide the algorithm to better explore the solution space. The length of the tabu list is the tenure of the subject staying in the tabu list. If the length is L, the tabu list can be expressed as a ring table composed of L subjects. Whenever a new subject is added to the tabu list, it is possible to overwrite one of the oldest elements with this new subject.

Termination Criterion
The termination criterion determines whether the algorithm should stop. In this paper, the GA with TS terminates when the number of iterations reaches to the maximum iterations (MaxIter); TS terminates when the number of iterations reaches to the maximum iterations (MaxTSIter).

Experiments and Computational Results
Since there are no corresponding benchmarks for the integrated scheduling problem in hybrid flow shop environment, we design two groups of instances in this section. Then we adapt three types of experiments to verify the proposed method. Finally, we make some analysis based on the results. All of the experiments have been coded in C++ and run on Intel Core i5 2.3 GHz PC with 8 GB memory.

Instances Design
This paper has designed two groups of instances. And all of them can be found at the website [30].

Group 1
Ref. [23] specializes in the benchmark of HFSP. We take some instances in Ref. [23] as a part of input information, and the corresponding transportation time between machines is generated according to number of machines. The instances of proposed benchmark are divided into small-size and large-size according to the number of jobs, as follows: When generating the problems, an important characteristic considered is the relative magnitude of the travel times and the processing times [24]. We consider using a variable α to distinguish different types of instances, and further generate large-α type and small-α type in large/ small-size instances. The α represents the ratio between the average machine-to-machine transportation time and the average processing time of the instance. The value of α in each instance is calculated as follows: where, p ij is the processing time of job i at stage j; pt pq is the transportation time of location p to location q; n is the number of jobs; s is the number of stages; m is the number of machines.

Group 2
Zabihzadeh and Rezaeian [18] have researched similar problems to this paper. They gave the parameters which were used to generate the instances, but did not give specific instances. In this group, parameters are generated randomly based on Zabihzadeh and Rezaeian's research [18]. For each job, standard processing time, unloading, transferring and loading time at each stage are generated from the uniform distribution U [10, 100], U [5,20], U [5,20], U [5,20], respectively. The match between the number of jobs, the number of stages, and the number of AGVs still refer to their research.

Experiment 1: Comparison of Solution Representations
Using the same genetic algorithm in Ref. [18], under the same number of iterations and other parameters, this paper solves proposed two groups of instances in three different solution representations (coding and decoding methods), which aims to verify the effectiveness of the proposed one: (1) Mode1: Use the coding and decoding method of the HFSP in Ref. [28], and whenever the job is scheduled to be processed on the machine, use the AGV assignment rule in Ref. [29] to allocate the appropriate AGV to complete the corresponding transportation task.
(2) Mode2: Use the same coding and decoding method of the integrated scheduling problem with Ref. [18]. Blocking and release time are considered in Ref. [18], both of which are ignored here.
(3) Mode3: Use the coding and decoding method proposed in Section 3.

Experiment 2: Comparison of Selection Rules
According to Section 3.3, the task selection rule has an important impact on solution evaluation. Here, four common and classic rules are used for experiment and comparison, each of which is worked as a part of solution evaluation in the GATS independently [19]. Each time, select the task with the longest waiting time in the buffer.

Experiment 3: Comparison of Algorithms
In order to verify the effectiveness of the hybrid algorithm, the following five algorithms have been selected and programmed to solve the two groups of instances and compared with the hybrid GATS algorithm. They are ① Genetic algorithm (GA), ② Simulated annealing algorithm (SA), ③ Artificial bee colony algorithm (ABC) [25], ④ Grey wolf optimizer algorithm (GWO) [26] and ⑤ Migrating birds optimization algorithm (MBO) [27].

Results of Experiment 1
For each instance, run it five times and record its best makespan and average makespan. The parameters of GA used here are set as follows: the population size = 20; the crossover probability = 0.9; the mutation probability = 0.5; the maximum number of iterations = 500. The computational results are presented in Tables 3, 4, 5, 6, 7. Among them, "Mode3" represents the solution representation proposed by this paper.
In Tables 3, 4, 5, 6,7, the solution representation (Mode3) proposed by this paper get all optimal solutions in best makespan and average makespan, which is much better than others.
To study the mechanism of the three different solution representations deeply, we analyze lots of the final Gantt charts for different instances (one group of which is shown in Figure 9). Meanwhile, combining with the characteristics of the HFSP, we get some findings: (1) For Mode1, affected by HFSP, processing and transportation of jobs are carried out depending on the stage (the order sequence at the latter stages is determined by the end time of jobs at the previous stage). This will make each AGV only transport jobs with the     find global optimal solutions. On the other hand, due to the large search range, it is difficult for the algorithm to find a satisfactory solution in a limited time; (3) For Mode3, by optimizing the order sequence at the first stage that has a greater impact on the makespan, and combining with effective heuristic rule, the solution representation performs better.
The above results show that the proposed solution representation can help algorithm obtain good results than others, under the same number of iterations and other parameters.

Results of Experiment 2
For each instance, run it five times and record its best makespan and average makespan. The parameters of GATS used here are set as follows: the population size = 20; the crossover probability = 0.9; the mutation    Tables 8, 9, 10, 11, 12. Among them, "GATS_FCFS" represents the hybrid GA and TS with FCFS rule.
In each type of instances, the statistics of the total number that each rule can achieve optimal result about best makespan and average makespan are shown in the Tables 13, 14.
In the 58 instances, the GATS with FCFS rule achieves 30 optimal results about best makespan and 29 optimal results about average makespan, which is better than other algorithms. It is evident that the FCFS rule used in solution evaluation is effective and reliable when solving integrated scheduling problem.

Results of Experiment 3
For each instance, run each algorithm five times and record its best makespan and average makespan. The computational results are presented in Tables 15, 16, 17   instances (only the instances with small-α are selected as the representative in the table).
In each type of instances, the statistics of the total number that each algorithm can achieve optimal results about best makespan and average makespan are shown in Tables 28, 29. In the 58 instances, the GATS achieves 40 optimal results about best makespan and 38 optimal results about average makespan, which is better than other five. This means that the hybrid GA and TS has both effectiveness and efficiency for solving the integrated scheduling problem. In most instances, the calculation time of SA is the shortest, but the quality of solutions obtained by SA is relatively poor. The calculation time of GWO is the longest. There is no significant           difference in the calculation time among the other algorithms. According to the above results, the GATS is effective to solve the IPTSP.

Conclusions and Future Work
This paper solves the integrated production and transportation scheduling problem in hybrid flow shop environment. Firstly, some preparation for the problem has been made. Then, a hybrid genetic algorithm with tabu search has been adapted. Finally, two groups of instances have been designed and three types of experiments have been carried out for verifying the effectiveness of the proposed method. The contributions of this research are as follows.
(1) A new solving method for IPTSP, including the establishment of task pool, the new solution representation and the new solution evaluation, has been proposed for the problem. Taking it as coding and      decoding method, the algorithm can search for a satisfactory solution within appropriate time. (2) A hybrid algorithm which hybridizes the genetic algorithm and tabu search has been proposed to solve the integrated scheduling problem. The hybrid algorithm combines the advantages of the two algorithms. The experimental results show that this algorithm has both effectiveness and efficiency for solving integrated scheduling problem.
Although the method proposed in this paper has achieved good results, there are still some works can be made in the future. Firstly, we can use multiple rules instead of single rule in solution evaluation, which may make the results more stable. Secondly, we can design some efficient methods of population initialization instead of the random one, and design efficient neighborhood structure to improve the hybrid algorithm.