This research is motivated by a flowshop scheduling problem of our collaborative manufacturing company for aeronautic products. The heat-treatment stage (HTS) and precision forging stage (PFS) of the case are selected as a two-stage hybrid flowshop system. In HTS, there are four parallel machines and each machine can process a batch of jobs simultaneously. In PFS, there are two machines. Each machine can install any module of the four modules for processing the workpeices with different sizes. The problem is characterized by many constraints, such as batching operation, blocking environment, and setup time and working time limitations of modules, and so forth. In order to deal with the above special characteristics, the clustering and genetic algorithm is used to calculate the good solution for the two-stage hybrid flowshop problem. The clustering is used to group the jobs according to the processing ranges of the different modules of PFS. The genetic algorithm is used to schedule the optimal sequence of the grouped jobs for the HTS and PFS. Finally, a case study is used to demonstrate the efficiency and effectiveness of the designed genetic algorithm.
This research is motivated by a flowshop scheduling problem of our collaborative manufacturing company for aeronautic product. This company is composed of a set of multiple stages with each stage having parallel machines. According to our investigation, precision forging stage is the bottleneck because it has many WIP (work in progress) stock at different times. Therefore, we focus mainly on the scheduling method of this stage and its previous stage (heat-treatment).
The heat-treatment stage (HTS) combined with the precision forging stage (PFS) forms a two-stage hybrid flowshop system. Figure
Two-stage hybrid flowshop scheduling within collaborating company.
In contrast to general hybrid flowshop scheduling, some characteristics which emerged in this industrial case have substantiated the complexity of the problem. It is summarized as follows.
(1) In HTS, there are four parallel machines. Each machine can process a batch of jobs simultaneously. The method of loading job into these machines is unusual. It follows the principle that a new job can be loaded when one job is released. For each machine, only all the jobs which are loaded into the machine can be processed. It means that the start time of the batch of jobs is the loading time of the last loaded job of the machine. In this case, the capacity of each machine is five.
(2) In PFS of this case, there are two machines. Each machine can install any module of the four modules for processing the workpieces with different sizes, and the setup time and working time of each module should be considered. Each module has a processing range and can be reused. The workpieces with different sizes can be dealt with under the processing range of the module. But for each module, it should not be continuously used exceeding its working time at one time. Therefore, it is better to make all the modules could be used near to their working time at each time and try to avoid the setup of modules at the two machines simultaneously.
(3) In a general flowshop problem, buffers can be used to store jobs for waiting for the next process. However, in this case, the released jobs from HTS should be immediately transported to PFS because the workpieces will be affected with a large temperature difference. If PFS is not ready for a new job, the jobs must be blocked inside the machines although it is finished.
In order to deal with the above special characteristics, in this paper, the clustering and genetic algorithm is designed to calculate the good solution for this two-stage hybrid flowshop problem. The clustering is used to group the jobs according to the processing ranges of the different modules of PFS. The genetic algorithm is used to schedule the optimal sequence of the grouped jobs for the HTS and PFS. The research will improve the productivity for the manufacturing companies with these two-stage hybrid flowshop problems.
The rest of this paper is organized as follows. Section
Early researches majorly focused on mathematical methodologies and solution algorithms. Rahendran and Chaudhuri [
The optimal algorithm for hybrid flowshop scheduling is always a difficulty. Taking into account complexity and efficiency of algorithm, many methods have been applied in the solution of hybrid flowshop scheduling problems. At early phase, Maccarthy and Liu [
Two scheduling situations are named no-wait and blocking scheduling when there are no buffer storages between stages. In no-wait scheduling (NWS), jobs must be processed from start to finish without any interruption either on or between machines. In blocking scheduling (BS), a job completed at a machine must wait there until the next machine gets ready. These problems are usual in various industries such as smart factory, high technology industry, and chemical processing industry and have taken substantial research attention. Cheng et al. [
Although significant progress has been made in above researches, it is difficult to directly apply the relevant model and method to this case because of the characteristics described in Section
According to the two-stage (HTS and PFS) hybrid flowshop scheduling problem described in Section
Notations used through this paper are listed in notations section.
Based on the notations, the mathematical scheduling model is formulated as follows:
objective function
As seen in (
Constraints of this problem are
The clustering model is used to classify all jobs into multiple groups of size “
Two important parameters should be considered. The first is the size of the workpieces. The second is the processing time of the job in HTS.
Let set
Let set
For each size of
For the different processing time of each job, a cluster model is designed as follows.
The rules of regroup.
Condition | Regroup rules |
---|---|
|
The |
|
|
|
Use the operator of division to divide the size of |
After the above steps,
The flows of designed GA-based scheduling method follow the standard flows of genetic algorithm. It includes the following main parts.
As described in Section
An integer-based method is used to form the genes and chromosomes. The genes consist of a pair of integers like (
Based on genes, the chromosome can be defined as a queue that consists of different genes and char “:”. The length of the chromosome is the sum of the different genes. And it is decided by the length of set
The decoding scheme is also designed according to the gene and chromosome. And the purpose is to interpret the meaning of the chromosome. The char “:” which appeared in chromosome is to connect the genes, and the integer (
Fitness function is used to calculate the value of each individual in order to determine the performance of chromosomes of the entire population. In this case, the objective function (
Selection operator is used to select the optimal parents according to the fitness for generating new offspring.
Crossover operator is used as main genetic operator and the performance depends on it. In this case, a multipoint crossover operator is designed to permute the job order as well as keep the legality of the generated chromosome.
The proposed crossover operator takes two parents and creates two offsprings. It propagates the structure and subschedule into offspring from one parent. And then it completes the offspring with remaining jobs derived from another parent. The detailed steps can be seen in Algorithm
Randomly select two parents Randomly create two integrate The genes from String String
Find the genes of Use “ String Find the genes of Use “ String
FOR each new parent ( Make the symbols “ until they reach the cross-section, namely from END FOR String String
Use tempJ to replace of the “0” from String Use tempI to replace of the “0” from String
Mutation operator just works on a single chromosome and generates offspring by altering one or more genes.
In this research, mutation uses the replaced genes derived from the same chromosome. It is widely applied to general genetic algorithms. Compared to crossover operator, it may be simple. Firstly, choose one chromosome for mutation. Then, two random positions of the chosen chromosome are selected and then replace their genes. For example, assume the parent is (1-2:3-3:2-1:5-4:6-1:8-2:7-3:10-4); two mutation positions (i.e., 2, 6) are chosen randomly. Then replace the genes (i.e., 3-3, 8-2) in selected positions and get the offspring, namely, (1-2:8-2:2-1:5-4:6-1:3-3:7-3:10-4).
Two hundred jobs are selected to simulate the problems of the collaborative company and verify the effectiveness of the designed clustering and GA method. Table
Parameters of the modules.
Module type | Processing range (cm) | Notational processing time (min) | Setup time (min) |
---|---|---|---|
Module 1 | (30, 40) | 300 | 20 |
Module 2 | (40, 50) | 280 | 20 |
Module 3 | (50, 60) | 270 | 40 |
Module 4 | (60, 70) | 260 | 40 |
Data of jobs.
|
Size (cm) | Processing time (min) | Blocking time (min) | Waiting time (min) |
---|---|---|---|---|
|
31 | 39 | 0 | 0 |
|
63 | 21 | 9 | 7 |
|
69 | 15 | 7 | 6 |
|
|
|
|
|
|
40 | 35 | 3 | 1 |
|
|
|
|
|
|
51 | 29 | 5 | 7 |
|
|
|
|
|
|
67 | 17 | 4 | 3 |
|
|
|
|
|
|
37 | 33 | 4 | 2 |
|
42 | 37 | 4 | 1 |
Table
Data of grouped jobs in HTS.
|
Range of sizes (cm) | Processing time (min) | Blocking time (min) |
|
---|---|---|---|---|
|
30-31 | 40 | 0 | 88.31% |
|
31-32 | 39 | 0 | |
|
32-33 | 38 | 2 | |
|
33-34 | 37 | 4 | |
|
34-35 | 36 | 2 | |
|
35-36 | 35 | 3 | |
|
36-37 | 34 | 4 | |
|
37-38 | 33 | 4 | |
|
38-39 | 32 | 5 | |
|
39-40 | 31 | 6 | |
|
40-41 | 35 | 3 | |
|
41-42 | 34 | 5 | |
|
42-43 | 33 | 4 | |
|
43-44 | 32 | 5 | |
|
44-45 | 31 | 1 | |
|
45-46 | 30 | 2 | |
|
46-47 | 29 | 3 | |
|
47-48 | 28 | 6 | |
|
48-49 | 27 | 7 | |
|
49-50 | 26 | 8 | |
|
50-51 | 30 | 5 | |
|
51-52 | 29 | 6 | |
|
52-53 | 28 | 3 | |
|
53-54 | 27 | 4 | |
|
54-55 | 26 | 2 | |
|
55-56 | 25 | 3 | |
|
56-57 | 24 | 4 | |
|
57-58 | 23 | 0 | |
|
58-59 | 22 | 0 | |
|
59-60 | 21 | 0 | |
|
60-61 | 24 | 3 | |
|
61-62 | 23 | 4 | |
|
62-63 | 22 | 8 | |
|
63-64 | 21 | 9 | |
|
64-65 | 20 | 7 | |
|
65-66 | 19 | 2 | |
|
66-67 | 18 | 3 | |
|
67-68 | 17 | 4 | |
|
68-69 | 16 | 5 | |
|
69-70 | 15 | 7 |
Table
Data of grouped jobs in PFS.
|
Range of sizes (cm) | Processing time (min) | Waiting time (min) |
---|---|---|---|
|
30-31 | 30 | 0 |
|
31-32 | 27 | 0 |
|
32-33 | 25 | 3 |
|
33-34 | 23 | 4 |
|
34-35 | 21 | 1 |
|
35-36 | 19 | 2 |
|
36-37 | 17 | 2 |
|
37-38 | 16 | 2 |
|
38-39 | 15 | 3 |
|
39-40 | 13 | 5 |
|
40-41 | 29 | 1 |
|
41-42 | 26 | 3 |
|
42-43 | 24 | 1 |
|
43-44 | 22 | 3 |
|
44-45 | 20 | 0 |
|
45-46 | 18 | 0 |
|
46-47 | 16 | 0 |
|
47-48 | 15 | 2 |
|
48-49 | 14 | 4 |
|
49-50 | 12 | 5 |
|
50-51 | 28 | 6 |
|
51-52 | 26 | 7 |
|
52-53 | 23 | 5 |
|
53-54 | 21 | 6 |
|
54-55 | 19 | 2 |
|
55-56 | 17 | 3 |
|
56-57 | 16 | 4 |
|
57-58 | 15 | 0 |
|
58-59 | 13 | 0 |
|
59-60 | 11 | 0 |
|
60-61 | 27 | 4 |
|
61-62 | 25 | 6 |
|
62-63 | 23 | 5 |
|
63-64 | 21 | 7 |
|
64-65 | 19 | 0 |
|
65-66 | 17 | 0 |
|
66-67 | 16 | 0 |
|
67-68 | 14 | 3 |
|
68-69 | 12 | 4 |
|
69-70 | 11 | 6 |
Scheduling result of modules in PFS.
|
|
|
|
|
|
|
|
|
|
| |
---|---|---|---|---|---|---|---|---|---|---|---|
1 | 285 | 240 | 285 | 220 | 20 | 20 | 20 | 0 | 95 | 115 | 95.34% |
2 | 275 | 275 | 230 | 205 | 20 | 20 | 20 | 20 | |||
3 | 190 | 270 | 260 | 220 | 40 | 0 | 40 | 40 | |||
4 | 185 | 220 | 260 | 260 | 40 | 40 | 40 | 40 |
The result shows that the two stages have good efficiency. The efficiency of HTS is 88.31% and the efficiency of PFS is 95.34%. The efficiency of PFS is high, and each module can be used near to its notational processing time. Therefore, it is a conclusion that the computational solution is a suitable solution for this scheduling problem.
This paper introduces a clustering and genetic algorithm based method to solve the scheduling problem of a two-stage, HTS and PFS, hybrid flowshop problem. This problem is characterized by many constraints, such as batching operation, blocking environment, and setup time and working time limitations of modules. The clustering is used to group the jobs according to the processing ranges of the different modules of PFS. The genetic algorithm is used to schedule the optimal sequence of the grouped jobs for HTS and PFS. The designed algorithm is proven useful through a case study. Several advantages such as faster processing time, better utilization, and higher efficiency of HTS and PFS come out with this method.
Currently, we only use the data simulation to verify the designed clustering and genetic algorithm. According to the further requirements of the collaborative company, this method should be improved for application. Furthermore, more practical experiences such as line balance of PFS will be considered and added to mathematical model. This will help to optimize the GA model and help to achieve better scheduling results for real-life manufacturing companies.
The total number of jobs
The set of
Nominal working time of module
The number of grouped jobs after clustering
The set of
The
Represents the number of machines of the two stages
The processing time of each job (
The blocking time of job (
The minimum blocking time of each job (
Processing time of the
The wait time of the
Working time of Model
The setup time of Model
Start time of the
Finish time of the
The
Start processing time of the
Finish processing time of model
The authors declare that there is no conflict of interests regarding the publication of this paper.
The authors would like to acknowledge financial supports of the National Science Foundation of China (51175435), the Program for New Century Excellent Talents in University (NCET-12-0463), and the Doctoral Fund of Ministry of Education of China (20136102110022).