Sei sulla pagina 1di 22

Scheduling FMS Using Heuristic and Search Techniques 54

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.

4.2 PROPOSED METHODOLOGY


This section describes the features of the GA as a first step towards the application of
the GAs for the problem addressed (section 4.2.1). Then, the logic behind the simplification of
the 'n' jobs on'm' processor problem (addressed in section 4.2.2) as 'n' jobs on two serial
processor problem is discussed. Finally, the proposed GA along with rescheduling concept is
presented (section 4.2.3 and 4.2.4).
4.2.1 Genetic algorithm
4.2.1.1 Terms and definitions
Some of the important terms used in GA are (Masters 1993):
Chromosome : This is the complete genetic description of an individual. It is the collection
of primitive features called genes. During reproduction the chromosome
that defines an individual will be split in half, donating half of these
individual genes to each of two children.
Scheduling FMS Using Heuristic and Search Techniques 56

Gene : This is a single feature within a chromosome. It may take on any of several

values called alleles.


Allele : This is a particular value that may be taken on by a gene. Different gene
will in general have different alleles. For example, the gene that determines
hair colour may have alleles of red, black, brown etc. While the gene

that determines eye colour may have alleles of blue, brown and so forth.

Population : Number of chromosomes form a single population.

Objective : This is the function that is considered for minimisation or maximisation of a


certain criterion.

Fitness : This is a measure of how well a parameter set performs.

Schema : This is a collection of genes in a chromosome having certain specified


values. A schema (plural schemata) is a small subset of the gene in a
chromosome which, when they take on specified values, act as a unit to
produce an effect.
The exact nature of genetic optimisation is still open to debate. Some practitioners follow
binary representation within chromosome. In this thesis, the chromosomes are represented
with decimal numbers.
4.2.1.2 Principle behind GA
Essentially a GA is a set of procedures which, when repeated enable solutions to the
specific problems. In order to achieve the objectives, GAs generate successive population of
alternate solutions until a solution is obtained that yields acceptable results. Within the
generation of each successive population, improvements in the quality of the individual
solutions are gained. In this way a GA can quickly move to a successful outcome without need
to examine every possible solution to the problem. The procedure used are based on the

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

4.2.2 Simplification as V job two serial processor problem


The problem addressed as a special flow shop problem is simplified as a sequencing
problem of 'n' job on two serial processors. The six tasks associated with each job are
combined into two compound events as overall setting (Process 1) and overall processing
(Process 2). They are explained below.
Overall setting(Process I): Each cycle starts with unloading a job (completed its process in
the machining centre) followed by loading and setting a new job (which is waiting in the
queue) on the job mounting table. The above tasks are carried out by the robot in succession
in the repeated cycles of operations and so they are consecutive events without any splitting
(no time gap is necessary between these tasks and the robot continuously engages for all the
three tasks). So the above three tasks, which are carried out with the robot, are combined
together and this compound event of overall setting is the process 1. The processing time of it
is given as overall set time 'S,'.
i.e. S, = ul, +1, + s, = 21 + s,............................. (4.1)
Overall processing(Process 2): Once a job has been set, the remaining three tasks are carried
out in the following sequence: the RGV transfers the loaded job to the machining centre; the
machining centre processes the job; the RGV transfers back to load/unload station on
completion of processing at the machining centre. Even though these tasks are carried out
with two different hardware (i.e. RGV and Machining centre) and at different time spans, they
are sequential events without any time gap between their successive tasks and so they have
been combined as one. This combined task of overall processing is the process 2. Its time is
referred as overall processing time and denoted as 'P/.
i.e. P, = tt, + o, + tf, = o, + 2 t....................................................... (4.2)
Also it is obvious that the overall setting has to precede the overall processing. In certain
circumstances, which are mentioned in section 3.2.3, the robot has to wait for the release of
the other job mounting table (As the number of job-mounting tables in the FMC considered
here is limited to two, the Process 1 of all jobs can not be taken up continuously) and the idle
time of it becomes unavoidable. An illustration is presented here to show how the schedule is
generated for this FMC model with the above simplification. The data used for illustration are
given below.
(i) Number ofjobs to be processed 'n' = 6
(ii) Loading/Unloading time T = 1 time unit (and ul,
Scheduling FMS Using Heuristic and Search Techniques
59

(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.

TABLE 4.1 Operation and set up time data


Job No. 'i' 1 2 3 4 5 6
Operation Time 'o,' 9 7 29 15 12 20
Set-Up Time's,' 11 4 15 24 15 15

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.

JOB 1 JOB 2 JOB 3


•harathlar Unh
Library
JOB 4 JOB 5 JOB 6
73615
|—M/C waiting for job ENGG

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

Figure 4.1 Schedule for sequence 2 3 6 4 5 1 <c/ ^


Scheduling FMS Using Heuristic and Search Techniques 60

4.2.3 Proposed Genetic Search Process


The various subroutines for implementing the major components of the genetic
optimisation have been presented in this section and basic search process of the proposed GA
is schematically given in figure 4.2.

'N

Figure 4.2. Scheme of genetic search process for optimal sequence evolution

4.2.3.1 Input module


The overall processing time P; and the overall setting time S; of all the n jobs are the
input data to generate feasible schedules and subsequently to find the values of the fitness
parameter (makespan time).
input_mod( )
{
for i = 1 to n
input P. and S:;
}
4.2.3.2 Initialisation module
Floating point encoding has been used to identify the jobs and there is one gene for
each job. Each possible processing sequence is represented by one string/chromosomefc), each
element or genef#) in the chromosome corresponds to one job labelled with one floating point
number. The length or size of one chromosome(chr_len) is equal to the number of jobs 'n'.
Scheduling FMS Using 1 ieuristic and Search Techniques 61

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

i.e. newJit(c) = e0 02‘Mc) ................................................................................ (4.4)


The final evaluation step is to convert the new fitness parameter to expected
frequency/probability of selection(/;(c)) of chromosome 'c' by the sum of the new fitness

values of all chromosomes.


c=popsize
i.e. p(c) = newJit(c)/ zT new_Jit(c) ......................................................... (4.5)
C=1

eva modf) /* evaluation of individuals and probability of survival of chromosome 'i' */


for c = 1 to pop size
{find:
fil(c);
newJit(c);
p(c);}
4.2.3.4 Selection module
The next population of the same size is obtained with random selection procedure

explained below. First the cumulative probabilities of selection/survival 'cp(c)' of all the
chromosomes are found out.

i.e. cp(c) = E p(c) .................................................................................. (4.6)


C=1

Then the random number V between 0 and 1 is spinned and a chromosome 'c' is selected which
satisfies the following condition.

cp(c-l) < r < cp(c) ........................................................................ (4.7)


This selection process is repeated as many times as equal to population size. This method used
here is more reliable in that it guarantees that most fit individuals will be selected, and that the
actual number of times each is selected will be within one of its expected frequency. This

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

for c = 1 to pop size


{
get random number
find chromosome 'c' satisfying cp(c-l) < r < cp(c) ;
select ’c'for next population and set as c' ;
}
Scheduling FMS Using Heuristic and Search Techniques 63

4.2.3.5 Crossover module


This involves two steps, namely, (i) selection of chromosome for cross over and (ii)
crossover operation. The probability of crossover(p cross) is the one vital parameter to be
given attention at this juncture. The value for p cross has been assumed as 0.3 so that at least
30% of the chromosomes selected in the earlier selection module would undergo crossover
operation and produce offspring. The procedure for selecting chromosomes for crossover is as
follows. Random numbers between 0 and 1 are generated for all chromosomes and those
chromosomes that get random number less than p cross values are the chromosomes selected
for crossover. If the number of selected chromosomes is odd, then the above procedure is
repeated until one more chromosome gets selected and the number of selected chromosomes
becomes an even number.
The next step is to carry crossover operation, a reproduction method. There are so
many crossover operators (Michalwicz 1992) such as Partially Mapped Crossover(PMX),
Ordinal Mapped Crossover(OMX), Edge crossover(EX) etc, and they use either single point
crossover or two point crossover. This program uses PMX crossover method that is explained
below. PMX crossover splits the parent chromosomes into three parts. The first and the third
part go to one child, while the middle goes to the other child. The crossover points for
splitting are obtained by random selection of integer number between 1 and chrlen. The
PMX operator takes care of maintaining the feasibility.
cro_mod() /* selection of strings for crossover and crossed output module */
{
selcroJn( ); /* selection of strings for crossover module */
croJn( ); /* cross over operation */
}
selcro_fn() /* selection of strings for crossover module */
{
count = 0; X = 0; p-cross = 0.25;
begin:
for c' = I to pop size
{
get random number Y;
if r < p cross
{
select c' and label as c";
count = count +1;
Scheduling FMS Using Heuristic and Search Techniques 64

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

4.2.3.7 Termination criterion


The number of times the whole process (iteration) of evaluation, selection,
reproduction and mutation is to be repeated depends on the nature of the problem. No
generalisation is possible with respect to the behaviour of model considered The number of
iterations is considered as the termination criterion and fixed as 100.
4.2.3.8 Output module
The best chromosome in each iteration is stored and the best among the bests stored is
the optimal one. The above procedure is followed in similar lines by most of the researchers in
this field (Chen et al 1995, Sridhar and Rajendran 1994, Michalwicz 1992). The schedule
corresponding to the optimal chromosome sequence is generated by taking up each task one
by one (i.e. the start and finish times of all jobs on the machining centre, robot and RGV).
These values are stored in the separate file, which are given as the input for the Gantt chart
display.
4.2.4 Rescheduling concept
The need of rescheduling arises on the occurrence of uncertain events like breakdowns,
rush orders etc,. The machine breakdown leads to pull some jobs from that particular FMC
assigned earlier and are incorporated in other feasible alternatives. New jobs on arrival are
included with remaining incomplete jobs. This makes clear that it is only an addition or a
deletion of jobs in the list of queue in the FMC. Under such circumstances, the job queue is
updated and schedule is regenerated. This is delineated in figure 4.3.

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

4.5 NUMERICAL ILLUSTRATIONS


4.5.1 GA search process for optimal sequence
To have the insight over the proposed GA methodology, an illustration is given in this
section. Consider the same problem that is addressed in section 4.2.2. The processing and
setting times data of the jobs, which are to be processed through the FMC, are given in
TABLE 4.1.
Step 1:
The overall processing and the overall setting times are found using equations 4.1 and
4.2. They are given in TABLE 4.2.
Step 2:
Randomly generated initial population of set of sequences and their corresponding
makespan time are given in TABLE 4.3. The size of the population has been assumed as twice
as the number of jobs to be processed {pop size = 2 * n).

TABLE 4.3 Chromosomes and their makespan times of initial population


Job position 1 2 3 4 5 6 Makespan time
Chromosome c f.t(c)
1 1 2 3 5 6 4 129
2 6 2 5 3 1 4 144
3 6 3 5 1 4 2 131
4 1 3 4 6 2 5 128
5 4 6 1 5 3 2 136
6 3 6 4 5 2 1 126
7 1 6 4 5 2 1 136
8 3 1 4 5 6 2 136
9 1 4 6 5 3 2 132
10 5 2 1 6 3 4 127
11 1 2 5 3 6 4 129
12 4 1 3 6 5 2 • 131

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

TABLE 4.4 Parameters for the generation of new population


Chromosome No. c new_fit(e) P(c) cp(c)
1 0.07 0.08 0.08
2 0.07 0.09 0.17
3 0.07 0.08 0.25
4 0.06 0.07 0.33
5 0.06 0.07 0.4
6 0.08 0.1 0.5
7 0.07 0.08 0.58
8 0.07 0.08 0.66
9 0.07 0.08 0.74
10 0.07 0.09 0.82
11 0.07 0.08 0.91
12 0.08 0.1 1

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.

TABLE 4.5 New population before crossover and mutation


New Chromosome c' Random no. generated r Selected chromosome c
V 0.74 10
T 0.69 9
y 1 12
4' 0.61 8
5' 0.01 1
6' 0.37 5
7 0,79 10
8' 0.49 6
9' 0.09 2
10' 0.77 10
11’ 0.4 5
12’ 0.16 2
Scheduling FMS Using Heuristic and Search Techniques 68

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.

TABLE 4.6 Chromosome selection process


Chromosome c* Random number r Selected (S)/Not
selected (NS)
1' 0.43 NS
2' 0.76 NS
3’ 0.38 NS
4' (4") 0.28 S
5' 0.48 NS
6' 0.32 NS
7' 0.87 NS
8' 0.53 NS
9' 0.65 NS
10' (10") 0.12 S
ir 0.87 NS
12’ 0.4 NS
' p cross = 0.30
Step 6:
The selected chromosomes (parent) 4" and 10" undergo crossover operation and give
offspring. The random cut points generated are 4 & 6 and the offspring chromosomes after
crossover are 4"' and 10'". They are shown in TABLE 4.7.

TABLE 4.7 Offspring of parent selected.


Chromosome no. c'" Sequence after crossover

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.

TABLE 4.8 New population after crossover


Chromosome no. Sequence
1' 5 2 1 6 3 4
2' 1 4 6 5 3 2
3' 4 1 3 6 5 2
4" 5 1 4 6 3 2
5' 1 2 3 5 6 4
6’ 4 6 15 3 2
T 5 2 1 6 3 4
8’ 3 6 4 5 2 1
9' 6 2 5 3 1 4
10" 6 2 1 3 5 4
11' 4 6 15 3 2
12' 6 2 5 3 1 4
* Elements selected for mutation are shown as bold italic

TABLE 4.9 New population after Mutation


Chromosome No. Sequence
1 5 2 1 6 3 4
2 1 4 6 5 3 2
3 4 1 3 6 5 2
4 5 1 4 6 2 3
5 1 2 6 5 3 4
6 4 6 1 5 3 2
7 3 2 1 6 5 4
8 16 4 5 2 3
9 6 2 5 3 14
10 6 2 13 5 4
11 4 6 1 5 3 2
12 6 2 5 3 1 4
Scheduling FMS Using Heuristic and Search Techniques 70

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.

Eli job 1 m jub 2 m j°b 3

TIME

Figure 4.4 Integrated schedule of FMC


RL: Robot loading; RS: Robot setting; RU: Robot unloading;

RGVF: RGV travel from set-up platform to tn/cing centre; RGVT: RGV travel to set-up platform from m/cing centre;

4.3.2 Illustration for rescheduling mechanism


The concept of rescheduling is the complete regeneration of the entire schedule and
the mechanism is illustrated with the new jobs arrival cases. There are initially 5 jobs in front
of FMC for processing and all the components of FMC are available for service. The jobs
arrive the system afterwards periodically at regular intervals. The overall processing time,
overall setting time and the arrival time of the jobs, which are generated randomly and used for
illustration, are given in TABLE 4.10.
Scheduling FMS Using Heuristic and Search Techniques
71

TABLE 4.10 Data for rescheduling illustration


Job No. i Processing Time P, Total Set Up Time S, Elapsed time X
1 12 16 0
2 7 9 0
3 13 11 0
4 8 7 0
5 9 14 0
6 9 13 20
7 13 16 40

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.

Figure 4.5 Schedule at different time block


Scheduling FMS Using Heuristic and Search Techniques
72

4.4 PERFORMANCE COMPARISON


Johnson's algorithm is a proven methodology for 'n' job two serial processor
makespan criterion sequencing problem. This procedure can give optimal solution to this
special flow shop problem considered, provided, the limitation in the model does not lead to

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

considered here. The list of them are given in TABLE 4.11.

TABLE 4.11 List of priority dispatching rules


Rule Abbreviation Explanation
1 SPT Jobs ranked by the shortest total processing time (Sj + Pj)

2 LPT Jobs ranked by the longest total processing time (Sj + P, )


3 LWKR Jobs ranked by least work remaining (Pj)

4 MWKR Jobs ranked by most work remaining (Pj)

5 LWKS Jobs ranked by least schedulable work (Sj)

6 MWKS Jobs ranked by most schedulable work (Sj)


7 LWKR/S Jobs ranked by the smallest ratio of total remaining work to processing
time of schedulable operations (P( / Sj)
8 MWKR/S Jobs ranked by the greatest ratio of total remaining work to processing
time of schedulable operations (P; / Sj)

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

seconds on PC/AT 486 Dell system.

TABLE 4.12 Data set (P,/S,)used for comparison


Jobi 1 2 3 4 5 6 7 8 9 10
Sample No.
1 20 30 20 40 40 20 40 10 37 40
10 10 40 40 60 40 20 26 22 22
2 20 20 20 20 20 20 20 20 20 20
25 30 35 40 45 50 55 60 65 70
3 12 12 23 21 20 30 13 20 35 25
12 24 40 23 27 20 20 35 0 24
4 12 24 28 28 28 40 12 20 22 20
24 10 10 28 40 20 20 12 33 10
5 20 10 12 11 14 15 16 17 18 19
20 10 12 11 14 15 16 17 18 19
6 20 20 20 20 20 20 20 20 20 20
20 40 30 22 24 26 28 32 34 36
7 10 10 10 10 10 2 4 6 8 9
2 4 6 8 10 2 4 5 8 9
8 19 27 30 20 20 10 20 20 10 20
20 12 20 30 40 5 10 20 30 15
9 12 15 16 20 29 30 34 35 35 40
12 10 10 10 20 10 20 10 20 22
10 20 40 60 30 24 26 36 44 48 58
10 20 30 15 12 13 18 22 24 29
11 15 30 45 23 18 19 27 33 36 43
10 20 30 15 12 13 18 22 24 29
12 30 60 80 45 36 39 54 66 72 87
20 40 60 30 24 26 36 44 48 58
13 60 12 18 24 36 54 72 48 66 84
50 10 15 20 30 45 60 40 55 70
i4 15 13 25 32 10 16 24 20 23 18
10 10 10 10 10 10 10 10 10 10
15 12 6 14 20 14 18 12 28 20 10
10 13 8 15 32 6 26 13 20 27
TABLE 4.13 Makespan performance comparison of different methodologies

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.

Scheduling FMS Using Heuristic and Search Techniques 74


Scheduling FMS Using Heuristic and Search Techniques
75

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.

Potrebbero piacerti anche