Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
CHAPTER 4
GA BASED SCHEDULER FOR SET-UP CONSTRAINED FMC
4.1 INTRODUCTION
In general, a FMC consists of two major components: hardware and controlling
software. The hardware includes a computer controlled machining centre, automated storage,
and material handling systems such as robot, AGV and RGV. The software used for FMC
control comprises several distinct components such as control software, contingency planning
software, and data management and collection software (Joshi et al. 1995). Generally the
scheduling software is viewed as the base for the generation of control programs for various
components of FMC. This chapter addresses a scheduling problem of a FMC that is analogous
to the conventional twin table planners/plano-millers. The components of the FMC model are:
a computer controlled machining centre; a robot; a buffer storage, a set-up platform
constrained with two job-mounting tables; and a RGV. The problem under consideration is to
derive the optimum sequence of the jobs for maximum utilisation of the hardware components
(Robot, RGV and Machining centre) of the set-up constrained FMC and subsequently to
derive control program to effect smooth part flow. The description of the problem along with
problem environment is detailed in chapter 3 (section 3.2).
The mathematical programming formulation of the scheduling problem is sound from
the mathematical view point, but, when considered from a computational standpoint, it fails to
promise results even for small-sized problems. These approaches provide satisfactory or
optimal results if the problems to be solved are not too large. Another approach is to apply
approximation algorithms. The branch and bound techniques, heuristics and local search
techniques belong to this class. The most frequent approach is to schedule heuristically
according to predetermined 'rules of thumb'. These algorithms produce solutions that are
guaranteed to be within a fixed percentage of the actual optimum and are considered as urgent
as useful tools for solving discrete optimisation problems (Bruker 1995). Since optimisation
algorithms do not give solutions in polynomial time, several heuristic methods have been
developed to get near optimal solutions within a reasonable computational effort (Rajendran
1991).
GAs, developed by John Holland in the 1970's are heuristic search algorithms that are
based on the idea of genetic evolution. These algorithms have been proven efficient for many
Scheduling FMS Using Heuristic and Search Techniques
55
computationally complex problems. In recent research, the GA, which belongs to the class of
evolutionary programs, attracts much attention, since the practical use of exact enumeration
methods is restricted to problem sizes of a few hundred operations and most schedule
generation techniques produce only reasonable solution quality. Local search offers further
improvements of solutions lesulling (loin schedule geneialion heuristics (Mattlied I Wo). The
applications of GA in manufacturing planning and control are given in section 2.4.2.5. In this
context, a GA has been proposed for sequencing the jobs visiting FMC to provide schedule
with minimum makespan time. The proposed GA procedure has been validated by comparing
it with the results of a few processing time related pdrs. The makespan time criterion has been
considered as a measure of performance in the comparative study. A software has been
developed (TurboC language that runs under DOS environment) for the generation of
dynamic schedules that can subsequently provide control program for the operation of
hardware components. Further it is indicated that this genetic search process will be very much
useful in developing a Learning Process for the operation and control scheme.
The rest of the chapter is organised as follows. In section 4.2, the details of the genetic
search process are addressed. A numerical illustration is presented in section 4.3 to provide the
insight over the proposed methodology. The effectiveness of the proposed GA and its scope
are discussed respectively in sections' 4.4 and 4.5.
Gene : This is a single feature within a chromosome. It may take on any of several
that determines eye colour may have alleles of blue, brown and so forth.
fundamental processes that control the evolution of biological organisms, namely, natural
selection and reproduction. These two processes together improve an organism's ability to
survive within its environment in the following manner:
1. Natural selection determines which organisms have the opportunity of
reproduction and survival within a population.
2. Reproduction involves genes from two separate individuals combining to form
offspring that inherit the survival characteristics of their parents.
Scheduling FMS Using Heuristic and Search Techniques
57
These algorithms seek to initiate the way in which beneficial genes reproduce
themselves through successive populations and hence contribute the gradual ability of an
organism to survive.
4.2.1.3 General scheme of GA
There are numerous functions for evaluating the objective criterion to measure an
individual's fitness. Countless methods of reproduction and mutation exist. Even the basic
processes of birth and death can vary. However for genetic optimisation the following steps
are generally characterised (Michalwitcz 1992, Masters 1993).
Initialisation : Generate the initial population randomly.
Evaluation : Compute fitness value, which is a measure of how well the individual
optimises the function. Test each individual using the objective function.
Parent selection : Choose pairs of individuals from the population in such a way that
those with higher fitness will get more copies.
Reproduction : Generate children from each pairs of parents. Each parent contributes a
portion of its genetic makeup to each child.
Mutation : Randomly change a tiny amount of genetic information in each child.
A complete pass through the above steps are a generation. After each generation is complete,
a new one starts with the evaluation of each of the children. The structure of genetic algorithm
is given below.
procedure GA()
begin:
t -+ 0 /* t: iteration number V
initialise Pop(t); /* Pop(t) : population in iteration 't' */
evaluate Pop(t);
While (NOT termination condition) do
begin:
t = t+1;
selectjparents from Pop(t-l);
delete deadfrom Pop(t-I);
form Pop(l);
reproduce the parents;
evaluate Pop(l);
end:
end:
Scheduling FMS Using Heuristic and Search Techniques 58
(iii) Transfer time (to or from) 't' = 0.5 time unit ttj and tfj
(iv) Operation and set-up time data of the six jobs that are required to be processed in
the FMC are given in TABLE 4.1.
The overall processing and the overall setting times are calculated using equations 4.1 and 4.2
and are given in TABLE 4.2.
TABLE 4.2 Overall processing (Pi) and overall setting (S,) times data
Job No. T 1 2 3 4 5 6
Overall Setting Time 'P,' 10 8 30 16 13 21
Overall Setting Time 'Si' 13 6 17 26 17 17
A feasible schedule with an arbitrary sequence is generated by assigning both the compound
tasks to the imaginary two processors as in a pure flow shop. The schedule generated without
violating the set-up constraint of the model and for an arbitrary sequence 2-3-6-4-5-1 is shown
if figure 4.1.
M/C
6 14 23 53 69 70 91 104 114
___ Robot waiting for the
release of table
Robot
49 53 70 87 91 104
'N
Figure 4.2. Scheme of genetic search process for optimal sequence evolution
The jobs are processed in the order in which they are positioned in the chromosome. The
elements of the chromosome are generated randomly and one chromosome provides one
sequence. In the similar manner, the number of chromosomes equal to the population
s\ze(pop_size) are generated and the whole set is the initial population. This provides the
number of possible sequences equal to popsize. The pop size is problem dependent and
assumed here as twice the size of the chrjen.
inipop_mod() /* initial population */
for c =1 to pop size
{
forj - 1 to chrjen
gfcJUJ = random pick of one job code from the list ofjobs;
} /* All jobs within one chromosome and without repetition is assured */
4.2.3.3 Evaluation module
In this module, the population is evaluated and the probability of selection of each
chromosome is found out. The process of evaluating the fitness of an individual chromosome
'c' has the following steps.
(i) Schedule generation and finding the fitness parameter value
(ii) Conversion of fitness parameter value to new fitness parameter value, an
objective function suitable for genetic search process.
(iii) Conversion of new fitness to an expected frequency of selection.
The fitness parameterf/t/fc^) is the makespan time and is calculated by loading the jobs
corresponding to the sequence represented in the chromosome 'c' (i.e. g[cj[jj).
i.e.fit(c) = makespan time to the sequence corresponding to chromosome 'c'
The second evaluation step is to convert the fitness parameter to a new fitness value
(new_fit(c)) suitable for the minimisation objective and scaling them high so that very few
extremely superior individuals would be selected as parents too many times. The best
conversion function can be somewhat problem dependent. However, one function that has
been found to be generally useful is the exponential (Masters 1993).
i.e. f(v) = ekv, Where 'k' is a negative number and V is the fitness parameter value. This
conversion function has been used to find the newJit(c) value.
i.e. newJit(c) = eK‘f“(c) .................................................................................... (4.3)
The value of the constant K, after many trials, is assumed as 0.02 to scale the fitness function
reasonably so that at least half of the good chromosomes in the population find place in the
new population. The new fitness parameter value is found out with the formula given below.
Scheduling FMS Using Heuristic and Search Techniques 62
explained below. First the cumulative probabilities of selection/survival 'cp(c)' of all the
chromosomes are found out.
Then the random number V between 0 and 1 is spinned and a chromosome 'c' is selected which
satisfies the following condition.
procedure enables the fittest chromosomes to get multiple copies and the worsts to die off.
sel_ntod() /* selection of chromosomes for next generation */
for c — I to pop size
cp(c) = I p(c);
C=s I
If X = 1 then go to end;
}
}
if count is odd
{
X = 7; goto begin;
}
end'.
}
cro_fn() /* cross over operation */
begin:
while( all parents exhausted) do
{
get one parent c" and c"+1;
randomly spin two cut points (between 0 and chrjen);
do cross over;
set child as c’" and c"'+1;
}
end:
4.2.3.6 Mutation module
The purpose of mutation is the introduction of new genetic material, or the recreation
of good genes that were lost by chance through poor selection of mates. In order to do this
effectively, the effect of mutation must be profound. At the same time, the valuable gene pool
must be protected from wanton destruction. Thus the probability of mutation should be tiny
(Masters 1993). On the above grounds, the value of probability of rmidX\on(p_mut) has been
assumed as 0.05. Actually, the mutation here exchanges the gene within chromosome.
mut- ntod() /* mutation operation */
for c = 1 to pop size
{
for j = 1 to chr len
(
get random number r;
if r ^ p mut
mutate the gene 'g';
}
}
Scheduling FMS Using Heuristic and Search Techniques 65
There are two types of rescheduling mechanism: editing and regeneration. The methodology
adopted here is the regeneration where the entire process of scheduling is repeated with the
new set of data (i.e. updated job list). In this thesis, the rescheduling procedure is illustrated
with new job arrival cases.
Scheduling FMS Using Heuristic and Search Techniques 66
Step 3:
The modified fitness parameter 'newJil(c)\ probability of survival of the
chromosomes 'p(c)' and their cumulative probabilities 'cp(c)' are calculated using the
formulae's 4.4, 4.5 and 4.6 respectively for the above population.. Their values are given in
TABLE 4.4.
Scheduling FMS Using Heuristic and Search Techniques 67
Step 4:
Selection of new population for next generation is carried out by comparing the random
numbers generated with the cumulative probability of survival calculated in the earlier step
(section 4.2.3.4). TABLE 4.5 furnishes the generated random numbers and the chromosomes
selected accordingly.
Step 5:
Assuming the probability of cross-over as 0.3 and spinning the random numbers, the
parents for crossover are selected from the new population as explained in crossover module
(section 4.2,3.5). The selected chromosomes are given in TABLE 4,6. The number of
chromosomes selected are two (i.e. 4' and 10') and they become one parent (4" and 10").
Note: If more than two chromosomes have been selected, then number of parents will be
more than one.
4"' 5 1 4 6 3 2
10'" 6 2 1 3 5 4
Scheduling FMS Using Heuristic and Search Techniques 69
Step 7:
The new population with the crossed chromosomes is given in TABLE 4.8. They are
mutated randomly with probability of mutation (j)jnul) 0.05 and the elements selected for
mutations are shown in italic and bold fonts. The mutated reproduced population is shown
in TABLE 4.9.
Step 8:
Repeat step 3 to step 7 till the number of iteration becomes equal to the pre-set
maximum number of termination criterion. The result obtained after 100 iterations is:
Optimum Schedule = 23465 1& Makespan time =114
The above result has been obtained at the 43rd iteration. The schedule corresponding to the
above optimal sequence is represented as gantt chart and is given in figure 4.4. This forms the
basis for the development of control program for the entire FMC components.
TIME
RGVF: RGV travel from set-up platform to tn/cing centre; RGVT: RGV travel to set-up platform from m/cing centre;
Whenever a job arrives the system, the jobs list is revised by deleting the completed and
currently loaded jobs, and adding the new job. The overall processing time and setting time
data are updated with the current list of jobs. The proposed GA is repeated with the updated
job list and the optimal schedule is regenerated. The optimal schedules at different time
periods (scheduling points), which have been obtained with the updated job list at each
scheduling point, are given below.
At time'O' : Sequence:- 4-3-1-5-2 and Makespan Time:-64
At time'20' : Sequence:- 4-3-1-6-5-2 and Makespan Time:-77
At time'40' : Sequence:- 4-3-1-6-7-5-2 and Makespan l ime:-93
The optimal schedules generated at different times are given as gantt chart in figure 4.5.
robot idleness. A feasible solution of the illustrative problem that is shown in figure 4.1
indicates that the job number 6, which is the next job after job number 4 in the queue, cannot
be loaded immediately at time 49, the completion time of job 4. The robot waits until the job
3 gets completed its Process 2 (i.e. till 53 time units) and releases the other job mounting table
at 53. This is because of the limitation imposed by the number of job mounting tables and the
idle time of robot is unavoidable/inevitable. This restricts the application of Johnson's
procedure. Hence, the performance of the proposed GA has been evaluated by comparing the
results obtained with a few pdrs addressed by Waiker et al. (Waiker et al. 1995). Since the
processing times influence the makespan objective, the pdrs related with processing times are
For the cases of SPT and LPT sequence generation, the operation time considered for
prioritisation of jobs is the sum of the overall setting time (Si) and the overall processing time
(Pi). The situation has been assumed as a single operation that is carried out on a single
machine (FMC). In this model, the overall processing is the only task after initial overall
setting. Hence the overall processing time (P;) is the remaining work and the overall setting
(Si) is the schedulable operation. The rules LWKR, MWKR, LWKS, MWKS, LWKR/S and
MWKR/S use Pj and S( as the remaining work and schedulable operation respectively. The
Scheduling FMS Using Heuristic and Search Techniques 73
makespan criterion is used for the comparison and the makespan time has been considered a
measure of performance. Example problems randomly generated have been experimented with
all the pdrs and the proposed GA. The data and the results (the sequences generated and the
makespan time) of fifteen sample problems are tabulated in TABLE 4.12 and 4.13
respectively. Except one problem out of the fifteen samples tested, the best solutions are
obtained with GA. The computational time to run the GA is also very reasonable. For a
problem of size 10, the time taken to perform 100 iterations and give the solution is only 0.6
tfi
Cfl
i
Genetic Algorith
cn
si
t
£
LW KR/S
£
Sample
S3
5?
S
£3
problem Sequence MM
*5
00
S3
So
s
Sequence(S)
00
MM
S3
s
(U
w
C/3 <uoe
Sequence (S) MM Sequence(S)
JT
MM
I 6901 8
(Y,
10 366 413 329 ’
Z C b ii
00
so
r*s
1 397 395 21794 5368
ro
SO
VS
-
1 829736 10 45 377 813629457 10 375 2 7 9 1083 46 5
HI
V|
Os
OS
v
''t
1 495 ’
Os
Vl
rT
1
Os
Vi
Tf
Os
-t
6 7 4 2 8 6 3 1095
V|
Os
v*
■Tf
1 23 45 7 8 9 10
r~
Os
•'T
Vi
Os
-T
Vi
oo
Os
O
*T
NO
vs
1
rs
CO
ri
2 3 4 5 6 7 8 9 10 2 3 4 5 6 7 8 9 10
O
<N
VI
iq
00
cs
292 96 10 1457382 271 307 93 1 0 5 6 8 4 7 2
rs
1 9 274 5 106 83 276 271 1 2 7 5 8 4 3 1069 295 258 9 1 6 7 4 2 10583
3 2 6 10 1 9 297 305 21310654978 249 ’
VI
301 845 7
V,
Vs
rs
Tf
10 7 8 2 1 39 46 5 279 178 10
923456 291 2 3 10 8 6 7 1 4 9 5 295
t"
00
00
rs
so
1
t"
oo
cs
n
Os
*}■
VS
10
i/i id
r-
43 5 89 762
r- Vs
1
r-
C4UJ>WOSV)W
rs
1 10
c4 w > w o4 to w
1 24356789
ed w > w ot co w
2 4 3 5 6 7 8 9 10 2 4 3 5 6 7 8 9 10
m
Vs Vs
<s Vs
ri
10 18
r- m
Vs Vs
Vs Vs
rs
6942357
rs r- m
Vs
312 ’
£ m
Vs Vs
1
CO
CO
Vs
5 1 4 5 6 7 3 8 9 102
sD
Vs Vs
1 4 5 6 7 3 8 9 10 2 1 2 3 4 5 6 7 8 9 10 4 6 73 89 10 2
00
00
Os
Os
rs
1
00
Os
1 6
00
so
O ^
8 7 2 1093 5 4
00
Os
00
f-
Os
00
1 2 3 4 8 5 6 7 9 10
00
V
Ou-
r-'
0 4.
6 2 7 8 3 4 9 105
0 4.
6 7 8 1 2 3 9 4 10 5 6 7 8 9 10 1 2 3 4 5
266 2 6 7 3 10 8 1 4 5 9 249 269 6 7 4 1 2 5 8 1039 224'
00
6 7 10 1 2 8 9 3 4 5 241 256 6 9 1 4 5 7 8 10 2 3 262 257 627 10 1 3 8 4 9 5 254
Os
r-
rs
os
rs
294
*-J pC
285 6 1 3 4 5 8 10792
Os
rs
1 864 10972351
Os
rs
23
Os
2 3 4 1 6 8 5 7 9 10 279 ’ 1 23 4 5 6 7 8 9 10 281 46 8 5 79 10 287
rs
Os
SO
cocuH
1 415 16 5 84732 10 9 396 ’
Os
CO
SO
1 416
O
1 5 6 4 7 2 8 9 10 3 396* 416 1 5 6 4 7 2 8 9 103 416 5647289 103 396 ’ 2 3 4 5 6 7 8 9 10
'jt, {*,
-s -S id cn
ui ai
324 1 299 ’
rs
Os
Os
309 4 8 3 1 0 9 7 2 56
Os
OS
1
rs
4 1 2 3 5 7 8 9 10 6
Os
319
Os
rs
10 3
-
1 56 47 2 8 9 10 3 319 1 5 6 4 7 2 8 9 103 319 56 472 89
cn
.685
629 j 1 1
00
os
Vi
2 10 3 599 629 4 6 5 7 2 8 1093
Vl
Os
00
45 6 7 8 9
V
Os
rs
00
1 5
6472893 10 627 1 5 6 4 7 2 8 9 3 10 627 1 5 6 4 7 2 8 9 103
1 501
T
594
Os
Os
10 582 3 4 5 8 6 1 9 7 10 2
Os
rt
Os
544 23456789
*
*
234586197 10 499' 544 2 3 4 5 8 6 1 9 7 10 544 2 3 4 5 8 6 1 9 7 10
CO
2 3 4 5 8 1 9 7 10 6 5 01
2 3 4 5 8 1 7 10 9 6 501
. 9or
o
so
1
rs
8 206'
O
SO
rs
746 105932
rs
O
SO
rs
o
SO
1 4 3 7 9 8 10 6 1 2 5
rs
o
so
206 ’
O
rs
SO
114 5 2 1 6 10 8 9 7 3 4 5 2 1 6 10 8973 4 234 5
6 7 8 9 10
1
t-
00
--------
V
©
os
vs
r*s
rs
00
SO
1 233
rs
222
rs
1 227 6 8 3 4 9 2 7 5 10
V|
23164 107985 204 2 10 1 7356498 220 6 3 2 8 4 9 7 10 5
212
:
MM Makespan time; * Best makespan time; ** Except sample problem 13 GA provides minimum makespan sequence.
4.5 CONCLUSION
A genetic algorithm has been proposed for sequencing the jobs visiting FMC
dynamically to maximise the utilisation of its hardware. The proposed GA procedure has been
validated by comparing it with the results of a few processing time related pdrs. The
rescheduling concept illustrated with example indicates that the above procedure can be
successfully applied in dynamic environment. The GA based scheduling approach presented
here is not limited to this specific scenario and can be extended to a general'm' machine case.
Also it is applicable to any type of FMC, whether it is constrained with set up time or not.
Besides this, the proposed GA based search technique can be easily modified to generate
schedules for other objectives, such as minimisation of total flow time, minimisation of
maximum tardiness, minimum total tardiness and so on. It is further shown that, with the
sequence obtained, it is possible to derive the control program for the various hardware
components of FMC. This is an integrated scheduling approach that aids to have a base for
the operational level controller. This search process which belongs to the class of evolution
program will be very much useful in developing a Learning Process for the operation and
control scheme. Further research is to develop a systematic approach for determining the
values of the major ingredients of genetic operators specific to scheduling problems.