Expert Systems with Applications 42 (2015) 2395–2410
Contents lists available at ScienceDirect
Expert Systems with Applications journal homepage: www.elsevier.com/locate/eswa
Metaheuristics optimization approaches for two-stage reentrant flexible flow shop with blocking constraint Chatnugrob Sangsawang a, Kanchana Sethanan a,⇑, Takahiro Fujimoto b, Mitsuo Gen c a
Research Unit on System Modeling for Industry, Department of Industrial Engineering, Faculty of Engineering, Khon Kaen University, Khon Kaen 40002, Thailand Manufacturing Management Research Center, Faculty of Economics, University of Tokyo, Tokyo 113-0033, Japan c Fuzzy Logic Systems Institute, Iizuka, Fukuoka 820-0067, Japan b
a r t i c l e
i n f o
Article history: Available online 6 November 2014 Keywords: Hybrid genetic algorithm (HGA) Hybrid particle swarm optimization (HPSO) Reentrant flexible flow shop (RFFS) Blocking constraint Hard disk drive (HDD) manufacturing
a b s t r a c t This paper addresses a problem of the two-stage reentrant flexible flow shop (RFFS) with blocking constraint (FFS|2-stage,rcrc,block|Cmax). The objective is to find the optimal sequences in order to minimize the makespan. In this study, the hybridization of GA (HGA: hybrid genetic algorithm) with adaptive auto-tuning based on fuzzy logic controller and the hybridization of PSO (HPSO: hybrid particle swarm optimization) with Cauchy distribution were developed to solve the problem. The encoding and decoding routines that appropriate for blocking constraint and Relax-Blocking algorithm for improving chromosome and particle were suggested. Experimental results reveal that the HPSO and HGA algorithms give better solutions than the classical metaheuristics, GA and PSO, for all test problems respectively. Additionally, the relative improvement (RI) of the makespan solutions obtained by the proposed algorithms with respect to those of the current practice is performed in order to measure the quality of the makespan solutions generated by the proposed algorithms. The RI results show that the HGA and HPSO algorithms can improve the makespan solution by averages of 15.51% and 15.60%, respectively. We found that the performance of the HGA is not significantly competitive as compared to the HPSO but its computational times are significantly higher than those of the HPSO. Ó 2014 Elsevier Ltd. All rights reserved.
1. Introduction Scheduling plays an essential role in the entire manufacturing system. Production scheduling problems exist frequently in production environments whenever resources are required to perform a set of operations on jobs, and also when each operation can be accomplished in more than one way (Randhawa, 1997). In this paper, we consider a flexible flow shop scheduling (FFS) problem. It is a generalization of the flow shop and the parallel processor environments and is alternatively called a hybrid flow shop or multiprocessor flow shop. In the most general setting of a flexible flow shop environment, there are multiple stages (S stages), each of which consists of m(s) (s = 1, 2, 3,. . .,S) parallel processors. The processors in each stage may be identical, uniform, or unrelated. In a FFS environment, each job is processed first at stage 1, then at stage 2, and so on. Normally, a job requires only one machine at
⇑ Corresponding author. Tel.: +66 815536429 (mobile); fax: +66 43 362299/ 472735. E-mail addresses:
[email protected] (C. Sangsawang), ksethanan@ gmail.com (K. Sethanan),
[email protected] (T. Fujimoto), mitsuogen@ gmail.com (M. Gen). http://dx.doi.org/10.1016/j.eswa.2014.10.043 0957-4174/Ó 2014 Elsevier Ltd. All rights reserved.
each stage and any machine can process any job. Arthanari and Ramamurthy (1971) and Salvador (1973) are the pioneers who have defined the FFS problem. Since the concept of the FFS scheduling problem was proposed, it has been widely studied. However, the classical FFS has been frequently criticized because of its excessive simplicity. In fact, the real production environment is more complex. As a result, many researchers have proposed a variety of FFS models based on the classical FFS scheduling problems (Li, Chen, Mao, Wang, & Liu, 2013). This research has been motivated by a real-world case in a hard disk drive (HDD) manufacturing company. Due to dynamics and uncertainties occurring in all various prior processes, a functional HDD test system is a very crucial operation. It is required to find the attributes of a particular HDD and to provide various monitoring indicators of disk reliability before packaging for shipment. Currently, the test process is the bottleneck in HDD manufacturing because of its extremely complicated process. In the test process, all HDDs from the assembly process must be tested by loading to the tester machine. However, the HDD testing machine is a hightechnology machine and very costly. Inside the machine, there are many slots for loading disks operated by the single robot arm installed in the tester machine. For each slot, two HDDs must be
2396
C. Sangsawang et al. / Expert Systems with Applications 42 (2015) 2395–2410
inserted and tested simultaneously. The tester machine starts testing according to the testing program depending on product types. Normally, the test times of the HDDs are highly different ranging from 5 h to 80 h. Once the HDDs finish the test, they are taken out simultaneously by the robot arm. However, the operations for loading the disk into the slot and unloading it out are performed by the robot arm only when it is available. That means if the robot arm is not free, even though the HDD has finished the test, the HDD must remain in the slot until the robot arm is available. The test characteristics and complex machine operation may cause inefficient HDD scheduling of the tester machine and cause difficulties in managing the production system as a whole, effectively leading to the company suffering from low production throughput. Therefore, it is crucial to develop an efficient scheduling system that can help to improve its system performance and also reduce unnecessary investment costs on the tester machines to be required as they should be. Hence, this problem is formed as a two-stage flexible flow shop. The first stage is the operation of the robot arm. This robot arm serves as the machine operating in this stage. The second stage is the testing operation. Slots in the tester machine serve as parallel machines in this stage. Since each HDD (i.e., job) must be loaded in the slot and loaded out from the slot by the robot arm, it is considered reentrant product flow (i.e., the job visits or enters each production stage several times). This assumption that contrasts with classical scheduling is known as the re-entrant hybrid flow shop (RHFS) problem. It is often found in high-tech industries such as the HDD industry (Chamnanlor, Sethanan, Chien, & Gen, 2013b). Additionally, the operation that the HDD must stay in the slot even though it has finished the test is considered as blocking. A scheduling problem with blocking arises in serial product lines where no intermediate buffer storage is available. In blocking scheduling, a job completed at a machine must remain there until the next stage becomes available (Luo, Huang, Zhang, Dai, & Chen, 2009). To categorize this problem into a standard type using the three field notation of Pinedo (2012), in this problem, the scheduling with complex recirculation (rcrc) and blocking (or no-wait) (block) constraints in flexible flow shop manufacturing (FFS) can be formulated as a deterministic FFS|2stage,rcrc,block|Cmax problem with the objective of minimizing the makespan. Since the two-stage reentrant flow shop scheduling problem with the objective to minimize makespan are known to be NP-hard (Wang, Sethi, & Van de Velde, 1997), in this paper, scheduling with complex recirculation (rcrc) and blocking (or nowait) (block) constraints in a flexible flow shop manufacturing problem with the objective of minimizing the makespan (FFS|2stage,rcrc,block|Cmax) is more complex than these problems and remains NP-hard. Therefore, this observation makes a strong case for the application of heuristics and metaheuristics to solve the problem. In this paper, we aim to find a job sequence that minimizes the makespan. Since, recently, hybridization of evolutionary algorithms is becoming popular due to their capabilities in handling various real world problems involving complexity and uncertainty, hybrid algorithms are selected to develop to solve this problem by combining the interesting properties of different methods to mitigate their individual limitations. Hence, a hybrid genetic algorithm (HGA) that is combination of classical GA and local search techniques is proposed. It is a skilful combination of a metaheuristic with other local search techniques providing a more efficient behavior and a higher flexibility (Chamnanlor et al., 2013b). In the same way, a hybrid particle swarm optimization (HPSO) that is a combination of classical PSO and local search techniques is also developed to study its performance in terms of efficiency and computation time. The paper is organized as follows. In Section 2, we present a literature review about the flexible flow shop scheduling
problem. In Section 3, we describe the two-stage reentrant flexible flow shop (RFFS) with blocking constraint (FFS|2-stage,rcrc,block|Cmax) in the industrial case in detail and give a problem definition. The current practice is introduced in Section 4. The proposed solution methodology of hybrid genetic algorithm (HGA) and hybrid particle swarm optimization (HPSO) is described in Section 5. In Section 6, we demonstrate a numerical experiment of the model for comparing traditional GA and PSO with the hybrid genetic algorithm and hybrid particle swarm optimization. Finally we give a summary in Section 7.
2. Literature review The flexible flow shop scheduling problem may be seen as a generalization of two particular types of scheduling problems: the parallel machine scheduling (PMS) problem and the flow shop scheduling (FSS) problem. The key decision of the PMS problem is the allocation of jobs to machines whereas the key decision of FSS is the sequence of jobs through the manufacturing shop floor. The flexible flow shop problem has been widely studied in the literature. The machines considered in each stage of the flexible flow shop problem are different and can be identical machines, see for instance, Gupta, Krger, Lauff, Werner, and Sotskov (2002), Alisantoso, Khoo, and Jiang (2003), Lin and Liao (2003), and Wang and Hunsucker (2003), and see Kyparisis and Koulamas (2006) for uniform machines, and Jungwattanakit, Reodecha, Chaovalitwongse, and Werner (2009) for unrelated machines. Moreover, flexible flow shops are categorized based on product flow as: (a) flexible flow shops with unidirectional flows; and (b) flexible flow shops with reentrant flows. In the unidirectional product flows, each job starts at the first stage and finishes at the last stage while processed by one of the parallel machines at each stage. On the other hand, in the reentrant product flows, each job may visit the same stage several times. The flexible flow shop scheduling with unidirectional product flow has been widely studied in the literature including from 2stage flexible flow shop to multi-stage flexible flow shop. For instance, Gupta and Tunc (1991) investigated the two-stage hybrid flow shop scheduling problem with parallel machines only at the second stage, and they develop heuristic algorithms to solve the problem for the objective of minimizing makespan. Since an exact algorithm may take such a long computational time to derive a solution, a heuristic approach is proposed to solve such a problem, for instance, see Lee and Vairaktarakis (1994), Chen (1995), Lee and Park (1999) and Wang, Yang, and Chang (2012). In another scheduling for multi-stage hybrid flow shop scheduling problem, Riane, Artiba, and Elmaghraby (1998) considered a three-stage hybrid flow shop in the woodworking industry and suggested heuristic algorithms that minimize makespan, and Brah and Hunsucker (1991) considered the multi-stage hybrid flow shop scheduling problem and suggested a branch and bound algorithm with the objective of minimizing makespan. However, there is not much research in the flexible flow shop scheduling problem with reentrant product flows. Bertel and Billaut (2004) considered the multi-stage problem, and they apply a genetic algorithm (GA) to solve the problem with the objective of minimizing the weighted number of tardy jobs. Choi, Kim, and Lee (2005) suggested several list scheduling algorithms for the objective of minimizing the maximum tardiness. In addition to the reentrant product flows in the flexible flow shop scheduling problem, other research papers have considered the reentrant flow shop scheduling problems. For example, several approaches are suggested to solve the problem. Chen (2006) suggested branch and bound algorithm to solve the flow shop scheduling problem. Choi, Kim, and Lee (2011) suggested a real-time scheduling mech-
2397
C. Sangsawang et al. / Expert Systems with Applications 42 (2015) 2395–2410
Ji
Stage 1
O1a
Stage 2: Mi
O2
O1b
Ji Fig. 2. Process flow of RFFS scheduling problem.
Fig. 1. Operation between the robot arm and the tester machine.
anism with decision tree to solve the reentrant hybrid flow shop in a thin film transistor-liquid crystal display (TFT-LCD). For the objective of minimizing total tardiness, Jeong and Kim (2014) presented a branch and bound algorithm in a two-machine re-entrant flow shop with sequence-dependent setup times. For large-size problems, metaheuristics and a hybrid approach are suggested to solve the reentrant flow shop with complexity and constraints. The metaheuristics developed are such as hybrid tabu search (see Chen, Pan, & Wu, 2008b), and hybrid Genetic algorithm (See Chamnanlor, Sethanan, Chien, & Gen 2013a; Chen, Pan, & Lin 2008a). In addition to the consideration of the reentrant constraint, this research also considers the blocking constraint. Normally, scheduling problems with blocking (or no-wait) are usually found in the form of a serial product line where no intermediate buffer storage is available. In blocking scheduling, jobs must be processed from start to finish without any interruption. A job completed at a machine must remain there until the downstream machine becomes available. For example, a scheduling problem with blocking or a no-wait scheduling case in the steel industry in which the processing time of an operation is dependent upon the wait and temperature (Wagneur & Sriskandarajah, 1993). The approach to solve the problem is mainly based on heuristics. Gilmore and Gomory (1964) have considered the solution algorithm of no-wait and blocking flow shop scheduling; the two-machine, no-wait flow shop problem is solved using a polynomial time algorithm. Bonny and Gundry, 1976 have developed heuristics to minimize the makespan of an m-machine no-wait flow shop problem. For the metaheuristics, a modified genetic algorithm, ant colony optimization and a random search procedure were used to analyze and optimize the production planning of a bakery production line (Hecker, Stanke, Becker, & Hitzmann, 2014). The result show that the makespan reducing by up to 8.6% and the total idle time of machines by up to 23%. In addition, Grabowski and Pempera (2007) developed a tabu search (TS) approach to minimize makespan for the blocking flow shop scheduling problem. Computational experiments show that the TS approach is more efficient than the genetic algorithm and Ronconi’s branch-and-bound method. Meanwhile, Wang, Pan, Suganthan, Wang, and Wang (2010a) proposed a hybrid discrete differential evolution (HDDE) algorithm by combining the presented discrete version of the differential evolution and inserting a neighborhood based local search procedure. It was shown that the HDDE performed much better than the TS approach and improved 112 out of 120 best-known solutions for Taillard benchmarks provided by Grabowski and
Pempera (2007). Recently, Wang, Pan, and Fatih Tasgetiren (2010b) suggested three hybrid harmony search (HS) algorithms, namely, hybrid harmony search (hHS) algorithm, hybrid globalbest harmony search (hgHS) algorithm and hybrid modified globalbest harmony search (hmgHS) algorithm for solving the flow shop scheduling with blocking to minimize the total flow time. The results show the effectiveness of the hybrid harmony search algorithms, especially the (hmgHS) algorithm, in solving the blocking flow shop scheduling. The metaheuristics approach can be applied extensively in many different scheduling problems, especially for complex and large-scale problems. Recently, a hybrid approach has been shown to obtain a better solution than the previous work applying the classical metaheuristics. For example, the Genetic Algorithm (GA) has been extensively hybrid with other algorithms and metaheuristics. In 2008, (Gao, Sun & Gen) proposed a new approach hybridizing genetic algorithm with Variable Neighborhood Descending (VND) to solve multiobjective flexible job shop scheduling problems (Mo-fJSP). The experimental results reveal that the proposed method can achieve a better solution than the previous study using classical GA. Additionally, a new GA hybridized with an innovative local search procedure (bottleneck shifting) was used to solve flexible job shop scheduling problems (fJSP) (Gao, Gen, Sun, & Zhao, 2007). Ten test problems were conducted. The results are compared with well-known problems. The comparison results show that their proposed method yields better solutions for four test problems and found the same good solutions for the rest test problems as those obtained by the combined efforts of previous works. Even though the hybrid GA can give a good solution in a short computational time, hybrid GA may not give the best solution in some problem types compared with other heuristics (Jenabi, Fatemi Ghomi, Torabi, & Karimi, 2007). Hence, other hybrid approaches rather than GA have been continuously developed such as Particle Swarm Optimization (PSO). A variant of the Particle Swarm Optimization algorithm called GLN-PSOc was proposed for the job shop scheduling problems with multi-purpose machines (MPMJSP) in Pongchairerks and Kachitvichyanukul (2009). The test results were compared to those of the efficient tabu-search approach and show
Stage 1
Stage 2: Mi
J1
J1
J2
J1
Fig. 3. Blocking constraint.
J2
J2
2398
C. Sangsawang et al. / Expert Systems with Applications 42 (2015) 2395–2410
that MPMJSP-PSO outperforms Nl-1000 from Hurink et al. (1994) (as cited in Pongchairerks and Kachitvichyanukul (2009)) for most problem types. Later in 2013, (Liao, Tjandradjaja & Chung) considered the hybrid flow shop (HFS) problem with the objective to minimize the makespan. They developed a new approach hybridizing PSO with bottleneck heuristic to fully utilize the bottleneck stage, and with Simulated Annealing (SA) to assist escape from local optima. Computational results show that the proposed PSO algorithm outperforms the PSO–SA algorithm, which in turn performs better than the classical PSO algorithm. Moreover, in some problem types such as in an assembly job shop, two hybrid evolutionary algorithms, HGA and HPSO with a lot streaming (LS) technique were compared. Computational results revealed that HGA is significantly better than HPSO under various operating conditions with and without LS (Wong & Ngan, 2013). From the literature, it can be seen that each problem type may require a different approach to solve the problem efficiently, especially for the problems with high complexity and conditions. Although several studies address different constraints in the flexible flow shop problem in the literature, very few studies consider such realistic constraints simultaneously. To the best of our knowledge, there is no attempt to jointly consider complex recirculation (rcrc) and blocking (or no-wait; block) which are the realistic constraints included in the problem formulation of this paper.
Normally, the test process is extremely complicated causing difficulties in managing the production system as a whole effectively. All HDDs from the assembly process must be tested by inputting in the tester machine which is a high-technology machine. There are 1,440 slots inside the machine to be loaded with the HDDs in for testing. Once the HDDs finish the test, they will be unloaded. The loading and unloading operations of the HDDs are operated by the robot arm installed in the tester machine (see Fig. 1). The Tester machine starts testing according to the testing program depending on product types. The HDD manufacturing system is considered as a flexible flow shop environment, but it is more complicated than the conventional flexible flow shop in 4 ways: (1) This research addresses various product types to be processed in a flexible flow shop environment. The products are processed in different capacities depending on customer requirements. Normally, the testing time of a product is highly different depending on program tests ranging between 5 h and 80 h because the HDD test concerns numerous dimensions including the serial number, model number, drive geometry, media rotation rate, and supported features resulting from various program tests for different product types. (2) For the robot arm operation, it serves as a multi-step manufacturing process. Hence, it is considered as re-entrant flow. (3) The operations for loading the disk into the slot and unloading it out are performed by the robot arm only if it is available. Hence, even though the HDDs have finished the test, they must remain in the slot until the robot arm is available. Hence, a blocking constraint exists. (4) Customer demands are varieties and widely encountered in high volume HDD manufacturing industry. The HDD products of all above operations consist of a complex manufacturing system. Hence HDD manufacturing must have high production flexibility to meet the customer demands while also meeting other production objectives.
3. Problem description The research was motivated by a case study of a HDD company in Bangkok, Thailand. The HDD manufacturing process is very complex consisting of more than 5,000 processes in series. Due to dynamics and uncertainties in HDD manufacturing, a functional HDD test system before packaging for shipment is hence required to ensure that all HDDs have good quality for customers. Hence, this paper focuses on the testing process which is one of the subprocesses in the Hard Disk Assembly (HDA) process.
procedure: RSHAC For RFFS input: RFFS problem data output schedule S begin step 1: Generate randomly job sequencing for all job step 2: Allocate job for (job j ; first order to last order) do step 2.1: In Stage 1, allocate job to earliest available time slot in Gantt chart step 2.2: In Stage 2, allocate job to machine which have maximum available end; output: schedule S end; Fig. 4. The procedure of the RSHAC algorithm used in current practice.
chromosome chromosome with blocking constraint
id :
1
2
3
4
5
6
7
8
9
10
vi
2
5
7
6
1
8
10
9
3
4
id :
1
vi
2
2
Job 2 Operation 1a Job 2 Operation 2 Job 2 Operation 1b
9
5
3
10
4
Job 4 Operation 1a Job 4 Operation 2 Job 4 Operation 1b
Fig. 5. Illustration of chromosome with job-based decoding routine with blocking constraint.
2399
C. Sangsawang et al. / Expert Systems with Applications 42 (2015) 2395–2410
procedure: evaluating P(t) Job-based decoding routine with block input: chromosome V(i) output: evaluate value (Cmax). begin step 1: Generate operation sequence in each job with blocking constraint for (job j; first order to last order) do step 2: Allocate job step 2.1: in Stage 1, allocate job to earliest available time slot in Gantt chart step 2.2: in Stage 2, allocate job to machine which have earliest ready time end output: evaluate value (Cmax). end; Fig. 6. The procedure of the job-based decoding routine with a blocking constraint.
Stage 1
M1,1
2
5
7
6
1
8
7
2
5
6
1
8
10
9
3
4
10
2
M1,2
9
3
4
9
M2,2
5
M3,2
7
3
10
Stage 2 M4,2
6
4
M5,2
1
M6,2
8
1
2
3
4
5
6
7
8
9
10
11
12 13
14
15
16 17
18
19 20
21
22
23
24
Fig. 7. The Gantt chart of an example chromosome.
Cutting point
id :
1
2
3
4
5
6
7
8
9
10
Parent 1 :
2
5
7
6
1
8
10
9
3
4
id :
1
2
3
4
5
6
7
8
9
10
Parent 2 :
6
8
5
4
2
10
7
3
9
1
Step 2: exchange substring by parents Substring by cutting points
id :
1
2
3
4
5
6
7
8
9
10
Offspring 1 : 2
5
7
6
1
10
7
3
9
1
1
2
3
4
5
6
7
8
9
10
Offspring 2 : 6
8
5
4
2
8
10
9
3
4
id :
Duplicated genes: 7, 1 Missed genes: 4, 8
Duplicated genes: 8, 4 Missed genes: 1, 7
Step 3: legalized the illegal offspring 4
id :
8
1
2
3
4
5
6
8
9
Offspring 1 : 2
5
7
6
1
10
7
3
9
1
1
2
3
4
5
6
7
8
9
10
Offspring 2 : 6
8
5
4
2
8
10
9
3
4
id :
1
7
Fig. 8. Illustration of One-cut point crossover operation.
25
26
27 28
29
30
2400
C. Sangsawang et al. / Expert Systems with Applications 42 (2015) 2395–2410
be processed in this stage. Hence, the scheduling considered in this paper is two-stage flexible flow shop with blocking and reentrant constraints where stage one consists of only one machine (i.e., robot arm) and stage two consists of identical parallel machines (FFS|2-stage,rcrc,block|Cmax). The objective of this simplified problem is to minimize the makespan.
Due to these complexities of the manufacturing system, solving the problem with consideration of real life in the final testing process is very difficult. Therefore, problem simplification is needed. The idea to simplify the problem setting can be done by reducing the number of slots and limiting to only one HDD to be tested in each slot. Hence, the processing times of jobs in both Stage 1 and Stage 2 are normalized by considering the utilization of the robot arm in stage1. Currently, this stage is the bottleneck since it consists of only one machine. Therefore, after normalizing the parameters, the characteristics of the testing system must remain the same as those of the real case. Hence, this normalized flexible flow shop to process n jobs is a two-stage flexible flow shop where Stage 1 consists of only one machine (i.e., robot arm) and Stage 2 consists of various identical parallel machines. Since, in Stage 1, the robot arm performs two operations: loading and unloading operations of the HDD, the reentrant flow exits in this stage (see Fig. 2). From this figure, each job must pass 3 operations (O1a, O2, O1b) with Operation O1a and O1b processed on the machine at Stage 1, while Operation O2 is processed on one of the identical parallel machines in Stage2. Once the operation 2 in Stage 2 is finished (i.e., HDD has finished the test), it must be processed in the machine at Stage 1 again (i.e., the HDD is unloaded) if the machine in Stage 1 is available (i.e., the robot arm is free). Otherwise, the HDDs must remain in the slot. Hence, a blocking constraint exists in this stage. In Fig. 3, it is noticed that once Job1 has finished processing at machine m in Stage 2, it must be re-processed in Stage 1 before Job2 starts to
4. Current practice Since the HDD test process uses high technology and very costly machine, the case study company mainly focuses on scheduling the HDDs in order to maximize machine utilization. Since types and number of HDDs in each type arrived to the tester machines are exactly unknown, the HDDs are scheduled to the tester machine based on the first come first serve (FCFS) policy. In order to assign the HDDs to the tester machine, the company currently employs the Random Sequence with Highest Available Capacity (RSHAC) approach (see Fig. 4). The RSHAC approach selects the tester machine with highest available capacity (i.e., highest number of slots available), and the slot with earliest available time to test is then selected. 5. The proposed algorithm Because there are limitations to the classical metaheuristics to solve complex problems efficiently, in this paper, the hybrid algorithms, HGA (hybrid genetic algorithm) and HPSO (hybrid particle
exchanging
id :
1
2
3
4
5
6
7
8
9
Parent :
2
5
7
6
1
10
4
3
9
8
id :
1
2
3
4
5
6
7
8
9
10
Offspring :
2
5
3
6
1
10
4
7
9
8
10
Random 2 genes and swap position
Fig. 9. Illustration of swap mutation operation.
procedure: roulette wheel selection routine input: population P(t-1), C(t-1) output: population P(t), C(t) step 1: Calculate the total fitness of the population eval (vk )= 1 F=
C max
popsize
∑ eval (vk )
k =1
step 2: Calculate selection probability pk for each chromosome vk pk =
eval ( vk )
F
, k = 1,2,..., popsize
step 3: Calculate cumulative probability qk for each chromosome vk k
qk =
∑ p , k = 1,2,..., popsize j
j =1
step 4: Generate a random number r from the range [0, 1] step 5: Select the chromosome which compare with a random number r. If r ≤ q1, then select the first chromosome v1; otherwise select the kth chromosome vk (2 ≤ k ≤ popsize) such that qk-1 < r < qk output population P(t), C(t) end; Fig. 10. The procedure of the roulette wheel selection routine.
C. Sangsawang et al. / Expert Systems with Applications 42 (2015) 2395–2410
swarm optimization), are developed to minimize the makespan for the two-stage RFFS (reentrant flexible flow shop) scheduling problem with blocking constraint (FFS|2-stage,rcrc,block|Cmax). Details of the algorithms are presented below. 5.1. Hybrid Genetic algorithm This subsection starts with developing a HGA algorithm for the FFS|2-stage,rcrc,block|Cmax problem. The proposed HGA algorithm includes several features described as follows: 5.1.1. Job-base encoding and decoding algorithms with blocking constraint Since traditional binary encoding cannot be directly applied to a complicated scheduling problem, especially including the reentrant and blocking constraints, thus it is very difficult to generate a chromosome for the feasible process step, and it will require superfluous amounts of memory since it has to check and repair a lot of genes when it is decoded. In 1994, however, Gen, et al. proposed the operation-based representation; encoding a schedule as a sequence of operations and each gene standing for one operation (Gen, Tsujimura, & Kubota, 1994). For this paper, chromosome representation is developed using a job-based encoding routine with a blocking constraint. The number of genes in each chromosome equals the number of jobs for each test problem, and one gene represents the job order for each operation. For example, consider a problem with a 2-stage flexible flow shop problem with three operations where reentrancy occurs in stage 1. The chromosome of the 10 jobs can be developed as presented in Fig. 5. In this figure, there are 10 genes, each of which represents the priority order of all operations (i.e., O1a, O2, O1b) for each job. For the chromosome decoding, a job-based decoding routine with a blocking constraint is developed in order to make a production schedule X = {Oij; Mm, sijcij} where oij denotes job i in operation j which should be produced by machine m in that stage. The starting time (sij) and the completion time (cij) in operation j of job i will be calculated and defined for each operation. From Fig. 5, there is only one machine in the first stage and there are 6 machines in the second one. Hence, for decoding the chromosome in Fig. 6, the feasible schedules of the FFS|2stage,rcrc,block|Cmax scheduling problem can be denoted by the schedule based on the job sequence as: Schedule X = {(O2,1a,M1,0–1), (O2,2,M1,1–7), (O2,1b,M1,7–8), (O5,1a,M1,1–2), (O5,2,M2,2–7), (O5,1b,M1,8–9), (O7,1a,M1,2–3), (O7,2,M3,3–6), (O7,1b,M1,6–7), (O6,1a,M1,3–4), (O6,2,M4,4–8), (O6,1b,M1,9–10), (O1,1a,M1,4–5), (O1,2,M5,5–9), (O1,1b,M1,10–11), (O8,1a,M1,5–6), (O8,2,M6,6–8), (O8,1b,M1,11–12), (O10,1a,M1,12–13), (O10,2,M3,13–18), (O10,1b,M1,18–19), (O9,1a,M1,13–14), (O9,2,M1,14–21),
2401
(O9,1b,M1,21–22), (O3,1a,M1,14–15), (O3,2,M2,15–24), (O3,1b,M1,24– 25), (O4,1a,M1,15–16), (O4,2,M4,16–24), (O4,1b,M1,25–26)}. Schedule X can be illustrated in the Gantt chart shown in Fig. 7. 5.1.2. One-cut point crossover operation Crossover is an operation to generate a new string (i.e., child) from two parent strings. It is the main operator for GA. During the past years, various crossover operators had been proposed. Hence, the one-point crossover method is used in this study. One-cut point crossover is illustrated in Fig. 8. The set of jobs between randomly selected points is always inherited from one parent to the child, and the other jobs are placed in the order of their appearance in the other parent. 5.1.3. Swap mutation operation Mutation is another usually used operator for GA. Such an operation can be viewed as a transition from a current solution to its neighborhood solution in a local search algorithm. It is used to prevent premature solution and falling into a local optimum. This research used a swap mutation operation which is a method to randomly select two genes in a chromosome and swap positions (as shown in Fig. 9). 5.1.4. Selection operation Selection is another important factor to consider in implementing GA. It is a procedure to select offspring from parents to the next generation. According to the general definition, the selection probability of a chromosome should show the performance measure of the chromosome in the population. Hence a parent with a higher performance has higher probabilities of being selected to the next generation. For the fitness function, in this scheduling problem, the objective is to minimizing the maximum completion time. Therefore, the evaluation function (Eval(vi)) used for the GA proposed is based on the makespan (Cmax) of the schedule using Eq. (1).
Ev alðv i Þ ¼ 1=C max ;
i ¼ 1; 2; 3; . . . ; popsize
ð1Þ
where popsize is the population sizes satisfying the constraints. In this study, the process for selecting parents is implemented via the common roulette wheel selection procedure presented by Goldberg (1989). The procedure is described in Fig. 10. 5.1.5. Relax-Blocking algorithm for improving chromosome To solve the scheduling problem with a reentrant flexible flow shop with a blocking constraint, encoding and decoding chromosomes must be generated in order to guard the blocking of jobs. Thus, this section shows the algorithm for improving the solution.
procedure: improving offspring by Relax-Blocking routine input: offspring C(t) output: improved schedule S begin step 1: Transform all of offspring C(t) by decoding routine. step 2: Classify of the task in Stage 1. step 3: Define O set which is the set of operation O1a that can be move to left side without considering the O1b operation. while (set O ≠ 0) do step 4: Select the first job in set O and Check previous job in Stage 2. step 5: Move operation O1a of selected job to insert at the position after O1b of the previous job in Stage 2. step 6: Move operation O2 of selected job follow by step 5 step 7: Delete the selected job from set O end step 8: Move left side for all operation O1b to feasible position output: improved schedule S end; Fig. 11. The procedure of the Relax-Blocking algorithm.
2402
C. Sangsawang et al. / Expert Systems with Applications 42 (2015) 2395–2410
procedure: regulation of pc and pm using average fitness Input: begin and if then increase pc and pm for next generation; if and then decrease pc and pm for next generation; and if then rapidly increase pc and pm for next generation; output: end;
To improve the decoded schedule after drawing the Gantt chart, a heuristic of local search, namely the Left-shift algorithm, was used for solving the reentrant flow shop (RFS) problem (Chamnanlor et al., 2013b). It will help to better minimize the makespan than the old Gantt chart. However, in this research, the relaxing blocking constraint is additionally added and is outlined in Fig. 11. The concept of relaxing blocking is to release some operations to work independently rather than letting all three operations work as a group. In case of the operations O1a and O1b require processing simultaneously, the relaxing blocking constraint gives the priority to O1a in order to input jobs to the system continuously (i.e., first stage machine) for processing. For example, in the original Gantt chart in Fig. 12(a), operation O1a of Job7 can be moved to the right-side position after operation O1a of Job5 without violation of the blocking constraint, resulting in operation O2 of Job7 being free to be left shifted to the position after operation O1a of Job7, and the completion time of Job7 is decreasing. In the same way, the completion time of Job9 and Job8 also decreases resulting in the makespan decreasing 3 units. The new schedule from performing minor modifications is shown as X = {(O2,1a,M1,0–1), (O2,2,M1,1–7), (O2,1b,M1,7–8), (O5,1a,M1,1–2), (O5,2,M2,2–7), (O5,1b,M1,8–9), (O3,1a,M1,2–3), (O3,2,M3,3–12), (O3,1b,M1,15–16), (O6,1a,M1,3–4), (O6,2,M4,4–8), (O6,1b,M1,10–11), (O1,1a,M1,4–5), (O1,2,M5,5–9), (O1,1b,M1,12–13), (O10,1a,M1,5–6), (O10,2,M6,6–11), (O10,1b,M1,14–15), (O4,1a,M1,6–7), (O4,2,M1,8–16), (O4,1b,M1,16–17), (O7,1a,M1,9–10), (O7,2,M2,10–13), (O7,1b,M1,17–18), (O9,1a,M1,11–12), (O9,2,M4,12–19), (O9,1b,M1,19–20), (O8,1a,M1,13–14),
Stage 1 M1,1
2
5
3
6
1
10
4
2
5
6
1
Fig. 13. Regulation of crossover and mutation rate using average fitness.
(O8,2,M5,14–16), (O8,1b,M1,18–19)}. The Gantt chart corresponding to the schedule X can be generated as shown in Fig. 12(b). 5.1.6. Auto-tuning Strategy by Fuzzy Logic Controller (FLC) In this research, we used the fuzzy logic controller (FLC) which is a concept based on the work of Song, Wang, Wang, and Johns (1997) and Yun and Gen (2003). This automatically tuned the pC and pM according to changes in the average fitness of the parents and their offspring. Two FLCs could be used under this concept, namely the crossover FLC and the mutation FLC. When implemented independently, these two FLCs were able to adaptively regulate the rates of crossover and mutation operators during the genetic search process. If this approach is applied to a minimization problem, the change of the average fitness at generation t, Df av g ðtÞ can be set using Eq. (2).
10
2
M1,2
3
7
9
8
7
8
9
4
5
M2,2
4
7
M3,2
(a)
3
Stage 2 M4,2
6
9
M5,2
1
8
10
M6,2
1
Stage 1
M1,1
2
2
5
3
3
4
6
M1,2
5
1
6
10
7
4
8
2
9
5
10
7
11
6
12 13
9
2
M2,2
1
14
8
15
10
16 17
3
4
18
7
19 20
8
21
22
23
24
25
9
4
5
7
(b)
M3,2
3
Stage 2 M4,2
6
M5,2
9
1
8
M6,2
10
1
2
3
4
5
6
7
8
9
10
11
12 13
14
15
16 17
18
19 20
Fig. 12. The Gantt chart of chromosome (a) before and (b) after improving.
21
22
23
24
25
2403
C. Sangsawang et al. / Expert Systems with Applications 42 (2015) 2395–2410
µ NR
NL
NM
NS
ZE
PS
PM
PL
PR
(a)
-1.0
-0.8
-0.6
-0.4
-0. 2
0
0.2
0.4
0.6
0.8
1. 0
Where: NR — Negative larger, NL — Negative large, NM — Negative medium, NS — Negative small, ZE — Zero, PS — Positive small, PM — Positive medium, PL — Positive large, PR — Positive larger.
µ NR
NL
NM
NS
ZE
PS
PM
PL
PR
(b)
-1.0
-0.8
-0.6
-0.4
- 0. 2
0
0.2
0.4
0.6
0.8
1.0
Fig. 14. (a) Membership function for Df av g ðt 1Þ and Df av g ðtÞ (b) Membership function for DcðtÞ and DmðtÞ.
Table 1 Input and output results of discrimination. Inputs
Outputs
x 6 0.7 0.7 6 x 6 0.5 0.5 6 x 6 0.3 0.3 6 x 6 0.1 0.1 6 x 6 0.1 0.1 6 x 6 0.3 0.3 6 x 6 0.5 0.5 6 x 6 0.7 0.7 6 x
4 3 2 1 0 1 2 3 4
Table 2 Defuzzification table for control action of crossover and mutation ratio. Z(i,j)
j
i
4 3 2 1 0 1 2 3 4
4
3
2
1
0
1
2
3
4
4 3 3 2 2 1 1 0 0
3 3 2 2 1 1 0 0 1
3 2 2 1 1 0 0 1 1
2 2 1 1 0 0 1 1 2
2 1 1 0 0 1 1 2 2
1 1 0 0 1 1 2 2 3
1 0 0 1 1 2 2 3 3
0 0 1 1 2 2 3 3 4
0 1 1 2 2 3 3 4 4
The Df av g ðt 1Þ and Df av g ðtÞ were applied to regulate pC and pM as depicted in Fig. 13. The values of e and e are stated as real numbers with proximity to zero (in this study, e = 0.1 and e = (0.1)). The c and c values were applied as maximum and minimum values for the fuzzy membership function (in this study, c = 1.0 and c = (1.0)), as demonstrated in Fig. 14. All input and output variables are shown as the membership functions of fuzzy. Input and output values of discretization for Df av g ðt 1Þ and Df av g ðtÞ are given in Table 1. The Df av g ðt 1Þ and Df av g ðtÞ were then normalized within the range [1.0, 1.0]. The values of DcðtÞ can also be normalized within the range [0.1, 0.1] in accordance with their corresponding maximum values. After the normalization of Df av g ðt 1Þ and Df av g ðtÞ, these values were assigned to the indices i and j, corresponding to the control actions in the defuzzification table outlined in Table 2. Changes in the crossover rate DcðtÞ and mutation rate DmðtÞ could be calculated using Eq. (3).
DcðtÞ ¼ cc zði; jÞ;
DmðtÞ ¼ cm zði; jÞ
where the contents of z(i, j) are the corresponding values of Df av g ðt 1Þ and Df av g ðtÞ for defuzzification. The values of cc (0.02) and cm (0.002) are given values to regulate the increasing and decreasing ranges of the rates of crossover and mutation operators. Finally, the change of the rates of the crossover and mutation operators was updated by using Eq. (4).
pc ðtÞ ¼ DcðtÞ þ pc ðt 1Þ; pm ðtÞ ¼ DmðtÞ þ pm ðt 1Þ
Df av g ðtÞ ¼ f parSize ðtÞ f offSize ðtÞ ¼
1 parSize
parSize X
f k ðtÞ
k¼1
1 offSize
offSize X
ð3Þ
ð4Þ
After adjustment, the rates should not exceed the range from 0.5 to 1.0 for the pc(t) or from 0.0 to 0.2 for the pm(t).
fkðtÞ
ð2Þ
k¼1
Where parSize and offSize are the parent and offspring population sizes satisfying the constraints, respectively.
5.1.7. Overall procedure of proposed HGA The overall pseudo-code procedure of HGA is shown in Fig. 15. The vector (vi) of a chromosome, which includes the locus of the job order in all operations, can be first generated at random. The
2404
C. Sangsawang et al. / Expert Systems with Applications 42 (2015) 2395–2410
job-based encoding and decoding with blocking constraint were used to evaluate a chromosome. The one cut-point crossover and the swap mutation are used as evolutionary operations. The Relax-Blocking algorithm is introduced for improving chromo-
somes. And Chromosomes with high performance are selected by a roulette wheel selection routine. The auto-tuning strategy is used to adjust GA parameters during the process of searching. Finally, the best solution can be obtained by all of these steps.
procedure: HGA for RFFS model input: RFFS problem data, GA parameters (popSize, maxGen, pM, pC) output: the best schedule begin // t: generation number t 0; initialize P(t) by job-based encoding routine with block; // P(t): population evaluate P(t) by job-based decoding routine with block and keep the best solution; while (not terminating condition) do create C(t) from P(t) by one cut-point crossover routine; // C(t): offspring create C(t) from P(t) by swap mutation routine with block; // C(t): offspring check and repair precedence constraint for all offspring C(t); // C(t): offspring improve offspring C(t) by relax-blocking routine; evaluate C(t) by job-based decoding routine with block and update the best solution; select P(t+1) from P(t) and C(t) by roulette wheel selection routine; tune parameter by auto-tuning strategy FLC routine; t t+1; end output the best schedule end; Fig. 15. Procedure of hybrid genetic algorithm (HGA) for RFFS model.
procedure: initialize (vk, xk) for each particle k by Job-based encoding routine with block input: RFFS problem data output: particle k begin step 1: Generate Particle k; k=1,2,3,…,K for (each particle k) do step 2: Generate dimension = Job no. step 3: Generate vk(0) = Rand [-vmax, vmax] step 4: Generate xk(0) = Rand [0,1] end; output: particle k end; Fig. 16. The procedure of job-based encoding with blocking constraint.
Dimension
1
2
3
4
5
6
7
8
9
10
xi(0)
0.6
0.7
0.1
0.3
0.3
0.6
0.3
0.8
0.5
0.5
vi(0)
-2
1
1
0
0
0
0
0
-1
0
Fig. 17. Example of particle with job-based encoding routine with blocking constraint.
procedure: evaluate xk(t) by Job-based decoding routine with block & keep the best solution input: particle k, F(x) output: evaluate value (Cmax). begin step 1: Generate Job all dimension for each particle step 2: Sorting All dimension of particle k by xk step 3: Create operation sequence in each job with blocking constraint for (job j ; first order to last order) do step 4: Allocate job step 4.1: In Stage 1, allocate job to earliest available time slot in Gantt chart step 4.2: In Stage 2, allocate job to machine which have earliest ready time end; output: evaluate value (Cmax). end; Fig. 18. The procedure of the job-based decoding routine with blocking constraint.
2405
C. Sangsawang et al. / Expert Systems with Applications 42 (2015) 2395–2410
5.2. Hybrid particle swarm optimization
example of the problem with 10 jobs and Vmax equals 3 can be constructed the particle k as shown in Fig. 17.
5.2.1. Encoding of particles To find the solution by the PSO method, encoding of particles is one crucial issue to consider and affects the quality of the solution. Each particle represents the solution of one scheduling method. In this paper, a job-based encoding routine with blocking constraint (see Fig. 16) consists of the construction of the initial position (xi(0)) and initial velocity (vi(0)) of each particle in which its dimension (D) equals the number of jobs for each problem. An
5.2.2. Fitness of particles Once the particles representing the scheduling method are obtained, each particle is evaluated in order to find the objective of each problem which is the minimization of the makespan. The method to evaluate particles is the job-based decoding routine with blocking constraint. From the example in Fig. 17, the decoding method presented in Fig. 18 is applied to determine the job orders
Dimension
1
2
3
4
5
6
7
8
9
10
xi(0)
0.6
0.7
0.1
0.3
0.3
0.6
0.3
0.8
0.5
0.5
vi(0)
-2
1
1
0
0
0
0
0
-1
0
Job define
1
2
3
4
5
6
7
8
9
10
Dimension
3
4
5
7
9
10
1
6
2
8
xi(0)
0.1
0.3
0.3
0.3
0.5
0.5
0.6
0.6
0.7
0.8
vi(0)
1
0
0
0
-1
0
-2
0
1
0
Job sequence
3
4
5
7
9
10
1
6
2
8
Fig. 19. Illustration of particle with job-based decoding routine with blocking constraint.
Stage 1
M1
3
4
5
7
9
10
1
6
5
7
3
4
9
10
1
6
2
8
8
3
M1
2
4
M2
M3
5
M4
7
2
8
1
Stage 2 6
M5
9
M6
10
1
2
3
4
5
6
7
8
9
10
11
12 13
14
15
16 17
18
19 20
21
22
23
24
25
Fig. 20. The Gantt chart of example particle.
Dimension
1
2
3
4
5
6
7
8
9
10
xi(0)
0.6
0.7
0.1
0.3
0.3
0.6
0.3
0.8
0.5
0.5
vi(1)
-1.08
0.47
0.50
0.10
0.10
0.06
0.07
-0.07
-0.49
-0.02
xi(1)
-0.51
1.21
0.58
0.40
0.43
0.66
0.42
0.71
-0.01
-0.46
Fig. 21. Updated particle position with Eqs. (2) and (3).
2406
C. Sangsawang et al. / Expert Systems with Applications 42 (2015) 2395–2410
procedure: Hybrid particle swarm optimization for RFFS input: RFFS problem data, PSO parameters (f(x), b1, b2, maxIter) output: the best schedule begin // t: iteration number t 0; initialize (vk, xk) for each particle k by job-based encoding routine with block; evaluate xk(t) by job-based decoding routine with block and keep the best solution; while (not termination condition) do for each particle xk in swarm do update velocity vk(t+1) by (5); update position xk(t+1) by (6); calculate uk(t+1) and sk(t+1) by (7) and (8) by Cauchy distribution update position xk(t+1) using (4) ; improve particle k by relax-blocking routine; evaluate xk(t+1) by job-based decoding routine with block; // hbestk : own best position of the particle k if f(x (t+1) ) < f(hbestk) then // update the best local position update hbestk = xk(t+1) end gbest= argmin{f(hbestk , f(gbest)}; // update the global best position t t+1; end output the best schedule gbest; end; Fig. 22. Procedure of hybrid particle swarm optimization (HPSO) for RFFS model.
Table 3 Processing time of jobs for each test problem. Problem set
Job. No.
Level of processing time and deviation Low
Medium
High
O1a
O2
O1b
O1a
O2
O1b
O1a
O2
O1b
T1: 10 jobs
1 2 3 4 5 6 7 8 9 10
1 1 1 1 1 1 1 1 1 1
4 6 9 8 5 4 3 2 7 5
1 1 1 1 1 1 1 1 1 1
3 3 3 3 3 3 3 3 3 3
10 18 25 12 22 8 19 22 12 11
3 3 3 3 3 3 3 3 3 3
5 5 5 5 5 5 5 5 5 5
42 28 15 25 21 35 19 22 27 19
5 5 5 5 5 5 5 5 5 5
T2: 20 jobs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
3 7 4 2 5 7 9 4 5 6 7 4 5 3 7 2 5 4 8 9
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
9 12 26 19 11 21 12 17 14 18 8 23 25 15 18 13 10 14 19 11
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
24 35 44 22 35 19 28 14 25 15 47 36 25 18 23 25 17 39 23 15
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
of each dimension for the particle which is {3,4,5,7,9,10,1,6,2,8} (see Fig. 19). Each dimension represents the priority order of all operations (O1a, O2, O1b) of each job. For the case of one machine at the first stage and 6 machines at the second stage, schedule X can be constructed as X = {(O3,1a,M1,0–1), (O3,2,M1,1–10), (O3,1b,M1,10–11), (O4,1a,M1,1–2), (O4,2,M2,2–10), (O4,1b,M1,11–12), (O5,1a,M1,2–3), (O5,2,M3,3–8), (O5,1b,M1,8–9), (O7,1a,M1,3–4), (O7,2,M4,4–7), (O7,1b,M1,9–10), (O9,1a,M1,4–5), (O9,2,M5,5–12), (O5,1b,M1,12–13), (O10,1a,M1,5–6), (O10,2,M6,6–11), (O10,1b,M1,13–
14), (O1,1a,M1,6–7), (O1,2,M3,9–13), (O1,1b,M1,14–15), (O6,1a,M1,7– 8), (O6,2,M4,10–14), (O6,1b,M1,15–16), (O2,1a,M1,16–17), (O2,2,M1, 17–23), (O2,1b,M1,23–24), (O8,1a,M1,17–18), (O8,2,M2,18–20), (O8,1b,M1,20–21)}. The Gantt chart corresponding to the schedule X can be generated as shown in Fig. 20. 5.2.3. Update the position of the particle The solution from using the PSO method can be determined by moving the particle in order to find the position with the best
2407
C. Sangsawang et al. / Expert Systems with Applications 42 (2015) 2395–2410
solution with experience of the particle. There are two experience positions used in the PSO: one is the global experience position of all particles (gbest), which memorizes the global best solution obtained from all positions (solutions) of all particles; the other is the individual experience position of each particle (hbest), which memorizes the local best solution acquired from the positions (solutions) the corresponding particle has been at. These two experience positions and the inertia weight of the previous velocities are used to determine the impact on the current velocity. Eq. (5) will be used to change the velocity of the particle, while Eq. (6) will be used to update the position of the particle.
v k ðt þ 1Þ ¼ wðtÞv k ðtÞ þ b1 r1
hbestk xk ðtÞ þ b2 r2 g bestk xk ðt Þ
ð5Þ
xk ð t þ 1 Þ ¼ xk ð t Þ þ v k ð t þ 1 Þ
ð6Þ
where vk(t) is the kth particle’s flying velocity at the tth iteration; b1 and b2 are positive constants, called the acceleration constants; and r1, r2 [0,1] are uniform random numbers. Fig. 21 shows the update of current particle position to a new position. Generally, the value of each component in V can be clamped to the range [Vmax,+Vmax] to control excessive roaming of particles outside the search area. 5.2.4. Combining with Cauchy distribution After updating the position of particle according to Eq. (6), we updated position by Cauchy distribution. The Cauchy distribution is applied for effective particle moving of particle which has a Gaussian-like peak with Lorentzian’s wing for implying occasional
long jumps among local samplings (Li, Liu, Zhou, Kang, & Wang, 2007) according to Eqs. (7) and (8), respectively and the updating position in Eq. (9).
v k ðt þ 1Þ uk ðt þ 1Þ ¼ qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi 2 v k1 ðt þ 1Þ þ v k2 ðt þ 1Þ2 . . . þ v kN ðt þ 1Þ2 p sk ðt þ 1Þ ¼ uk ðt þ 1Þ tan r and ½0; 1Þ 2 xk ðt þ 1Þ ¼ xk ðtÞ þ sk ðt þ 1Þ
ð7Þ ð8Þ ð9Þ
where uk(t) and sk(t) are variables from updating position for each position k in generation t by Cauchy distribution in order to evaluate each particle and update hbestk and gbest values of the current solution. 5.2.5. Improve particle Particle Improvement is a very important issue for the complex problem, especially the problem with reentrant flexible flow shop with blocking constraint, since in this problem, these two major constraints may cause the solution not to be optimal. In this PSO algorithm, particle improvement can be done by using the same concept of improving an offspring in the HGA method explained in Section 5.1.5. The offspring improvement is the Relax-Blocking algorithm used for improving the solution obtained after decoding the particle in the form of a Gantt chart. 5.2.6. Overall procedure of proposed HPSO The overall pseudo-code procedure of HPSO is shown in Fig. 22. Particle k is constructed by using the job-based encoding with
Table 4 Computational results. Problem set
T1: 10 jobs
No. of machines at second stage
Level of processing time and deviation
Test problem
Current practice
GA Avg.
Best
Avg.
Best
Avg.
Best
Avg.
Best
6
L
E1 E2 E3 E1 E2 E3 E1 E2 E3 E1 E2 E3 E1 E2 E3 E1 E2 E3
28 26 25 75 77 72 127 122 125 54 52 55 142 140 135 226 223 227
24.6 25 24.4 70 71 71 111 108.4 109.6 23.4 23.8 22.4 64.8 64.6 63.2 115 112.6 110.2
24 24 23 69 70 70 110 107 109 23 23 22 64 64 62 114 112 109
20 20.2 20.2 60.4 62 62.4 102 104.6 101 20 20 20 61 60.4 61.4 100.6 104 101.2
20 20 20 60 60 62 100 104 100 20 20 20 60 60 60 100 102 100
23 22.4 23.2 71.6 70.2 70.8 113.6 113 112.6 22.6 23.4 23.6 66 63.6 63.8 114 109.6 108
22 21 22 70 69 70 112 112 111 22 23 22 65 63 63 113 109 106
20.4 20.6 20.4 60.2 62 62.4 100.6 102.8 100.4 20.4 20.6 20.2 60.4 60.2 61.2 101.8 102.4 100.4
20 20 20 60 60 62 100 102 100 20 20 20 60 60 60 102 102 100
E1 E2 E3 E1 E2 E3 E1 E2 E3 E1 E2 E3 E1 E2 E3 E1 E2 E3
25 25 26 68 69 68 116 118 115 48 46 48 136 132 134 218 220 217
48.8 49.8 48.8 130.8 127.6 128.8 210.8 214.8 215.8 46 43.6 43.4 126.4 125.6 125.8 212.8 214 213.8
48 49 48 130 127 128 210 214 215 45 43 43 126 125 125 211 213 213
42.6 40.8 40.2 122.4 120.4 120.2 206.4 204 203.2 40.2 41 42.2 120.6 121 122.4 202.2 201.8 201
42 40 40 122 122 120 204 204 202 40 40 42 120 122 122 202 200 200
51 49 49 132.8 131.2 129 212.4 212.8 214.6 45.2 43.4 44.6 128.4 127 105.6 207.2 207.4 207.8
50 48 48 132 130 128 211 212 214 44 42 44 127 126 127 206 207 207
42.6 40.4 42.8 122.2 121.4 120.8 206 205 202.6 40.4 40.4 40.2 120.4 121 122.4 202.4 200.8 201.6
42 40 42 122 120 120 204 204 202 40 40 40 120 120 122 202 200 200
M
H
12
L
M
H
T2: 20 jobs
6
L
M
H
12
L
M
H
HGA
PSO
HPSO
2408
C. Sangsawang et al. / Expert Systems with Applications 42 (2015) 2395–2410
30.00% 25.00% 20.00%
GA
15.00%
HGA PSO
10.00%
HPSO
5.00% 0.00%
1
3
5
7
9
11 13 15 17 19 21 23 25 27 29 31 33 35
Fig. 23. Percent of relative improvement of each test problem.
blocking constraint. Each particle consists of Velocity (vk) and Position (xk). The job-based decoding with blocking constraint is applied to evaluate the particle. Next, position adjustment of the particle is used to find a better feasible solution for the problem based on its own Global best experience and Local best of all other particles. The new velocity and position are updated based on Eqs. (5) and (6), respectively, and also adjust the position by Cauchy distribution based on Eqs. (7)–(9). Then, the particle is improved using the Relax-Blocking algorithm to obtain a better solution, and the global best and local best are updated for determining the solution for the next iteration. To terminate the algorithm, the stopping criterion used in this study is the maximum number of iterations which is defined as 300.
Table 5 Computation time (minutes). Problem set No. of machines Level of processing GA at second stage time and deviation
HGA PSO
HPSO
T1: 10 jobs
4.47 5.23 5.56 7.43 7.55 8.21 6.11 6.55 6.59 8.32 9.01 9.28
3.42 4.03 4.14 5.54 6.06 6.22 4.13 5.32 6.11 7.24 7.53 8.07
6
12
T2: 20 jobs
6
12
6. Numerical experiments The flexible flow shop problem with reentrant and blocking constraints is known to be NP-Hard. This section focuses on computational experience with the metaheuristic algorithms (i.e., GA, HGA, PSO, and HPSO). The performance of the metaheuristic algorithms obtained by comparing their solutions (i.e., makespan) with respect to those of the current practice was investigated. Two sets of problems (set T1: 10 products and set T2: 20 products), with two types of data characteristics in each set, were generated to evaluate the performance of the metaheuristic algorithms. Two types of data characteristics were generated for each set, and three test problems were generated for each data type. The parameters for each data type, total number of machines at the second stage and processing times of products and deviations at the second stage, were randomly selected based on normalizing the real production time of the current practice. Since only one machine at the first stage is considered in this problem, the number machines at the second stage are varied and categorized into 2 levels: 6 machines and 12 machines. In the real problem, processing time of products at the second stage (i.e., testing operation) is very heterogeneous depending on product types, three levels of processing times and deviations are focused: (1) low processing time with low deviations (average processing time is 5 units and deviation is 2 units) (L), (2) medium processing time with medium deviations (average processing time is 15 units and deviation is 5 units) (M), and (3) high processing time with high deviations (average processing time is 25 units and deviation is 10 units) (H). For each combination, three test problems were generated. Table 3 shows the processing time of each test problem. The proposed algorithms were run with MatLab on a 1.60 GHz PC, with 4 G-Byte of RAM, for testing and evaluation. To solve the problem using the proposed GA, the parameters used were set as follows: Maximum generation maxGen = 300, Population size popSize = 20, Crossover probability pC = 0.8 and Mutation probability pM = 0.2 for the first generation. Also, PSO parameters for numerical experiments are number of particles = 20 and maxIt-
L M H L M H L M H L M H
3.55 4.31 5.12 6.21 7.04 7.36 4.15 5.26 5.57 7.38 8.71 8.82
2.41 3.26 4.12 5.31 6.06 6.39 3.46 4.22 4.49 6.53 7.83 7.53
er = 300. To get the average performance of the HGA and HPSO algorithms, five runs on each test problem were performed and the makespan solutions were averaged. The makespan solutions were obtained for all combinations of sets and data types. The computational results with the averages and the best solution obtained with the proposed algorithms are presented in Table 4. From this table we found that the HGA and HPSO yield better makespan solutions than the classical metaheuristics GA and PSO for all test problems because the hybrid methods are satisfactorily embedded within reentrant and blocking constraints. In order to measure the quality of makespan solution generated by the proposed algorithms, the relative improvement (RI) of the makespan solutions obtained by the proposed algorithms with respect to those of the current practice were found. They were calculated by using Eq. (10).
RIð%Þ ¼ ðSc Ha Þ 100=Sc
ð10Þ
where Ha = the solution obtained from approach a (a = GA, HGA, PSO, and HPSO), Sc = the current practice solution. The relative improvement results show that the GA, HGA, PSO, and HPSO algorithms can improve the makespan solution by averages of 7.59%, 15.51%, 8.33%, and 15.60%, respectively (see Fig. 23.). We can notice that the HGA gives the best solution. However, its computational time is relatively high (see Table 5). Hence, HPSO can reach the best solution with shorter computational time compared to the HGA, while the makespan solution is not significantly different with that of the HGA. 7. Conclusion This research addresses the two-stage reentrant flexible flow shop with (RFFS) and blocking constraint. This problem can be found in various industries, especially in the electronics industry.
C. Sangsawang et al. / Expert Systems with Applications 42 (2015) 2395–2410
To the best of our knowledge, and in the literature review, previous research was conducted only either on consideration of reentrant or blocking constraint. This study is the first of its kind to apply the hybrid metaheuristics, HGA (hybrid genetic algorithm) and HPSO (hybrid particle swarm optimization) to solve the two-stage hybrid flow shop with consideration of both reentrant and blocking constraints. The objective was to find the optimal sequences in order to minimize the makespan. Unlike the existing theoretical approaches, Job-base encoding and decoding with blocking constraint algorithm and Relax-Blocking algorithm for improving chromosome (or particle) is adopted to deal with different test problems. Moreover, the Fuzzy Logic Controller for tuning the GA parameter and Cauchy distribution to adjust the particle position is suggested to improve the efficiency of GA and PSO. The experimental results demonstrate the effectiveness of the proposed algorithms in solving the problem. The hybrid metaheuristics HGA and PSO algorithms give better solutions than the classical metaheuristics GA and PSO for all test problems. Additionally, The RI results show that the HGA and HPSO algorithms can improve the makespan solution by averages of 15.51%, and 15.60%, respectively. However, our proposed solutions still have some limitations. First, in this study, single objective was considered. However, in the real life, multi-objective may be required. Second, due to the characteristics of the problem, only one machine was considered in the first stage. However, in the real problem, there could be more than one machine in the first stage. Finally, the proposed methods were developed to solve the problem with aforementioned constraints. This research can be extended in several directions. As in many practical scheduling problems, it is likely to have multi stages, hence in a the future study of FFS|n-stage,rcrc,block|Cmax will be investigated. Additionally, hybridization of metaheuristics algorithms (i.e. GA combines with PSO) is an interesting field that is able to give us more insights regarding the behavior and potential advantages and disadvantages of different algorithms. Another valuable avenue for future research is to develop the model with multi-objectives (such as combining minimizing makespan and minimizing number of tardy job), which may be required by the real world industry. Acknowledgments This work was supported by the Thailand Research Fund through the Royal Golden Jubilee Ph.D. Program (Grant No. PHD/ 0123/2553) and Fuzzy Logic Systems Institute, Japan (JSPS-the Grant-in-Aid for Scientific Research C; No.24510219). The work was also supported by the research unit on System modeling for Industry, Khon Kaen University, Thailand. References Alisantoso, D., Khoo, L. P., & Jiang, P. Y. (2003). An immune algorithm approach to the scheduling of a flexible PCB flow shop. International Journal of Advanced Manufacturing Technology, 22(11–12), 819–827. Arthanari, T. S., & Ramamurthy, K. G. (1971). An extension of two machines sequencing problem. Opsearch, 8(1), 10–22. Bertel, S., & Billaut, J. C. (2004). A genetic algorithm for an industrial multiprocessor flow shop scheduling problem with recirculation. European Journal of Operational Research, 159, 651–662. Bonny, M. C., & Gundry, S. W. (1976). Solution to the constrained flow-shop sequencing problem. Operational Research Quarterly, 24, 869–883. Brah, S. A., & Hunsucker, J. L. (1991). Branch and bound algorithm for the flow shop with multiple processors. European Journal of Operational Research, 51, 88–99. Chamnanlor, C., Sethanan, K., Chien, C.-F., & Gen, M. (2013a). Hybrid genetic algorithms for solving reentrant flow-shop scheduling with time windows. Industrial Engineering & Management Systems, 12(4), 306–316. Chamnanlor, C., Sethanan, K., Chien, C.-F., & Gen, M. (2013b). Re-entrant flow shop scheduling problem with time windows using hybrid genetic algorithm based on auto tuning strategy. International Journal of Production Research, 52(9), 2612–2629.
2409
Chen, B. (1995). Analysis of classes of heuristics for scheduling a two-stage flow shop with parallel machines at one stage. Journal of the Operational Research Society, 46, 231–244. Chen, J. S. (2006). A branch and bound procedure for the reentrant permutation flowshop scheduling problem. International Journal of Advanced Manufacturing Technology, 29, 1186–1193. Chen, J. S., Pan, J. C.-H., & Lin, C.-M. (2008a). A hybrid genetic algorithm for the reentrant flow-shop scheduling problem. Expert Systems with Applications, 34, 570–577. Chen, J. S., Pan, J. C.-H., & Wu, C. K. (2008b). Hybrid tabu search for re-entrant permutation flow shop scheduling problem. Expert Systems with Applications, 34(3), 1924–1930. Choi, S.-W., Kim, Y.-D., & Lee, G.-C. (2005). Minimizing total tardiness of orders with reentrant lots in a hybrid flowshop. International Journal Production Research, 43, 2149–2167. Choi, H. S., Kim, J. S., & Lee, D. H. (2011). Real-time scheduling for reentrant hybrid flow shops: A decision tree based mechanism and its application to a TFT-LCD line. Expert systems with Applications, 38(4), 3514–3521. Gao, J., Gen, M., Sun, L., & Zhao, X. (2007). A hybrid of genetic algorithm and bottleneck shifting for multiobjective flexible job shop scheduling problems. Computers & Industrial Engineering, 53, 149–162. Gao, J., Sun, L., & Gen, M. (2008). A hybrid genetic and variable neighborhood descent algorithm for flexible job shop scheduling problems. Computers & Operations Research, 35, 2892–2907. Gen, M., Tsujimura, Y., & Kubota, E. (1994). Solving job-shop scheduling problem using genetic algorithms. In Proceedings of the 16th International Conference on Computers and Industrial Engineering (pp. 576–579). Ashikaga, Japan. Gilmore, P. C., & Gomory, R. E. (1964). Sequencing a one state-variable machine: a solvable case of the traveling salesman problem. Operational Research, 12, 655–679. Goldberg, D. E. (1989). Genetic Algorithms in Search, Optimization, and Machine Learning. Reading. MA: Addison-Wiley. Grabowski, J., & Pempera, J. (2007). The permutation flow shop problem with blocking. A tabu search approach. Omega, 35(3), 302–311. Gupta, J. N. D., Krger, K., Lauff, V., Werner, F., & Sotskov, Y. N. (2002). Heuristics for hybrid flow shops with controllable processing times and assignable due dates. Computers & Operations Research, 29(10), 1417–1439. Gupta, J. N. D., & Tunc, E. A. (1991). Scheduling for a two-stage hybrid flowshop with parallel machines at the second stage. International Journal Production Research, 29, 1480–1502. Hecker, F. T., Stanke, M., Becker, T., & Hitzmann, B. (2014). Application of a modified GA, ACO and a random search procedure to solve the production scheduling of a case study bakery. Expert Systems with Applications, 41(13), 5882–5891. Jenabi, M., Fatemi Ghomi, S. M. T., Torabi, S. A., & Karimi, B. (2007). Two hybrid meta-heuristics for the finite horizon ELSP in flexible flow lines with unrelated parallel machines. Applied Mathematics and Computation, 186, 230–245. Jeong, B., & Kim, Y. D. (2014). Minimizing total tardiness in a two-machine reentrant flowshop with sequence-dependent setup times. Computers & Operations Research, 47, 72–80. Jungwattanakit, J., Reodecha, M., Chaovalitwongse, P., & Werner, F. (2009). A comparison of scheduling algorithms for flexible flow shop problems with unrelated parallel machines, setup times, and dual criteria. Computers & Operations Research, 36, 358–378. Kyparisis, G. J., & Koulamas, C. (2006). Flexible flow shop scheduling with uniform parallel machines. European Journal of Operational Research, 168, 985–997. Lee, J.-S., & Park, S.-H. (1999). Scheduling heuristics for a two-stage hybrid flowshop with nonidentical parallel machines. Journal of Korean Institute of Industrial Engineers, 25, 254–265. Lee, C. Y., & Vairaktarakis, G. L. (1994). Minimizing makespan in hybrid flow shops. Operations Research Letters, 16, 149–158. Li, Z. T., Chen, Q. X., Mao, N., Wang, X. M., & Liu, J. (2013). Scheduling rules for twostage flexible flow shop scheduling problem subject to tail group constraint. International Journal of Production Economics, 146, 667–678. Li, C., Liu, Y., Zhou, A., Kang, L., & Wang, H. (2007). A fast particle swarm optimization algorithm with cauchy mutation and natural selection strategy. Advances in Computation and Intelligence Second International Symposium, 2007, 334–343. Liao, C.-J., Tjandradjaja, E., & Chung, T. P. (2013). An approach using particle swarm optimization and bottleneck heuristic to solve hybrid flow shop scheduling problem. Applied Soft Computing, 12, 1755–1764. Lin, H. T., & Liao, C. J. (2003). A case study in a two-stage hybrid flow shop with setup time and dedicated machines. International Journal of Production Economics, 86(2), 133–143. Luo, H., Huang, G. Q., Zhang, Y. F., Dai, Q. Y., & Chen, X. (2009). Two-stage hybrid batching flowshop scheduling with blocking and machine availability constraints using genetic algorithm. Robotics and Computer Integrated Manufacturing, 25, 962–971. Pinedo, M. (2012). Scheduling Theory, Algorithms and Systems (4th ed.). Englewood Cliffs, NJ: Prentice Hall. Pongchairerks, P., & Kachitvichyanukul, V. (2009). A particle swarm optimization algorithm on job-shop scheduling problems with multi-purpose machine. AsiaPacific Journal of Operational Research, 26(2), 161–184. Randhawa, S. (1997). Evaluating scheduling heuristics for non-identical parallel processors. International Journal of Production Research: American Institute of Industrial Engineers, 35(4), 969–982.
2410
C. Sangsawang et al. / Expert Systems with Applications 42 (2015) 2395–2410
Riane, F., Artiba, A., & Elmaghraby, S. E. (1998). A hybrid three-stage flowshop problem: efficient heuristics to minimize makespan. European Journal of Operational Research, 109, 321–329. Salvador, M. S. (1973). A solution to a special case of flow shop scheduling problems. In Symposium on the theory of scheduling and its applications (pp. 83–91). Berlin Heidelberg: Springer. Song, Y. H., Wang, G. S., Wang, P. T., & Johns, A. T. (1997). Environment/Economic Dispatch Using Fuzzy Logic Controlled Genetic Algorithm. In Proceedings of IEEE International Conference on Generation, Transmission and Distribution, 114(4), 337–382. Wagneur, E., & Sriskandarajah, C. (1993). The two-machine permutation flow shop with state dependent processing times. Naval Research Logistics Quarterly, 40, 697–717. Wang, W., & Hunsucker, J. L. (2003). An evaluation of the CDS heuristic in flow shops with multiple processors. Journal of the Chinese Institute of Industrial Engineers, 20(3), 295–304.
Wang, L., Pan, Q. K., & Fatih Tasgetiren, M. (2010b). Minimizing the total flow time in a flow shop with blocking by using hybrid harmony search algorithms. Expert Systems with Applications, 37(12), 7929–7936. Wang, L., Pan, Q. K., Suganthan, P. N., Wang, W. H., & Wang, Y. M. (2010a). A novel hybrid discrete differential evolution algorithm for blocking flow shop scheduling problems. Computers & Operations Research, 37(3), 509–520. Wang, M. Y., Sethi, S. P., & Van de Velde, S. L. (1997). Minimizing makespan in a class of reentrant shops. Operations Research, 45, 702–712. Wang, I.-L., Yang, T., & Chang, Y.-B. (2012). Scheduling two-stage hybrid flow shops with parallel batch, release time, and machine eligibility constraints. Journal of Intelligent Manufacturing, 23, 2271–2280. Wong, T. C., & Ngan, S. C. (2013). A comparison of hybrid genetic algorithm and hybrid particle swarm optimization to minimize makespan for assembly job shop. Applied Soft Computing, 13, 1391–1399. Yun, Y., & Gen, M. (2003). Performance analysis of adaptive genetic algorithms with fuzzy logic and heuristics. Fuzzy Optimization and Decision Making, 2(2), 161–175.