{'fraction_non_alphanumeric': 0.026511846432646487, 'fraction_numerical': 0.011745754748640848, 'mean_word_length': 4.65982905982906, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 2, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
An 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, both of which are summarized as NP-hard problems. However, only a few studies have considered them simultaneously. This paper studies the integrated production and transportation scheduling problem (IPTSP) in hybrid flow shop, which is an extension of the hybrid flow shop scheduling problem (HFSP). In this problem, the transfer tasks of jobs are performed by a certain number of automated guided vehicles (AGV). In addition to the production scheduling on machines, we consider the transportation scheduling on AGVs as the part of the optimization process. To solve it, we make some preparation (including the establishment of task pool, the new solution representation and the new solution evaluation), which can help algorithm efficiently find satisfactory solutions while appropriately limiting the 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 proposed method. The results show that the proposed method can achieve good results, showing the effectiveness of the presented approach.

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 is 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 literature of production scheduling problem in hybrid flow shop (also called hybrid flow shop scheduling problem, 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 automated guided vehicle (AGV) 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 attaches more and more importance to considering production scheduling and transportation scheduling integratedly.
So, this paper integrates the production and transportation scheduling in hybrid flow shop with identical machines, which is an extension of the hybrid flow shop scheduling problem (HFSP). Transfer tasks between machine and machine or machine and warehouse are performed by a certain number of automated guided vehicles (AGV). And the goal of the integrated scheduling problem (IPTSP) is finding optimal processing sequence of jobs on machines and optimal transport sequence of jobs on AGVs simultaneously.
Production scheduling and transportation scheduling are both well-known NP-hard problems [17][18]. There are several researches that studied the coordination between production scheduling and transportation scheduling. Bilge and Ulusoy [12] assigned the transportation task to AGVs while scheduling the processing sequence of jobs on the machine. Amir and Pedram [13] 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. [14] used a bilevel decomposition algorithm to solve the simultaneous scheduling and conflict-free routing problems for AGVs. Elmi et al. [15] addressed the robotic scheduling problem considering multiple part types, unrelated parallel machines, multiple robots in blocking hybrid flow shop. Zabihzadeh et al. [16] 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 related surveys mentioned above, they considered all stages of each job and put them as a long sequence to be optimized. When the long sequence was worked as the code in their algorithms, it might make the algorithms search too much 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 it, two scheduling problems 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 conclusion and future work.

Problem description and formulation
In hybrid flow shop environment, a set of n jobs needs to be processed at S stages. Each stage j has Mj 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 AGVs is 2.The processing time of each job at each stage is shown in Table 1. The transport time between machine and machine (or 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 jobs and machines, it's obvious that the solution space of integrated scheduling problem is much larger than that of production scheduling or transportation scheduling. For better algorithm design in next section, some preparation 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. According to 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 each time 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, task pool is a collection of all tasks to be scheduled. Initially, in task pool, the number of tasks 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 AGV, if the stage_no of the task is not equal to the last stage of the job, the completed task (Taskold) will be removed from the task pool. At the same time, a new task (Tasknew) representing the next stage of the same job is added to the task pool. The old and new tasks satisfy the following relationship:  The job_nonew is equal to job_noold.  The stage_nonew represents the next stage of stage_noold.  The stnew is equal to the completion time of the job i at stage j involved in the Taskold.  The from_locationnew is the processing machine of the job i at stage j involved in the Taskold. Where, job_nonew and stage_nonew is the job_no and stage_no of Tasknew, job_noold and stage_noold is the job_no and stage_no of Taskold, stnew and from_locationnew is the st and from_location of Tasknew. A simple example is shown in Figure 2. Once the old task Task2 is completed and stage one is not the last stage of job2, a new Task2 which represent the next stage of the job is added in task pool. In the new task, "6" represents the completion time of job2 on machine2 at stage one (also the earliest start time of the new task). And "machine2" represents the processing machine selected for job2 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 processing, making the makespan smaller. While the task pool is emptied, the scheduling is complete.

Solution representation
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 searched efficiently by subsequent algorithms.
Under some task selection rules based on time target (like: FCFS, EDT, GWTQ and so on [19]), we find that the assignment of AGVs and the order of tasks transporting at the first stage have a great impact on the makespan. This is because of the fact that 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 transforming the assignment of AGVs and the order of tasks transporting at the first stage into a coding sequence to be optimized. 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: Transport sequence vector (also called v1) Transporter assignment vector (also called v2) Transport sequence vector v1 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: Task3 ≻ Task2 ≻ Task1 ≻ Task4 ≻ Task5.   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 with a computationally fast sub procedure. It will be presented in the next section.

Solution evaluation
Using the proposed solution representation method, the makespan evaluation is described as follows: At stage one, the transport sequence and the assignment of AGVs are determined according to the two-vector representation; 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: 1a).Read the position information in v1 from left to right, and get the corresponding task Taskm to be scheduled; 1b).Get other information about Taskm. For example, we can know the assigned AGV Rv for the task in v2, the involved job Ji, the processing time pij, the earliest start time of the task st, the starting location Mk; 1c). Plan the empty trip (from the destination Mk' of the previous task to machine Mk) for Rv. The start time of the empty trip is earliest idle time of Rv. The arrival time of the empty trip is calculated as follow: Where, ptk'k represents the transport time from location Mk' to location Mk, AITv is the earliest idle time of Rv; 1d). Select the processing machine for Ji at stage one according the improved FAM rule. The estimated completion time C i1 p ' of Ji at stage one on each available machine Mp is calculated as follow: Where, MITp represents the earliest idle time of machine Mp, ptkp represents the transport time from location Mk to location Mp, pi1 represents the processing time of Ji at stage one. Then, select the machine Mq with the smallest estimated completion time as the processing machine for Ji at stage one.
1e). Plan the loaded trip (from location Mk to location Mq) for Rv. The start time STi1 of the loaded trip is the maximum between the earliest start time of the task and the arrival time of the empty trip: And the arrival time of the loaded trip is calculated as follow: Where, ptkq represents the transport time from location Mk to location Mq; 1f). Plan Ji to be processed on Mq. The start time Si1 of processing on machine Mq is the maximum between the earliest idle time of machine Mq and the arrival time of the loaded trip: Where, MITq represents the earliest idle time of machine Mq; 1g). Update the earliest idle time of machine Mq and AGV Rv as follow: 1h). Update the task pool referred to section 3.1; 1i). Repeat steps (1a)~(1h) until the last position of two-vector representation is read.
Step 2. Schedule the tasks in task pool at stage j (j > 1): 2a). Select the AGV Ru with the earliest idle time (AIT); 2b). Select a task from task pool as the next task for Ru. According to first come first served (FCFS) rule, the way that selecting the task Taskm with the smallest st is applied; 2c). Plan the empty trip and loaded trip for Ru, select processing machine, plan the job processing and update information. All of these procedures are similar with steps from (1b) to (1h); 2d). Repeat steps (2a)~(2c) 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 has major differences with that of the literatures. Literatures [15][16] represent a solution by three long vectors which considered the sequence of operations, machine assignment and transporter assignment for each operation at the all stages from a global view. They had proved the effectiveness of it 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 it 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. Tabu search (TS) is a local search algorithm proposed by Glover [21] 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 method is shown in Figure 5.

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
In 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 have been adopted for the two vectors.
The first one is the position-based crossover (PBX) for transport sequence vector (v1). 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 one is the multi-point crossover (MPX) for transporter assignment vector (v2). 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 v2; 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
In 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 have been adopted for the two vectors.
The first mutation operator is used for transport sequence vector (v1), 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 (v2), which selects one gene randomly and change the value of this selected gene to the other AGV.

Neighborhood structure
In 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.
2. Two points exchange: select two points randomly in chromosome and exchange the gene value of these two points.
3. One point insert: select two point randomly and insert the back one before the front one.
4. Transporter change: select one point randomly and change the AGV assignment of this gene to the other AGV.

Tabu list
The purpose of the tabu list is to avoid roundabout searches and guide the algorithm to better explore other areas of 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 is no corresponding benchmark for the integrated scheduling problem in hybrid flow shop environment, we design two groups of instances for the problem 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 [29].

Group 1
Literature [22] specializes in the benchmark of HFSP. We take some instances in the literature [22] as a part of input information of the instances of the integrated scheduling problem, and the corresponding transportation time between machines is generated according to number of machines. The instances of proposed benchmark is 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 [23]. 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, pij is the processing time of job i at stage j; ptpq 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 [16] have researched similar problems to this paper. They gave the parameters which were used to generate the instances, but did not give specific instances they used. In this group, parameters are generated randomly based on Zabihzadeh and Rezaeian's research [16]. 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 literature [16], 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) in order to verify the effectiveness of the proposed one:  Mode1: Use the coding and decoding method of the HFSP problem in literature [27], and whenever the job is scheduled to be processed on the machine, use the AGV assignment rule in literature [28] to allocate the appropriate AGV to complete the corresponding transportation task.
 Mode2: Use the same coding and decoding method of the integrated scheduling problem with literature [16]. Blocking and release time have been considered in literature [16], both of which are ignored here.
 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 proposed GATS independently [19].

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.

Results of Experiment 1
For each instance in benchmark, 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~7. Among them, "Mode3" represents the solution representation proposed in Section 3.     In the two groups of instances shown in Tables 3~7, the solution representation (Mode3) proposed in 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 analyzed lots of the final Gantt charts for instances of these three solution representations (one group of which is shown in Figure 6). Meanwhile, combined with the characteristics of the HFSP, we got 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 same stage in a period of time. As a result, the scheduling schemes obtained with this mode are too limited; (2) For Mode2, under the same scale of problem, the coding length is much larger than that of others. On the one hand, it can almost represent all the solutions in the solution space, providing the possibility for the algorithm to 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 obtaining more and better results than others, under the same number of iterations and other parameters of the algorithm used.   In each type of instances, the statistics of the total number that each rule can achieve optimal result about best makespan and average makespan among the four 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 three. It is evident that the FCFS rule used in solution evaluation is effective and reliable when solving integrated scheduling problem.   GATS_G  WTQ  small small  18  9  6  0  6  small  large  18  8  1  4  8  large  small  6  3  1  0  2  large  large  6  3  0  1  2  Group2  10  6  0  0  4  Total  58  29  8  5  22

Results of Experiment 3
For each instance, run each algorithms five times and record its best makespan and average makespan. The computational results are presented in Tables 15~24.      In each type of instances, the statistics of the total number that each algorithms can achieve optimal results about best makespan and average makespan among the six are shown in the Tables 25~26. 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 integrated scheduling problem.   ·16·   small  small  18  1  0  0  0  6  13  small  large  18  2  0  1  0  5  10  large  small  6  0  1  0  0  0  5  large  large  6  0  0  0  1  0  5  Group2  10  0  0  0  0  5  5  Total  58  3  1  1  1 16 38

Conclusions and future work
This paper proposes an integrated scheduling method for production and transportation 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 include:  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;  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 7 Declaration