You are on page 1of 12

Int. J.

Production Economics 74 (2001) 135}146

A genetic approach to the scheduling of preventive maintenance


tasks on a single product manufacturing production line
G. Cavory, R. Dupas*, G. Goncalves
Laboratoire en Organisation et Gestion de la Production, Faculte& des Sciences Applique& es, University of Artois, F-62408 Be& thune, France

Abstract

The present article deals with optimising the schedule of maintenance tasks of all the machines in a single product
manufacturing production line. This study was made in the context of one machine assigned to one operator. This
operator intervenes to change tools during a stoppage. Our goal is to increase the overall through-put of the line. We
"rstly formalised the problem and showed the di$culty of its analytical resolution. Then, we presented the software
environment that enables the resolution of this problem: it is made up of a simulator of the production line and an
optimiser using the genetic algorithms. Our approach to the scheduling of maintenance tasks was validated upon an
actual production line of car engines. We focused our study on the setting of parameters of a genetic algorithm. We
proceeded with a systematic approach inspired by the Taguchi method to "nd the best combination of levels for each
studied parameter and performed a statistical con"rmation of the results. Finally we validated the genetic approach as
against naive optimisation.  2001 Elsevier Science B.V. All rights reserved.

Keywords: Scheduling; Genetic algorithm; Discrete event systems simulation; Single product; Tools changes

1. Introduction the line is balanced, the machines have equal


duration cycles.
The domain of this study is the manufacturing E The preventive maintenance tasks on these ma-
production systems. More precisely, the line con- chines are realised by the operator. Each task
cerned is a single product mass production line. occupies a certain amount of the operator's time.
This line, as in Fig. 1, of a succession of machines The number of maintenance tasks varies accord-
alternating with bu!ers of pieces. ing to the machine.
Each machine unit in this line is characterised as
follows. There are two sorts of preventive maintenance
operations:
E The machines perform multiple operations, the
succession of which is a line of type `transfera. As E a tool change, necessitating a machine stoppage;
E a control, which does not necessitate a machine
stoppage.
* Corresponding author. Tel.: #33-321028761; fax: #33-
321028758. This work has been done in the following frame-
E-mail address: dupas@iut-gtr.univ-artois.fr (R. Dupas). work.

0925-5273/01/$ - see front matter  2001 Elsevier Science B.V. All rights reserved.
PII: S 0 9 2 5 - 5 2 7 3 ( 0 1 ) 0 0 1 2 0 - 7
136 G. Cavory et al. / Int. J. Production Economics 74 (2001) 135}146

Fig. 1. Manufacturing line.

Hypothesis 1. The assignment of operators to the Let ¹ be the set of tasks:


*
machine is restricted to the case of one machine
¹ "t  i3[1, w], k3[1, n ],
assigned to one operator: an operator is always * G I G
present on each machine of the line. where t is the task k on machine i of the line,
G I
n the total number of tasks on the machinei, w the
G
Hypothesis 2. The changing of tools is more critical total number of machines in line, and N" U n
G G
than the controls; since, through the stoppage of the cardinality (¹ ).
*
the machine, it has a negative in#uence on the These tasks occur cyclically after a "xed time of
number of pieces produced. In a normal situation, machining. So each task has multiple occurrences
the controls are done in `masked timea, i.e. without in the course of production. They are de"ned by the
stopping the machine. Consequently these controls following three parameters.
are not considered in this study. The "rst parameter of a task is the period of
running after which the task is launched. It depends
The subject of this article is the scheduling of on the wearing out of tools during the machining. It
preventive maintenance tasks, namely the changing can be naturally expressed in number of pieces
of tools on all the machines in the line. Anderson et "nished and is de"ned by the parameter b%(t ) for
G I
al. [1] have presented a review of scheduling in the task t
G I
production machines or in computers. They are The second parameter is the shortened running
academic scheduling problems. Here in this article, time before the launching of the "rst occurrence
we aim to address the industrial problem de"ned in of a task. The "rst occurrence is speci"c in that
Section 2. it can be selected before production starts.
It is de"ned by the parameter f%(t ) for the
G I
task t . We have the following constraint on
G I
2. Scheduling maintenance tasks on the f%(t ): f%(t )(b%(t ). This parameter corres-
G I G I G I
machines of the line ponds to a premature change of tools in the starting
phase of manufacturing.
In this section the maintenance tasks will The last parameter is the task duration expressed
be described. In the second part, the evolution of in time units. It is de"ned by the parameter d (t )
G I
these tasks in the course of time will be analysed; for task t . In order to express the three para-
G I
then the problem of scheduling these tasks will be meters in the same unit, an approximation in the
described. number of pieces produced is worked out to express
the duration de"ned by parameter d% (t ). This
G I
2.1. Dexnition of the maintenance tasks approximation is based on machine cycle time
&&Tc'', which is the span of time between the output
We consider the maintenance tasks that are of of two consecutive pieces. The task duration is
the preventive type. They are de"ned as follows for precisely de"ned by the parameter d%(t )"
G I
the set of machines that form the line. d(t )/Tc  with the following notation: x, the
G I G
G. Cavory et al. / Int. J. Production Economics 74 (2001) 135}146 137

integer closest to x and Tc , the duration cycle of Fig. 2 shows three successive occurrences of
G
machine i. t task on a multiple maintenance tasks machine
G I
and the corresponding functions R and P. These
2.2. Task analysis on one machine with multiple three occurrences are at di!erent time spans. How-
maintenance tasks ever the number of pieces produced between two
consecutive occurrences, which is represented by P,
This section describes the case of a machine in- is constant with the value b%(t )"3.
G I
dexed i with n maintenance tasks. Here it is impor- As a result, it appears that function P is not
G a periodical function with a simple de"nition. Since,
tant to notice that the span of time between two
consecutive occurrences of the same task t varies in general cases, it is di$cult to give an analytical
G I formulation of the running function, it is also im-
since the machine is also stopped for other tasks to
be performed. The duration between the v and v#1 possible to calculate the number of pieces produced
occurrences of the same task t is de"ned by the in a given space of time.
G I With the tasks precisely characterised and ana-
parameter a%(v, t ) with occurrence number v.
G I lysed we are now able to specify our scheduling
The following two functions are used to repres-
ent the problem. problem.

E &R+ , the running function of the machine: R(t)"0 2.3. Scheduling the tasks of the set of machines
if the machine is stopped at time t; R(t)"1 if the in the line
machine is running at time t. Two causes can stop
the machine: either a maintenance task t is in The scheduling of maintenance tasks consists of
G I
progress, or the machine is idle, starved because of the de"nition of the values corresponding to the
the lack of pieces in the upstream bu!er or three parameters (d%, b%, f%) for each task t . So,
G I
blocked because the downstream bu!er is full. the general form of our scheduling function S is
E &P', the discrete running function which gives
a representation of the number of pieces produc- S%: ¹P-;-;-,
ed by the machine. t C S%(t )"b%(t ), d%(t ), f%(t )
I G G I G I G I G I

Fig. 2. Parameters (b%, d%, f%) of a machine with multiple tasks t .


GI
138 G. Cavory et al. / Int. J. Production Economics 74 (2001) 135}146

and M the matrix associated with the scheduling Moreover the tool changing operation is unin-
1
function is de"ned as follows: terrupted and cannot be broken down into partial
sequences. It is a cyclical, non-pre-emptive schedul-
M "m(r, c)  r3[1, N], c31, 2, 3,
1 ing problem.
i3[1, w], k3[1, n ]  m(r, 1)"b%(t ), Hanen et al. [3] gave an overview on the prob-
G G I lems of cyclical scheduling. The problem of &&Basic
m(r, 2)"d%(t ), m(r, 3)"f%(t ). Cyclic Scheduling'' is to determine the starting time
G I G I
for each instance of generic task, taking into ac-
In the context of this study, parameters b% and count the precedence constraints between them.
d% are assumed to be constant. Actually b% is The problem we are studying is therefore a particu-
related to mechanical know-how, wearing out of lar case of `Basic Scheduling Problema in which
tools and d% refers to methods of organising main- the instances of tasks have a periodical law of
tenance. Methods, derived from the concept of occurrence in the referential timing of pieces. The
just-in-time, such as the single minute exchange of precedence constraints between tasks instances do
dies (SMED) aim to optimise this latter parameter. not exist. So, the unique parameter to be deter-
Consequently, scheduling function S% can be mined is the timing of the "rst instance, called
simpli"ed in the following way: f%(t ).
G I
S%: ¹P-,
t C S%(t )"f%(t, k)
G I G I 4. General approach to solving the problem
and V the vector associated with scheduling func-
1 The speci"c scheduling problem studied in this
tion S%. The de"nition of this scheduling function
corresponds to the time setting of premature article was exposed above. Section 4.1 introduces
change of tools in the starting phase of manufactur- the software environment we have developed to
ing. improve performances in the manufacturing system
and permits us to solve our scheduling problem.
Section 4.2 presents the optimal scheduling de"ni-
3. Position of the problem tion and the method for determining it.

The above-mentioned scheduling problem may 4.1. Software environment for performance
be characterised according to [2], once the terms improvements of manufacturing systems
&&tasks'' and &&resource'' have been de"ned.
The software architecture presented in Fig. 3 is
E The maintenance tasks to be scheduled are the made up of four main modules that are described
changes of tools, the whole of them being de- subsequently.
scribed as set ¹. These tasks, called generic tasks, The simulator is the central module of this envi-
are cyclically done. The occurrence of order v of ronment, and is presented below.
the task t is called a%(v, t ). Again, it is worth
G I G I
noticing that unlike with the mainstream ap- 4.1.1. Simulator
proach, we are not looking at directly scheduling This module aims to evaluate each scenario of
production tasks but maintenance tasks. simulation requested by the optimiser and analyser
E The resources required for a given instance of modules. As this simulator is repeatedly utilised by
a task to take place are, on the one hand, the other modules, it was decided to use a simulation
machine in the line whereupon the tools are to be tool that is &&lighter'' and as e$cacious as possible.
changed and, on the other hand, the operator That is why we chose to develop a new simulator,
who has to change them. This operator is a dis- rather than utilise a commercial one.
junctive resource since he performs only one This simulator was implemented utilising the
operation at a time. C## classes library called C##SIM [4]. This
G. Cavory et al. / Int. J. Production Economics 74 (2001) 135}146 139

Fig. 4. Genetic algorithm.

Fig. 3. Software architecture for performance improvement.


optimiser makes a request to the simulator when-
ever it has to assess a given scenario.
The problems tackled, thanks to this environ-
library aims at simulation of discrete events sys- ment, are often NP-hard. The evaluation function
tems, using the so-called process approach. The is generally non-linear and often not even explicit.
object oriented approach of C##SIM permits For these reasons we used evolutionary algorithms
the construction of derived classes through and more precisely the genetic algorithms [7,8].
specialisation of classes dedicated to the simula- The family of genetic algorithms is one of the
tion. For instance, to simulate the production line machine learning models whose modus operandi
studied, the main application classes created were: derives from imitation of certain mechanisms ob-
milling machine, bu!er, operator, change of tools. served in biological evolution. The principle of gen-
The complete design model [5] of this simulator etic algorithms is mentioned in Fig. 4. Starting from
was expressed with the uni"ed modelling language an initial population of N random solutions or
(UML) [6]. chromosomes, each iteration or generation consists
in choosing N (N )N) pairs of parent chromo-
 
4.1.2. Model editor somes for the mating. The reproduction process
This module o!ers the user a simple modelling generates the o!spring through crossing-over and
language oriented toward discrete manufacturing mutations. The new generation of descended chro-
system. This editor proposes basic activities such mosomes obtained in this way o!ers solutions
as, for instance, bu!ering and milling. In the "rst whose adaptation to the problem considered is still
step of modelling each activity is graphically se- better. The algorithm stops as soon as the perti-
lected and connected to the other activities in order nence of solutions ceased to improve. A good syn-
to construct the whole manufacturing #ow of the thesis of the use of these algorithms as concerns the
line. In the second step, the user must give a value scheduling problems is to be found in [9].
to the attributes of each activity. For instance, The main two operators of Genetic Algorithm
the bu!er activity has an attribute corresponding to are crossover and mutation.
the maximum capacity of the bu!er.
This module was written in Java language be- E The "rst one recombines, with a probability
cause of its ability to create graphical interfaces, p the genetic material of two parents chromo-
A
and because its relative lack of e$cacy does not somes to make two children. If no crossover
penalise the performance of this software architec- takes place, the o!spring is the exact copy of the
ture. respective parents. For instance, in the classical
crossover called one-point crossover, the chil-
4.1.3. Optimiser dren are made by cutting the parents at a ran-
The objective of this module is to improve the domly selected point and exchanging parental
performance of the production system. It is neces- genetic material after the cut. In that way, the
sary to choose one or more parameters to optimise, "rst child of parents P1 and P2 is made up of P1
and also de"ne one criterion of optimisation. The until the cutting point and P2 after.
140 G. Cavory et al. / Int. J. Production Economics 74 (2001) 135}146

E The mutation alters one or more genes of a evaluated by the simulator module. To complete
chromosome with a probability equal to the this analysis, the user must interpret the results
mutation rates. For instance in the case of a obtained.
chromosome with binary genes, if a bit is selected For the same reasons as in the case of the editor
for mutation, it would be #ipped from zero to module, the module under development is written
one or conversely. in Java.

The above-mentioned pattern of genetic algo- 4.2. Optimal scheduling dexnition and search
rithms must be customised to the problem to be
solved. Particularly, it is necessary to de"ne the In this section the notion of optimal scheduling is
solutions of the problem under the form of chromo- introduced and the method to "nd a good or near-
somes. optimal solution is presented.
Our genetic algorithm implementation makes The objective in scheduling the tasks of all the
use of Libga Freeware Library [10]. machines in the line is to improve the throughput.
Throughput } called  } can be characterised in
4.1.4. Analyser more than one way, such as for example, the num-
This module assists the user in analysing the ef- ber of pieces produced by the machine in a certain
fects of the main constraints operating on the perfor- production time. Therefore, the task scheduling
mances of the production system. Those constraints consists in determining vector V which enables the
1
are, for instance: operators, maintenance operations, best  throughput. The optimal scheduling de"ni-
breakdowns. This analysis is conducted in order to tion can be schematised as follows: given,
focalise the performance improvement process on
E  the line throughput,
the parameters associated with the aforementioned
E g the function that gives  in relation with V
constraints. This analysis step is very useful in the 1
context of complex production systems, where the "nd the scheduling vector V that gives the best
1
number of parameters potentially in#uent on the throughput: "g(V ), objective: max(g).
1
performance of this system is very high. Once this We said above that discrete running functions
analysis has been conducted, it is possible to use the are not easy to "nd for a single machine with
optimisation module to perform studies of improve- several tasks. This is even more so when it comes in
ment on the selected constraint. the general case of a line made up of several ma-
The analyser module is based on the Taguchi chines, to expressing g, which is dependent on the
method [11] which proposes the experiments ne- running function of each machine. This is why the
cessary to "nd the impact of the main constraints. environment presented in the previous section is
This method consists of a series of experiments, appropriate for the resolution of the aforemen-
planned in advance, in order to determine as quick- tioned optimising problem. The search for good or
ly and as exactly as possible the in#uence of a set of near-optimal scheduling is achieved through the
factors on one resulting parameter. This approach following two modules:
which has been successfully applied in the "eld of
E The simulator assesses the "tness of a given
quality control, is used here in the context of perfor-
schedule de"ned by the vector V , starting from
mance improvement. 1
the model of the line elaborated by the editor
Starting from the factors and the output selected
module. It returns the worked-out  throughput
by the user in charge of the analysis, this module
to the optimiser.
"rstly prompts the construction of the ad hoc or-
E The optimisation module searches for good
thogonal arrays, taken from those proposed by
solutions to the scheduling problem.
Taguchi. It then secondly automatically performs
all the experiments de"ned in the orthogonal array. As there are N variables, each one being in the
Each trial or experiment contained in the ortho- range of values between 1 and BM , the size of the
gonal arrays corresponds in our case to a scenario search space S of this problem is approximately
G. Cavory et al. / Int. J. Production Economics 74 (2001) 135}146 141

equal to
S"(BM ),,
U LG Fig. 5. Representing a chromosome.
BM "1/N b%( j ),
G I
G I
where BM is the running duration mean of all the the array re#ects the total number of maintenance
tasks,and N the number total of tasks. tasks `Na. Each gene of the chromosome is an
For a line with 10 machines, the possibilities are integer corresponding to a possible value for the
of the order of a few thousand BM and a few hundred parameter f%(t ) of the task t
for N. This exponential complexity is adapted to G I G I
the genetic approach used in the optimiser module
of our performance improvement environment. 5.1.2. Fitness function
As was described previously, in our application,
the evaluation function of solutions is implemented
5. Validation by the simulator.
The next section describes the validation of
The validation of this approach was performed our general approach to solving the scheduling
on an actual car engine production line. This line is problem.
made up of six machines with as many as 61 tool
changes (N"61). The de"nition domain of the
parameter b% called &&initial running duration'' va- 5.2. Study of GA parameters
ries from 300 to 10,000 depending on the tool
(mean BM "4200). The choice of parameters in a genetic algorithm is
The principle of this validation consists in a major di$culty when it comes to their utilisation
measuring for each trial, the number of pieces pro- [12]. Subjectively, we chose to leave certain para-
duced at the end of the line during a given produc- meters unchanged throughout all the experiments
tion time. This validation corresponds in our and let other parameters vary. The unchanged gen-
application to about a week of production. This etic operators are set in the following way:
line produces, in its pre-existing state, prior to an-
Number of individuals by population: 100
ticipation in the change of tools, 15,923 pieces. So,
One-point crossover probability: 0.8
we measured the production gain of our approach
Number of runs: 32
against this particular value.
Stopping condition: Convergence of the population
This validation was performed in four steps. The
"rst step is the adaptation of the general principle
It must be noted that the results given hereafter
of genetic algorithm to our application. The second
are the mean of 32 runs for a given set of genetic
step consists in exploring the e!ect of parameters
operators. That confers a certain robustness to the
on the results of the genetic algorithm (GA). The
results obtained through these genetic algorithms,
third step of the validation consists in comparing
the comportment of which is stochastic.
the results of the genetic algorithm with a naive
optimisation approach. In the last step, the whole
set of validation experiments is synthesised. 5.2.1. Design of experiments
We study the e!ects of three parameters con-
sidered as important for the performance of the
5.1. Adaptation to the problem GA: selection, initialisation and mutation. For this
purpose, we used the same approach of designed
5.1.1. Coding the chromosome experiments as the one adopted in the analyser
In our application each individual represented in module of our performance improvement environ-
Fig. 5, is described as an array. The dimension of ment. The Taguchi method was used essentially to
142 G. Cavory et al. / Int. J. Production Economics 74 (2001) 135}146

construct the matrix experiments. More precisely, The results of these experiments are reported
this study considered the following parameters with in Table 2. The "nal column, called m, re-
their associated levels: presents the mean of the number of pieces produced
Selection: Two selection methods were tested. by the 32 runs conducted with the same set of
The "rst one is the tournament, which consists in parameters.
randomly drawing two individuals in the popula- The means of the experiments for each possible
tion and choosing the individual best suited to level are shown in Table 3. This table enables
generating o!spring. The second is the classical the determination of the best level for each
roulette wheel method in which each parent's parameter. For instance, the mean of experiments
chance of being selected is directly proportional to GA2, GA4, GA5 and GA7 in which the parameter
its "tness. `Selectiona is set to level two is 17,001. This
Initialisation: Two methods for creating an initial value is better than the mean of the experiments
population were tested. The "rst one initialises in which the parameter `Selectiona is set to level
a population with randomly chosen individuals. one.
The second initialisation method introduces into According to Table 3, the best combination of
a randomly chosen population, ten per cent of levels for the three parameters is:
individuals obtained by locally optimising each Mutation (2): high random;
machine independently of the others. This local Initialisation (2): local optimisation;
optimisation is rapid because the search space is Selection (2): roulette wheel.
restricted to the tools of one machine. It was necessary to carry out this con"r-
Mutation: Four types of mutation were tested. mation experiment, which had not been done
Numbers 1 and 2 consist of a random mutation in the previous matrix of experiments. This experi-
with respectively low and high mutation rates. ment, called GAm, produced the results given in
Numbers 3 and 4 replace the classical mutation Table 4.
operator by a local search. In our case this local This con"rms the conclusions of the matrix of
search is a random search on one of the dimensions experiments as it produces a mean value of pieces
of the scheduling vector. produced that is better than all the previous results.
Those di!erent levels are referred to by the num- Nevertheless, these conclusions were obtained from
bers given in Table 1. a fractional design of experiments and ignored the
We used the matrix of experiments presented in e!ects of possible interactions between parameters.
Table 2 to study the e!ects of the above-mentioned Consequently, it is not possible to claim that GAm
parameters on the through-put. This orthogonal represents the best level combination of the three
array was derived from a standard Taguchi array. parameters studied.
It is a fractional array that limits the number of
experiments to only 50% of the possibilities. It is 5.2.2. Statistical tests
important in our context where the evaluation of a It is necessary to con"rm the previous analysis
solution by simulation is costly in computation time. by the study of the statistical signi"cance of the

Table 1
Reference numbers of the di!erent levels

Mutation Initialisation Selection

1 Low random (probability 0.001) 1 Random 1 Tournament


2 High random (probability 0.1) 2 Local optimisation 2 Roulette wheel
3 Low local search (probability 0.001)
4 High local search (probability 0.1)
G. Cavory et al. / Int. J. Production Economics 74 (2001) 135}146 143

Table 2 Table 4
Orthogonal array of the GA parameters Con"rmation experiment

Trial Mutation Initialisation Selection m Mutation Initialisation Selection m

GA1 1 1 1 16,706 Gam 2 2 2 17,088


GA2 2 1 2 17,003
GA3 3 1 1 16,719
GA4 4 1 2 16,993
GA5 1 2 2 17,007
GA6 2 2 1 17,076
based on the statistics reported in Table 6, which
GA7 3 2 2 17,003 corresponds to a standardised normal deviate. For
GA8 4 2 1 17,079 a unilateral statistical test, the table shows the
following.
E Experiments GA6, GA8 and GAm are signi"-
Table 3 cantly better than the other experiments at the
Means of experiments for each level 0.5% con"dence level. The critical value of this
Levels Mutation Initialisation Selection
statistic being z equals 2.58 at this degree of
con"dence.
1 16,856 16,855 16,895 E The di!erences between the three experiments
2 17,040 17,041 17,001 considered, GA6, GA8 and GAm are not signi"-
3 16,861 * * cant at this level of con"dence and we cannot
4 17,036 * *
reject the null hypothesis.
A "rst partial conclusion con"rms that the re-
observed deviations between the means of the dif- sults of the GA are better with a non-random
ferent experiments. The standard deviations was initialisation. Concerning the levels of mutation
calculated and reported in Table 5. tested, it is clear that the best results are obtained
In order to limit the number of couples of com- with a high level of mutation, either with the pure
parisons, this deviation analysis was focused on the random mutation, or with the use of a local search.
three experiments GA6, GA8, GAm producing the However, at this step of validation analysis, it is not
best values for the maximum number of pieces. possible to decide which selection method is the
A signi"cance test of the null hypothesis was used, best.

Table 5
Standard deviation of the 32 runs of each experiment

Trial GA1 GA2 GA3 GA4 GA5 GA6 GA7 GA8 GAm

 9.82 46.49 22.33 53.09 41.23 27.07 29.02 30.76 30.66

Table 6
Statistics for comparing the maximums of GA experiments

GA1 GA2 GA3 GA4 GA5 GA6 GA7 GA8 GAm

GA6 70.54 7.51 55.79 7.65 7.76 * 10.16 0.32 1.53


GA8 63.31 7.48 51.85 7.65 7.69 0.32 9.84 * 1.15
Gam 63.21 8.32 52.19 8.41 8.59 1.53 10.88 1.15 *
144 G. Cavory et al. / Int. J. Production Economics 74 (2001) 135}146

Fig. 6. Performance against the number of solutions explored.

5.2.3. Performance versus computation cost Table 7


Our goal is to "nd a good solution with a reason- Statistics for comparing the computation time
able computation time cost.
GA8 GAm
As a matter of fact, the time necessary to evaluate
a solution by simulation is not negligible and gen- GA 6 1.71 12.24
erates an important convergence time of the genetic GA 8 * 9.93
algorithm. For instance, the mean convergence
time of the GA is about one hour and a half on
a Pentium II 350 under Linux. So, for each experi- 5.3. Comparing GA with a naive approach
ment, the mean number of explored solutions was
measured. This number can be considered an indi- In order to validate the genetic approach, we
cator of computation time. Fig. 6 brings out the compared it with a random search. Fig. 7 presents
following points: the convergence curve of experiments GA6, GA8
and GAm compared with the random search
E GA6 and GA8 are better than GAm because the
This random search was performed a number of
number of solutions explored is divided by two.
times equal to the number of solutions explored by
E The di!erence between the numbers of solutions
the genetic algorithm. These three experiments are
explored in GA6 and GA8 is small.
better than the random search. But it is worth
Table 7 reports the statistics corresponding to noticing that two experiments of the genetic algo-
a standardised normal deviate concerning the com- rithm, namely GA1 and GA3, produced results
parisons of the number of explored solutions. inferior to the random search
This table con"rms that the computation cost of Table 8 contains the mean and the standard
GA6 is not signi"cantly lower than that of GA8 deviation of the 32 runs in the Random search for
with a level of con"dence of 99.5%. This table also the maximum number of pieces produced. Table 9,
con"rms the lower quality of GAm comparatively deduced from Table 8, presents the statistics related
to GA6 and GA8. to the comparison of the maximum between ran-
The best compromise between performance and dom search and the experiments GA6, GA8 and
computation cost is obtained with experiments GAm. This table con"rms the better results ob-
GA6 and GA8. The conclusion of the previous tained by the GA with a con"dence level of 99.5%.
paragraph can now be re"ned with the choice of the
tournament selection method common to the ex- 5.4. Validation: Synthesis
periments GA6 and GA8, which are less costly in
computation time. However, the interest of the lo- When it comes to assessing our approach to the
cal search mutation was not proved. scheduling of the changes of tools by a genetic
G. Cavory et al. / Int. J. Production Economics 74 (2001) 135}146 145

Fig. 7. Comparison of the random search and GA.

Table 8 by a naive optimisation such as a random


Mean and standard deviation of the 32 runs for random search search.
E The parameter setting of the genetic algorithm
m 
determines its performance. A statistical study
Random search 16,925 26.88 proves the interest of utilising a non-random
initialisation. On the other hand, this statistical
analysis con"rms the superiority of high
Table 9
mutation rates. In the end, the tournament
Statistics for comparing the maximums of random search selection method proved to be better than
against those of GA the roulette wheel in respect to the speed of
convergence.
GA6 GA8 GAm

Random search 21.43 20.27 21.18


6. Conclusion

The method proposed o!ers a theoretical inter-


approach, we can now say: est, veri"ed by simulation. The gain obtained is
considerable, given the price of the pieces produced.
E The GA enables production gains that are about Indeed, the industrialists of the sector concerned
7.5% better than the approach without anticip- admit that a solution might be implemented if the
ated changes of tools. resulting gain exceeded 1%.
E This approach is validated because it signi"- A feasibility study is currently under way with
cantly improves the production gains o!ered our industrial partner to assess the practicality of
146 G. Cavory et al. / Int. J. Production Economics 74 (2001) 135}146

this approach on an actual production line. The References


problems are the material constraints derived from
the anticipated changes of tools. The consequences [1] E.J. Anderson, C.A. Glass, C.N. Potts, Discrete mathemat-
ics and optimisation, in: E. Aarts, J.K. Lenstra (Eds.), Local
of breakdowns on improvement is also under Search in Combinatorial Optimisation, Wiley, New York,
evaluation. 1996, pp. 361}414 (Chapter 11).
The pursuit of this study will be oriented towards [2] Gotha, Les problèmes d'ordonnancement, RAIRO-
the following points: Recherche OpeH rationnelle 27 (1) (1993) 77}150.
Firstly, assessing the cost of each solution in [3] C. Hanen, A. Munier, Cyclic scheduling on parallel proces-
sors: An overview, in: P. Chretienne, E.G. Co!man, J.K.
order to choose the most pro"table one. The pro- Lenstra, Z. Liu (Eds.), Scheduling Theory and its Applica-
duction gains must be compared with the extra cost tions, Wiley, New York, 1994 (Chapter 7).
entailed by the premature change of tools. A multi- [4] C##SIM User Guide, Department of Computing
criteria analysis may be useful to connect the Science, Newcastle upon Tyne, Arjuna Project, 1994.
several optimisation objectives: throughput maxi- [5] R. Dupas, G. Cavory, G. Goncalves, U.M.L. design model
of a simulator for discrete event production system,
misation, cost minimisation. LabOGP, Technical Report no. 99-2, FaculteH des Sciences
Secondly, there is the question of assigning the AppliqueH es, UniversiteH d'Artois, France, 1999.
operators to the machines. One must study the [6] G. Booch, J. Rumbaugh, I. Jacobson, The Uni"ed Modelling
general case of multiple operators assigned to a set Language User Guide, Addison-Wesley, Reading, MA, 1998.
of machines. Both their location in relation to the [7] D.E. Goldberg, Genetic Algorithms in Search, Optimisa-
tion and Machine Learning, Addison-Wesley, Reading,
machines and their level of training must be taken MA, 1989.
into account. The use of constraints system pro- [8] Z. Michalewicz, Genetic Algorithms#Data Structures"
gramming could be helpful. Evolution Programs, Springer, Berlin, 1992.
At last, it must be noticed that the approach [9] EvoStim, The EvoNet Working Group on Evolutionary
presented in the case of a single product manufac- Scheduling and Timetabling: The state of the art in evolu-
tionary approaches to timetabling and scheduling, URL
turing production line can easily be extended to http://www.dcs.napier.ac.uk/evonet/Coordinator/wg }
a multiple products line. f.html, 1998.
[10] A. Corcoran, Freeware LIBGA, URL http://
enter.mcs.utulsa.edu/&corcoran/libga.html, 1993.
Acknowledgements [11] J. Alexis, Pratique industrielle de la meH thode Taguchi, les
plans d'expeH rience (AFNOR), 1995.
[12] M. Sebag, M. Schoenauer, Contro( le dun algorithme geH n-
Many thanks to my father, A. Dupas, for helpful eH tique, Revue Intelligence Arti"cielle 10 (2}3) (1996)
comments and translation. 389}428.

You might also like