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ß Balin _ Yı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 scheduling Non-identical parallel machines Heuristics Simulation Genetic algorithm (GA) LPT
a b s t r a c t 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 Vi. In scheduling problems, makespan (Cmax) is equivalent to the completion time of the last job leaving the system. The small Cmax usually implies a high utilization. Therefore, 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 and with what resources (Cardon, Galinho, & Vacher, 2000). The production scheduling is an important decision making in operational level and it is a difficult problem depending on the number of calculations 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 series; 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.
E-mail address:
[email protected] 0957-4174/$ - see front matter Ó 2010 Elsevier Ltd. All rights reserved. doi:10.1016/j.eswa.2010.12.064
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 operations 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 precedence constraints, it is named as open shop. In a general job shop, for single machine and n jobs, there are n! choices. When m machines exist, the number of possible schedules is (n!)m. The scheduling 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 combinatorial optimization problems. They vary widely according to specific 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 application 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 approaches. Many heuristics have been proposed such as simulated annealing (sa), tabu search (ts), branch and bound (B&B), neural
6815
S. Balin / Expert Systems with Applications 38 (2011) 6814–6821
network (NN), and genetic algorithm (GA). Among these various approaches to different scheduling problems, there has been an increasing interest in applying GA in view of its characteristic such as high adaptability, near optimization and easy realization. The primary difference between GA and other heuristics is that GA maintains a set of solutions (population) rather than a unique solution. Introduced in the 1970s by Holland (Holland, 1975), GA has been used to solve a variety of scheduling problems. One of the first attempts to approach a scheduling problem through the application of GA is the research of Davis in 1985 (Davis & Coombs, 1987). Since then, a significant number of successful applications of GA have been appearing. In the literature, there are many applications of GA to scheduling problems for different shops; most of them 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; Og˘uz & Ercan, 2005; Tang & Liu, 2002; Wang, Zhang, & Zheng, 2006) or open shop scheduling problems (Liaw, 2000; Prins, 2000). Moreover, GA has been also proposed to solve operation or batch sequencing problems (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 balancing 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 job shop and open shop scheduling problems can be simplified as parallel machine scheduling problem under certain conditions (Glover, 1986; Gürsel & Baez, 1993; Min & Cheng, 2003), the parallel machine scheduling problem receives a great deal of attention in the academic and engineering circle (Min & Cheng, 2003). There are many applications of GA to solve parallel machine scheduling 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 the industry, only a small number of them deal with non-identical parallel machines (Çakar et al., 2008; Özalp, 2006; Raja et al., 2008; van Hop & Nagarur, 2004). The authors have therefore concentrated their research effort on scheduling non-identical parallel machine production line using GA. In order to adapt GA to nonidentical parallel machine scheduling problem, they propose a new ‘‘crossover operator’’ and a new ‘‘optimality criterion’’. The organization of the paper is as follows: in Section 2, the non-identical parallel machine scheduling problem is mathematically formulated. Section 3 discusses the GA method. The detailed optimization algorithm is given in Section 4. To demonstrate the performance of the optimization algorithm, the experiments
conducted on a random set of instances is presented in Section 5 and the results are compared to those obtained with LPT dispatching rule. Section 6 concludes the paper. 2. Problem formulation In this study, a set of n jobs is to be processed on m non-identical parallel machines. The job j can be processed by either of the machines i. Each machine has a different velocity (Vi) and can process only one job at a time. Each job is to be processed without interruption. Processing time of job j on machine i is denoted by P(i, j). It is desired to find a schedule for which the maximum completion time (makespan) is minimized. x(i, j) is the boolean variable which determines whether job j is processed by machine i (if x(i, j) = 1) or not (if x(i, j) = 0). The matrix X 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 j ¼ 1; . . . ; n; i¼1 xði; jÞ ¼ 1; P P - the number of elements valued ‘‘1’’ is n, nj¼1 m i¼1 xði; jÞ ¼ n. Processing time of a job j on different machines can be expressed by the following equation:
Pði1 ; jÞ V 1 ¼ Pði2 ; jÞ V 2
ðiÞ
The maximum completion time (makespan) is equal to: m
C max ¼ max i¼1
( n X
) xði; jÞ Pði; jÞ
ðiiÞ
j¼1
Thus, the objective function can be formulated as follows: m
min C max ¼ max i¼1
( n X
) xði; jÞ Pði; jÞ
ðiiiÞ
j¼1
3. Genetic algorithm (GA) The GA, inspired by the process of Darwinian evolution, has been recognized as a general search strategy and as an optimization method which is often useful for attacking combinatorial problems. It is introduced in the 1970s by Holland (Holland, 1975) and Davis was first to propose GA for solving scheduling problems (Davis & Coombs, 1987). Since then, a significant number of successful applications have been appearing. A generic GA starts by creating an initial population of chromosomes. Each chromosome encodes a solution of the problem, and its fitness value is related to the value of the objective function for that solution. During each iteration step (or called ‘‘generation’’), genetic operations, that is, crossover, mutation and natural selection are applied in order to search potential better solutions. Crossover combines two chromosomes to generate nextgeneration chromosomes preserving their characteristics. Mutation reorganizes the structure of genes in a chromosome randomly so that a new combination of genes may appear in the next generation. It serves the search by jumping out of local optimal solutions. Reproduction is to copy a chromosome to the next generation directly so that chromosomes from various generations could cooperate in the evolution and the ‘‘quality’’ of the population may be improved after each generation (Ji et al., 2001). In contrast to other local search methods, such as Simulated Annealing or Tabu Search, which are based on handling one feasible solution, GA utilizes a population of solutions in its search, giving it more resistance to premature convergence on local minima
6816
S. Balin / Expert Systems with Applications 38 (2011) 6814–6821
be identified by their order of creation, k e N. Initial population is the set consisting of N chromosomes. The number of chromosomes, i.e. population size, is one of the important parameters of GA. Members of the initial population (chromosomes) are the parents of the next generations and the efficiency of the algorithm is highly dependant on their ‘‘quality’’.
Coding
Generation of initial population
Calculation of fitnesses values
4.3. Calculation of fitness values Natural selection
Fitness is the performance evaluation of chromosomes (Zhou et al., 2001). After the generation of new population, fitness value of 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):
Crossover
Mutation
Reproduction of new generation
F k ¼ a ebCmax ðkÞ
where a and b are positive real number and Cmax(k) is the objective function value (makespan) of the chromosome k.
Evaluation of the generation Non
ðvÞ
Yes Optimal solution ?
4.4. Reproduction
Output
Fig. 1. General structure of GA.
(Park et al., 2003). Another advantage of GA is having a good performance in a large and complex search space. The ability of GA to explore and to exploit simultaneously the search space, makes it more efficient than the other methods (Emel & Tasßkın, 2002). Nevertheless, GA has also some disadvantages; the performance of genetic algorithms in terms of the optimality is highly dependent on the realization of each of the above steps, and the values of the GA parameters, that are number of solutions in the initial population (i.e. population size), number of generations (i.e. termination criterion), and probability values for genetic operators (i.e. crossover and mutation probabilities) (Goldberg, 1989; Michalewicz, 1992). The general structure of GA is given in Fig. 1. In the following section, we will adapt this structure to the non-identical parallel machine scheduling problem.
Reproduction is the process in which parents copy themselves according to the probabilities that are proportional to their fitness values. As a result, parents with higher fitness values will have higher probabilities of producing their offspring in the next generation (Zhou et al., 2001). We make selection of parents according to the roulette wheel selection method. The roulette wheel selection method ranks the chromosomes based on their fitness function values, and then assigns them a probability distribution in favor of good chromosomes, so as to obtain a better chance of producing good next generations (Jou, 2005). The roulette wheel selection method has following steps (Goldberg, 1989): - calculate selection probability of chromosomes
Fk PðkÞ ¼ PN i¼1 FðiÞ
k ¼ 1; . . . ; N
ðviÞ
- generate cut points, S(k),
Sð0Þ ¼ 0 SðkÞ ¼ Pð1Þ þ þ PðkÞ;
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 machine i. Raws are called ‘‘genes’’ (g1, ... , gi, ... gm) and they represent jobs to be processed on each machine; jobs to be processed on machine i are given by elements non-zero of gene i (x(i, j) = 1). The completion time of each machine i, (Ci), is equal to the sum of processing times of jobs to be processed on that machine; it is called as the ‘‘value of gene i’’ and it is defined by the following function:
f ðg i Þ ¼
n X
xði; jÞ Pði; jÞ;
i ¼ 1; . . . ; m
ðivÞ
j¼1
4.2. Generation of initial population As the matrix X represents the scheduling of n jobs on m machines, an initial solution can be obtained randomly by having only one non-zero element, x(i, j) e {0, 1}, in each column. Several initial solutions can be obtained by repeating the same operation and each initial solution is called ‘‘chromosome’’. Chromosomes can
k ¼ 1; . . . ; N
- generate N random number uniformly distributed between 0 and 1, fs for s = 1, ... , N - for each fs, equation S(k1) < fs < S(k) gives chromosomes to be selected. 4.5. Crossover Because of the coding method used in this paper, crossover operator deals with genes, and not with chromosomes like most of the applications in literature. Each gene i consists of jobs to be processed on machine i, (x(i,j) – 0, j = 1, . . . , n); each chromosome contains m genes and each one consists in one feasible schedule. Crossover operator, described below, combines two genes of the same chromosome in a proper order, to obtain a new chromosome giving a better feasible solution. The first gene to combine, gi0 , is the one that indicates the machine with maximum completion time: m
f ðg i0 Þ ¼ maxff ðg i Þg i¼1
ðviiÞ
The job with the shortest processing time of gene gi0 is denoted by j0 and given by the equation below:
6817
S. Balin / Expert Systems with Applications 38 (2011) 6814–6821 Table 1 Processing 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 Machine Machine Machine
18.0 9.0 4.5 3.6
14.0 7.0 3.5 2.8
24.0 12.0 6.0 4.8
30.0 15.0 7.5 6.0
16.0 8.0 4.0 3.2
20.0 10.0 5.0 4.0
22.0 11.0 5.5 4.4
26.0 13.0 6.5 5.2
14.0 7.0 3.5 2.8
1 2 3 4
(M.1) (M.2) (M.3) (M.4)
Table 2 Scheduling with LPT. Machines
Scheduled jobs
Ci
M.1 M.2 M.3 M.4
Job Job Job Job
14.00 11.00 15.50 17.20
0
0
n
2 7 8 4
Job 6 Job 3
Job 5 Job 1
Job 9
0
Pði ; j Þ ¼ minfPði ; jÞg
ðviiiÞ
j¼1
Crossover operation is carried out by moving job j0 to another machine. The new machine is represented by gene gz and given by the following equation:
ðf ðg i0 Þ f ðg z ÞÞ
m Vz Vi ¼ max ðf ðg i0 Þ f ðg i ÞÞ i¼1 V i0 V i0
ðixÞ
The processing time of job j0 on machine z, P(z, j0 ), can be calculated using Eq. (i): 0
0
0
Pðz; j Þ ¼ Pði ; j Þ
V i0 Vz
4.6. Mutation Crossover operator is used to combine existing genes in order to obtain new chromosomes, whereas mutation operator creates new chromosomes by causing small perturbations in genes. Therefore, it helps to maintain the diversity of the population and to extend the solution space. Because of the coding method used in this paper, mutation operator can be applied easily by alternating some elements x(i, j) of matrix X. Every column of matrix X has only one element valued ‘‘1’’ (one job is processed only on one machine). Mutation can be carried out by moving randomly this element from one raw to another (i.e. moving a job from one machine to another). This operation prevents from getting stuck on local suboptimal solutions and it is very helpful to maintain the richness of the population in dealing with large scale problems. In the numerical application given in Section 5, because of the relatively small size of the problem, mutation operator is not needed.
Fig. 3. Application of GA using simulation.
4.7. Optimality criterion After mutation a new generation is obtained, an optimality test is to be performed as the last step of the algorithm. Initially,
Machine
M.1 M.2 M.3 M.4
C1=f(g1)=14.0
P(2,1)=14
C2=f(g2)=11.0
P(7,2)=11 P(8,3)=6,5 P(4,4)=6
P(6,3)=5 P(3,4)=4,8
C3=f(g3)=15.5
P(5,3)=4 P(1,4)=3,6
C4= f(g4)=17.2
P(9,4)=2,8
time 17,2 Fig. 2. Gantt chart for job scheduling 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 formula (iv)) and the maximum completion time of each chromosome (makespan, Cmax(k), using formula (ii)) have to be calculated. The optimality criterion to be used is given below: 0
0
Pði ; j Þ > ðf ðg i0 Þ f ðg i ÞÞ
Vi ; V i0
i ¼ 1; . . . ; m
ðxÞ
It can be calculated easily using formulas (vii) and (viii). If it is satisfied for a chromosome, it means that this chromosome cannot provide better solutions. If it is satisfied for all chromosomes, any of completion times (Cmax(k)) cannot be improved; algorithm ends and the optimal solution is given by the Eq. (iii): N
C max ¼ minfC max ðkÞg k¼1
5. Numerical application In this section, the scheduling problem of n jobs on m nonidentical machines is solved using GA described above. The
computational results are compared to those obtained with LPT dispatching rule. As a numerical example, 9 jobs are scheduled on 4 non-identical machines. The objective is to minimize makespan (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 chart in Fig. 2. The same scheduling problem is solved with GA using Simul 8TM simulation software (Fig. 3). Each ‘‘work center’’ corresponds to one step of the algorithm. Simulation entity passes through ‘‘work centers’’ to complete the algorithm. A new population is created at the beginning of each flow of the entity and a new solution is obtained at the end of the flow. Each flow, i.e. iteration, begins with a randomly generated population of 10 chromosomes, half of the chromosomes are exposed to ‘‘natural selection’’ and the rest of them undergo a ‘‘crossover operation’’. Crossover operation is repeated until the optimality criterion is satisfied. Each iteration provides one solution to the problem, the use of simulation allows to
Table 3 Scheduling with GA. Machines Iteration n°398 M.1 M.2 M.3 M.4
Scheduled jobs Job Job Job Job
2 1 5 7
Job 9 Job 6 Job 3
Iteration n°431 M.1 M.2 M.3 M.4
Job Job Job Job
5 1 9 3
Iteration n°720 M.1 M.2 M.3 M.4
Job Job Job Job
2 1 5 6
Job Job Job Job
5 4 8 1
Job 6 Job 3
Job Job Job Job
5 1 2 4
Job 9 Job 6 Job 7
Job Job Job Job
5 9 3 4
Iteration n°1488 M.1 M.2 M.3 M.4 Iteration n°1802 M.1 M.2 M.3 M.4 Iteration n°1905 M.1 M.2 M.3 M.4
Job 2 Job 7 Job 8
Job 9 Job 7 Job 8
Job 2 Job 1 Job 8
Ci
Machines
Scheduled jobs
Ci
14.00 16.00 15.50 15.20
Iteration n°1941 M.1 M.2 M.3 M.4
Job Job Job Job
5 4 8 3
Job 6 Job 9
16.00 15.00 16.00 14.80
Job 6 Job 4
16.00 16.00 14.00 16.00
Iteration n°1969 M.1 M.2 M.3 M.4
Job Job Job Job
9 2 8 4
Job 1 Job 5 Job 7
Job 3 Job 4
14.00 16.00 15.50 15.20
Iteration n°2104 M.1 M.2 M.3 M.4
Job Job Job Job
5 9 2 3
Job 1 Job 8 Job 4
Job 9 Job 2
16.00 15.00 15.00 15.60
Job Job Job Job
5 1 9 3
Job 2 Job 7 Job 6
Job Job Job Job
5 1 3 8
Job 9 Job 2 Job 4
Job Job Job Job
5 1 8 7
Job 2 Job 4 Job 6
Job 8 Job 4
Job 8 Job 3
14.00 16.00 15.50 15.20
Iteration n°2941 M.1 M.2 M.3 M.4 Iteration n°4298 M.1 M.2 M.3 M.4
Job 7 Job 6
16.00 14.00 16.00 15.20
Iteration n°4549 M.1 M.2 M.3 M.4
Job 7
Job 1 Job 2
Machine M.1
C1=f(g1)=14
P(2,1)=14
M.2
P(1,2)=9
M.3
P(5,3)=4
M.4
P(6,4)=4
P(7,3)=5,5 P(8,4)=5,2
C2=f(g2)=16
P(9,2)=7
C3=f(g3)=15.5
P(3,3)=6
C4=f(g4)=15.2
P(4,4)=6
time 16.0 Fig. 4. Gantt chart for job scheduling using GA (trial n°720).
Job 7
Job 6 Job 3
14.00 16.00 15.00 15.20
Job 7 Job 6
16.00 16.00 15.50 14.80
Job 8 Job 4
16.00 16.00 15.50 14.80
Job 6 Job 7
16.00 16.00 14.50 15.60
Job 3
16.00 16.00 14.00 16.00
Job 9
6819
S. Balin / Expert Systems with Applications 38 (2011) 6814–6821
Machine M.1
C1=f(g1)=14
P(5,1)=14
M.2
P(1,2)=9
M.3
P(2,3)=4
M.4
P(4,4)=4
P(6,3)=5,5 P(7,4)=5,2
C2=f(g2)=16
P(9,2)=7
C3=f(g3)=15.5
P(8,3)=6
C4=f(g4)=15.2
P(3,4)=6
time 16.0 Fig. 5. Gantt chart for job scheduling using GA (trial n°1802).
perform several iterations by using different initial populations. The simulation performed in this study uses 5000 entities flowing through the system to provide different solutions. 12 Iterations lead to the best solution, each one of them indicates a different schedule and their results are given in Table 3. Optimal solution obtained with GA is 16.0 min and it is given by 12 different schedules. In order to distinguish between these results, one may use an additional criterion as the total flow time. In the given problem, the total flow time is equal to the sum of the 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 obtained in iteration n°720 (Fig. 4) and n°1802 (Fig. 5). 6. Conclusion Most of the scheduling problems are NP-hard. Mathematical optimization techniques can give an optimal solution for a reasonably sized problem, however, in the case of a large scale problem, their application is limited. Dispatching rules are suitable only for small scale problems and no single dispatching rule guarantees good result in various problems. Research efforts have therefore concentrated on heuristic approaches. Among these approaches, GA outperforms others in view of its characteristic such as high adaptability, near optimization and easy realization. As many practical job shop and open shop scheduling problems can be simplified as parallel machine scheduling problems under certain conditions, the parallel machine scheduling problem has received a great deal of attention in the academic and engineering circle. There are many applications of GA to solve parallel machine scheduling problem; but, even though it is a common problem in the industry, only a small number of them deal with non-identical parallel machines. We therefore decided to concentrate our research effort on scheduling non-identical parallel machines using GA. In order to adapt GA to non-identical parallel machine scheduling problem, we propose a new ‘‘crossover operator’’ and a new ‘‘optimality criterion’’. New algorithm is tested on a numerical example and computational results are compared to those obtained with LPT; the results were promising. These findings show that, in addition to its high computational speed, the GA proposed here is suitable for non-identical parallel machine scheduling problem of minimizing the maximum completion time (makespan). Another benefit of GA is the possibility of using several initial populations leading to different results. While most of the other heuristics and all dispatching rules give only one solution, GA maintains a set of solutions. In this study, the GA is implemented in a simulation software where each ‘‘work center’’ corresponds to one step of the algorithm and initial populations are generated using random numbers. Another advantage of GA over other methods is the ability to adapt to different types of scheduling problems. In further
research, GA can be applied to non-identical parallel machine scheduling problem involving setup times, ready times and/or due dates in order to minimize the maximum flow time, number of tardy jobs or total tardiness. Moreover, in the literature, there is an increasing number of researches which deal with the application of GA on ‘‘fuzzy scheduling problems’’. The GA described in this study can be applied also on non-identical parallel machine scheduling problem with fuzzy processing times and fuzzy due dates. References Amirthagadeswaran, K. S., & Arunachalam, V. P. (2006). Improved solutions for job shop scheduling problems through genetic algorithm with a different method of schedule deduction. International Journal of Advanced Manufacturing Technology, 28(5–6). Amirthagadeswaran, K. S., & Arunachalam, V. P. (2007). Enhancement of performance of Genetic Algorithm for job shop scheduling problems through inversion operator. International Journal of Advanced Manufacturing Technology, 32(7–8). Badami, V. S., & Parks, C. M. (1991). A classifier-based approach to flow shop scheduling. Computers and Industrial Engineering, 21(1–4), 329–333. Bertela, S., & Billaut, J-C. (2004). A genetic algorithm for an industrial multiprocessor flow shop scheduling problem with recirculation. European Journal of Operational 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 Operations Research, 93(1), 1–33. Çakar, T., Köker, R., & Demir, H. I. (2008). Parallel robot scheduling to minimize mean 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 based procedure for more realistic job shop scheduling problems. International Journal of Production Research, 36(12), 3437–3457. Cardon, A., Galinho, T., & Vacher, J.-P. (2000). Genetic algorithms using multiobjectives 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 by hybridization: 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 genetic algorithm for parallel machine-scheduling problem. Expert Systems with Applications, 29, 705–712. Cheng, R., Gen, M., & Tozawa, T. (1995). Minmax earliness/tardiness scheduling in identical parallel machine system using genetic algorithms. Computers and Industrial Engineering, 29, 513–517. Chiu, N. C., Fang, S. C., & Lee, Y. S. (1999). Sequencing parallel machining operations by genetic algorithms. Computers and Industrial Engineering, 36, 259–280. Chu, J. H., Yeongho, K., & Yeo, K. K. (1998). A genetic algorithm for multiple objective sequencing problems in mixed model assembly lines. Computers and Operations Research, 25(7–8), 675–690. Cochran, J. K., Horng, S. M., & Fowler, J. W. (2003). A multi-population genetic algorithm 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 a batch-processing machine with non-identical job sizes using genetic algorithms. International Journal of Production Economics, 103, 882–891. Davis, L., & Coombs, S. (1987). genetic algorithms and communication link speed design: 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 flow shop scheduling problems. Journal of Operations Research Society, 55(8), 830–835. Fayad, C., & Petrovic, S. (2005). A fuzzy genetic algorithm for real-world job shop scheduling. Berlin/Heidelberg: Springer. Fowler, J. W., Horng, S. M., & Cochran, J. K. (2003). A hybridized genetic algorithm to solve 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 and bottleneck 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 the theory of NP-completeness. San Francisco: W.H. Freeman. Ghrayeb, O. A. (2003). A bi-criteria optimization: Minimizing the integral value and spread of the fuzzy makespan of job shop scheduling problems. Applied Soft Computing, 2/3F, 197–210. Glover, F. (1986). Future paths for integer programming and links to artificial intelligence. Computers and Operations Research, 13(5), 533–549. Goldberg, D. E. (1989). Genetic algorithms in search, optimization, and machine learning. MA: Addison-Wesley. Gonçalves, J. F., & de Almeida, J. R. (2002). A hybrid genetic algorithm for assembly line balancing. Journal of Heuristics, 8(6). Gonçalves, J. F., Mendes, J. J. M., & Resende, M. G. C. (2005). A hybrid genetic algorithm for the job shop scheduling problem. European Journal of Operational Research, 167(1), 77–95. Gupta, J. N. D., & Ho, J. C. (2001). Minimizing makespan subject to minimum flowtime on two identical parallel machines. Computers and Operations Research, 28, 705–717. Gürsel, S., & Baez, E. (1993). Minimizing the number of tardy jobs in identical machine scheduling. Computers and Industrial Engineering, 25(4), 243–246. Haq, A. N., Rengarajan, K., & Jayaprakash, J. (2006). A hybrid genetic algorithm approach to mixed-model assembly line balancing. International Journal of Advanced 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 time for printed circuit board assembly lines. European Journal of Operational Research, 128, 175–184. Jia, H. Z., Fuh, J. Y. H., Nee, A. Y. C., & Zhang, Y. F. (2007). Integration of genetic algorithm and Gantt chart for job shop scheduling in distributed manufacturing systems. Computers and Industrial Engineering, 53, 313–320. Jordan, C. (1998). A two-phase genetic algorithm to solve variants of the batch sequencing problem. International Journal of Production Research, 36(3), 745–760. Jou, C. (2005). A genetic algorithm with sub-indexed partitioning genes and its application to production scheduling of parallel machines. Computers and Industrial Engineering, 48, 39–54. Kashan, A. H., Karimi, B., & Jenabi, M. (2008). A hybrid genetic heuristic for scheduling 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 for the flow shop scheduling problem. International Journal of Services and Operations Management, 3(3), 316–331. Lee, C. Y., & Kim, S. J. (1995). Parallel genetic algorithms for the earliness-tardiness job scheduling problem with general penalty weights. Computers and Industrial Engineering, 28(2), 231–243. Lee, C.-Y., Piramuthu, S., & Tsai, Y.-K. (1997). Job shop scheduling with a genetic algorithm and machine learning. International Journal of Production Research, 35(4), 1171–1191. Lenstra, J. K., & Rinnooy Kan, A. H. G. (1978). Complexity of scheduling under precedence constraints. Operations Research, 26, 22–35. Levitin, G., Rubinovitz, J., & Shnits, B. (2006). A genetic algorithm for robotic assembly line balancing. European Journal of Operational Research, 168(3), 811–825. Liaw, C.-F. (2000). A hybrid genetic algorithm for the open shop scheduling problem. European Journal of Operational Research, 124(1), 28–42. Liu, T-K., Tsai, J.-T., & Chou, J.-H. (2006). Improved genetic algorithm for the jobshop scheduling problem. International Journal of Advanced Manufacturing Technology, 27(9–10). Luu, D. T., Bohez, E. L. J., & Techanitisawad, A. (2002). A hybrid genetic algorithm for the batch sequencing problem on identical parallel machines. Production Planning and Control, 13(3), 243–252. Malvea, S., & Uzsoy, R. (2007). A genetic algorithm for minimizing maximum lateness on parallel identical batch processing machines with dynamic job arrivals and incompatible job families. Computers and Operations Research, 34(10), 3016–3028. Mansouri, S. A. (2005). A multi-objective genetic algorithm for mixed-model sequencing 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 shop scheduling with tardiness objectives. European Journal of Operational Research, 155(3), 616–630.
McGovern, S. M., & Gupta, S. M. (2007). A balancing method and genetic algorithm for disassembly line balancing. European Journal of Operational Research, 179(3), 692–708. Michalewicz, Z. (1992). Genetic algorithms + data structure = evolution program. New York: Springer. Min, L., & Cheng, W. (1999). A genetic algorithm for minimizing the makespan in the case of scheduling identical parallel machines. Artificial Intelligence in Engineering, 13, 399–403. Min, L., & Cheng, W. (2003). Scheduling algorithm based on evolutionary computing in identical parallel machine production line. Robotics and Computer-Integrated Manufacturing, 19, 401–407. Min, L., & Cheng, W. (2006). Genetic algorithms for the optimal common due date assignment 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 fabriccutting schedules using genetic algorithms and fuzzy set theory. European Journal of Operations Research, 177, 1876–1893. Moon, C., Lee, M., Seo, Y., & Lee, Y. H. (2002). Integrated machine tool selection and operation sequencing with capacity and precedence constraints using genetic algorithm. Computers and Industrial Engineering, 43(3), 605– 621. Og˘uz, C., & Ercan, M. F. (2005). A genetic algorithm for hybrid flow-shop scheduling with 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 Berlin Heidelberg, 535–543. Park, B. J., Choi, H. R., & Kim, H. S. (2003). A hybrid genetic algorithm for the job shop scheduling problems. Computers and Industrial Engineering, 45, 597–613. Peng, J., & Liu, B. (2004). Parallel machine scheduling models with fuzzy processing times. Information Sciences, 166, 49–66. Ponnambalam, S. G., Aravindan, P., & Naidu, G. M. (2000). A multi-objective genetic algorithm for solving assembly line balancing problem. International Journal of Advanced Manufacturing Technology, 16(5). Prins, C. (2000). Competitive genetic algorithms for the open-shop scheduling problem. Mathematical Methods of Operations Research, 52(3). Raja, K., Arumugam, C., & Selladurai, V. (2008). Non-identical parallel-machine scheduling using genetic algorithm and fuzzy logic approach. International Journal of Services and Operations Management (IJSOM), 4(1). Rajakumar, S., Arunachalam, V. P., & Selladurai, V. (2007). Workflow balancing in parallel machines through genetic algorithm. International Journal of Advanced Manufacturing Technology, 33, 1212–1221. Rinnooy Kan, A. H. G. (1976). Machine scheduling problems: Classification, complexity and computations. The Hague: Martinus Nijhoff. Sakawa, M., & Kubota, R. (2000). Fuzzy programming for multiobjective job shop scheduling with fuzzy processing time and fuzzy duedate through genetic algorithms. European Journal of Operational Research, 120, 393–407. Sakawa, M., & Mori, T. (1999). An efficient genetic algorithm for job-shop scheduling 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 of Operations Research, 2(4), 320–330. Simaria, A. S., & Vilarinho, P. M. (2004). A genetic algorithm based approach to the mixed-model assembly line balancing problem of type II. Computers and Industrial Engineering, 47(4), 391–407. Sivrikaya, F., & Ulusoy, G. (1999). Parallel machine scheduling with earliness and tardiness penalties. Computers and Operations Research, 26, 773–787. Tang, L., & Liu, J. (2002). A modified genetic algorithm for the flow shop sequencing problem to minimize mean flow time. Journal of Intelligent Manufacturing, 13(1). Usher, J. M., & Bowden, R. O. (1996). The application of genetic algorithms to operation sequencing for use in computer aided process planning. Computers and Industrial Engineering, 30(4), 999–1013. van Hop, N., & Nagarur, N. N. (2004). The scheduling problem of PCBs for multiple non-identical parallel machines. European Journal of Operational Research, 158, 577–594. Vilcot, G., Billaut, J.-C., & Esswein, C. (2006). A genetic algorithm for a bicriteria flexible job shop scheduling problem. Service Systems and Service Management(2), 1240–1244. Wang, L., Zhang, L., & Zheng, D.-Z. (2006). An effective hybrid genetic algorithm for flow 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 shop scheduling. International Journal of Advanced Manufacturing Technology, 20(1). Watanabea, M., Idab, K., & Genc, M. (2005). A genetic algorithm with modified crossover operator and search area adaptation for the job-shop scheduling problem. Computers and Industrial Engineering, 48, 743–752. Xu, X-D., & Li, C-X. (2007). Research on immune genetic algorithm for solving the job-shop scheduling problem. International Journal of Advanced Manufacturing Technology, 34(7–8). Yamaguchi, Y. (2003). A genetic algorithm and the Monte Carlo method for stochastic job-shop scheduling. International Transactions in Operational Research, 10(6), 577–596.
S. Balin / Expert Systems with Applications 38 (2011) 6814–6821 Yip-Hoi, D., & Dutta, D. (1996). A genetic algorithm application for sequencing operations in process planning for parallel machining. IIE Transaction, 28(1), 55–68. Yoshitomi, Y. (2002). A genetic algorithm approach to solving stochastic job-shop scheduling problems. International Transactions in Operational Research, 9(4), 479–495. Yu, H., & Liang, W. (2001). Neural network and genetic algorithm-based hybrid approach to expanded job-shop scheduling. Computers and Industrial Engineering, 39(3–4), 337–356.
6821
Yun, Y. S. (2002). Genetic algorithm with fuzzy logic controller for preemptive and non-preemptive job-shop scheduling problems. Computers and Industrial Engineering, 43(3), 623–644. Zhiming, W., & Chunwei, Z. (2000). Genetic algorithm approach to job shop scheduling and its use in real-time cases. International Journal of Computer Integrated Manufacturing, 13(5), 422–429. Zhou, H., Feng, Y., & Han, L. (2001). The hybrid heuristic genetic algorithm for job shop scheduling. Computers and Industrial Engineering, 40(3), 191–200.