Int J Adv Manuf Technol (2002) 19:224–234

© 2002 Springer-Verlag London Limited
Estimation of Optimum Genetic Control Parameters for Job Shop
Scheduling
S. G. Ponnambalam
1
, N. Jawahar
2
and B. Senthil Kumar
3
1
Department of Production Engineering, Regional Engineering College, Tiruchirapalli, India;
2
Department of Mechanical Engineering,
Thiagarajar College of Engineering, Madurai, India; and
3
Bluemount Ceramics Limited, Coimbatore, India
Genetic algorithms (GA) have demonstrated considerable
success in providing good solutions to many non-polynomial
hard optimisation problems. GAs are applied for identifying
efficient solutions for a set of numerical optimisation prob-
lems. Job shop scheduling (JSS) has earned a reputation for
being difficult to solve. Many workers have used various
values of genetic parameters. This paper attempts to tune
the control parameters for efficiency, that are used to acceler-
ate the genetic algorithm (applied to JSS) to converge on
an optimal solution. The genetic parameters, namely, number
of generations, probability of crossover, probability of
mutation, are optimised relating to the size of problems. The
results are validated in job shop scheduling problems. The
results indicate that by using an appropriate range of para-
meters, the genetic algorithm is able to find an optimal
solution faster.
Keywords: Control parameters; Genetic algorithm; Job
shop scheduling
1. Introduction
Many optimisation problems in the industrial engineering
world and, in particular, in manufacturing systems are very
complex in nature and difficult to solve by conventional
optimisation techniques. The use of formal approaches in
industry is frequently limited owing to the complexity of the
models or algorithms, or the lack of data used in the models.
Since the 1960s, there has been an increasing interest in
imitating living beings to solve difficult optimisation problems.
Simulating the natural evolutionary process of human beings
results in stochastic optimisation techniques called evolution-
ary algorithms, which can often outperform conventional
optimisation methods when applied to difficult real-world
Correspondence and offprint requests to: Dr S. G. Ponnambalam,
Department of Production Engineering, Regional Engineering College,
Tiruchirapalli, 620 015, India. E-mail: ponsȰrect.ernet.in
problems. There are currently three main avenues of this
research: genetic algorithms (GAs), evolutionary programming
(EP), and evolution strategies (ESs). Genetic algorithms are
perhaps the most widely known types of evolutionary algor-
ithm today [1].
1.1 Job Shop Scheduling
Scheduling allocates resources over time in order to perform
a number of tasks. Typically, resources are limited and there-
fore tasks are assigned to resources in a temporal order. The
jobs are input to the scheduling engine of a production planning
system. It determines the sequences and periods for processing
jobs on its dedicated machines and determines the reduction
of the work-in-process inventory produced by increasing the
throughput of jobs. Jobs often follow technological constraints
that define a certain type of shop floor. Typically, the objectives
are the reduction of makespan of an entire production program,
the minimisation of mean tardiness, the maximisation of
machine load or some weighted average of many similar
criteria. Within the great variety of production scheduling
problems, the general job shop problem (JSP) is probably the
one most studied during the last decade. It has earned a
reputation for being difficult to solve. It illustrates at least
some of the demands required by a wide range of real-world
problems [2].
1.2 Representation of JSP
Consider a shop floor where jobs are processed by machines.
Each job consists of a certain number of operations. Each
operation has to be processed in a dedicated machine, and, for
each operation, a processing time is defined. The order of
operations for each job is prescribed by production planning.
The technological constraints in the production sequence are
therefore statutory problems. The basic JSP is a purely deter-
ministic and static optimisation problem, since the processing
Estimation of Optimum Genetic Control Parameters 225
time and constraints are fixed, and no stochastic events occur.
The solution space (sample space) consists of (n!)
m
feasible
schedules [3].
1.3 Heuristic and Search Techniques
Various types of scheduling problem are solved in different
job shop environments. Varieties of algorithms are employed
to obtain optimal or near optimal schedules. Traditionally, the
automatic generation of scheduling plans for job shops has
been addressed using optimisation and approximation
approaches [4,5]. Optimisation algorithms include enumerative
procedures and mathematical programming techniques (linear
programming, goal programming, transportation, network and
dynamic programming).
The approximation techniques used are branch–bound, pri-
ority rule based, heuristics, local search algorithms (ITS, SA,
TS), and evolutionary programs (GA). The salient points [2,5–
7] concerning scheduling algorithms are:
Optimisation algorithms provide satisfactory or optimal results
if the problems to be solved are not large. Most scheduling
problems are NP-hard, that is, the computational requirement
grows exponentially as a function of the problem size, and
this degrades the performance of conventional OR techniques
and hence optimisation approaches are ruled out in practice.
The quality of solutions using branch and bound algorithms
depends on the bounds; a good bound requires a substantial
amount of computation.
Various factors such as configuration of the system shop load
levels, objective criteria, and the like, govern the performance
of priority dispatching rules (pdrs). The performance of pdrs
has been analysed using simulation experiments, which are
evaluative rather than generative. Hence, generalisation of the
use of a particular rule is difficult to establish. Priority based
rules are questionable for stability and environment dependence.
The performance of heuristics is satisfactory as long as the
operating characteristics and objectives of the system remain
the same. Heuristics yield good solutions, and are robust to
the systems.
Local search-based heuristics are known to produce excellent
results in short run times, but they are susceptible to being
stuck in local entrapments (local minima).
Evolutionary programs, which belong to random search pro-
cesses, are regarded as better than simulation in the sense that
they guarantee near optimal solutions in actual cases. By
changing the evaluation parameters of the genetic search pro-
cess, the solutions can also be obtained for other objectives
and can be more flexible. These are useful considerations for
any difficult optimisation problems.
The above discussion indicates that there are many avenues to
explore in the area of heuristic search algorithms for job shop
scheduling. There is much literature available in this area; but,
very few authors have attempted to evaluate the optimal control
parameters for GA. In this paper an attempt has been made
to establish optimal control parameters for efficiency, which
are used to accelerate the genetic algorithm (applied to JSS)
in converging on optimal solutions.
2. Genetic Algorithm for Job Shop
Scheduling
As a first step towards the development of an integrated
schedule for the job shop model, the operation times are
considered. The problem under consideration is the generation
of an optimal finite schedule for n jobs on m machines of the
system with makespan criteria.
2.1 Schedule Generation Heuristic
Nascimento and Mario [8] showed, from the point of view of
CPU time and solution quality, that the Giffler and Thompson
(GT) [9] schedule generation algorithm, originally designed for
the traditional job shop model, can provide good results even
for the flexible manufacturing system environment. They struc-
tured two branch–bound algorithms and compared their behav-
iour on the job shop model.
The GT algorithm is a numerical version of the procedure
described for drawing a Gantt chart to arrive at an active
feasible schedule. Whenever two or more jobs contend for the
same facility at one time (conflict), the choice is made arbi-
trarily, and one active feasible schedule is obtained. Enumerat-
ing all possible choices, which occur at different stages, one
by one, the entire set of active feasible schedules can be
obtained including the optimal one. The tie-breaking rules
employed in this work are arbitrary. The complete set of active
feasible solutions is obtained by pruning the tree in all possible
ways. The optimal solution is obtained by evaluating the
feasible schedules. The weakness of this method is that enumer-
ating all possible combinations is a time-consuming process.
The GT algorithm is an effective enumerative procedure for
providing all feasible schedules in a job shop environment.
However, enumerating all feasible combinations is complicated
and is not practicable as the size of the problem (number of
jobs and/or processors) increases. In this context, instead of
resolving the conflicts one by one by all possible means, the
heuristic that uses a GT algorithm in conjunction with pdrs is
used in this paper for scheduling the job shop problem with
the minimum makespan criterion. The pdrs are used to resolve
conflicts among the contending jobs in the GT procedure. The
optimal combinations of pdrs, one for each machine, to resolve
the conflicts among the contending jobs in the GT procedure
are evolved through a genetic search process.
2.2 Genetic Algorithm for Schedule Generation
To solve a problem, which belongs to iterative evolution
heuristic search, with a GA we have to choose a representation
of the solution space and the objective function. The schedule
generated using the machinewise pdr set in the GT procedure
represents the solution and the objective function is the makes-
pan time. A method is employed which uses an optimal
machine set (independent pdrs, one for each machine). A
genetic search process evolves the best machinewise pdr set
for minimising makespan time. In the proposed GA, each gene
(g) represents a pdr code (0,1,2,3), one for each machine.
Floating-point encoding has been used to identify the pdr code.
226 S. G. Ponnambalam et al.
Table 1. Operators used in the experiment.
Operator Values used
Selection operator Roulette wheel operator
Crossover operator EX operator
Mutation operator Uniform mutation
Table 2. Experiments conducted.
Description of experiments
Trial pFcross pFmut noFit
number
1 0.1 0.01 50
2 0.1 0.15 50
3 0.1 0.3 50
4 0.3 0.01 50
5 0.3 0.15 50
6 0.3 0.3 50
7 0.6 0.01 50
8 0.6 0.15 50
9 0.6 0.3 50
10 0.1 0.01 100
11 0.1 0.15 100
12 0.1 0.3 100
13 0.3 0.01 100
14 0.3 0.15 100
15 0.3 0.3 100
16 0.6 0.01 100
17 0.6 0.15 100
18 0.6 0.3 100
19 0.1 0.01 250
20 0.1 0.15 250
21 0.1 0.3 250
22 0.3 0.01 250
23 0.3 0.15 250
24 0.3 0.3 250
25 0.6 0.01 250
26 0.6 0.15 250
27 0.6 0.3 250
The chromosome (c), the length of which is equal to the
number of machines in the system, represents a machinewise
pdr set and is a representative of a feasible solution. The
position of the gene in a chromosome indicates the machine
number, and the pdr code and the position identify the pdr for
conflict resolution by that machine.
Table 3. Example problem.
j m T
jm
m T
jm
m T
jm
m T
jm
m T
jm
D
i
1 2 21 1 53 5 95 4 55 3 34 1032
2 1 21 4 52 5 16 3 26 2 71 744
3 4 39 5 98 2 42 3 31 1 12 888
4 2 77 1 55 5 79 3 66 4 77 1416
5 1 83 4 34 3 64 2 19 5 37 948
6 2 54 3 43 5 79 1 92 4 62 1320
7 4 69 5 77 2 87 3 87 1 93 1652
8 3 38 1 60 2 41 4 24 5 83 984
9 4 17 2 49 5 25 1 44 3 98 932
10 5 77 4 79 3 43 2 75 1 96 1480
The genetic search process starts with a randomly generated
set of chromosomes called the initial population. The size of
the population (popFsize) depends on the solution space. The
possible number of combinations of the machinewise pdr sets
is 4
m
where m is the number of machines in the system.
Hence, the population size is related to the number of machines
in the system and is assumed to be equal to the number of
machines in the system.
The machinewise pdr set of chromosomes is applied in the
GT procedure (the method to generate all schedules) to produce
a feasible schedule. This produces a timetable with the start
and end of processing periods, and the makespan time. The
fitness parameter fit(c) is the makespan time. This is found
using the schedule generated from the machinewise pdr set
and is represented by the chromosome c.
fit (c) ϭ makespan time corresponding to chromosome c
The process of selecting the chromosomes to represent the
next generation has the following steps.
1. Conversion of the fitness parameter values to a new fitness
value (newFfit(c)), a parameter suitable for the minimisation
objective.
newFfit(c) ϭ 1 Ϫ
fit(c)
F
where F is the sum of the fitness parameters of all chromo-
somes
F ϭ
͸
popFsize
cϭ1
fit(c)
2. Conversion of the new fitness parameter to an expected
frequency of selection, p(c).
p(c) ϭ
newFfit(c)
͸
popFsize
cϭ1
newFfit(c)
3. Calculation of the cumulative probability of survival, cp
(c).
cp(c) ϭ
͸
popFsize
cϭ1
p(c)
4. A random selection procedure, which is explained below,
Estimation of Optimum Genetic Control Parameters 227
Table 4. Results obtained for the example problem. popFsize ϭ 10, number of genes per chromosome ϭ bit length ϭ number of machines ϭ 5.
Number Probability of crossover Probability of crossover Probability of crossover
of 0.1 0.3 0.6
iterations Probability of mutation Probability of mutation Probability of mutation
0.01 0.15 0.3 0.01 0.15 0.3 0.01 0.15 0.3
50 920 963 873 969 873 873 873 878 873
100 977 873 873 878 873 873 873 873 873
250 900 873 873 1024 873 873 878 873 873
Table 5. Bench mark problems considered.
Problem Problem Number of Number of
number name components machines
1 ft06 6 6
2 la01 10 5
3 la05 10 5
4 abz6 10 10
5 ft10 10 10
6 la16 10 10
7 orb03 10 10
8 la08 15 5
9 la23 15 10
10 la37 15 15
11 ft20 20 5
12 la26 20 10
13 swv01 20 10
14 abz27 20 15
generates the next population of the same size. A random
number r between 0 and 1 is obtained and a chromosome
c is selected which satisfies the condition:
cp(c Ϫ 1) р r р cp(c)
This selection process is repeated a number of times equal to
the population size. The method used here is more reliable in
Table 6. Results of problem 1 (6 ϫ 6 problem ft06).
Makespan time values
pFcross ϭ 0.1 pFcross ϭ 0.3 pFcross ϭ 0.6
pFmut 0.01 0.15 0.3 0.01 0.15 0.3 0.01 0.15 0.3
noFit ϭ 50 83 67 70 74 72 69 83 70 67
noFit ϭ 100 73 70 67 78 67 67 79 70 70
noFit ϭ 250 72 67 67 69 69 67 80 69 67
Fig. 1. Results of problem 1 (6 ϫ 6 problem ft06).
that it guarantees that the most fit individuals will be selected,
and that the actual number of times each is selected will
be its expected frequency. This procedure enables the fittest
chromosome to have multiple copies and the worst to die off.
The next step is to carry the crossover operation, which is
a reproduction method. This involves two steps.
1. Selection of chromosome for crossover.
2. Crossover operator
The probability of crossover (pFcross) is the one vital para-
meter that needs attention now. The value for pFcross will be
varied from 0.1 to 0.6 in steps of 0.2. If the value is assumed
to be 0.3, then at least 30% of the chromosomes selected for
the new population undergo crossover and produce offspring.
The procedure for selection is as follows. Random numbers
between 0 and 1 are generated for all chromosomes, and those
chromosomes that obtain a random number less than the
pFcross value are selected for crossover. If the number of
selected chromosomes is odd, then the above procedure is
repeated until one or more chromosomes is selected and the
number of selected chromosomes becomes even. The literature
provides many crossover operators [10,11]. Notable among
them are: partially mapped crossover (PMX), ordinal mapped
crossover (OMX), and edge crossover (EX). They use a single-
point or a two-point crossover.
This program uses the EX crossover method because of its
simplicity in operation and because the length of the chromo-
228 S. G. Ponnambalam et al.
Table 7. Results of problem 2 (10 ϫ 5 problem la01).
Makespan time values
pFcross ϭ 0.1 pFcross ϭ 0.3 pFcross ϭ 0.6
pFmut 0.01 0.15 0.3 0.01 0.15 0.3 0.01 0.15 0.3
noFit ϭ 50 920 963 873 969 873 873 873 878 878
noFit ϭ 100 977 873 873 878 873 873 873 873 873
noFit ϭ 250 900 873 873 1024 873 873 878 873 873
Fig. 2. Results of problem 2 (10 ϫ 5 problem la01).
Table 8. Results of problem 3 (10 ϫ 5 problem la05).
Makespan time values
pFcross ϭ 0.1 pFcross ϭ 0.3 pFcross ϭ 0.6
pFmut 0.01 0.15 0.3 0.01 0.15 0.3 0.01 0.15 0.3
noFit ϭ 50 545 463 463 545 463 463 463 463 463
noFit ϭ 100 463 463 463 601 463 463 463 463 463
noFit ϭ 250 570 463 463 463 463 463 463 463 463
Fig. 3. Results of problem 3 (10 ϫ 5 problem la05).
Table 9. Results of problem 4 (10 ϫ 10 problem abz6).
Makespan time values
pFcross ϭ 0.1 pFcross ϭ 0.3 pFcross ϭ 0.6
pFmut 0.01 0.15 0.3 0.01 0.15 0.3 0.01 0.15 0.3
noFit ϭ 50 1349 1268 1325 1374 1240 1202 1410 1275 1254
noFit ϭ 100 1350 1263 1213 1341 1280 1271 1315 1282 1215
noFit ϭ 250 1316 1202 1250 1360 1272 1250 1356 1235 1238
Fig. 4. Results of problem 4 (10 ϫ 10 problem abz6).
Estimation of Optimum Genetic Control Parameters 229
Table 10. Results of problem 5 (10 ϫ 10 problem ft10).
Makespan time values
pFcross ϭ 0.1 pFcross ϭ 0.3 pFcross ϭ 0.6
pFmut 0.01 0.15 0.3 0.01 0.15 0.3 0.01 0.15 0.3
noFit ϭ 50 1306 1269 1255 1329 1358 1279 1300 1336 1306
noFit ϭ 100 1434 1246 1266 1399 1342 1291 1326 1304 1230
noFit ϭ 250 1268 1230 1306 1358 1290 1240 1385 1240 1240
Fig. 5. Results of problem 5 (10 ϫ 10 problem ft10).
Table 11. Results of problem 6 (10 ϫ 10 problem la16).
Makespan time values
pFcross ϭ 0.1 pFcross ϭ 0.3 pFcross ϭ 0.6
pFmut 0.01 0.15 0.3 0.01 0.15 0.3 0.01 0.15 0.3
noFit ϭ 50 1168 1230 1212 1291 1184 1162 1222 1211 1236
noFit ϭ 100 1288 1193 1157 1269 1201 1152 1231 1152 1173
noFit ϭ 250 1229 1180 1152 1250 1195 1168 1178 1180 1182
Fig. 6. Results of problem 6 (10 ϫ 10 problem la16).
Table 12. Results of problem 2 (10 ϫ 10 problem orb03).
Makespan time values
pFcross ϭ 0.1 pFcross ϭ 0.3 pFcross ϭ 0.6
pFmut 0.01 0.15 0.3 0.01 0.15 0.3 0.01 0.15 0.3
noFit ϭ 50 1482 1398 1432 1388 1390 1408 1460 1376 1380
noFit ϭ 100 1473 1362 1375 1500 1385 1392 1408 1375 1375
noFit ϭ 250 1383 1373 1363 1534 1363 1309 1424 1352 1337
some is small. This splits the parent chromosome into two
parts with a random number generated with the range 1 %
(mϪ1) and interchanges the genes from that crossover position.
The purpose of mutation is to introduce new genetic material,
or to recreate good genes that were lost by chance through a
poor selection of mates. To do this effectively, the effect of
mutation must be a major one. At the same time, the valuable
gene pool must be protected from wanton destruction. Thus,
the probability of mutation must be small and is varied between
0.01 to 0.3 in steps of 0.15 [10].
The repetition of the whole process (iteration) of evaluation,
selection, reproduction, and mutation depends on the size of
the problem and is varied in the range 50–250. The best
chromosome in each iteration is stored, and the best among
those stored is the optimal one. The above procedure is fol-
lowed on similar lines by most workers in this field [12–16].
230 S. G. Ponnambalam et al.
Fig. 7. Results of problem 7 (10 ϫ 10 problem orb03).
Table 13. Results of problem 5 (15 ϫ 15 problem la08).
Makespan time values
pFcross ϭ 0.1 pFcross ϭ 0.3 pFcross ϭ 0.6
pFmut 0.01 0.15 0.3 0.01 0.15 0.3 0.01 0.15 0.3
noFit ϭ 50 1288 1339 1288 1527 1288 1290 1463 1306 1290
noFit ϭ 100 1397 1288 1288 1390 1290 1288 1397 1290 1288
noFit ϭ 250 1470 1288 1288 1290 1288 1288 1288 1288 1288
Fig. 8. Results of problem 8 (15 ϫ 5 problem la08).
Table 14. Results of problem 9 (15 ϫ 10 problem la23).
Makespan time values
pFcross ϭ 0.1 pFcross ϭ 0.3 pFcross ϭ 0.6
pFmut 0.01 0.15 0.3 0.01 0.15 0.3 0.01 0.15 0.3
noFit ϭ 50 1852 1631 1711 1809 1662 1636 1780 1663 1577
noFit ϭ 100 1713 1631 1615 1788 1677 1573 1644 1652 1614
noFit ϭ 250 1633 1622 1586 1627 1631 1595 1729 1577 1623
Fig. 9. Results of problem 9 (15 ϫ 10 problem la23).
3. The Schema of the Genetic Search Process
The genetic search process used in this paper is outlined below.
# define pFcross, pFmut, noFit;
for ( i ϭ 1 to n) /* Input : Component-Operation Matrix (job
data)*/
for ( k ϭ 1 to m)
{
input : j & T ;
(if Number of operations to any job i is m’, which is less
than m then assign j ϭ 0 & Tϭ0 for the remaining (mϭm’)
operations)
}
set : itFno ϭ 0;
set : length of the string (chromosome) chrFlen ϭ m;
set : no of chromosomes in the population popFsize ϭ m;
/* initialisation of population (pdr to be followed by each m/c)
Estimation of Optimum Genetic Control Parameters 231
Table 15. Results of problem 10 (15 ϫ 15 problem la37).
Makespan time values
pFcross ϭ 0.1 pFcross ϭ 0.3 pFcross ϭ 0.6
pFmut 0.01 0.15 0.3 0.01 0.15 0.3 0.01 0.15 0.3
noFit ϭ 50 1996 1959 1937 2143 2000 1872 2129 1911 1980
noFit ϭ 100 2086 1867 1961 2070 1871 1965 1955 1988 1948
noFit ϭ 250 1990 1927 1913 1922 1895 1897 1989 1797 1897
Fig. 10. Results of problem 10 (15 ϫ 15 problem la37).
Table 16. Results of problem 11 (20 ϫ 5 problem ft20).
Makespan time values
pFcross ϭ 0.1 pFcross ϭ 0.3 pFcross ϭ 0.6
pFmut 0.01 0.15 0.3 0.01 0.15 0.3 0.01 0.15 0.3
noFit ϭ 50 1726 1711 1633 1661 1726 1661 1711 1633 1633
noFit ϭ 100 1726 1633 1661 1768 1661 1633 1778 1607 1633
noFit ϭ 250 1761 1633 1633 1715 1661 1633 1765 1633 1633
Fig. 11. Results of problem 11 (20 ϫ 5 problem ft20).
Table 17. Results of problem 12 (20 ϫ 10 problem la26).
Makespan time values
pFcross ϭ 0.1 pFcross ϭ 0.3 pFcross ϭ 0.6
pFmut 0.01 0.15 0.3 0.01 0.15 0.3 0.01 0.15 0.3
noFit ϭ 50 2194 2036 1969 2144 2048 2006 2250 1906 2010
noFit ϭ 100 2136 1384 1974 2169 2035 1989 2043 2025 1956
noFit ϭ 250 2109 2027 1949 2008 1944 2001 2066 1956 2029
for (c ϭ 1 to popFsize)
{
for (g ϭ 1 to chrFlen)
generate : random pick of pdr code ( 0,1,2,3)
BEGIN:
/* creation of new population */
itFno ϭ itFno ϩ1;
/* evaluation of individuals & probability of survival of chro-
mosome c */
for (c ϭ 1 to popFsize)
{
find : fit (c) ; newFfit (c) ; p(c);
}
store : best schedule and the best chromosome ( the pdr)
calculate : cumulative probability cp(c) for each chromosome c;
/* selection of chromosome for next generation */
for (c ϭ 1 to popFsize)
{
232 S. G. Ponnambalam et al.
Fig. 12. Results of problem 12 (20 ϫ 10 problem la26).
Table 18. Results of problem 13 (205 ϫ 10 problem swv01).
Makespan time values
pFcross ϭ 0.1 pFcross ϭ 0.3 pFcross ϭ 0.6
pFmut 0.01 0.15 0.3 0.01 0.15 0.3 0.01 0.15 0.3
noFit ϭ 50 2362 2132 2148 2257 2149 2148 2283 2183 2169
noFit ϭ 100 2214 2156 2155 2271 2162 2147 2161 2128 2161
noFit ϭ 250 2159 2068 2113 2224 2134 2148 2164 2061 2090
Fig. 13. Results of problem 13 (20 ϫ 10 problem swv01).
Table 19. Results of problem 14 (20 ϫ 15 problem abz27).
Makespan time values
pFcross ϭ 0.1 pFcross ϭ 0.3 pFcross ϭ 0.6
pFmut 0.01 0.15 0.3 0.01 0.15 0.3 0.01 0.15 0.3
noFit ϭ 50 1182 1033 1063 1119 1051 1042 1117 1056 1041
noFit ϭ 100 1062 1028 1017 1024 1018 1026 1018 1058 1020
noFit ϭ 250 1057 1056 1003 1072 1004 1051 1064 1045 978
Fig. 14. Results of problem 14 (20 ϫ 15 problem abz27).
get random number r;
find chromosome c satisfying the condition cp(cϪ1) Ͻϭ r
Ͻϭ cp(c);
select c for next population and set as c’;
}
/* selection of strings for crossover module */
count ϭ 0;
for c’ ϭ 1 to popFsize;
{
get random number r;
if r Ͻϭ pFcross;
{
select c’ and label as c’’;
count ϭ count ϩ1;
}
}
if count is odd add a null chromosome O’ (all pdr ϭ 0)
/* cross over operation */
Estimation of Optimum Genetic Control Parameters 233
Table 20. Problemwise better solutions.
Problem Number Number of pFcross pFmut noFit
number of jobs Machine
1 6 6 0.1 0.15 50
2 10 5 0.1 0.15 50
3 10 5 0.1 0.01 100
4 15 5 0.1 0.01 50
5 10 10 0.1 0.15 250
6 10 10 0.1 0.15 250
7 10 10 0.1 0.3 250
8 10 10 0.3 0.3 250
9 15 10 0.3 0.3 100
10 20 5 0.6 0.15 100
11 20 10 0.1 0.15 100
12 20 10 0.6 0.15 250
13 15 15 0.6 0.15 250
14 20 15 0.6 0.3 250
while ( all parents exhausted ) do
{
get : one parent c’’ and c’’ ϩ1;
spin : a cut point randomly between 0 and chrFlen;
do : cross over;
set : child as c’’ and c’’ ϩ1;
Overlap : crossed c’’’ with their respective uncrossed c’ ;
}
for ( c’ ϭ 1 to popFsize)
{
for ( j ϭ 1 to chrFlen)
{
get : random number r;
if r Ͻϭ pFmut;
mutate the gene g;
}
}
if ( itFno Ͼϭ noFit), then goto BEGIN;
select : best among the best schedule from the iterated sol-
utions;
END :
4. Experiments Conducted
The operators used in the experiment are given in Table 1.
From our previous study, we found that these operators perfor-
med well on a wide variety of data.
The experiments conducted on 14 benchmark problems
of different sizes collected form the OR-Library (http://
mscmga.ms.ic.ac.uk./) are given in Table 2.
5. Data Requirement
The data requirement for a 10 job, 5 machine problem is
explained in Table 3. For a detailed description of the procedure
please refer to Jawahar et al. [17].
The makespan values obtained for the example problem for
the various parameter values are given in Table 4. It can be
Table 21. The suggested parameter values.
Number Number of pFcross pFmut noFit
of jobs machines
6 6 0.1 0.15 50
10 5 0.1 0.15 100
15 5 0.1 0.15 100
10 10 0.1 0.15 250
15 10 0.3 0.3 100
20 5 0.6 0.15 100
20 10 0.6 0.15 250
15 15 0.6 0.15 250
20 15 0.6 0.3 250
seen from the table that the optimal parameters for the example
problem are:
Number of iterations : 50
Probability of mutation : 0.1
Probability of crossover : 0.6
6. Results and Discussion
The bench-mark problems considered for evaluation in this
paper are given in Table 5.
The results obtained for the 14 problems are presented in
the form of Tables 6 to 19 and Figs 1–14. The better solutions
are given in Table 20.
Based on the results presented in the Table 20, it is possible
to consolidate the results and the following parameter values
are suggested for the various sizes of the problems. The
suggested parameter values are given in Table 21.
7. Conclusion
In this paper, an attempt is made to optimise the genetic
algorithm control parameters for job shop scheduling problems.
After carrying out various experiments with various sets of
parameter values, the results obtained are presented. As the
number of jobs and number of machines increases, the value
of the control parameters must also be increased. If the problem
is smaller, then increasing the number of iterations, the prob-
ability of crossover, and the probability of mutation leads to
chaos in the solution. It is decided that, the control parameters
arrived at above will produce an efficient solution and will
lead to the optimum solution faster and avoid entrapments in
local minima.
References
1. M. Gen and R. Cheng, Genetic Algorithm and Engineering Design,
John Wiley, New York, 1996.
2. D. C. Mattfeld, Evolutionary Search and the Job Shop – Investi-
gations on Genetic Algorithm for Production Scheduling, Physica-
Verlag, Heidelberg, Germany, 1996.
234 S. G. Ponnambalam et al.
3. K. R. Baker, Introduction to Sequencing and Scheduling, John
Wiley, New York, 1974.
4. J. Blazewicz, K. Ecker, G. Schmidt and J. Weglarz, Scheduling
in Computer and Manufacturing Systems, Springer-Verlag, Berlin,
Heidelberg, 1993.
5. P. Brucker, Scheduling Algorithms, Springer-Verlag, Berlin, Heid-
elberg, 1995.
6. J. Hutchison, “Current and future issues concerning FMS schedul-
ing”, Management Science, 19, pp. 529–537, 1991.
7. M.-C. Portmann, “Scheduling methodologies: optimization and
compusearch approaches”, in A. Artiba and S. E. Elmagharaby
(ed.), The Planning and Scheduling of Production Systems, Chap.
9, pp. 271–300, 1997.
8. M. A. Nascimento, “Giffler and Thompson algorithms for job
shop scheduling is still good for flexible manufacturing systems”,
Journal of Operations Research Society, 44, pp. 521–524, 1993.
9. B. Giffler and G. L. Thompson, “Algorithms for solving production
scheduling problems”, Operations Research, 8, pp. 487–503, 1960.
10. Z. Michalewicz, Genetic Algorithms ϩ Data structures ϭ Evol-
utionary Programs, Springer-Verlag, Berlin, Heidelberg, 1992.
11. H. Adelsberger, M. Neubaurer and J. M. Pawlowski, “Genetic
algorithms for scheduling: an in-depth analysis and comparison
with simulated annealing”, Proceedings of the First International
Conference on Operations and Quantitative Management, Jaipur,
India, vol. 2, pp. 514–521, 5–8 January 1997.
12. J. E. Biegel and J. J. Davern, “Genetic algorithm and job shop
scheduling”, Computers and Industrial Engineering, 19, pp. 81–
90, 1990.
13. R. E. Billo, B. Bidanda and D. Tate, “A genetic algorithm
formulation of the cell formation problem”, Proceedings of the
16th International Conference on Computers and Industrial Engin-
eering, pp. 341–344, 7–9 March 1994.
14. C. Chiu and Y. Yih, “A learning-based methodology for dynamic
scheduling in distributed manufacturing systems”, International
Journal of Production Research, 33, pp. 3217–3232, 1995.
15. H. Kopfer and C. Mattfeld, “A hybrid search algorithm for job
shop problem”, Proceedings of the First International Conference
on Operations and Quantitative Management, Jaipur, India, vol.
2, pp. 498–505, 5–8 January 1997.
16. J. Sridhar and C. Rajendran, “Scheduling in flow shop and cellular
manufacturing with multiple objectives – a genetic algorithmic
approach”, Production Planning and Control, 7, pp. 374–382, 1996.
17. N. Jawahar, P. Aravindan and S. G. Ponnambalam, A genetic
algorithm for scheduling flexible manufacturing systems, Inter-
national Journal of Advanced Manufacturing Technology, 14, 58–
607, 1998.
Nomenclature
c, c’, c’’, c’’’ chromosome (pdr string) number in population
Ci contending job identifier
cfm conflicting machine identifier
chrFlen length of pdr string/chromosome (equal to number of
WCs in the system)
cp(c) cumulative probability of chromosome c
d
m
due time multiplier
D
i
due time (i.e. D ϭ d
m
* Ti)
dim total number of machine attributes in each pair of
examples
DT datum time
EJ(i,CT) earliest completion time of job i when one of con-
tending job Ci is loaded
fit(c)/F(c) fitness value (makespan time) of chromosome c
F sum of fitness values of all chromosomes in a popu-
lation
FT
ik
/ft
ij
finish time of operation k of job i on machine j
g position (gene representation pdr code of machine j or
storage cell address)
number in chromosome
i job number
itFno iteration number
j machine number
k operation sequence number
m number of machines in the system
n number of jobs
Ncfi number of contending jobs at time of conflict
newFfit(c) modified or scaled fitness parameter value of chromo-
some c
noFit number of genetic iterations
ODT old datum time
p machine number /identifier
pFcross probability of crossover
pFmut probability of mutation
p(c) probability of selection of chromosome c for next gen-
eration
popFsize population size
r
ik
route number for the kth operation of job i
ST
ik
/ st
ij
start time of operation k of job i on machine j
T
ij
total processing time of job i
x
pq
2D array of p rows and q columns
EDD earliest due data
EDT earliest due time
EX edge crossover
GA genetic algorithm
GT Giffler and Thompson
ITS iterative search
JSS job shop scheduling
JSP job shop problem
LP linear programming
LPT longest processing time
MINSLK minimum slack
MM makespantime
NP non-polynomial
OMX ordinal mapped crossover
pdr(s) priority dispatching rule(s)
PMX partially mapped crossover
SPT shortest processing time