1-s2.0-0166361596000437-main
-
Upload
karthik-vadlapatla -
Category
Documents
-
view
212 -
download
0
Transcript of 1-s2.0-0166361596000437-main
-
7/25/2019 1-s2.0-0166361596000437-main
1/6
LS VI R
Computers in Industry 31 (1996) 155-160
A genetic algorithm for job shop scheduling - A case study
N.S. Hemant Kumar, G. Srinivasan
Industri al Engineeri ng and Management Di vi sion. Deparrment of H umanit ies and Social Sciences, Indi an nstit ute of Technology, M adras
600 036, Indi a
Received 11 May 1995; revised 25 April 1996; accepted 21 May 1996
Abstract
The problem of scheduling n jobs on m machines with each job having a specific route has been one of considerable
research over the last several decades. Branch and Bound algorithms for determining the optimal makespan
have been
developed and tested on small sized problems and dispatching rule based heuristic algorithms to minimize specific
performance measures such as makespan, flowtime, tardiness, etc. are available to solve large sized problems. This paper
addresses the same problem faced by an organization and reports the solution of this problem using genetic algorithms (GA)
and a combination of dispatching rules. The proposed algorithm yields an improvement of about 30% in makespan over the
present system.
Keywords: Branch and bound algorithm; Genetic algorithm; Dispatching rules; Job shop scheduling
1 Introduction
Job shop scheduling deals with scheduling n given
jobs over given machines. Each job has a specific
route. The objective. in this paper is to minimize the
completion time of the last job on its last machine,
i.e., makespan. The problem is known to be hard
when there are man? than two jobs or two machines
[l]. Large sized problems can be solved using dis-
patching rules, which are used to choose a job to be
loaded on a machine from the queue [2].
The static job shop problem assumes that all jobs
are available at the beginning of the planning period
and that the processing times and set up times are
deterministic. In such cases, the set up times are
added to the proce,ssing times. The assumptions in
static job shop problems are discussed in Baker [2].
* Corresponding author.
Static job shop scheduling problems can be solved
using dispatching rules which are used to choose the
job to be loaded on a machine from a queue. Usu-
ally, non-delay schedules are evaluated where the
machine is not kept idle if there is at least one job in
the queue. Dispatching rules can be derived using
available information such as processing times and
due dates. A popular dispatching rule that uses pro-
cessing time information is the SPT (Shortest Pro-
cessing Time) rule where the job with the shortest
processing time is chosen from those in a queue. A
survey of dispatching rules can be found in Black-
stone et al. [3] where 34 dispatching rules are listed.
They also conclude that no single dispatching rule
has given consistently good results for different job
shop situations. There have also been many instances
where a combination of rules has been used success-
fully in job shop scheduling [3].
Search techniques such as Simulated Annealing
and Tabu Search have been used to solve the static
0166-3615/96/ 15.00 Copyright 0 1996 Elsevier Science B.V. All rights reserved.
PII SOl66-3615(96)00043-7
-
7/25/2019 1-s2.0-0166361596000437-main
2/6
156 N.S.
Hemant Kmur, G. Sriniuasm/ Computers in Industry 31 19961 155-160
job shop scheduling problem. Storer et al. [4] have
proposed algorithms using a set of dispatching rules
along with search heuristics such as Simulated An-
nealing, Tabu Search, etc. Van Laarhoven et al. [5]
have developed an algorithm using Simulated An-
nealing and have reported extensive computational
testing of their algorithms using standard problems
from literature.
Gen et al. [6] have developed a genetic algorithm
using mutation as the operator for minimizing
makespan in a static job shop. Biegal and Davem [7]
have illustrated the use of genetic algorithms to solve
single facility and general job scheduling problems
using crossover and mutation operators. Both the
above papers highlight the potential of genetic algo-
rithms in this field and illustrate the use of problems
of very small size. Genetic algorithms using partially
mapped crossover operators have also been used to
minimize flow time variance in single facility
scheduling problems [8] and in flow shop scheduling
191
In this paper, we use different dispatching rules
for different situations instead of using a single or a
combination rule consistently. The dispatching rule
is chosen randomly from a set of seven rules listed in
Section 3. We also develop a genetic algorithm that
progressively evaluates better solutions without get-
ting trapped in a local minimum. The genetic algo-
rithm includes the random dispatching rule approach
to choose jobs from the queue before every machine.
The genetic algorithm is applied to a real-life prob-
lem and results are presented.
The following section describes the problem situa-
tion while Section 3 explains in detail the advantages
of using different rules for different dispatching situ-
ations. The genetic algorithm is explained in Section
4 and the results obtained on applying the algorithm
to the case study are discussed in Section 5 followed
by the conclusions in Section 6.
2. The case problem
The job shop problem solved and reported in this
paper is extracted from an organization making a
product for defense purposes. There is a single final
product whose annual demand is known. There are
several assembly shops which feed sub assemblies to
Fig. 1. Schematic diagram of the production system.
the main assembly shop. There is a production shop
where components are manufactured and sent to the
assembly shops. A schematic description of the shop
is shown in Fig. 1.
The proposed genetic algorithm is tested using
data from the production shop. The shop has 80 jobs
and 59 machines. The maximum operations per job
is 37 while the minimum is two. The routes for the
jobs are such that a job may visit some machines
more than once. Wherever we have more than one
machine of the same type, we have considered a
common queue from which the jobs are loaded using
the randomly chosen dispatching rule. The compo-
nent routes are usually fixed but if there is a situation
where the required machine is busy while an identi-
cal machine is free, the jobs are loaded on the free
machine.
The annual demand of the final product is used to
compute the demand of each of the components.
Unit processing times are multiplied by a factor to
include lost time due to non-availability of machine
and operator. The batch size of each component is
equal to the monthly demand. The unit processing
time is multiplied with the batch size and the set up
times are added to result in the processing time of a
batch. Time to transport the items from one machine
to the next is also added to the processing times.
Orders for raw materials and purchased items are
usually placed in the beginning of the year. The
production rate is less during this period since orders
for most material would not have been received.
During busy times capacity cannot meet the demand
and a compromise between utilization (large batches)
and customer service (small batches) has to be made.
This results in a situation where the best schedule
has to be determined for production of components
-
7/25/2019 1-s2.0-0166361596000437-main
3/6
N.S. Hemant Kumar, G. Srinivasan/ Computers in Industry 31 1996) 155-160 157
in correct batch sizes to meet the requirements of the
subassembly shops in time and to ensure prompt
starting of the assembly of the final product, leading
to objectives of minnmizing tardiness and makespan.
The annual demand for the final product is found
to fluctuate and the production shop is required to
meet increased demand without a proportional in-
crease in the number of machines. The production
shop is usually behind schedule in such situations
which results in many tardy jobs. The shop also
faces the problem of rush orders from subassembly
shops which have to be met. The production shop
currently follows the Minimum Slack rule to choose
jobs from a queue to be loaded on a machine. Since
there are always a set of tardy jobs, there is a need to
find out whether this is because of an inefficient
dispatching rule, i.e., whether there are better dis-
patching rules that minimize makespan and tardiness.
This study focuses on the question of whether an-
other single dispatching rule or a combination of
rules can result in improvements in makespan or
tardiness which after discussions are identified as
important objectives to be considered.
3. Advantages in using different dispatching rules
for different situations
Let us consider the following seven popular dis-
patching rules from the literature [3]: SPT, TPT
(Total Processing Time), RPT (Remaining Process-
ing Time), DS (Dynamic Slack), EDD (Earliest Due
Date), RANDOM and FIFO (First-In-First-Out).
Each of the seven rules can be used individually to
yield seven different schedules from which the best
may be accepted.
Let us now consider the possibility of using a
randomly chosen ruble to choose jobs from the queue
whenever it is required. Let us consider a random
sequence of a fixed length (say 10) from numbers 1
to 7 given by [2 3 1 6 7 4 3 2 1 51.Here the number
represents the rule to be chosen. For example, num-
ber 1 indicates the SPT rule, 2 indicates the TPT rule
and so on.
In our scheduling procedure, we choose the dis-
patching rule according to the order in the random
sequence. The first dispatching rule chosen is rule 2
(TPT rule), the second is rule 3 (RPT rule) and S
on. In our example, we have created a sequence of
10 numbers. We actually need to have an infinitely
long string so that we have a rule every time a job is
to be chosen from the queue. However, if the string
length is sufficiently long, we can start from the
beginning once we have completed the string length.
In our example, if we need to choose a job to be
loaded for the eleventh time, we can use the TPT
rule (rule 2) again.
There is a possibility that a schedule generated
using this random sequence may be better than the
schedules generated using any of the seven used
individually in the schedule. The motivation to
choose different rules at different points comes from
the fact that the optimal solution can always be
looked upon as originating from such an infinitely
long string where the correct rules are in the required
order. It is also well known that no single rule has
consistently given the optimal solution for job shop
scheduling problems. It has been shown [lo] that
when more than one rule is used randomly, it is
possible with proper learning to obtain solutions with
better makespan than the solution obtained using the
poorest performing rule (among the rules considered).
A single randomly generated sequence may or
may not give better solutions when compared with
using the rules individually. If we generate many
sequences and use an algorithm to learn and progres-
sively improve the solutions, it is possible to obtain
better solutions than those obtained using each of the
rules individually.
4. A genetic algorithm GA) for job shop schedul-
ing
A genetic algorithm is a generic search procedure
for combinatorial optimization problems [ 111. It uses
the idea of survival of the fittest by progressively
accepting better solutions to the problems. The algo-
rithm starts with a population of parent chromo-
somes from which off springs are generated. These
are evaluated for the fitness function (objective) and
off springs with better fitness values are used for
further analysis.
In the job shop scheduling problem, the fitness
function is the makespan of a given schedule which
has to be minimized.
-
7/25/2019 1-s2.0-0166361596000437-main
4/6
158
N.S. Hemant Kumar, G, Sriniuasan/ Computers in ndustry 31 (19 ) 155-160
The genetic algorithm developed for job shop
scheduling developed in this paper has an initial
population of 50 chromosomes. The fitness value for
all these chromosomes are computed and the mean
and standard deviation are calculated. The fitness
values of the chromosomes in the population are
assumed to be normally distributed and the probabil-
ity of acceptance being the difference of the cumula-
tive distribution function at the fitness value from 1.
A chromosome is picked randomly from the popula-
tion and is put into the mating pool if the acceptance
probability is more than a randomly generated num-
ber between 0 and 1. This process is continued till
the mating pool thus created has 100 chromosomes.
The next population is created from the mating
pool using operators such as single point crossover,
two point crossover, inversion and mutation. Single
point crossover chooses two chromosomes and one
position randomly. The values in the two chromo-
somes are interchanged from that position onwards.
For example, if two chromosomes [2 4 3 1 51 and [5
3 2 4 11 are chosen and the position is 3, the resultant
chromosomes are [2 4 2 4 11 and [5 3 3 1 51
If the same procedure is repeated with two posi-
tions and the values are changed in the interval, it is
called two point crossover. If the two positions are 1
and 4, the two point crossover results in new chro-
mosomes [5 3 2 4 51 and [2 4 3 1 11. If we pick one
chromosome randomly and choose two positions
randomly and invert the values between this posi-
tions, it becomes inversion. If we take our first
chromosome and the positions are 1 and 4, then
inversion results in the chromosome
[l
3 4 2 51.
Mutation is a random interchange of values in two
positions. Mutation for the previous situation will
result in [l 4 3 2 51.
In the genetic algorithm, the randomly generated
string of dispatching rules has a length of 10. This is
found to give better results than the solutions ob-
tained using the dispatching rules individually. This
is possible because the GA considers several such
random strings and also performs genetic operations
to change the order of appearance of the rules in
each string.
In our algorithm, mutation is used 2% of the
times, single point crossover 30% of the times, two
point crossover 40% of the times and inversion 28%
of the times. This setting is found to give good
results. In general, GA is found to give good results
when crossover operations are used more times than
mutation and inversion. Mutation is to be kept to a
minimum since it does the role of pairwise inter-
change in our algorithm.
From the mating pool an off spring is created
using these operators and accepted into the next
population if the fitness value is less than the mean
of the previous population. All populations are cre-
ated with 50 chromosomes. From the new popula-
tion, off springs are created and the procedure is
repeated till either 30 generations are completed or if
the population repeats again. The best solution which
is periodically updated is accepted from the algo-
rithm.
5. Results
The
solution using the proposed genetic algorithm
(GA) to minimize makespan is shown in Table 1.
Here, solutions using the seven individual dispatch-
ing rules are also shown for comparison. The due
dates are taken to be twice the processing times after
discussions with the management of the organiza-
tion.
Table 1 shows the makespan for completing a
single batch of 1000 items using the seven rules
individually and using the proposed GA. It can be
seen that there is an improvement of about 39% over
the EDD rule (poorest performing among the seven
rules considered) and an improvement of about 3%
over the best of the individual rules (SPT). There is
an improvement of about 37.5% over the result given
by the Dynamic Slack rule, which the organization
Table 1
Performance of various rules and the genetic algorithm
Rule Makespan CPU-time (seconds)
SPT 98003 3.32
TPT
131688 3.28
RPT 131688 3.34
DS 131688 3.68
EDD 133713 3.21
RS 120672 3.10
FIFO
111161 3.32
GA 95758 998.00
-
7/25/2019 1-s2.0-0166361596000437-main
5/6
N.S. Hemnt Kumar , G. Sri niuasan/ Comput ers in ndustry 31 1996) 155-160
159
Table 2
Batch sizes for producing 2000 items
Rule Makespan
Batch size (number)
SPT
1568048
TPT 2107010
RPT
2107010
DS 2107010
EDD
2139408
RS
1930752
FIFO 1778576
GA 1532128
143 (14)
154 (13)
154 (13)
154 (13)
118 (17)
125 (16)
134 (15)
143 (14)
currently follows. The CPU times for these are also
shown in Table 1. It is seen that the GA takes a
considerable amount of time as expected. However,
considering the improvement in the solutions and the
availability of conrputers, it may be worthwhile to
spend on increased computing time.
The time taken to produce 2000 items in batches
of 1 to 20 are found. From this, the best batch size
that minimizes makespan and the corresponding
number of batches are found. These are shown in
Table 2 for the seven dispatching rules used individ-
ually and for the proposed genetic algorithm. The
batch size and the number of batches (shown in
brackets) to complete 2000 items of the final product
are shown.
The same problem is solved for multiple objec-
tives of minimizing makespan, minimizing tardiness
and minimizing the number of tardy jobs. Here, the
fitness function is taken to be the product of the
values of the three objectives. The results are shown
in Table 3. For the seven individual rules, the three
objectives are evaluated and reported. Two solutions
Table 3
Solutions using various rules and the genetic algorithm for multi-
ple objectives
_ _
Rule Makespar
Tardiness Number of tardy jobs
SPT 98003 1040947 63
TPT 131688
889999 63
RPT 131688 846120
58
DS 131688
889999 63
EDD 133713
954005 66
RANDOM
120672
1523430
68
FIFO 111161
1573501 71
GA 125842
888340 58
GA 120856
872315 61
are reported using the genetic algorithm. Both of
these have the same product of the values of the
three objectives.
If we consider only minimizing the number of
tardy jobs, one of the GA solutions has 58 jobs as
against the value of 63 given by the Dynamic Slack
rule which the organization is currently following.
The RPT rule results in the same number of tardy
jobs but has an increased makespan compared to
both the GA solutions. The only instance where the
proposed algorithm performs inferior to a single
dispatching rule is when the tardiness values are
compared to the solution using RPT. However, the
GA solution has a better makespan than the RPT
solution and the product of the values of the three
performance measures is lower for the solution using
the proposed algorithm than for the solution using
the RPT rule. If the genetic algorithm is used only to
minimize tardiness, it is possible to obtain better
values of minimum tardiness than what is obtained
in the solution for the multiple objective case. The
individual dispatching rules are unable to provide
good solutions when all the three objectives are
combined because they are invariably aimed at opti-
mizing a single objective, while the GA which at-
tempts to optimize the three objectives together pro-
vides better solutions.
6. Conclusions
In this paper we addressed the important problem
of job shop scheduling for a real-life situation using
genetic algorithms. The approach uses different dis-
patching rules from a set of seven rules, for different
situations and improves the solution using a genetic
algorithm.
Results indicate that for the problem situation
considered, the concept of using different dispatch-
ing rules for different situations in a genetic algo-
rithm yields better results than using a single dis-
patching rule. The proposed algorithm yields an
improvement of about 37.5% in makespan over the
existing rule and an improvement of 3% over the
best among the seven rules. The superior results
obtained using the algorithm have been communi-
cated to the organization and the algorithm is being
considered for implementation.
-
7/25/2019 1-s2.0-0166361596000437-main
6/6
160 N.S.
Hemant Kumar, G. Sriniuasan/Computers in Industry 31 1996) 155-160
A very obvious conclusion is that by changing the
current dispatching rule from slack to SPT, the orga-
nization can obtain significant improvement in
makespan. Though the proposed algorithm is little
complicated for the factory managers compared to
using simple dispatching rules, the superiority of the
results and the use of recent sophisticated tools such
as genetic algorithms are expected to facilitate im-
plementation of the results of the proposed aIgo-
rithm.
The proposed algorithm uses seven popular dis-
patching rules and chooses from these. It may be
possible to get better results by increasing the set of
dispatching rules and by including combination rules
such as slack/NOP, SPT/RPT, etc. Further research
can include considering a combination of Simulated
Annealing and dispatching rules which can be com-
pared to the proposed genetic algorithm and dis-
patching rules. Further research can concentrate on
using consistently different dispatching rules for dif-
ferent machines and improve the solutions using a
genetic algorithm.
Acknowledgements
The authors are grateful to the reviewers for their
comments which have improved the presentation and
contents of the paper considerably.
References
[ll B.J. Lagewag, J.K. Lenstra and A.H.G. Rinnooy Kan, Job
shop scheduling by implicit enumeration,
Management Sci-
ence,
Vol. 24, 1977, pp. 441-450.
[2] K.R. Baker, Introduction to Sequencing and Scheduling,
Wiley, New York, 1974.
[3] J.H. Blackstone, D.T. Phillips and G.L. Hogg, A state of
the art survey of dispatching rules for manufacturing job
shop operations,
International Journal of Production Re-
search, Vol. 20, 1982, pp. 27-45.
[4] R.H. Storer, S.D. Wu and R. Vaccari, New search spaces
for sequencing problems with applications to job shop,
Management Science,
Vol. 38, 1992, pp. 1495-1509.
[5] P.J.M. Van Laarhoven, E.H.L. Aarts and J.K. Lenstra, Job
shop scheduling by simulated annealing,
Operations Re-
search, 1992,
pp. 113-126.
[6] M. Gen, Y. Tsujimora and E. Kuhota, Solving the job shop
scheduling problem using genetic algorithms, Proceedings
of the I6 Conference of Computers and Industrial Engineer-
ing, 1994.
[7] J.E. Biegel and J.J. Davern, Genetic algorithms and job
shop scheduling,
Computers and Industrial Engineering,
1990,
pp. 81-91.
IS] M.C. Gupta, Y.P. Gupta and Anup Kumar, Minimizing
flow time variance in a single machine system using genetic
algorithms,
European Journal of Operational Research,
1993,
pp. 289-303.
[9] J. Sridhar and C. Rajendran, Scheduling in flow shop and
cellular manufacturing systems with multiple objectives - A
genetic algorithmic approach, to appear in Production
Planning and Control.
[lo] J.F Muth and G.L. Thompson,
industrial Scheduling,
Pren-
tice Hall, Englewood Cliffs, New Jersey, 1963.
l
11
D.E. Goldberg,
Genetic Algorithms in Search Optimization
and Machine Learning, Addison Wesley Reading, 1989.
N.S. Hemant Kumar is currently a
Doctoral Student in Management at the
University of Texas at Austin. He has a
Bachelors degree in Aerospace Engi-
neering and a Masters degree in Mat-
agement from the Indian Institute of
Technology, Madras, India. His research
interests are in the areas of scheduling
and management of manufacturing sys-
tems.
G. Srinivasan is an Assistant Professor
of Industrial Engineering and Manage-
ment at the Indian Institute of Technol-
ogy, Madras, India. He has a Bachelors
degree in Mechanical Engineering from
Anna University, Madras, India fol-
lowed by a Masters degree and a Ph.D.
from the Indian Institute of Technology,
Madras. He has six years of teaching
and research experience in operations
management, operations research and
cellular manufacturing. He has pub-
lished in the International Journal of Production Research and
Computers and Industrial Engineering.
He is also a referee for
research in cellular manufacturing for these journals.