Upload
savas-balin
View
216
Download
2
Embed Size (px)
Citation preview
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
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
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:
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.
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).
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.
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.
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.