We propose an efficient heuristic algorithm for two-stage hybrid flowshop scheduling with sequence-dependent setup times. In the past, metaheuristic approaches, which usually need long time, have been mostly used for the problem. In this study, due to practical reasons of the application that we consider, we need to obtain the solution of the problem within a reasonably short computational time, even for large-sized problems. In this study, we devise the proposed algorithm as a hybrid of two methods, that is, the beam search and NEH method, and we compare the performances with other existing local search methods. The results of the computational experiments show that the proposed algorithm solves the problems in a relatively shorter computation time, while the scheduling performances are superior to the existing methods.
For the past several decades, many researchers have studied hybrid flowshop (HFS) scheduling problems. Among the HFS problems, two-stage HFS scheduling problems are considered simpler problems; however, there have been many studies considering two-stage HFS due to its practical and diverse applications [
HFS scheduling has been known as a complex problem because the simplest system in HFS, that is, two-stage HFS without SDST, was proven as NP-hard by Gupta [
In this study, we consider the two-stage HFS scheduling problem with SDSTs, which originates from the real application, that is, automated optimal inspection (AOI) machine operations. The following section presents a detailed description of the AOI machine operation problem. Additionally, in this study, we consider important factors for operators in the practical fields, that is, that the AOI machine operations should be done within a reasonably short time, even for large operations. Thus, we propose a method that can solve the problem with up to 400 jobs within a very short time. (Note that problems with around 100 jobs were the largest in previous research.) To achieve such practical requirements, we devise the proposed method with two efficient heuristics other than metaheuristics, which commonly require long computation times. We combine two heuristics properly so that the proposed method is effective as well as efficient in solving the considered problems.
The rest of the paper is organized as follows. In the following section, we describe in detail the problem considered in this study. Section
In the printed circuit board (PCB) manufacturing process, AOI machines inspect whether or not the components on the PCB are correctly mounted with vision technologies. A typical aspect of the AOI machine focuses on camera movement, depicted in Figure
Structure of AOI machine [
As we can see in Figure
Camera path and FOVs on a PCB [
In Figure
The traditional AOI machine path planning problem is to find the optimal camera path that minimizes total working time [
Using 3D images enhances the quality of the inspection; however, the time of inspection increases due to 3D image processing. To reduce the image processing time, 3D AOI machines usually have multiple CPU cores. In traditional AOI machines, that is, 2D AOI machines, the total working time is mainly determined by the move time of the camera, whereas, in 3D AOI machines, the total working time is affected not only by the move time but also by the image processing times of FOV.
In this study, we consider the path planning problems on 3D AOI machines, in which the camera path, that is, the FOV visit sequence, is determined with the objective of minimizing the total working time. The following constraints should be met: the camera must visit the center positions of all given FOVs; when the picture of an FOV is acquired by the camera’s shooting, the camera starts to move to the next FOV and the image processing of the FOV is simultaneously performed on one of the available CPU cores. If there is no available CPU core, the image processing waits until a CPU becomes available.
In this subsection, we first present that the considered problem, that is, the 3D-AOI-PPP, is equivalent to a scheduling problem, which is the two-stage HFS with an SDST scheduling problem (2S-HFS-SDST-SP).
In 3D-AOI-PPP, inspection of one FOV consists of two operations: acquiring a picture of the FOV and processing a 3D image of the acquired FOV, which can be corresponded to the first and second operations in 2S-HFS-SDST-SP, respectively. An AOI machine has one camera and multiple CPU cores, which correspond to a single machine at Stage 1 and identical parallel machines at Stage 2 in 2S-HFS-SDST-SP. To inspect the next FOV in 3D-AOI-PPP, a certain amount of time is needed to move the camera, which can be considered as the SDST between two consecutively operated jobs at Stage 1 in the 2S-HFS-SDST-SP. In 3D-AOI-PPP, we decide the visit sequence of all the given FOVs to minimize the total working time, which is the same as with 2S-HFS-SDST-SP such that the job sequence is decided with the objective of minimizing the makespan. Consequently, the 3D-AOI-PPP can be considered the same problem as the 2S-HFS-SDST-SP. This is similar to the fact that the TSP is equivalent to a single machine with an SDST scheduling problem [
Comparison between 3D-AOI-PPP and 2S-HFS-SDST-SP.
3D-AOI-PPP | 2S-HFS-SDST-SP | |
---|---|---|
Problem configurations | FOVs to be inspected | Jobs to be done |
One camera | Single machine at Stage 1 | |
Multiple CPU cores | Identical parallel machines at Stage 2 | |
Shooting time | Processing time at Stage 1 | |
Image processing time | Processing time at Stage 2 | |
Move time between two FOVs | Sequence-dependent setup time between two jobs | |
|
||
Decision variable | Visit sequence of all FOVs | Operation sequence of all jobs |
|
||
Objective functions | Minimize total working time | Minimize makespan |
As mentioned previously, the two-stage (HFS) scheduling problem, even without the SDST, is NP-hard and there is no research that tries to solve the 2S-HFS-SDST-SP with mathematical models. However, mathematical formulation can be a tool to understand the problem precisely. In this study, using the formulation by Kurz and Askin [
Using Notations, we can present a mathematical model for the considered scheduling problem. In the formulation, we use job 0 as a dummy job to impose the setup time for job 1 and the processing time of job 0 is set to be zero. We also assume that all jobs must visit both stages according to the requirements of the AOI path planning problem.
To solve the considered problem, we propose a method that combines two heuristics, that is, beam search and NEH. The beam search introduced by Ow and Morton [
The proposed method consists of three parts: the first part is constructing the initial solution, the second part is the beam search with the embedded NEH, and the last part is the improvement procedure by job-pair interchange and job insertion, which is also modified as a beam search style. In the second part, we present the procedure of constructing the initial solution. We based the procedure on the famous Johnson’s rule, which was originally used for a two-stage flowshop scheduling problem with minimizing makespan [
After obtaining the initial solution with the above JS, we apply the beam search with the embedded NEH to improve the solution. While the NEH maintains only one best solution at each level for branching, the beam search proposed in this study maintains multiple best solutions. The maximum number of solutions maintained at each level of the search tree is called
In Step 2, the available positions for job
Because the beam search maintains
In both procedures, Step 0 needs a given solution to initiate the procedure, which can be obtained from JS or BS or even BPI or BNI. As mentioned previously, the proposed method consists of the three phases: the initial solution is first obtained using JS; then, BS is applied, and the final improvement procedure is applied with a combination of BPI and BNI. In this study, we use BPI and BNI alternately with small iterations. For example, the procedures are not applied with “
After the preliminary tests, the following procedure is selected as the final proposed method, that is, “
To investigate the performance of the proposed algorithm, we introduce three benchmark methods, including two metaheuristics and one existing heuristic method. In this section, we present each benchmark method.
For the first benchmark method, we introduce a genetic algorithm that borrows the procedure of the RKGA, which is the algorithm proposed by Kurz and Askin [
In each iteration, the next generation is constructed as follows: 20% of the sequences (i.e., chromosomes) in the parent generation, which have the minimum makespans, are automatically moved to the next generation; 1% of chromosomes in the next generation are randomly generated. We obtain the remaining 79% of chromosomes in the next generation by applying crossover operations on the parent generation; that is, making a new chromosome requires that we randomly select two different chromosomes (denoted as 1st and 2nd here) in the parent generation. Each gene value of the new chromosome is then decided as a corresponding gene of the 1st or 2nd chromosome. For each gene, a random number is generated. If the value is less than 0.7, the gene value of the 1st chromosome is used; otherwise, the gene value of the 2nd chromosome is used. Through this crossover procedure, we construct 79% of the next generation. The iteration continues until finding 2,000 consecutive generations without solution improvement. This genetic algorithm is denoted as GA in the rest of the paper.
In addition to the previously introduced GA, another metaheuristic method, that is, simulated annealing (SA), is additionally used as a benchmark method. SA has been one of the most widely used metaheuristic methods in combinatorial optimization problems since being introduced by Kirkpatrick et al. [
In this study, several features of the SA are manipulated for the considered problem. Once the initial solution is generated by the JS, in each iteration (i.e., at one temperature), a new solution is generated through a neighborhood search. In this study, positions of two randomly selected jobs in the current solution are interchanged to generate a neighborhood solution. This process repeats until the number of neighborhood solutions reaches the prespecified neighborhood size. If the best among the neighborhood solutions has a shorter makespan than the current solution, the current solution moves to the new solution. Otherwise, the current solution does not change; however, with very small amount of the prespecified probability, the solution moves to the new solution, even if the solution quality is not improved. This feature makes the SA more powerful; that is, it enables the search to escape from the local optimum.
To specify the search characteristics and termination condition of the SA, we used parameters introduced in Johnson et al. [
The last benchmark method is the heuristic method proposed by Lee et al. [
To verify the performance of the proposed method, we conducted computation experiments. In these computational experiments, we investigate the performance of the proposed method compared to those of the benchmark methods introduced in the earlier section. In the following subsections, we present features of the tested problems used in the computational experiments, and we present the results of the experiments in scheduling and computing performances. All the tested methods were implemented in C language and the computational experiments were performed on a PC with 3.20 GHz i5 CPU and 3 GB RAM.
In this study, the tested problems are randomly generated; however, the ranges of values are set based on real 3D AOI problems. That is, we first generate the problem data for the 3D AOI machine path planning problem and transform it into data for the two-stage HFS with an SDST scheduling problem. For example, we first generate
To generate the various types of problems, we vary the number of jobs in four levels, that is, 50, 100, 200, and 400, and the number of machines at Stage 2 in three levels, that is, 4, 8, and 16. For each instance of the problem, we generate ten replications. In total, 120
In the test, we compare the proposed method (BS+) with three benchmarks, that is, GA, SA, and NEH+ in terms of the scheduling performance and computing speed. Table
Performance results of the tested methods across the different job sizes.
# of jobs | GA | SA | NEH+ | BS+ |
---|---|---|---|---|
50 | 80.0† | 75.8 | 75.4 | 74.8 |
(0)‡ | (7) | (6) | (17) | |
|
||||
100 | 154.0 | 141.0 | 137.5 | 137.2 |
(0) | (2) | (9) | (19) | |
|
||||
200 | 314.2 | 283.5 | 273.2 | 273.2 |
(0) | (3) | (11) | (16) | |
|
||||
400 | 636.2 | 609.9 | 530.5 | 530.6 |
(0) | (1) | (18) | (11) | |
|
||||
Overall | 296.1 | 277.5 | 254.1 | 253.9 |
(0) | (13) | (44) | (63) |
‡Number of instances that the corresponding method gave the best solution.
As you can see from Table
Table
Performance results of the tested method across different numbers of machines.
# of machines | GA | SA | NEH+ | BS+ |
---|---|---|---|---|
4 | 415.1† | 404.0 | 403.9 | 403.5 |
(0)‡ | (10) | (9) | (21) | |
|
||||
8 | 247.5 | 218.6 | 213.5 | 213.3 |
(0) | (3) | (15) | (22) | |
|
||||
16 | 225.7 | 210.0 | 145.0 | 145.0 |
(0) | (0) | (20) | (20) | |
|
||||
Overall | 296.1 | 277.5 | 254.1 | 253.9 |
(0) | (13) | (44) | (63) |
In the next results of the test, we show the computing speed of the tested method. Table
Computational times of the tested method across different job sizes.
# of jobs | GA | SA | NEH+ | BS+ |
---|---|---|---|---|
50 | 7.1† | 0.7 | 1.0 | 0.8 |
(0)‡ | (21) | (0) | (9) | |
|
||||
100 | 21.4 | 3.2 | 3.6 | 2.8 |
(0) | (3) | (0) | (27) | |
|
||||
200 | 69.2 | 13.4 | 13.4 | 10.3 |
(0) | (0) | (0) | (30) | |
|
||||
400 | 120.1 | 53.7 | 53.0 | 41.1 |
(1) | (0) | (0) | (28) | |
|
||||
Overall | 54.5 | 17.7 | 17.7 | 13.8 |
(1) | (24) | (0) | (94) |
Computational times of tested methods across different numbers of machines.
# of machines | GA | SA | NEH+ | BS+ |
---|---|---|---|---|
4 | 33.9† | 14.5 | 11.6 | 8.2 |
(0)‡ | (3) | (0) | (37) | |
|
||||
8 | 65.5 | 18.0 | 18.2 | 14.2 |
(0) | (8) | (0) | (32) | |
|
||||
16 | 64.0 | 20.7 | 23.4 | 18.9 |
(1) | (13) | (0) | (25) | |
|
||||
Overall | 54.5 | 17.7 | 17.7 | 13.8 |
(1) | (24) | (0) | (94) |
Through the various results of the experiments, we can see that the proposed method shows the outperformance over the benchmarks in diverse problems. Although a slight scheduling performance gap between NEH+ and the proposed method can be seen, BS+ definitely delivers a higher number of best instances as compared to NEH+. Furthermore, in terms of the computational time, we can say that BS+ is more efficient than NEH+.
In this study, we considered the two-stage HFS scheduling problem with SDSTs. The considered problem was motivated by the practical application from automated optimal inspection machine operations in which the jobs need to be done within a reasonably short time. Thus, we proposed an efficient heuristic algorithm embedded with the NEH procedure in the beam search framework. From the series of the computational experiments, we found that the proposed algorithm produced the solutions in a shorter time than the benchmark methods, including two metaheuristic methods. Furthermore, the experimental results also showed that the scheduling performance of the proposed algorithm is placed in the best among the benchmark methods.
Number of jobs ( Number of machines at Stage 2 ( Processing times of each job at Stage 1: 20. Processing times of job Sequence-dependent setup times between two jobs (see Table
Job | 1 | 2 | 3 | 4 | 5 | 6 |
|
||||||
|
122 | 226 | 83 | 319 | 64 | 217 |
( |
1 | 2 | 3 | 4 | 5 | 6 |
---|---|---|---|---|---|---|
1 | 0 | 45 | 34 | 24 | 40 | 34 |
2 | 45 | 0 | 56 | 64 | 81 | 56 |
3 | 34 | 56 | 0 | 53 | 33 | 68 |
4 | 24 | 64 | 53 | 0 | 44 | 25 |
5 | 40 | 81 | 33 | 44 | 0 | 67 |
6 | 34 | 56 | 68 | 25 | 67 | 0 |
First, we illustrate the step-by-step procedure of solving the above example problem by Johnson’s rule-based procedure (JS).
Using JS, we obtained a solution,
# | Candidate solutions | Makespan |
---|---|---|
1 |
|
623 |
2 |
|
609 |
For |
For |
||||
---|---|---|---|---|---|
# | Candidate solutions | Makespan | # | Candidate solutions | Makespan |
1 |
|
609 | 4 |
|
623 |
2 |
|
|
5 |
|
586 |
3 |
|
591 | 6 |
|
|
For |
For |
||||
---|---|---|---|---|---|
# | Candidate solutions | Makespan | # | Candidate solutions | Makespan |
1 |
|
|
5 |
|
582 |
2 |
|
585 | 6 |
|
632 |
3 |
|
623 | 7 |
|
|
4 |
|
581 | 8 |
|
630 |
For |
For |
||||
---|---|---|---|---|---|
# | Candidate solutions | Makespan | # | Candidate solutions | Makespan |
1 |
|
|
6 |
|
580 |
2 |
|
697 | 7 |
|
587 |
3 |
|
659 | 8 |
|
|
4 |
|
620 | 9 |
|
625 |
5 |
|
647 | 10 |
|
615 |
†Two different solutions have the same minimum makespan.
For |
For |
||||
---|---|---|---|---|---|
# | Candidate solutions | Makespan | # | Candidate solutions | Makespan |
1 |
|
|
1 |
|
|
2 |
|
|
2 |
|
607 |
3 |
|
677 | 3 |
|
647 |
4 |
|
658 | 4 |
|
610 |
5 |
|
626 | 5 |
|
612 |
6 |
|
672 | 6 |
|
633 |
‡Three different solutions have the same minimum makespan.
The final solution of BS(2) for the example problem has the makespan of 571, which has been improved from the initial solution obtained by JS, whose makespan was 623.
Number of jobs
Number of machines at Stage 2
Processing time of job
Sequence-dependent setup time between jobs
Completion time of job
1, if job
Makespan, that is, the completion time of the job finished last at Stage 2.
The authors declare that there is no conflict of interests regarding the publication of this paper.
This paper was supported by Konkuk University in 2013.