Professional Documents
Culture Documents
Cavor y 2001
Cavor y 2001
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
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
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
GI
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.
GI
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
GI 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.
GI With the tasks precisely characterised and ana-
parameter a%(v, t ) with occurrence number v.
GI 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
GI
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,
GI
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 )
IG GI GI GI GI
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 GI 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
GI GI
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 ).
GI
S%: ¹P-,
t C S%(t )"f%(t, k)
GI GI 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
GI GI
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
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 ),
GI
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 GI GI
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
Table 2 Table 4
Orthogonal array of the GA parameters Con"rmation experiment
Table 5
Standard deviation of the 32 runs of each experiment
Trial GA1 GA2 GA3 GA4 GA5 GA6 GA7 GA8 GAm
Table 6
Statistics for comparing the maximums of GA experiments