8
Non-identical parallel machine scheduling using genetic algorithm Savas ß Balin Yıldız Technical University, Department of Industrial Engineering, Barbaros Bulvarı, 34349 _ Istanbul, Turkey article info Keywords: Job scheduling Non-identical parallel machines Heuristics Simulation Genetic algorithm (GA) LPT abstract Most of the scheduling problems are NP-hard. In the literature, several heuristics and dispatching rules are proposed to solve such hard combinatorial optimization problems and genetic algorithm (GA) ranks among the most preferred ones in view of its characteristics such as high adaptability, near optimization and easy realization. But, even though it is a common problem in the industry, only a small number of studies deal with non-identical parallel machines. In this paper, the authors propose a new ‘‘crossover operator’’ and a new ‘‘optimality criterion’’ in order to adapt the GA to non-identical parallel machine scheduling problem. New algorithm is tested on a numerical example by implementing it in a simulation software and computational results are compared to those obtained with LPT (Longest Processing Time) dispatching rule; results were promising. Findings show that, in addition to its high computational speed for larger scale problem, the GA proposed here fits the non-identical parallel machine scheduling problem of minimizing the maximum completion time (makespan). Ó 2010 Elsevier Ltd. All rights reserved. 1. Introduction The problem studied in this paper regards the scheduling of independent jobs on non-identical parallel machines in order to minimize ‘‘makespan’’. There are n independent jobs, each of which has a definite processing time and is allowed to be processed on any of the m non-identical parallel machines. Each machine has a different velocity denoted by V i . In scheduling problems, makespan (C max ) is equivalent to the completion time of the last job leaving the system. The small C max usually implies a high utilization. There- fore, reducing the C max should also lead to a higher throughput rate (Kashan, Karimi, & Jenabi, 2008). In this study, the genetic algorithm (GA) has been applied to solve this problem. Scheduling is an essential function in production management. Scheduling determines what is going to be made, when, where and with what resources (Cardon, Galinho, & Vacher, 2000). The pro- duction scheduling is an important decision making in operational level and it is a difficult problem depending on the number of cal- culations required to obtain a scheduling that optimizes the chosen criterion. In modern manufacturing environment, many scheduling problems arise. In the factory, depending on machine layout and job flow, several kinds of shop exist (Moon, Lee, Seo, & Lee, 2002). A flow shop is a shop in which machines are arranged in ser- ies; jobs begin processing on an initial machine, proceed through several intermediary machines and conclude on a final machine. In a job shop, jobs can be processed on machines in any order. In other words, specific machine order restriction is not imposed. There are m machines and n jobs to be processed, each job requires l operations that are to be processed in order. Jobs may not require all m machines and they may have to visit some machines more than once. There is only one machine that can perform a given operation. In practice, there are often multiple copies of the same machine (parallel machine). So, there are number of machines that can process the jobs. Schedule provides the order in which jobs are to be done. The required inputs for each job are the list of opera- tions that need to be performed, the amount of time each operation takes, and the list of any precedence constraint that describes which operations need to precede others. If jobs have no prece- dence constraints, it is named as open shop. In a general job shop, for single machine and n jobs, there are n! choices. When m ma- chines exist, the number of possible schedules is (n!)m. The sched- uling problem is more complicated when operations can be processed by more than one machine (Moon et al., 2002). These difficult-to-solve problems are characterized as combina- torial optimization problems. They vary widely according to spe- cific production tasks but most are NP-hard problems (Garey & Johnson, 1979; Lenstra & Rinnooy Kan, 1978; Rinnooy Kan, 1976; Sethi, 1977). It is quite difficult to achieve an optimal solution with traditional optimization methods. Mathematical optimization techniques can give an optimal solution for a reasonably sized problem, however, in the case of a large scale problem, their appli- cation is limited. Dispatching rules (LPT, SPT, EDD, ...) are suitable only for small scale problems and no single dispatching rule guarantees good result in various problems (Min & Cheng, 1999). Research efforts have therefore concentrated on heuristic ap- proaches. Many heuristics have been proposed such as simulated annealing (sa), tabu search (ts), branch and bound (B&B), neural 0957-4174/$ - see front matter Ó 2010 Elsevier Ltd. All rights reserved. doi:10.1016/j.eswa.2010.12.064 E-mail address: [email protected] Expert Systems with Applications 38 (2011) 6814–6821 Contents lists available at ScienceDirect Expert Systems with Applications journal homepage: www.elsevier.com/locate/eswa

Non-identical parallel machine scheduling using genetic algorithm

Embed Size (px)

Citation preview

Page 1: Non-identical parallel machine scheduling using genetic algorithm

Expert Systems with Applications 38 (2011) 6814–6821

Contents lists available at ScienceDirect

Expert Systems with Applications

journal homepage: www.elsevier .com/locate /eswa

Non-identical parallel machine scheduling using genetic algorithm

Savas� BalinYıldız Technical University, Department of Industrial Engineering, Barbaros Bulvarı, 34349 _Istanbul, Turkey

a r t i c l e i n f o

Keywords:Job schedulingNon-identical parallel machinesHeuristicsSimulationGenetic algorithm (GA)LPT

0957-4174/$ - see front matter � 2010 Elsevier Ltd. Adoi:10.1016/j.eswa.2010.12.064

E-mail address: [email protected]

a b s t r a c t

Most of the scheduling problems are NP-hard. In the literature, several heuristics and dispatching rulesare proposed to solve such hard combinatorial optimization problems and genetic algorithm (GA) ranksamong the most preferred ones in view of its characteristics such as high adaptability, near optimizationand easy realization. But, even though it is a common problem in the industry, only a small number ofstudies deal with non-identical parallel machines. In this paper, the authors propose a new ‘‘crossoveroperator’’ and a new ‘‘optimality criterion’’ in order to adapt the GA to non-identical parallel machinescheduling problem. New algorithm is tested on a numerical example by implementing it in a simulationsoftware and computational results are compared to those obtained with LPT (Longest Processing Time)dispatching rule; results were promising. Findings show that, in addition to its high computational speedfor larger scale problem, the GA proposed here fits the non-identical parallel machine scheduling problemof minimizing the maximum completion time (makespan).

� 2010 Elsevier Ltd. All rights reserved.

1. Introduction

The problem studied in this paper regards the scheduling ofindependent jobs on non-identical parallel machines in order tominimize ‘‘makespan’’. There are n independent jobs, each of whichhas a definite processing time and is allowed to be processed onany of the m non-identical parallel machines. Each machine has adifferent velocity denoted by Vi. In scheduling problems, makespan(Cmax) is equivalent to the completion time of the last job leavingthe system. The small Cmax usually implies a high utilization. There-fore, reducing the Cmax should also lead to a higher throughput rate(Kashan, Karimi, & Jenabi, 2008). In this study, the genetic algorithm(GA) has been applied to solve this problem.

Scheduling is an essential function in production management.Scheduling determines what is going to be made, when, where andwith what resources (Cardon, Galinho, & Vacher, 2000). The pro-duction scheduling is an important decision making in operationallevel and it is a difficult problem depending on the number of cal-culations required to obtain a scheduling that optimizes the chosencriterion. In modern manufacturing environment, many schedulingproblems arise. In the factory, depending on machine layout andjob flow, several kinds of shop exist (Moon, Lee, Seo, & Lee,2002). A flow shop is a shop in which machines are arranged in ser-ies; jobs begin processing on an initial machine, proceed throughseveral intermediary machines and conclude on a final machine.In a job shop, jobs can be processed on machines in any order. Inother words, specific machine order restriction is not imposed.

ll rights reserved.

There are m machines and n jobs to be processed, each job requiresl operations that are to be processed in order. Jobs may not requireall m machines and they may have to visit some machines morethan once. There is only one machine that can perform a givenoperation. In practice, there are often multiple copies of the samemachine (parallel machine). So, there are number of machines thatcan process the jobs. Schedule provides the order in which jobs areto be done. The required inputs for each job are the list of opera-tions that need to be performed, the amount of time each operationtakes, and the list of any precedence constraint that describeswhich operations need to precede others. If jobs have no prece-dence constraints, it is named as open shop. In a general job shop,for single machine and n jobs, there are n! choices. When m ma-chines exist, the number of possible schedules is (n!)m. The sched-uling problem is more complicated when operations can beprocessed by more than one machine (Moon et al., 2002).

These difficult-to-solve problems are characterized as combina-torial optimization problems. They vary widely according to spe-cific production tasks but most are NP-hard problems (Garey &Johnson, 1979; Lenstra & Rinnooy Kan, 1978; Rinnooy Kan, 1976;Sethi, 1977). It is quite difficult to achieve an optimal solution withtraditional optimization methods. Mathematical optimizationtechniques can give an optimal solution for a reasonably sizedproblem, however, in the case of a large scale problem, their appli-cation is limited. Dispatching rules (LPT, SPT, EDD, . . .) are suitableonly for small scale problems and no single dispatching ruleguarantees good result in various problems (Min & Cheng, 1999).Research efforts have therefore concentrated on heuristic ap-proaches. Many heuristics have been proposed such as simulatedannealing (sa), tabu search (ts), branch and bound (B&B), neural

Page 2: Non-identical parallel machine scheduling using genetic algorithm

S. Balin / Expert Systems with Applications 38 (2011) 6814–6821 6815

network (NN), and genetic algorithm (GA). Among these various ap-proaches to different scheduling problems, there has been anincreasing interest in applying GA in view of its characteristic suchas high adaptability, near optimization and easy realization. Theprimary difference between GA and other heuristics is that GAmaintains a set of solutions (population) rather than a uniquesolution.

Introduced in the 1970s by Holland (Holland, 1975), GA hasbeen used to solve a variety of scheduling problems. One of thefirst attempts to approach a scheduling problem through the appli-cation of GA is the research of Davis in 1985 (Davis & Coombs,1987). Since then, a significant number of successful applicationsof GA have been appearing. In the literature, there are many appli-cations of GA to scheduling problems for different shops; most ofthem are for job shop (Amirthagadeswaran & Arunachalam,2006,2007; Biegel & Davern, 1990; Blazewicz, Domschke, & Pesch,1996; Candido, Khator, & Barcia, 1998; Cardon et al., 2000; Fayad &Petrovic, 2005; Gao, Gen, Sun, & Zhaoc, 2007; Ghrayeb, 2003;Gonçalves, Mendes, & Resende, 2005; Jia, Fuh, Nee, & Zhang,2007; Lee, Piramuthu, & Tsai, 1997; Liu, Tsai, & Chou, 2006;Mattfeld & Bierwirth, 2004; Park, Choi, & Kim, 2003; Sakawa &Kubota, 2000; Sakawa & Mori, 1999; Vilcot, Billaut, & Esswein,2006; Wang & Zheng, 2002; Watanabea, Idab, & Genc, 2005; Xu& Li, 2007; Yamaguchi, 2003; Yoshitomi, 2002; Yu & Liang, 2001;Yun, 2002; Zhiming & Chunwei, 2000; Zhou, Feng, & Han, 2001),flow shop (Badami & Parks, 1991; Bertela & Billaut, 2004; Etiler,Toklu, Atak, & Wilson, 2004; Laha & Mandal, 2007; Oguz & Ercan,2005; Tang & Liu, 2002; Wang, Zhang, & Zheng, 2006) or open shopscheduling problems (Liaw, 2000; Prins, 2000). Moreover, GA hasbeen also proposed to solve operation or batch sequencing prob-lems (Carlos, Luis, Tchernykh, & Trystram, 2007; Chu, Yeongho, &Yeo, 1998; Jordan, 1998; Kongar & Gupta, 2006; Mansouri, 2005;Moon et al., 2002; Usher & Bowden, 1996) and assembly line bal-ancing problems (Gonçalves & de Almeida, 2002; Haq, Rengarajan,& Jayaprakash, 2006; Ji, Sze, & Lee, 2001; Levitin, Rubinovitz, &Shnits, 2006; McGovern & Gupta, 2007; Ponnambalam, Aravindan,& Naidu, 2000; Rajakumar, Arunachalam, & Selladurai, 2007;Simaria & Vilarinho, 2004). Besides, because many practical jobshop and open shop scheduling problems can be simplified asparallel machine scheduling problem under certain conditions(Glover, 1986; Gürsel & Baez, 1993; Min & Cheng, 2003), theparallel machine scheduling problem receives a great deal of atten-tion in the academic and engineering circle (Min & Cheng, 2003).There are many applications of GA to solve parallel machine sched-uling problem (Çakar, Köker, & Demir, 2008; Chang, Chen, & Lin,2005; Cheng, Gen, & Tozawa, 1995; Chiu, Fang, & Lee, 1999;Cochran, Horng, & Fowler, 2003; Damodaran, Manjeshwar, &Srihari, 2006; Fowler, Horng, & Cochran, 2003; Gupta & Ho,2001; Jou, 2005; Kashan et al., 2008; Lee & Kim, 1995; Luu, Bohez,& Techanitisawad, 2002; Malvea & Uzsoy, 2007; Min & Cheng,1999; Min & Cheng, 2006; Mok, Kwong, & Wong, 2007; Özalp,2006; Peng & Liu, 2004; Raja, Arumugam, & Selladurai, 2008;Sivrikaya & Ulusoy, 1999; van Hop & Nagarur, 2004; Yip-Hoi &Dutta, 1996); but, even though it is a common problem in theindustry, only a small number of them deal with non-identicalparallel machines (Çakar et al., 2008; Özalp, 2006; Raja et al.,2008; van Hop & Nagarur, 2004). The authors have therefore con-centrated their research effort on scheduling non-identical parallelmachine production line using GA. In order to adapt GA to non-identical parallel machine scheduling problem, they propose anew ‘‘crossover operator’’ and a new ‘‘optimality criterion’’.

The organization of the paper is as follows: in Section 2, thenon-identical parallel machine scheduling problem is mathemati-cally formulated. Section 3 discusses the GA method. The detailedoptimization algorithm is given in Section 4. To demonstrate theperformance of the optimization algorithm, the experiments

conducted on a random set of instances is presented in Section 5and the results are compared to those obtained with LPT dispatch-ing rule. Section 6 concludes the paper.

2. Problem formulation

In this study, a set of n jobs is to be processed on m non-identicalparallel machines. The job j can be processed by either of themachines i. Each machine has a different velocity (Vi) and can pro-cess only one job at a time. Each job is to be processed withoutinterruption. Processing time of job j on machine i is denoted byP(i, j). It is desired to find a schedule for which the maximum com-pletion time (makespan) is minimized.

x(i, j) is the boolean variable which determines whether job j isprocessed by machine i (if x(i, j) = 1) or not (if x(i, j) = 0). The matrixX is composed by variables x(i, j) and it has following properties(Min & Cheng, 2003):

- all elements are equal to ‘‘0’’ or ‘‘1’’, x(i, j) e {0, 1};- each column has only one element valued ‘‘1’’,Pm

i¼1xði; jÞ ¼ 1; j ¼ 1; . . . ;n;- the number of elements valued ‘‘1’’ is n,

Pnj¼1

Pmi¼1xði; jÞ ¼ n.

Processing time of a job j on different machines can be ex-pressed by the following equation:

Pði1; jÞ � V1 ¼ Pði2; jÞ � V2 ðiÞ

The maximum completion time (makespan) is equal to:

Cmax ¼maxm

i¼1

Xn

j¼1

xði; jÞ � Pði; jÞ( )

ðiiÞ

Thus, the objective function can be formulated as follows:

min Cmax ¼maxm

i¼1

Xn

j¼1

xði; jÞ � Pði; jÞ( )

ðiiiÞ

3. Genetic algorithm (GA)

The GA, inspired by the process of Darwinian evolution, hasbeen recognized as a general search strategy and as an optimiza-tion method which is often useful for attacking combinatorialproblems. It is introduced in the 1970s by Holland (Holland,1975) and Davis was first to propose GA for solving schedulingproblems (Davis & Coombs, 1987). Since then, a significant numberof successful applications have been appearing.

A generic GA starts by creating an initial population of chromo-somes. Each chromosome encodes a solution of the problem, andits fitness value is related to the value of the objective functionfor that solution. During each iteration step (or called ‘‘genera-tion’’), genetic operations, that is, crossover, mutation and naturalselection are applied in order to search potential better solutions.Crossover combines two chromosomes to generate next-generation chromosomes preserving their characteristics.Mutation reorganizes the structure of genes in a chromosomerandomly so that a new combination of genes may appear in thenext generation. It serves the search by jumping out of local opti-mal solutions. Reproduction is to copy a chromosome to the nextgeneration directly so that chromosomes from various generationscould cooperate in the evolution and the ‘‘quality’’ of the popula-tion may be improved after each generation (Ji et al., 2001).

In contrast to other local search methods, such as SimulatedAnnealing or Tabu Search, which are based on handling one feasiblesolution, GA utilizes a population of solutions in its search, giving itmore resistance to premature convergence on local minima

Page 3: Non-identical parallel machine scheduling using genetic algorithm

Optimal solution ?

Natural selection

Calculation of fitnesses values

Generation of initial population

Crossover

Mutation

Reproduction of new generation

Evaluation of the generation

YesNon

Output

Coding

Fig. 1. General structure of GA.

6816 S. Balin / Expert Systems with Applications 38 (2011) 6814–6821

(Park et al., 2003). Another advantage of GA is having a good per-formance in a large and complex search space. The ability of GAto explore and to exploit simultaneously the search space, makesit more efficient than the other methods (Emel & Tas�kın, 2002).

Nevertheless, GA has also some disadvantages; the performanceof genetic algorithms in terms of the optimality is highly dependenton the realization of each of the above steps, and the values of theGA parameters, that are number of solutions in the initial popula-tion (i.e. population size), number of generations (i.e. terminationcriterion), and probability values for genetic operators (i.e. cross-over and mutation probabilities) (Goldberg, 1989; Michalewicz,1992).

The general structure of GA is given in Fig. 1. In the followingsection, we will adapt this structure to the non-identical parallelmachine scheduling problem.

4. Scheduling non-identical parallel machines using GA

4.1. Coding

The raw i of the matrix X consists of jobs to be processed on ma-chine i. Raws are called ‘‘genes’’ (g1, ... , gi, ... gm) and they representjobs to be processed on each machine; jobs to be processed on ma-chine i are given by elements non-zero of gene i (x(i, j) = 1). Thecompletion time of each machine i, (Ci), is equal to the sum of pro-cessing times of jobs to be processed on that machine; it is calledas the ‘‘value of gene i’’ and it is defined by the following function:

f ðgiÞ ¼Xn

j¼1

xði; jÞ � Pði; jÞ; i ¼ 1; . . . ;m ðivÞ

4.2. Generation of initial population

As the matrix X represents the scheduling of n jobs on m ma-chines, an initial solution can be obtained randomly by having onlyone non-zero element, x(i, j) e {0, 1}, in each column. Several initialsolutions can be obtained by repeating the same operation andeach initial solution is called ‘‘chromosome’’. Chromosomes can

be identified by their order of creation, k e N. Initial population isthe set consisting of N chromosomes. The number of chromo-somes, i.e. population size, is one of the important parameters ofGA. Members of the initial population (chromosomes) are the par-ents of the next generations and the efficiency of the algorithm ishighly dependant on their ‘‘quality’’.

4.3. Calculation of fitness values

Fitness is the performance evaluation of chromosomes (Zhouet al., 2001). After the generation of new population, fitness valueof each chromosome is calculated (Fk). The higher the fitness value,the better the performance of the chromosome (i.e. parent). Hence,parents with higher fitness values have more chances to survive.Because the objective function is to minimize the makespan,fitness values can be obtained using the following function(Goldberg, 1989):

Fk ¼ a� e�b�CmaxðkÞ ðvÞ

where a and b are positive real number and Cmax(k) is the objectivefunction value (makespan) of the chromosome k.

4.4. Reproduction

Reproduction is the process in which parents copy themselvesaccording to the probabilities that are proportional to their fitnessvalues. As a result, parents with higher fitness values will havehigher probabilities of producing their offspring in the next gener-ation (Zhou et al., 2001). We make selection of parents according tothe roulette wheel selection method. The roulette wheel selectionmethod ranks the chromosomes based on their fitness functionvalues, and then assigns them a probability distribution in favorof good chromosomes, so as to obtain a better chance of producinggood next generations (Jou, 2005). The roulette wheel selectionmethod has following steps (Goldberg, 1989):

- calculate selection probability of chromosomes

PðkÞ ¼ FkPNi¼1FðiÞ

k ¼ 1; . . . ;N ðviÞ

- generate cut points, S(k),Sð0Þ ¼ 0SðkÞ ¼ Pð1Þ þ � � � þ PðkÞ; k ¼ 1; . . . ;N

- generate N random number uniformly distributed between 0and 1, fs for s = 1, ... , N

- for each fs, equation S(k�1) < fs < S(k) gives chromosomes to beselected.

4.5. Crossover

Because of the coding method used in this paper, crossoveroperator deals with genes, and not with chromosomes like mostof the applications in literature. Each gene i consists of jobs to beprocessed on machine i, (x(i,j) – 0, j = 1, . . . , n); each chromosomecontains m genes and each one consists in one feasible schedule.Crossover operator, described below, combines two genes of thesame chromosome in a proper order, to obtain a new chromosomegiving a better feasible solution. The first gene to combine, gi0 , is theone that indicates the machine with maximum completion time:

f ðgi0 Þ ¼maxm

i¼1ff ðgiÞg ðviiÞ

The job with the shortest processing time of gene gi0 is denoted

by j0 and given by the equation below:

Page 4: Non-identical parallel machine scheduling using genetic algorithm

Table 1Processing times of the jobs.

Processing times (min.) 1. Job 2. Job 3. Job 4. Job 5. Job 6. Job 7. Job 8. Job 9. Job

Machine 1 (M.1) 18.0 14.0 24.0 30.0 16.0 20.0 22.0 26.0 14.0Machine 2 (M.2) 9.0 7.0 12.0 15.0 8.0 10.0 11.0 13.0 7.0Machine 3 (M.3) 4.5 3.5 6.0 7.5 4.0 5.0 5.5 6.5 3.5Machine 4 (M.4) 3.6 2.8 4.8 6.0 3.2 4.0 4.4 5.2 2.8

Table 2Scheduling with LPT.

Machines Scheduled jobs Ci

M.1 Job 2 14.00M.2 Job 7 11.00M.3 Job 8 Job 6 Job 5 15.50M.4 Job 4 Job 3 Job 1 Job 9 17.20

S. Balin / Expert Systems with Applications 38 (2011) 6814–6821 6817

Pði0; j0Þ ¼minn

j¼1fPði0; jÞg ðviiiÞ

Crossover operation is carried out by moving job j0 to anothermachine. The new machine is represented by gene gz and givenby the following equation:

ðf ðgi0 Þ � f ðgzÞÞ �Vz

Vi0¼max

m

i¼1ðf ðgi0 Þ � f ðgiÞÞ �

Vi

Vi0

� �ðixÞ

The processing time of job j0 on machine z, P(z, j0), can be calcu-lated using Eq. (i):

Pðz; j0Þ ¼ Pði0; j0Þ � Vi0

Vz

Fig. 3. Application of GA using simulation.

4.6. Mutation

Crossover operator is used to combine existing genes in order toobtain new chromosomes, whereas mutation operator creates newchromosomes by causing small perturbations in genes. Therefore,it helps to maintain the diversity of the population and to extendthe solution space. Because of the coding method used in this pa-per, mutation operator can be applied easily by alternating someelements x(i, j) of matrix X. Every column of matrix X has onlyone element valued ‘‘1’’ (one job is processed only on one ma-chine). Mutation can be carried out by moving randomly this ele-ment from one raw to another (i.e. moving a job from onemachine to another). This operation prevents from getting stuckon local suboptimal solutions and it is very helpful to maintainthe richness of the population in dealing with large scale problems.In the numerical application given in Section 5, because of the rel-atively small size of the problem, mutation operator is not needed.

M.1

M.2

M.3

M.4

P(2,1)=14

P(7,2)=11

P(8,3)=6,5 P(6,3)=5

P(4,4)=6 P(3,4)=4,8 P(1,

Machine

Fig. 2. Gantt chart for job scheduli

4.7. Optimality criterion

After mutation a new generation is obtained, an optimality testis to be performed as the last step of the algorithm. Initially,

17,2

C1=f(g1)=14.0

C2=f(g2)=11.0

C3=f(g3)=15.5

time

P(5,3)=4

4)=3,6 P(9,4)=2,8 C4= f(g4)=17.2

ng using LPT dispatching rule.

Page 5: Non-identical parallel machine scheduling using genetic algorithm

6818 S. Balin / Expert Systems with Applications 38 (2011) 6814–6821

completion time of each machine (value of genes, f(gi), using for-mula (iv)) and the maximum completion time of each chromosome(makespan, Cmax(k), using formula (ii)) have to be calculated. Theoptimality criterion to be used is given below:

Pði0; j0Þ > ðf ðgi0 Þ � f ðgiÞÞ �Vi

Vi0; i ¼ 1; . . . ;m ðxÞ

It can be calculated easily using formulas (vii) and (viii). If it issatisfied for a chromosome, it means that this chromosome cannotprovide better solutions. If it is satisfied for all chromosomes, anyof completion times (Cmax(k)) cannot be improved; algorithm endsand the optimal solution is given by the Eq. (iii):

Cmax ¼ minN

k¼1fCmaxðkÞg

5. Numerical application

In this section, the scheduling problem of n jobs on m non-identical machines is solved using GA described above. The

Table 3Scheduling with GA.

Machines Scheduled jobs Ci

Iteration n�398M.1 Job 2 14.00M.2 Job 1 Job 9 16.00M.3 Job 5 Job 6 Job 8 15.50M.4 Job 7 Job 3 Job 4 15.20

Iteration n�431M.1 Job 5 16.00M.2 Job 1 Job 2 16.00M.3 Job 9 Job 7 Job 6 14.00M.4 Job 3 Job 8 Job 4 16.00

Iteration n�720M.1 Job 2 14.00M.2 Job 1 Job 9 16.00M.3 Job 5 Job 7 Job 3 15.50M.4 Job 6 Job 8 Job 4 15.20

Iteration n�1488M.1 Job 5 16.00M.2 Job 4 15.00M.3 Job 8 Job 6 Job 9 15.00M.4 Job 1 Job 3 Job 2 Job 7 15.60Iteration n�1802M.1 Job 5 14.00M.2 Job 1 Job 9 16.00M.3 Job 2 Job 6 Job 8 15.50M.4 Job 4 Job 7 Job 3 15.20

Iteration n�1905M.1 Job 5 16.00M.2 Job 9 Job 2 14.00M.3 Job 3 Job 1 Job 7 16.00M.4 Job 4 Job 8 Job 6 15.20

Machine

M.1

M.2

M.3

M.4

P(2,1)=14

P(1,2)=9

P(5,3)=4 P(7,3)=5,5 P

P(6,4)=4 P(8,4)=5,2 P(4

Fig. 4. Gantt chart for job sched

computational results are compared to those obtained with LPTdispatching rule. As a numerical example, 9 jobs are scheduledon 4 non-identical machines. The objective is to minimize make-span (Cmax). Velocity of machines are given as (V1, V2, V3, V4,) =(1, 2, 4, 5). Problem data are summarized in Table 1.

The objective function value, completion time of the last job(makespan), obtained using LPT dispatching rule is 17.2 min.Scheduling results are given in Table 2 and shown as a Gantt chartin Fig. 2.

The same scheduling problem is solved with GA using Simul 8TM

simulation software (Fig. 3). Each ‘‘work center’’ corresponds toone step of the algorithm. Simulation entity passes through ‘‘workcenters’’ to complete the algorithm. A new population is created atthe beginning of each flow of the entity and a new solution is ob-tained at the end of the flow. Each flow, i.e. iteration, begins with arandomly generated population of 10 chromosomes, half of thechromosomes are exposed to ‘‘natural selection’’ and the rest ofthem undergo a ‘‘crossover operation’’. Crossover operation is re-peated until the optimality criterion is satisfied. Each iteration pro-vides one solution to the problem, the use of simulation allows to

Machines Scheduled jobs Ci

Iteration n�1941M.1 Job 5 16.00M.2 Job 4 15.00M.3 Job 8 Job 6 Job 1 16.00M.4 Job 3 Job 9 Job 2 Job 7 14.80

Iteration n�1969M.1 Job 9 14.00M.2 Job 2 Job 1 16.00M.3 Job 8 Job 5 Job 6 15.00M.4 Job 4 Job 7 Job 3 15.20

Iteration n�2104M.1 Job 5 16.00M.2 Job 9 Job 1 16.00M.3 Job 2 Job 8 Job 7 15.50M.4 Job 3 Job 4 Job 6 14.80

Iteration n�2941M.1 Job 5 16.00M.2 Job 1 Job 2 16.00M.3 Job 9 Job 7 Job 8 15.50M.4 Job 3 Job 6 Job 4 14.80Iteration n�4298M.1 Job 5 16.00M.2 Job 1 Job 9 16.00M.3 Job 3 Job 2 Job 6 14.50M.4 Job 8 Job 4 Job 7 15.60

Iteration n�4549M.1 Job 5 16.00M.2 Job 1 Job 2 16.00M.3 Job 8 Job 4 14.00M.4 Job 7 Job 6 Job 3 Job 9 16.00

16.0

C1=f(g1)=14

C2=f(g2)=16

C3=f(g3)=15.5

time

(3,3)=6

,4)=6

P(9,2)=7

C4=f(g4)=15.2

uling using GA (trial n�720).

Page 6: Non-identical parallel machine scheduling using genetic algorithm

Machine

M.1

M.2

M.3

M.4

P(5,1)=14

P(1,2)=9

P(2,3)=4 P(6,3)=5,5

16.0

C1=f(g1)=14

C2=f(g2)=16

C3=f(g3)=15.5

time

P(8,3)=6

P(4,4)=4 P(7,4)=5,2 P(3,4)=6

P(9,2)=7

C4=f(g4)=15.2

Fig. 5. Gantt chart for job scheduling using GA (trial n�1802).

S. Balin / Expert Systems with Applications 38 (2011) 6814–6821 6819

perform several iterations by using different initial populations.The simulation performed in this study uses 5000 entities flowingthrough the system to provide different solutions. 12 Iterationslead to the best solution, each one of them indicates a differentschedule and their results are given in Table 3.

Optimal solution obtained with GA is 16.0 min and it is given by12 different schedules. In order to distinguish between these re-sults, one may use an additional criterion as the total flow time.In the given problem, the total flow time is equal to the sum ofthe completion times of all jobs. According to this new criterion,iteration n�720 and n�1802 have the minimum total flow time(96.4 min). Gantt charts given below represent schedules obtainedin iteration n�720 (Fig. 4) and n�1802 (Fig. 5).

6. Conclusion

Most of the scheduling problems are NP-hard. Mathematicaloptimization techniques can give an optimal solution for a reason-ably sized problem, however, in the case of a large scale problem,their application is limited. Dispatching rules are suitable only forsmall scale problems and no single dispatching rule guaranteesgood result in various problems. Research efforts have thereforeconcentrated on heuristic approaches. Among these approaches,GA outperforms others in view of its characteristic such as highadaptability, near optimization and easy realization. As many prac-tical job shop and open shop scheduling problems can be simpli-fied as parallel machine scheduling problems under certainconditions, the parallel machine scheduling problem has receiveda great deal of attention in the academic and engineering circle.There are many applications of GA to solve parallel machine sched-uling problem; but, even though it is a common problem in theindustry, only a small number of them deal with non-identical par-allel machines. We therefore decided to concentrate our researcheffort on scheduling non-identical parallel machines using GA.

In order to adapt GA to non-identical parallel machine schedul-ing problem, we propose a new ‘‘crossover operator’’ and a new‘‘optimality criterion’’. New algorithm is tested on a numericalexample and computational results are compared to those ob-tained with LPT; the results were promising. These findings showthat, in addition to its high computational speed, the GA proposedhere is suitable for non-identical parallel machine scheduling prob-lem of minimizing the maximum completion time (makespan).Another benefit of GA is the possibility of using several initialpopulations leading to different results. While most of the otherheuristics and all dispatching rules give only one solution, GAmaintains a set of solutions. In this study, the GA is implementedin a simulation software where each ‘‘work center’’ correspondsto one step of the algorithm and initial populations are generatedusing random numbers.

Another advantage of GA over other methods is the ability toadapt to different types of scheduling problems. In further

research, GA can be applied to non-identical parallel machinescheduling problem involving setup times, ready times and/ordue dates in order to minimize the maximum flow time, numberof tardy jobs or total tardiness. Moreover, in the literature,there is an increasing number of researches which deal with theapplication of GA on ‘‘fuzzy scheduling problems’’. The GAdescribed in this study can be applied also on non-identical parallelmachine scheduling problem with fuzzy processing times andfuzzy due dates.

References

Amirthagadeswaran, K. S., & Arunachalam, V. P. (2006). Improved solutions for jobshop scheduling problems through genetic algorithm with a different method ofschedule deduction. International Journal of Advanced Manufacturing Technology,28(5–6).

Amirthagadeswaran, K. S., & Arunachalam, V. P. (2007). Enhancement ofperformance of Genetic Algorithm for job shop scheduling problems throughinversion operator. International Journal of Advanced Manufacturing Technology,32(7–8).

Badami, V. S., & Parks, C. M. (1991). A classifier-based approach to flow shopscheduling. Computers and Industrial Engineering, 21(1–4), 329–333.

Bertela, S., & Billaut, J-C. (2004). A genetic algorithm for an industrial multiprocessorflow shop scheduling problem with recirculation. European Journal ofOperational Research, 159(3), 651–662.

Biegel, J. E., & Davern, J. J. (1990). Genetic algorithms and job shop scheduling.Computers and Industrial Engineering, 19(1,4), 81–91.

Blazewicz, J., Domschke, W., & Pesch, E. (1996). Job shop scheduling problem:Conventional and new solution techniques. European Journal of OperationsResearch, 93(1), 1–33.

Çakar, T., Köker, R., & Demir, H. I. (2008). Parallel robot scheduling to minimizemean tardiness with precedence constraints using a genetic algorithm.Advances in Engineering Software, 39, 47–54.

Candido, M. A. B., Khator, S. K., & Barcia, R. M. (1998). A genetic algorithm basedprocedure for more realistic job shop scheduling problems. International Journalof Production Research, 36(12), 3437–3457.

Cardon, A., Galinho, T., & Vacher, J.-P. (2000). Genetic algorithms using multi-objectives in a multi-agent system. Robotics and Autonomous Systems, 33,179–190.

Carlos, A. B., Luis, C. G-G., Tchernykh, A., & Trystram, D. (2007). Sequencing byhybridization: An enhanced crossover operator for a hybrid genetic algorithm.Journal of Heuristics, 13(3).

Chang, P. C., Chen, S. H., & Lin, K. L. (2005). Two-phase sub population geneticalgorithm for parallel machine-scheduling problem. Expert Systems withApplications, 29, 705–712.

Cheng, R., Gen, M., & Tozawa, T. (1995). Minmax earliness/tardiness scheduling inidentical parallel machine system using genetic algorithms. Computers andIndustrial Engineering, 29, 513–517.

Chiu, N. C., Fang, S. C., & Lee, Y. S. (1999). Sequencing parallel machining operationsby genetic algorithms. Computers and Industrial Engineering, 36, 259–280.

Chu, J. H., Yeongho, K., & Yeo, K. K. (1998). A genetic algorithm for multiple objectivesequencing problems in mixed model assembly lines. Computers and OperationsResearch, 25(7–8), 675–690.

Cochran, J. K., Horng, S. M., & Fowler, J. W. (2003). A multi-population geneticalgorithm to solve multi-objective scheduling problems for parallel machines.Computers and Operations Research, 30, 1087–1102.

Damodaran, P., Manjeshwar, P. K., & Srihari, K. (2006). Minimizing makespan on abatch-processing machine with non-identical job sizes using geneticalgorithms. International Journal of Production Economics, 103, 882–891.

Davis, L., & Coombs, S. (1987). genetic algorithms and communication link speeddesign: Theoretical considerations. Grefenstette, 252–256.

Emel, G.G., Tas�kın, Ç. (2002). Genetik Algoritmalar ve Uygulama Alanları, UludagÜniversitesi, _Iktisadi. ve _Idari Bilimler Fakültesi Dergisi, 21, 1, 129–152.

Page 7: Non-identical parallel machine scheduling using genetic algorithm

6820 S. Balin / Expert Systems with Applications 38 (2011) 6814–6821

Etiler, O., Toklu, B., Atak, M., & Wilson, J. (2004). A genetic algorithm for flowshop scheduling problems. Journal of Operations Research Society, 55(8),830–835.

Fayad, C., & Petrovic, S. (2005). A fuzzy genetic algorithm for real-world job shopscheduling. Berlin/Heidelberg: Springer.

Fowler, J. W., Horng, S. M., & Cochran, J. K. (2003). A hybridized genetic algorithm tosolve parallel machine scheduling problems with sequence dependent setups.International Journal of Industrial Engineering: Theory, Applications and Practice.,10(3), 232–243.

Gao, J., Gen, M., Sun, L., & Zhaoc, X. (2007). A hybrid of genetic algorithm andbottleneck shifting for multiobjective flexible job shop scheduling problems.Computers and Industrial Engineering, 53(1), 149–162.

Garey, M. R., & Johnson, D. S. (1979). Computer and intractability: A guide to thetheory of NP-completeness. San Francisco: W.H. Freeman.

Ghrayeb, O. A. (2003). A bi-criteria optimization: Minimizing the integral value andspread of the fuzzy makespan of job shop scheduling problems. Applied SoftComputing, 2/3F, 197–210.

Glover, F. (1986). Future paths for integer programming and links to artificialintelligence. Computers and Operations Research, 13(5), 533–549.

Goldberg, D. E. (1989). Genetic algorithms in search, optimization, and machinelearning. MA: Addison-Wesley.

Gonçalves, J. F., & de Almeida, J. R. (2002). A hybrid genetic algorithm for assemblyline balancing. Journal of Heuristics, 8(6).

Gonçalves, J. F., Mendes, J. J. M., & Resende, M. G. C. (2005). A hybrid geneticalgorithm for the job shop scheduling problem. European Journal of OperationalResearch, 167(1), 77–95.

Gupta, J. N. D., & Ho, J. C. (2001). Minimizing makespan subject to minimumflowtime on two identical parallel machines. Computers and OperationsResearch, 28, 705–717.

Gürsel, S., & Baez, E. (1993). Minimizing the number of tardy jobs in identicalmachine scheduling. Computers and Industrial Engineering, 25(4), 243–246.

Haq, A. N., Rengarajan, K., & Jayaprakash, J. (2006). A hybrid genetic algorithmapproach to mixed-model assembly line balancing. International Journal ofAdvanced Manufacturing Technology, 28(3–4).

Holland, J. H. (1975). Adaptation in natural and artificial systems. Ann Arbor:University of Michigan Press.

Ji, P., Sze, M. T., & Lee, W. B. (2001). A genetic algorithm of determining cycle timefor printed circuit board assembly lines. European Journal of OperationalResearch, 128, 175–184.

Jia, H. Z., Fuh, J. Y. H., Nee, A. Y. C., & Zhang, Y. F. (2007). Integration of geneticalgorithm and Gantt chart for job shop scheduling in distributed manufacturingsystems. Computers and Industrial Engineering, 53, 313–320.

Jordan, C. (1998). A two-phase genetic algorithm to solve variants of the batchsequencing problem. International Journal of Production Research, 36(3),745–760.

Jou, C. (2005). A genetic algorithm with sub-indexed partitioning genes and itsapplication to production scheduling of parallel machines. Computers andIndustrial Engineering, 48, 39–54.

Kashan, A. H., Karimi, B., & Jenabi, M. (2008). A hybrid genetic heuristic forscheduling parallel batch processing machines with arbitrary job sizes.Computers and Operations Research, 35, 1084–1098.

Kongar, E., & Gupta, S. M. (2006). Disassembly sequencing using genetic algorithm.International Journal of Advanced Manufacturing Technology, 30(5–6).

Laha, D., & Mandal, P. (2007). Improved heuristically guided genetic algorithm forthe flow shop scheduling problem. International Journal of Services andOperations Management, 3(3), 316–331.

Lee, C. Y., & Kim, S. J. (1995). Parallel genetic algorithms for the earliness-tardinessjob scheduling problem with general penalty weights. Computers and IndustrialEngineering, 28(2), 231–243.

Lee, C.-Y., Piramuthu, S., & Tsai, Y.-K. (1997). Job shop scheduling with a geneticalgorithm and machine learning. International Journal of Production Research,35(4), 1171–1191.

Lenstra, J. K., & Rinnooy Kan, A. H. G. (1978). Complexity of scheduling underprecedence constraints. Operations Research, 26, 22–35.

Levitin, G., Rubinovitz, J., & Shnits, B. (2006). A genetic algorithm for roboticassembly line balancing. European Journal of Operational Research, 168(3),811–825.

Liaw, C.-F. (2000). A hybrid genetic algorithm for the open shop schedulingproblem. European Journal of Operational Research, 124(1), 28–42.

Liu, T-K., Tsai, J.-T., & Chou, J.-H. (2006). Improved genetic algorithm for the job-shop scheduling problem. International Journal of Advanced ManufacturingTechnology, 27(9–10).

Luu, D. T., Bohez, E. L. J., & Techanitisawad, A. (2002). A hybrid genetic algorithm forthe batch sequencing problem on identical parallel machines. ProductionPlanning and Control, 13(3), 243–252.

Malvea, S., & Uzsoy, R. (2007). A genetic algorithm for minimizing maximumlateness on parallel identical batch processing machines with dynamic jobarrivals and incompatible job families. Computers and Operations Research,34(10), 3016–3028.

Mansouri, S. A. (2005). A multi-objective genetic algorithm for mixed-modelsequencing on JIT assembly lines. European Journal of Operational Research,167(3), 696–716.

Mattfeld, D. C., & Bierwirth, C. (2004). An efficient genetic algorithm for job shopscheduling with tardiness objectives. European Journal of Operational Research,155(3), 616–630.

McGovern, S. M., & Gupta, S. M. (2007). A balancing method and genetic algorithmfor disassembly line balancing. European Journal of Operational Research, 179(3),692–708.

Michalewicz, Z. (1992). Genetic algorithms + data structure = evolution program. NewYork: Springer.

Min, L., & Cheng, W. (1999). A genetic algorithm for minimizing the makespan inthe case of scheduling identical parallel machines. Artificial Intelligence inEngineering, 13, 399–403.

Min, L., & Cheng, W. (2003). Scheduling algorithm based on evolutionary computingin identical parallel machine production line. Robotics and Computer-IntegratedManufacturing, 19, 401–407.

Min, L., & Cheng, W. (2006). Genetic algorithms for the optimal common due dateassignment and the optimal scheduling policy in parallel machine earliness/tardiness scheduling problems. Robotics and Computer-Integrated Manufacturing,22, 279–287.

Mok, P. Y., Kwong, C. K., & Wong, W. K. (2007). Optimisation of fault-tolerant fabric-cutting schedules using genetic algorithms and fuzzy set theory. EuropeanJournal of Operations Research, 177, 1876–1893.

Moon, C., Lee, M., Seo, Y., & Lee, Y. H. (2002). Integrated machine tool selectionand operation sequencing with capacity and precedence constraintsusing genetic algorithm. Computers and Industrial Engineering, 43(3), 605–621.

Oguz, C., & Ercan, M. F. (2005). A genetic algorithm for hybrid flow-shop schedulingwith multiprocessor tasks. Journal of Scheduling, 8(4).

Özalp, A. (2006). A genetic algorithm for scheduling of jobs on lines of press machines, I.Lirkov, S. Margenov, and J. Wasniewski (Eds.), Springer-Verlag BerlinHeidelberg, 535–543.

Park, B. J., Choi, H. R., & Kim, H. S. (2003). A hybrid genetic algorithm for thejob shop scheduling problems. Computers and Industrial Engineering, 45,597–613.

Peng, J., & Liu, B. (2004). Parallel machine scheduling models with fuzzy processingtimes. Information Sciences, 166, 49–66.

Ponnambalam, S. G., Aravindan, P., & Naidu, G. M. (2000). A multi-objective geneticalgorithm for solving assembly line balancing problem. International Journal ofAdvanced Manufacturing Technology, 16(5).

Prins, C. (2000). Competitive genetic algorithms for the open-shop schedulingproblem. Mathematical Methods of Operations Research, 52(3).

Raja, K., Arumugam, C., & Selladurai, V. (2008). Non-identical parallel-machinescheduling using genetic algorithm and fuzzy logic approach. InternationalJournal of Services and Operations Management (IJSOM), 4(1).

Rajakumar, S., Arunachalam, V. P., & Selladurai, V. (2007). Workflow balancing inparallel machines through genetic algorithm. International Journal of AdvancedManufacturing Technology, 33, 1212–1221.

Rinnooy Kan, A. H. G. (1976). Machine scheduling problems: Classification, complexityand computations. The Hague: Martinus Nijhoff.

Sakawa, M., & Kubota, R. (2000). Fuzzy programming for multiobjective job shopscheduling with fuzzy processing time and fuzzy duedate through geneticalgorithms. European Journal of Operational Research, 120, 393–407.

Sakawa, M., & Mori, T. (1999). An efficient genetic algorithm for job-shopscheduling problems with fuzzy processing time and fuzzy duedate.Computers and Industrial Engineering, 36(2), 325–341.

Sethi, R. (1977). On the complexity of mean flow time scheduling. Mathematics ofOperations Research, 2(4), 320–330.

Simaria, A. S., & Vilarinho, P. M. (2004). A genetic algorithm based approach to themixed-model assembly line balancing problem of type II. Computers andIndustrial Engineering, 47(4), 391–407.

Sivrikaya, F., & Ulusoy, G. (1999). Parallel machine scheduling with earliness andtardiness penalties. Computers and Operations Research, 26, 773–787.

Tang, L., & Liu, J. (2002). A modified genetic algorithm for the flow shopsequencing problem to minimize mean flow time. Journal of IntelligentManufacturing, 13(1).

Usher, J. M., & Bowden, R. O. (1996). The application of genetic algorithms tooperation sequencing for use in computer aided process planning. Computersand Industrial Engineering, 30(4), 999–1013.

van Hop, N., & Nagarur, N. N. (2004). The scheduling problem of PCBs for multiplenon-identical parallel machines. European Journal of Operational Research, 158,577–594.

Vilcot, G., Billaut, J.-C., & Esswein, C. (2006). A genetic algorithm for a bicriteriaflexible job shop scheduling problem. Service Systems and ServiceManagement(2), 1240–1244.

Wang, L., Zhang, L., & Zheng, D.-Z. (2006). An effective hybrid genetic algorithm forflow shop scheduling with limited buffers. Computers and Operations Research,33(10), 2960–2971.

Wang, L., & Zheng, D.-Z. (2002). A modified genetic algorithm for job shopscheduling. International Journal of Advanced Manufacturing Technology,20(1).

Watanabea, M., Idab, K., & Genc, M. (2005). A genetic algorithm with modifiedcrossover operator and search area adaptation for the job-shop schedulingproblem. Computers and Industrial Engineering, 48, 743–752.

Xu, X-D., & Li, C-X. (2007). Research on immune genetic algorithm for solving thejob-shop scheduling problem. International Journal of Advanced ManufacturingTechnology, 34(7–8).

Yamaguchi, Y. (2003). A genetic algorithm and the Monte Carlo method forstochastic job-shop scheduling. International Transactions in OperationalResearch, 10(6), 577–596.

Page 8: Non-identical parallel machine scheduling using genetic algorithm

S. Balin / Expert Systems with Applications 38 (2011) 6814–6821 6821

Yip-Hoi, D., & Dutta, D. (1996). A genetic algorithm application for sequencingoperations in process planning for parallel machining. IIE Transaction, 28(1),55–68.

Yoshitomi, Y. (2002). A genetic algorithm approach to solving stochastic job-shopscheduling problems. International Transactions in Operational Research, 9(4),479–495.

Yu, H., & Liang, W. (2001). Neural network and genetic algorithm-based hybridapproach to expanded job-shop scheduling. Computers and IndustrialEngineering, 39(3–4), 337–356.

Yun, Y. S. (2002). Genetic algorithm with fuzzy logic controller for preemptive andnon-preemptive job-shop scheduling problems. Computers and IndustrialEngineering, 43(3), 623–644.

Zhiming, W., & Chunwei, Z. (2000). Genetic algorithm approach to job shopscheduling and its use in real-time cases. International Journal of ComputerIntegrated Manufacturing, 13(5), 422–429.

Zhou, H., Feng, Y., & Han, L. (2001). The hybrid heuristic genetic algorithm for jobshop scheduling. Computers and Industrial Engineering, 40(3), 191–200.