4
Genetic Algorithm for Minimizing the Makespan in Hybrid Flow Shop Scheduling Problem Zhixiong Su School of Economics and Management University of Science and Technology Beijing Beijing, China [email protected] Tieke Li School of Economics and Management University of Science and Technology Beijing Beijing, China [email protected] Abstract—This paper propose a genetic algorithm based on extended Giffler & Thompson (EGT) procedure for hybrid flow shop (HFS) scheduling problem. In this method, each individual represents a complete schedule. The crossover and mutation operators are designed based on EGT algorithm. This algorithm is also used to generate initial population. Therefore, the search space is restricted to the active schedule space. Last, the performance of this algorithm is analyzed by computational experiments using benchmark instances. The results suggest that the proposed algorithm can find optimal solutions for all the easy problems, while optimal or near-optimal solutions for relatively hard problems. Keywords-hybrid flow shop;Genetic algorith;Giffer and Thompson algorithm;mix-integer linear programming I. INTRODUCTION A HFS scheduling problem is characterized as the processing of n jobs through an s-stage flow shop, where there exist at least more than one machine at a stage. It is an extension of classical flow shop scheduling and parallel machine scheduling problems. HFS is fairly common in process industries and flexible manufacturing environments, such as steel, petrochemical, electronics, and textile industries. We also find examples in non-manufacturing areas like civil engineering, internet service architectures and container handling systems. Because of its complexity and practical relevance, HFS scheduling problems have received a great deal of attention. The reader is referred to review [1]. In this paper, we mainly focus on the HFS problem with makespan criterion, which was first studied in 1971. This kind of problem is NP-hard even if it contains two stages and when there is, at least, more than one machine at a stage [2]. Using popular three-field notation | | α β γ , s-stage HFS problem can be denoted by max ( ) || FsP C . Many solution approaches have been proposed for this problem. All the methods can be classified into three main categories: (1) exact algorithms, (2) heuristics, (3) metaheuristics. For the first category, it is no doubt that Branch and Bound method is the preferred technique [3-4]. For the second category, the vast majority are tailored heuristics to specific cases of the problem, mainly with 2 and 3 stages. Dispatching rules are the simplest types of heuristics, while the divide-and-conquer approaches are sophisticated types, including shifting bottleneck procedure [5], Flowmult [6], separating sequencing and assignment problems [7]. For the last category, genetic algorithms (GA) [8], simulated annealing [9] and tabu search [9], artificial immune systems are used to deal with this scheduling problem. II. HFS SCHEDULING PROBLEM A. Problem description The problem considered in this paper can be described as follows. As shown in Fig. 1, there are n independent and simultaneously available jobs to be processed through s stages in series. Each Stage k has k M identical parallel machines. Each machine can process at most one job at a time. Job j has a processing time jk p and has to be processed without preemption on only one of machines at stage k . The jobs can wait between stages and the intermediate storage is unlimited. The objective is to find a schedule that minimizes the makespan. Figure 1. The system structure of HFS B. Scheduling model Before formulating max ( ) || FsP C , we present the following notation. J Set of the jobs to be scheduled, {1, ,} J n = " , , , j gh Index of jobs, , , j gh J , This work was supported by the National Natural Science Foundation of China under Grant Nos. 70371057 and 70771008. 978-1-4244-4639-1/09/$25.00 ©2009 IEEE

[IEEE 2009 International Conference on Management and Service Science (MASS) - Beijing, China (2009.09.20-2009.09.22)] 2009 International Conference on Management and Service Science

  • Upload
    tieke

  • View
    213

  • Download
    1

Embed Size (px)

Citation preview

Page 1: [IEEE 2009 International Conference on Management and Service Science (MASS) - Beijing, China (2009.09.20-2009.09.22)] 2009 International Conference on Management and Service Science

Genetic Algorithm for Minimizing the Makespan in Hybrid Flow Shop Scheduling Problem

Zhixiong Su School of Economics and Management

University of Science and Technology Beijing Beijing, China [email protected]

Tieke Li School of Economics and Management

University of Science and Technology Beijing Beijing, China

[email protected]

Abstract—This paper propose a genetic algorithm based on extended Giffler & Thompson (EGT) procedure for hybrid flow shop (HFS) scheduling problem. In this method, each individual represents a complete schedule. The crossover and mutation operators are designed based on EGT algorithm. This algorithm is also used to generate initial population. Therefore, the search space is restricted to the active schedule space. Last, the performance of this algorithm is analyzed by computational experiments using benchmark instances. The results suggest that the proposed algorithm can find optimal solutions for all the easy problems, while optimal or near-optimal solutions for relatively hard problems.

Keywords-hybrid flow shop;Genetic algorith;Giffer and Thompson algorithm;mix-integer linear programming

I. INTRODUCTION A HFS scheduling problem is characterized as the

processing of n jobs through an s-stage flow shop, where there exist at least more than one machine at a stage. It is an extension of classical flow shop scheduling and parallel machine scheduling problems. HFS is fairly common in process industries and flexible manufacturing environments, such as steel, petrochemical, electronics, and textile industries. We also find examples in non-manufacturing areas like civil engineering, internet service architectures and container handling systems. Because of its complexity and practical relevance, HFS scheduling problems have received a great deal of attention. The reader is referred to review [1].

In this paper, we mainly focus on the HFS problem with makespan criterion, which was first studied in 1971. This kind of problem is NP-hard even if it contains two stages and when there is, at least, more than one machine at a stage [2]. Using popular three-field notation | |α β γ , s-stage HFS problem can be denoted by max( ) ||Fs P C . Many solution approaches have been proposed for this problem. All the methods can be classified into three main categories: (1) exact algorithms, (2) heuristics, (3) metaheuristics. For the first category, it is no doubt that Branch and Bound method is the preferred technique [3-4]. For the second category, the vast majority are tailored heuristics to specific cases of the problem, mainly with 2 and 3 stages. Dispatching rules are the simplest types of heuristics, while the divide-and-conquer approaches are sophisticated

types, including shifting bottleneck procedure [5], Flowmult [6], separating sequencing and assignment problems [7]. For the last category, genetic algorithms (GA) [8], simulated annealing [9] and tabu search [9], artificial immune systems are used to deal with this scheduling problem.

II. HFS SCHEDULING PROBLEM

A. Problem description The problem considered in this paper can be described as

follows. As shown in Fig. 1, there are n independent and simultaneously available jobs to be processed through s stages in series. Each Stage k has kM identical parallel machines. Each machine can process at most one job at a time. Job j has a processing time jkp and has to be processed without preemption on only one of machines at stage k . The jobs can wait between stages and the intermediate storage is unlimited. The objective is to find a schedule that minimizes the makespan.

Figure 1. The system structure of HFS

B. Scheduling model Before formulating max( ) ||Fs P C , we present the following

notation.

J Set of the jobs to be scheduled, {1, , }J n= ,

, ,j g h Index of jobs, , ,j g h J∈ ,

This work was supported by the National Natural Science Foundation of China under Grant Nos. 70371057 and 70771008.

978-1-4244-4639-1/09/$25.00 ©2009 IEEE

Page 2: [IEEE 2009 International Conference on Management and Service Science (MASS) - Beijing, China (2009.09.20-2009.09.22)] 2009 International Conference on Management and Service Science

k Index of stages, {1, , }k s∈ ,

m Index of machines,

kM Number of machines at stage k ,

jkp Processing time of job j at stage k ,

U Very large positive number,

jkmx 1, if job j is on machine m at stage k , 0 otherwise,

ghky 1, if job g is before job h at stage k , 0 otherwise,

jkt Start time of job j at stage k ,

maxC Makespan.

With the above notation, this problem can be described as a 0-1 mixed-integer linear programming.

maxmin C (1)

s.t. max ,js jst p C j+ ≤ ∀ (2)

, 1, , {1, , 1}jk jk j kt p t j k s++ ≤ ∀ ∀ ∈ − (3)

(3 ),gk gk hk gkm hkm ghkt p t U x x y+ ≤ + − − −

, ( ), ,g h g h k m∀ ≠ ∀ ∀

(4)

1, , ( ),ghk hgky y g h g h k+ ≤ ∀ ≠ ∀ (5)

11, ,kM

jkmmx j k

== ∀ ∀∑ (6)

0, ,jkt j k≥ ∀ ∀ (7)

, {0,1}jkm ghkx y ∈ (8)

Constraint sets (2) indicate that the completion time of the last job at the last stage s is maxC . Constraint sets (3) show that it is not possible for job j to be processed at stage 1k + before job j at stage k is completed. Constraint sets (4)-(5) define the processing order for jobs g and h on machine m at stage k . In particular, constraint sets (4) guarantee that a machine can process at most one job at a time. Constraint sets (5) reflect that there exist three kinds of order between job g and h : before, after, and simultaneous. Constraint sets (6) ensure that job j at stage k can only be processed on one machine. Constraint sets (7) and (8) define the domains of the decision variables.

C. Active scheduling technique He and Hui [10] presented the relationships of schedule

properties in the flow shop scheduling as shown in Fig. 2. A semi-active schedule is feasible schedule in which no operation can be completed earlier without changing the job sequence on any one of the machines. An active schedule is feasible schedule in which no operation can be completed earlier without delaying other operations. For max( ) ||Fs P C , it is sufficient to consider only active schedules since the optimal schedule is active.

optimal

active

semi-active

feasible

Figure 2. Relationships of schedule properties

A systematic approach to generate active schedules was proposed by Giffler & Thompson [11]. The generation process is controlled by a set of dispatch or priority rules which resolves conflict situations. However, the original GT algorithm is only defined for job shop problems. In order to employ it for HFS problems, Kreutz, Hanke and Gehlen [12] proposed an extended version of the GT algorithm, see EGT algorithm. They also proved that this algorithm can generate all possible active schedules for max( ) ||Fs P C .

EGT algorithm

(A1) Let 0jkr = , 0mkT = , 1k = , N J= ( jkr is the earliest time at which job j can be processed at stage k , mkT is the earliest available time of machine m at stage k , N is the set of all jobs which can be scheduled at stage k ).

(A2) Let f denote the first available machine at stage k ,

compute ( ){ }*c min max ,fk jk jkj N

t T r p∈

= + , and determine the

conflict set *c{ | , }jkC j r t j N= < ∈ on machine f .

(A3) Choose a job j from C according to a priority rule and assign it to machine f with the earliest possible start time

max( , )jk fk jkt T r= . Update fk jk jkT t p= + and , 1j k jk jkr t p+ = + , delete job j from N .

(A4) If N φ≠ , go to Step (A2).

(A5) Let 1k k= + . If k s≤ , then N J= , go to Step (A2); otherwise, STOP.

III. THE PROPOSED GENETIC ALGORITHM GA has been successfully used for solving difficult

combinatorial optimization problems. In order to reduce the search space, we propose an EGT-based GA (EGTGA) to deal with max( ) ||Fs P C .

A. Solution representation In solving scheduling problems by GA, the first task is to

find a suitable encoding of solution. In our method, each chromosome is composed of s segments that correspond to the s stages of the n jobs. Notation jkm is used to denote the machine assigned to job j at stage k . Each segment jG is a 2 n× array whose first row is 1 2( , , , )k k nkt t t , second row is

1 2( , , , )k k nkm m m . This representation is depicted in Fig. 3.

Page 3: [IEEE 2009 International Conference on Management and Service Science (MASS) - Beijing, China (2009.09.20-2009.09.22)] 2009 International Conference on Management and Service Science

Figure 3. Solution representation

B. Initial population The efficiency of GA can be largely increased by selecting

a good initial population with adequate size. There are several ways to create the initial population. In our method, the initial population is generated by EGT algorithm. The process can be fully described as follows:

(B1) Determine the priority rules and their selection probabilities of stage 1. (In this paper, the rules are Earliest Completion Time (ECT) and random rule (RR), with probabilities 0.2 and 0.8). Do Steps (A1)-(A2) of EGT algorithm.

(B2) Choose a priority rule according to its selection probability. Do Steps (A3)-(A4) of EGT algorithm.

(B3) Let 1k k= + . If k s≤ , then N J= , determine the priority rules and their selection probabilities of stages k , go to Step (A2) of EGT algorithm. (In this paper, the rules are ECT, RR and Earliest Starting Time (EST), with probabilities 0.5, 0.3 and 0.2.)

(B4) Repeat Steps (B1)-(B3) until the size of population equals the desired size.

C. EGT crossover Crossover is the operation by which two chromosomes in

the current population create offspring chromosomes for the next population. It is one of the most important genetic operations and must be correctly designed. The role of this phase is to find a region that has a high probability of containing good solutions between two parents. We present an EGT crossover inspired by GA/GT method [13] for job shop problems. The entire process can be illustrated as follows:

(C1) Let the selection probability of parent with high fitness value equal to 0.7, and the probability of the other is 0.3. Do Steps (A1)-(A2) of EGT algorithm.

(C2) Choose one of parents according to their selection probabilities. Find a job j which was scheduled earliest in selected parent among all the jobs in C . Assign job j to machine f with the earliest start time max( , )jk fk jkt T r= .

(C3) Do Steps (A4)-(A5) of EGT algorithm.

D. EGT mutation Mutation is the process during which some genes of a

chromosome are changed. It is useful for maintaining diversity

in the population. The mutation process in our method can be described as follows:

(D1) Do Steps (A1)-(A2) of EGT algorithm. (D2) Generate a random number [0,1)ε ∈ and compare it

with [0,1)μ ∈ which is a predefined constant called the mutation rate ( 0.6μ = in this paper). If ε μ< , then choose a job j from C ; otherwise, find a job j which was scheduled earliest in parent among all the jobs in C . Assign job j to machine f with the earliest start time max( , )jk fk jkt T r= .

(D3) Do Steps (A4)-(A5) of EGT algorithm.

IV. COMPUTATIONAL EXPERIMENTS

A. Test problems The test problems used in this paper are the benchmark

problems which are presented in [3]. The problem size of these instances varies from 10 jobs× 5 stages to 15 jobs × 10 stages. The processing times are within [3, 20]. Three characteristics that define a problem are no. of jobs, no. of stages and no. of identical machines at each stage. Total 77 problems are classified into 4 types according the no. of machines at each stage. For example, j15c5b2 is a 15 jobs, 5 stages and b type problem. The same problems were also studied in [4]. They calculated lower bounds (LBs) of the problems and they limited their search within 1600 s.

B. Implementation details The EGTGA algorithm was programmed using Matlab

language under Windows XP home. The parameters were set as follows: selectionFcn=@selectionstochunif, EliteCount=1, PopulationSize=60, CrossoverFraction=0.6, FitnessLimit=LB, TimeLimit=1600, Generations=10000. If optimal solution was not found, the search is stopped and the best solution is accepted as the final schedule.

The above problem instances have been solved using EGTGA on a PC with Centrino Duo 1.83GHz CPU and 2 GB RAM. In our study, the obtained solutions have been compared with the corresponding LB. The deviation from LB is calculated by the following formula:

*max LB

%deviation 100LB

C −= × (9)

where *maxC is the makespan obtained by EGTGA.

C. Results In table I, we present the computational result obtained by

our EGTGA algorithm. For all these problems, the average deviation is 2.94%, and the average time is 554.52 s.

As it is noticed from Table I, better results for type a and b (47 problems) than type c and d (30 problems) have been obtained. EGTGA has found the optimal solutions for all the type a and b problems, and the average time is 13.98 s. Type c and d are relatively hard problems not respect to problem size. For these problems, EGTGA has found 5 optimal

Page 4: [IEEE 2009 International Conference on Management and Service Science (MASS) - Beijing, China (2009.09.20-2009.09.22)] 2009 International Conference on Management and Service Science

solutions and 25 near-optimal solutions. The average deviation is 7.54%, while the average time is 1401.36.

TABLE I. SOLUTIONS OF TEST PROBLEMS

Problem LB *maxC CPU (s) %deviation

j10c5a2 88 88 1.35 0.0j10c5a3 117 117 0.43 0.0j10c5a4 121 121 0.34 0.0j10c5a5 122 122 2.23 0.0j10c5a6 110 110 271.56 0.0j10c5b1 130 130 0.26 0.0j10c5b2 107 107 0.41 0.0j10c5b3 109 109 0.59 0.0j10c5b4 122 122 1.83 0.0j10c5b5 153 153 0.25 0.0j10c5b6 115 115 0.27 0.0j10c5c1 68 72 1599.71 5.9j10c5c2 74 75 1599.22 1.4j10c5c3 71 74 1599.35 4.2j10c5c4 66 66 527.93 0.0j10c5c5 78 78 175.52 0.0j10c5c6 69 70 1599.34 1.4j10c5d1 66 66 1183.15 0.0j10c5d2 73 75 1599.78 2.7j10c5d3 64 65 1599.62 1.6j10c5d4 70 72 1599.92 2.9j10c5d5 66 69 1621.69 4.5j10c5d6 62 62 74.79 0.0j10c10a1 139 139 2.82 0.0j10c10a2 158 158 113.52 0.0j10c10a3 148 148 6.50 0.0j10c10a4 149 149 8.98 0.0j10c10a5 148 148 2.47 0.0j10c10a6 146 146 76.59 0.0j10c10b1 163 163 0.39 0.0j10c10b2 157 157 3.10 0.0j10c10b3 169 169 0.33 0.0j10c10b4 159 159 0.44 0.0j10c10b5 165 165 1.65 0.0j10c10b6 165 165 1.89 0.0j10c10c1 113 116 1600.15 2.7j10c10c2 116 119 1600.10 2.6j10c10c3 98 118 1599.43 20.4j10c10c4 103 122 1600.62 18.4j10c10c5 121 129 1600.69 6.6j10c10c6 97 109 1615.63 12.4j15c5a1 178 178 0.82 0.0j15c5a2 165 165 0.30 0.0j15c5a3 130 130 0.34 0.0j15c5a4 156 156 0.96 0.0j15c5a5 164 164 2.13 0.0j15c5a6 178 178 0.37 0.0j15c5b1 170 170 0.27 0.0j15c5b2 152 152 0.34 0.0j15c5b3 157 157 0.78 0.0j15c5b4 147 147 0.35 0.0j15c5b5 166 166 5.72 0.0j15c5b6 175 175 0.27 0.0j15c5c1 85 89 1600.06 4.7j15c5c2 90 96 1599.73 6.7j15c5c3 87 91 1600.01 4.6j15c5c4 89 93 1619.35 4.5j15c5c5 73 81 1600.13 11.0j15c5c6 91 94 1621.13 3.3j15c5d1 167 167 2.20 0.0j15c5d2 82 89 1600.53 8.5j15c5d3 77 86 1600.52 11.7j15c5d4 61 90 1600.32 47.5

j15c5d5 67 86 1600.11 28.4j15c5d6 79 85 1600.06 7.6j15c10a1 236 236 0.96 0.0j15c10a2 200 200 13.31 0.0j15c10a3 198 198 3.30 0.0j15c10a4 225 225 11.41 0.0j15c10a5 182 182 6.10 0.0j15c10a6 200 200 1.69 0.0j15c10b1 222 222 13.59 0.0j15c10b2 187 187 1.18 0.0j15c10b3 222 222 5.62 0.0j15c10b4 221 221 1.02 0.0j15c10b5 200 200 3.38 0.0j15c10b6 219 219 84.72 0.0Average 554.52 2.94

V. CONCLUSION In this paper, we proposed an effective approach for HFS

problems based on the combination of GA and EGT algorithm. The computational results show that this method is a good problem-solving technique for this NP-hard problem.

REFERENCES [1] H. Wang, “Flexible flow shop scheduling: Optimum, heuristics and

artificial intelligence solutions,” Expert Systems, vol.22, no.2, pp. 78-85, 2005.

[2] J. N. D. Gupta, “Two-stage hybrid flowshop scheduling problem,” J. Operational Research Society, vol.39, no.4, pp. 359-364, 1988.

[3] J. Carlier and E. Néron, “An exact method for solving the multi-processor flow-shop,” RAIRO-Recherche Opérationnelle, vol.34, no.1, pp. 1-25, 2000.

[4] E. Néron, P. Baptiste and J. N. D. Gupta, “Solving hybrid flow shop problem using energetic reasoning and global operations,” Omega-Int. J. Management Science, vol.29, no.6, pp. 501-511, 2001.

[5] J. L. Cheng, Y. Karuno and H. Kise, “A shifting bottleneck approach for a parallel-machine flowshop scheduling problem,” J. Operations Research Society of Japan, vol.44, no.2, pp. 140-156, 2001.

[6] D. L. Santos, J. L. Hunsucker and D. E. Deal, “An evaluation of sequencing heuristics in flow shops with multiple processors,” Computers & Industrial Engineering, vol.30, no.4, pp. 681-691, 1996.

[7] A. G. P. Guinet, M. M. Solomon, P. K. Kedia and A. Dussauchoy, “A computational study of heuristics for two-stage flexible flowshops,” Int. J. Production Research, vol.34, no.5, pp. 1399-1415, 1996.

[8] C. Kahraman, O. Engin, İ. Kaya and M. K. Yilmaz, “An application of effective genetic algorithms for solving hybrid flow shop scheduling problems,” Int. J. Computational Intelligence Systems, vol.1, no.2, pp. 134-147, 2008.

[9] E. G. Negenman, “Local search algorithms for the multiprocessor flow shop scheduling problem,” Eur. J. Operational Research, vol.128, no.1, pp. 147-158, 2001.

[10] Y. He and C. W. Hui, “Genetic algorithm for large-size multi-stage batch plant scheduling,” Chemical Engineering Science, vol. 62, no. 5, pp. 1504-1523, 2007.

[11] B. Giffler and G. L, “Thompson. Algorithms for solving production-scheduling problems,” Operations Research, vol.8, no.4, pp. 487-503, 1960.

[12] M. Kreutz, D. Hanke and S. Gehlen, “Solving extended hybrid-flow-shop problems using active schedule generation and genetic algorithms,” in Proc. 6th Int. Conf. Parallel Problem Solving from Nature, Paris, 2000, pp. 293-302.

[13] T. Yamada and R. Nakano, “A genetic algorithm applicable to large-scale job-shop Problems,” in Proc. 2nd Int. Conf. Parallel Problem Solving from Nature, Brussels, 1992, pp. 281-290.