A case study of production scheduling in (1)
35
Costs and Production Economics, 17 ( 1989) 35-42
Elsevier Science Publishers B.V., Amsterdam - Printed in The Netherlands
Engineering
A CASE STUDY OF PRODUCTION
SCHEDULING
CHEMICAL INDUSTRY*
IN A
M. Roba and J. Teghem, Jr.
Facult6 Polytechnique
de Mons, 9 rue de Houdain,
7000 Mons (Belgium)
ABSTRACT
The problem concerns the production of
“woodstock”p1ate.s in a workshop ofa chemical
industry; several, but not identical, machines
may be used to process a set of jobs. A job is
characterized by various parameters so that the
efficiencies of the machines are different for a
specific job. Change-over times exist to adopt a
machine between two successive jobs. The main
objective is to assign and schedule the jobs to
minimize the makespan, but some due dates
must eventually be taken into account.
A mathematical formulation of the problem,
using a dynamic programming appraoch, is first
zyxwvutsrqpo
described; then a heuristic method is proposed
and the results of a first implementation are
presented and compared.
1. INTRODUCTION
sults of a first implementation are presented
and discussed in the last section.
The problem concerns the production of
“woodstock” plates in a workshop of a chemical industry**; several, not identical, machines
may be used to process a set of jobs. A job is
characterized by various parameters so that the
efficiencies of the machines are different for a
specific job. Change-over times exist to adapt
a machine between two successive jobs. The
main objective is to assign and schedule the
jobs to minimize the makespan; but some due
dates must eventually be taken into account.
The problem is first described with more details in the second section. Then a mathematical formulation, using a dynamic programming approach, is given in Section 3. In Section
4, a heuristic method is proposed and the re*Presented at the 5th International Working Seminar on Production Economics, I& Austria, February 22-26, 1988.
**We thank Dr. R. Dubois, from the firm Solvay, for drawing
our attention to this problem.
0167-188X/89/$03.50
2. THE PROBLEM
The workshop is equipped to produce
“woodstock” plates (“woodstock” is a plastic
mixture, used for instance in car industry to
produce several internal car equipment). A
basic mixture is continuously produced with a
constant flow, but several elements may be
added to modify the composition of the mixture and to obtain different qualities of products. A job is an order of “woodstock” plates,
characterized by several parameters:
- the quality of the product (composition of
the mixture, color, nature of the surface of
the plates, . . . ) ,
- the dimensions
of the plates (thickness,
breadth, length),
- the number of plates, and
- possibly the due date of the order.
0 1989 Elsevier Science Publishers B.V.
36
To be processed, a job must be assigned to a
pair of “machine-drawning
plate” (a “drawning plate” is a matrix for giving a right-angled
form to the products).
Several machines and
drawning plates are available in the workshops; each machine has its own fixed productivity and several - but not necessarily all drawning plates may be adapted to a certain
machine. An other characteristic
of a machine
is the set of qualities of product which can be
obtained
using it. A drawning plate corresponds to some feasible breadths
(between
minimal and maximal value) of plates. The
possible thicknesses are given by the pair “machine-drawning
plate”. Finally, the lengths of
the woodstock plates are defined by the adjustment of a flick knife. A particular job can only
be produced by the appropriate
pair of “machine-drawning
plate”. When this pair is fixed
for a job, the processing time of this job, on
this machine using this drawning plate, can be
calculated taking into account all the parameters of these three elements.
It is clear that change-over times appear between the production of two successive jobs on
the same machine; these change-over
times
represent an important percentage of production time, and are quite different depending on
the types of the two jobs and of the drawning
plates used.
These change-over times additively depend
on three main elements:
- the possible change of drawning plate,
- the variation of the dimension
(thickness,
breadth) and the adjustment of the knife for
the length, and
- the change of quality
between
the two
products.
The first objective proposed by the manager
is to minimize the makespan: given a set of
jobs, it is thus necessary simultaneously
to deline the assignment of the jobs to the pairs of
“machine-drawning
plate” and the scheduling
of these jobs to minimize the total processing
time or makespan; it can be said that this objective is equivalent to maximising the weight
of the production,
since the basic mixture is
produced with a constant flow.
In a second step the manager wants to take
into account the possible due date of the jobs
and, as far as possible, to satisfy them or, at
least, to reduce the tardiness of some jobs.
Finally, the method must be fast enough to
be used, each morning in the work-shop, to
propose a daily production schedule.
3. THE MATHEMATICAL
FORMULATION
USING DYNAMIC PROGRAMMING
In the literature - see for instance [ 1,2] several approaches
(branch and bound, dynamic programming, integer programming, . . . )
are suggested for such sequencing and scheduling problem. The dynamic programming
approach seems well adapted to our particular
case study and has been chosen to formulate
the problem, as described in this section.
3.1 Minimization
of the makespan
As a first step, we do not take into account
the possible existence of due dates.
We consider a set of I jobs to be processed
on M different machines and P drawning plates
are available; for job i we denote by Ki the set
of feasible pairs “machine m-drawning plate
p”. Let us suppose that the job i has been processed on the pair {m,p}~K, and that on this
machine m, the zyxwvutsrqponmlkjihgfedcbaZYXWVUT
job j will after be processed using the drawning plate q, with {m,q}eI$
We
denote by tm;lJ;P.Ythe total time including the
change-overtime
(replacement
of drawning
plate, p by q, and adaptation of the pair {m,q)
to the process of job j) and the processing time
ofjobj; in the particular case corresponding
to
the initial process of job j with the pair {m,q},
this time is denoted by tm;O,j;O,qe
Let J be any set of n jobs ( 1 < y1d 1). The dynamic programming
approach will consider all
the sets J corresponding
successively to y1= 1,
n = 2,..., n = I: recursive equations will give
the optimal schedule, minimizing
the make-
37
span, of the n jobs ( IZ> 1) of one set J in function of the optimal schedules of the subsets of
J containing (n - 1) jobs.
At each step, the system will be determined
by several state variables:
-asetJofnjobs
- the index jn? (J) of the last job processed on
the machine m (m = l,...,M); this index will
be 0 if no job of J has already be processed
on machine m
- the index p,(J)
of the last drawning plate
used on the machine (m = l,...,M); this index will be 0 if the machine yn has not yet
been used or if this drawning plate has already been transferred to another machine to
produce another job iE J, after the process of
b&L(J)
- &,,,,(J) the optimal value of the makespan
- &n(J), m = 1,...,M , the ready date of ma-
if m=k,
ifm#&
if zyxwvutsrqponmlkjihgfedcbaZ
m=rFi,
ifm#fi,
Recursive
equations
Let Jbe a set of y1jobs (n>l).
the recursive equation
?,,,(J)=y-fi
max
{
We obtain
&,(J-{i});
[
where
d,,~(J-ji))=max[t,(J-jij);
chine m, i.e. the first date at which the machine m is available for the process of a job
t,(J-{ii)1
+tm./,,,(J-irJL,.
(2)
P,,,(J-_(~))a
is the completion
time of job i if machine m
i$J
and drawning plate p are used. The updating
-l,(J), zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA
P = 1,...,P, the ready date of the
drawning plate p, i.e. the first date at which
the drawning plate p is available for the process of a job i$J
Furthermore,
given a set J, we denote by
Kzi,(J) and fi, (J), respectively, the machine and
the drawning plate used to process the job ie J
in the optimal schedule of the set J. Note: In
the sequel of the paper, we drop the index J for
this particular notation.
Initialisation:
n = 1
of the state variables
relations:
t,(J)=
t,(J) =
L,(J)=
P,(J)=
4ii.d J- (17)
1 L(J-{Q)
4iwiA J- 1171
1 &(J-- {il)
r
1 _L(J-{il)
by the
ifm=m,
otherwise
ifp=d,
otherwise
ifm=&
otherwise
if m=& zyxwvutsrqponmlkji
( zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQ
di
0
ifm#Ai
andp,(/-{Q)=ji
~m(J- {il)
We clearly have, for J= {i>,
is easily obtained
otherwise
where 1”is the index giving the minimum in relation ( 1).
-t - mzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA
L,(iil)
= mintm;O,r,O,p,;O,,iO,p,
{m.PttK,
These equations must be considered for all
if m=Cz,
L(ii))
the subsets Jof n jobs, and successively for n = 2
bn(Iil)=
0
ifm#rii,
till n=Z. To illustrate this method, several examples of this dynamic
programming
apifp=J,
t,(iii)=
~m,,x({il)
proach
can
be
found
in
the
literature;
see
for
0
ifp#D,
instance [ 1, Chap. 3.31 or [2, Chap. 61.
C
1
38
3.2 Treatment
of the due dates
If for some job i, a due date d, - i.e. the
promised delivery date of this job - must be
taken into account, then at each step the following inequalities (* ) must be satisfied (note
that other formulations
are possible):
To verify these constraints, some tests may be
introduced
to eliminate the infeasible schedules; another way is to penalize the tardy jobs
by adding the term GT, in the function to minimize ?,,, (J) in relation ( 1 ), where T,= max
(0, t,%,,-d,) is the tardiness of job i, and G is
an arbitrary large positive number.
4. A HEURISTIC
METHOD
It is not a surprise that this dynamic programming approach is not applicable for a large
set of jobs, because the computer time is exponentially
increasing
with the value of I.
Moreover,
when a due date cannot be satisfied, no solution is found by the technique proposed in Section 3.2.
This is the reason why we have developed a
heuristic method - obtained by some “truncation” of the approach described in Section 3
- which has three main advantages:
- the computer time is acceptable;
- both objectives - i.e. to minimize the makespan and to respect, as far as possible, the due
dates - are taken into account; and
- in any case, a solution is proposed.
First all the jobs are listed in the EDD (earliest due date) order* (see [ 1,2 ] ) . At the first
iteration, the method of Section 3 is applied
for the ~1~first jobs in the EDD list; when this
partial optimal schedule is obtained, only the
~1~(with 1 d rz2d IZ,) first jobs of this schedule
are definitively kept for the final schedule. For
the second iteration, the list of ~2~jobs is up*These due dates are often very short in this problem. More
sophisticated rules have been analysed but without improvement of the results.
dated, adding the n2 following jobs in the EDD
list; and so on.
Thus at each iteration, the method of Section 3 is applied for a subset of n, jobs, but only
the n2 first jobs of the corresponding
schedule
are kept. Then the n2 first remaining jobs in
the EDD list are added to the n, - n2 remaining jobs of the preceeding iteration so that a
new iteration is performed. The heuristic stops
when the EDD list becomes empty.
Two parameters n, and n2 must thus be defined. As explained in Section 5, some experiments have been performed to choose the best
values of these parameters.
Let us finally note that a penalty can possibly be introduced
in the modelization
if the
manager of the workshop wants to improve the
satisfaction of the due dates. For instance, this
penalization
term can be the total tardiness
C T,.It can be added - with a weighting fac/EJ
tor given by the decision-maker
- in the objective function Fmmax
(J) at each iteration.
5. RESULTS
As already explained in Section 2, the manager of the workshop requires a fast method,
i.e. a way to obtain a good solution for sets of
TABLE 1
CPU time of the exact method
I
CPU time
(m:s:cs)
4
5
6
7
8
9
10
11
12
13
14
15
16
0:03: 14
0:03:01
0:03:12
0:03:46
0:03:66
0:05:01
0:06:60
0:09:00
0:13:18
0:34: 15
1:08:98
3:10:21
7:21:10
39
/
,+
I)
+’
A+’
N
II-
200
t
150
+
ll
nj=3
100
nj=4
t
50
ti
11=
P
t
0
12123
12341234512345
Fig. 2. Consequence of the variation of parameter n,
123451234512345
41
TABLE
2
CPU time of the heuristic
Test
number
n,
method
nz
makespan
(in half hour)
1
2
3
4
5
6
7
8
9
1
2
3
4
5
6
7
8
9
1
I
875
852
848
825
832
805
810
797
792
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
2
2
2
2
2
2
2
2
875
852
848
827
823
806
796
780
18
19
20
21
22
23
24
3
4
5
6
7
8
9
3
3
3
3
3
3
3
844
837
832
796
811
818
802
25
26
27
28
29
30
31
32
4
5
6
I
8
9
10
124
4
4
4
4
4
4
4
840
793
808
810
806
775
778
1
1
I
1
I
1
1
3
using a unique large sample of orders furnished by the firm. This sample contains 151
jobs to be processed on 4 machines, using 7
Total
CPU time
drawning-plates; only rough approximations
of
tardiness
(m:s:cs)
the change-over times are available. The main
objective of these tests is to analyse the behav130
0:03:25
26
0:03:59
iour of the two criteria (makespan and total
10
0:04:55
tardiness) and of the CUP time, for combina0
0:06:79
11
0:14:32
tions of the values of parameters IZ~and ~1~.
0
0:33:86
The results of 31 tests on this sample are
0
1:41:54
given
in Table 2. The first test simply sched0
5127166
0
20:29:21
ules the jobs in the EDD order. Obviously, for
a fixed value of ~1,(nz), the CPU time is de168
0:03:22
creasing
(increasing)
with n2(yl, ). For this
78
0:03:69
particular case, the values n, = 9 and n2 = 4 give
0:05: I2
52
9 zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA
0:08:88
the best solution in a reasonable computing
0:19:51
time.
0:50:94
0
Figures 1 and 2 analyse separately the con2159137
0
I1:40:30
0
sequence of the variation of parameters n2 and
n,, respectively.
20
0:03:38
Figure 1 (fixed value of nz proves that the
2
0:04:27
0
0:06:76
improve of the objectives is important
when
0
0:13:25
parameter
n,
increases,
especially
when
the
0
0:36:16
value of y12is small. The analysis of Fig. 2 (fixed
0
2:15:49
0
7:56:15
value of ~1~) is not so clear: it seems that an
improvement
of the makespan is obtained for
0:03:96
n2 equal to 4 (or 3 for n, small) . . . which is the
0
0:05:70
0: 11:66
number of the machine in the work-shop. Fur0:29:03
ther real experiments
are of course necessary
1:30:98
to
obtain
more
delinitive
conclusions.
5:29:18
22:36:20
>4h
CONCLUSIONS
about a hundred jobs, in no more than approximately five minutes.
An implementation
of the dynamic programming approach
has been made on the
VAX-785 at the Polytechnic Institute of Mons
[ 3 1. Table 1 immediately
confirms that the exact method of Section 3 cannot be used for a
large set of jobs.
First experiments have been carried out with
the heuristic method described in Section 4,
This heuristic method seems efficient enough
to satisfy the need of the manager. Moreover
the method gives an efficient way to analyse
the sensibility of the solution in function of
different data,
For this particular
sample, it has been
pointed out that the variation of the thickness
of the ordered “woodstock” plates is an important factor for the value of the makespan and
that this objective will be substantially
improved if one or two more drawning plates are
available.
42
2
REFERENCES
1 Baker, K.H., 1974. Introduction
Scheduling. J. Wiley.
to Sequencing
and
French, S., 1982. Sequencing and Scheduling. Ellis Horwood Ltd.
3 Roba, M., 1986. Ordonnancement de production sur plusieurs machines: Application g l’industrie chimique.
Travail de fin d’ttudes, Facultt Polytechnique de Mons.
Costs and Production Economics, 17 ( 1989) 35-42
Elsevier Science Publishers B.V., Amsterdam - Printed in The Netherlands
Engineering
A CASE STUDY OF PRODUCTION
SCHEDULING
CHEMICAL INDUSTRY*
IN A
M. Roba and J. Teghem, Jr.
Facult6 Polytechnique
de Mons, 9 rue de Houdain,
7000 Mons (Belgium)
ABSTRACT
The problem concerns the production of
“woodstock”p1ate.s in a workshop ofa chemical
industry; several, but not identical, machines
may be used to process a set of jobs. A job is
characterized by various parameters so that the
efficiencies of the machines are different for a
specific job. Change-over times exist to adopt a
machine between two successive jobs. The main
objective is to assign and schedule the jobs to
minimize the makespan, but some due dates
must eventually be taken into account.
A mathematical formulation of the problem,
using a dynamic programming appraoch, is first
zyxwvutsrqpo
described; then a heuristic method is proposed
and the results of a first implementation are
presented and compared.
1. INTRODUCTION
sults of a first implementation are presented
and discussed in the last section.
The problem concerns the production of
“woodstock” plates in a workshop of a chemical industry**; several, not identical, machines
may be used to process a set of jobs. A job is
characterized by various parameters so that the
efficiencies of the machines are different for a
specific job. Change-over times exist to adapt
a machine between two successive jobs. The
main objective is to assign and schedule the
jobs to minimize the makespan; but some due
dates must eventually be taken into account.
The problem is first described with more details in the second section. Then a mathematical formulation, using a dynamic programming approach, is given in Section 3. In Section
4, a heuristic method is proposed and the re*Presented at the 5th International Working Seminar on Production Economics, I& Austria, February 22-26, 1988.
**We thank Dr. R. Dubois, from the firm Solvay, for drawing
our attention to this problem.
0167-188X/89/$03.50
2. THE PROBLEM
The workshop is equipped to produce
“woodstock” plates (“woodstock” is a plastic
mixture, used for instance in car industry to
produce several internal car equipment). A
basic mixture is continuously produced with a
constant flow, but several elements may be
added to modify the composition of the mixture and to obtain different qualities of products. A job is an order of “woodstock” plates,
characterized by several parameters:
- the quality of the product (composition of
the mixture, color, nature of the surface of
the plates, . . . ) ,
- the dimensions
of the plates (thickness,
breadth, length),
- the number of plates, and
- possibly the due date of the order.
0 1989 Elsevier Science Publishers B.V.
36
To be processed, a job must be assigned to a
pair of “machine-drawning
plate” (a “drawning plate” is a matrix for giving a right-angled
form to the products).
Several machines and
drawning plates are available in the workshops; each machine has its own fixed productivity and several - but not necessarily all drawning plates may be adapted to a certain
machine. An other characteristic
of a machine
is the set of qualities of product which can be
obtained
using it. A drawning plate corresponds to some feasible breadths
(between
minimal and maximal value) of plates. The
possible thicknesses are given by the pair “machine-drawning
plate”. Finally, the lengths of
the woodstock plates are defined by the adjustment of a flick knife. A particular job can only
be produced by the appropriate
pair of “machine-drawning
plate”. When this pair is fixed
for a job, the processing time of this job, on
this machine using this drawning plate, can be
calculated taking into account all the parameters of these three elements.
It is clear that change-over times appear between the production of two successive jobs on
the same machine; these change-over
times
represent an important percentage of production time, and are quite different depending on
the types of the two jobs and of the drawning
plates used.
These change-over times additively depend
on three main elements:
- the possible change of drawning plate,
- the variation of the dimension
(thickness,
breadth) and the adjustment of the knife for
the length, and
- the change of quality
between
the two
products.
The first objective proposed by the manager
is to minimize the makespan: given a set of
jobs, it is thus necessary simultaneously
to deline the assignment of the jobs to the pairs of
“machine-drawning
plate” and the scheduling
of these jobs to minimize the total processing
time or makespan; it can be said that this objective is equivalent to maximising the weight
of the production,
since the basic mixture is
produced with a constant flow.
In a second step the manager wants to take
into account the possible due date of the jobs
and, as far as possible, to satisfy them or, at
least, to reduce the tardiness of some jobs.
Finally, the method must be fast enough to
be used, each morning in the work-shop, to
propose a daily production schedule.
3. THE MATHEMATICAL
FORMULATION
USING DYNAMIC PROGRAMMING
In the literature - see for instance [ 1,2] several approaches
(branch and bound, dynamic programming, integer programming, . . . )
are suggested for such sequencing and scheduling problem. The dynamic programming
approach seems well adapted to our particular
case study and has been chosen to formulate
the problem, as described in this section.
3.1 Minimization
of the makespan
As a first step, we do not take into account
the possible existence of due dates.
We consider a set of I jobs to be processed
on M different machines and P drawning plates
are available; for job i we denote by Ki the set
of feasible pairs “machine m-drawning plate
p”. Let us suppose that the job i has been processed on the pair {m,p}~K, and that on this
machine m, the zyxwvutsrqponmlkjihgfedcbaZYXWVUT
job j will after be processed using the drawning plate q, with {m,q}eI$
We
denote by tm;lJ;P.Ythe total time including the
change-overtime
(replacement
of drawning
plate, p by q, and adaptation of the pair {m,q)
to the process of job j) and the processing time
ofjobj; in the particular case corresponding
to
the initial process of job j with the pair {m,q},
this time is denoted by tm;O,j;O,qe
Let J be any set of n jobs ( 1 < y1d 1). The dynamic programming
approach will consider all
the sets J corresponding
successively to y1= 1,
n = 2,..., n = I: recursive equations will give
the optimal schedule, minimizing
the make-
37
span, of the n jobs ( IZ> 1) of one set J in function of the optimal schedules of the subsets of
J containing (n - 1) jobs.
At each step, the system will be determined
by several state variables:
-asetJofnjobs
- the index jn? (J) of the last job processed on
the machine m (m = l,...,M); this index will
be 0 if no job of J has already be processed
on machine m
- the index p,(J)
of the last drawning plate
used on the machine (m = l,...,M); this index will be 0 if the machine yn has not yet
been used or if this drawning plate has already been transferred to another machine to
produce another job iE J, after the process of
b&L(J)
- &,,,,(J) the optimal value of the makespan
- &n(J), m = 1,...,M , the ready date of ma-
if m=k,
ifm#&
if zyxwvutsrqponmlkjihgfedcbaZ
m=rFi,
ifm#fi,
Recursive
equations
Let Jbe a set of y1jobs (n>l).
the recursive equation
?,,,(J)=y-fi
max
{
We obtain
&,(J-{i});
[
where
d,,~(J-ji))=max[t,(J-jij);
chine m, i.e. the first date at which the machine m is available for the process of a job
t,(J-{ii)1
+tm./,,,(J-irJL,.
(2)
P,,,(J-_(~))a
is the completion
time of job i if machine m
i$J
and drawning plate p are used. The updating
-l,(J), zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA
P = 1,...,P, the ready date of the
drawning plate p, i.e. the first date at which
the drawning plate p is available for the process of a job i$J
Furthermore,
given a set J, we denote by
Kzi,(J) and fi, (J), respectively, the machine and
the drawning plate used to process the job ie J
in the optimal schedule of the set J. Note: In
the sequel of the paper, we drop the index J for
this particular notation.
Initialisation:
n = 1
of the state variables
relations:
t,(J)=
t,(J) =
L,(J)=
P,(J)=
4ii.d J- (17)
1 L(J-{Q)
4iwiA J- 1171
1 &(J-- {il)
r
1 _L(J-{il)
by the
ifm=m,
otherwise
ifp=d,
otherwise
ifm=&
otherwise
if m=& zyxwvutsrqponmlkji
( zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQ
di
0
ifm#Ai
andp,(/-{Q)=ji
~m(J- {il)
We clearly have, for J= {i>,
is easily obtained
otherwise
where 1”is the index giving the minimum in relation ( 1).
-t - mzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA
L,(iil)
= mintm;O,r,O,p,;O,,iO,p,
{m.PttK,
These equations must be considered for all
if m=Cz,
L(ii))
the subsets Jof n jobs, and successively for n = 2
bn(Iil)=
0
ifm#rii,
till n=Z. To illustrate this method, several examples of this dynamic
programming
apifp=J,
t,(iii)=
~m,,x({il)
proach
can
be
found
in
the
literature;
see
for
0
ifp#D,
instance [ 1, Chap. 3.31 or [2, Chap. 61.
C
1
38
3.2 Treatment
of the due dates
If for some job i, a due date d, - i.e. the
promised delivery date of this job - must be
taken into account, then at each step the following inequalities (* ) must be satisfied (note
that other formulations
are possible):
To verify these constraints, some tests may be
introduced
to eliminate the infeasible schedules; another way is to penalize the tardy jobs
by adding the term GT, in the function to minimize ?,,, (J) in relation ( 1 ), where T,= max
(0, t,%,,-d,) is the tardiness of job i, and G is
an arbitrary large positive number.
4. A HEURISTIC
METHOD
It is not a surprise that this dynamic programming approach is not applicable for a large
set of jobs, because the computer time is exponentially
increasing
with the value of I.
Moreover,
when a due date cannot be satisfied, no solution is found by the technique proposed in Section 3.2.
This is the reason why we have developed a
heuristic method - obtained by some “truncation” of the approach described in Section 3
- which has three main advantages:
- the computer time is acceptable;
- both objectives - i.e. to minimize the makespan and to respect, as far as possible, the due
dates - are taken into account; and
- in any case, a solution is proposed.
First all the jobs are listed in the EDD (earliest due date) order* (see [ 1,2 ] ) . At the first
iteration, the method of Section 3 is applied
for the ~1~first jobs in the EDD list; when this
partial optimal schedule is obtained, only the
~1~(with 1 d rz2d IZ,) first jobs of this schedule
are definitively kept for the final schedule. For
the second iteration, the list of ~2~jobs is up*These due dates are often very short in this problem. More
sophisticated rules have been analysed but without improvement of the results.
dated, adding the n2 following jobs in the EDD
list; and so on.
Thus at each iteration, the method of Section 3 is applied for a subset of n, jobs, but only
the n2 first jobs of the corresponding
schedule
are kept. Then the n2 first remaining jobs in
the EDD list are added to the n, - n2 remaining jobs of the preceeding iteration so that a
new iteration is performed. The heuristic stops
when the EDD list becomes empty.
Two parameters n, and n2 must thus be defined. As explained in Section 5, some experiments have been performed to choose the best
values of these parameters.
Let us finally note that a penalty can possibly be introduced
in the modelization
if the
manager of the workshop wants to improve the
satisfaction of the due dates. For instance, this
penalization
term can be the total tardiness
C T,.It can be added - with a weighting fac/EJ
tor given by the decision-maker
- in the objective function Fmmax
(J) at each iteration.
5. RESULTS
As already explained in Section 2, the manager of the workshop requires a fast method,
i.e. a way to obtain a good solution for sets of
TABLE 1
CPU time of the exact method
I
CPU time
(m:s:cs)
4
5
6
7
8
9
10
11
12
13
14
15
16
0:03: 14
0:03:01
0:03:12
0:03:46
0:03:66
0:05:01
0:06:60
0:09:00
0:13:18
0:34: 15
1:08:98
3:10:21
7:21:10
39
/
,+
I)
+’
A+’
N
II-
200
t
150
+
ll
nj=3
100
nj=4
t
50
ti
11=
P
t
0
12123
12341234512345
Fig. 2. Consequence of the variation of parameter n,
123451234512345
41
TABLE
2
CPU time of the heuristic
Test
number
n,
method
nz
makespan
(in half hour)
1
2
3
4
5
6
7
8
9
1
2
3
4
5
6
7
8
9
1
I
875
852
848
825
832
805
810
797
792
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
2
2
2
2
2
2
2
2
875
852
848
827
823
806
796
780
18
19
20
21
22
23
24
3
4
5
6
7
8
9
3
3
3
3
3
3
3
844
837
832
796
811
818
802
25
26
27
28
29
30
31
32
4
5
6
I
8
9
10
124
4
4
4
4
4
4
4
840
793
808
810
806
775
778
1
1
I
1
I
1
1
3
using a unique large sample of orders furnished by the firm. This sample contains 151
jobs to be processed on 4 machines, using 7
Total
CPU time
drawning-plates; only rough approximations
of
tardiness
(m:s:cs)
the change-over times are available. The main
objective of these tests is to analyse the behav130
0:03:25
26
0:03:59
iour of the two criteria (makespan and total
10
0:04:55
tardiness) and of the CUP time, for combina0
0:06:79
11
0:14:32
tions of the values of parameters IZ~and ~1~.
0
0:33:86
The results of 31 tests on this sample are
0
1:41:54
given
in Table 2. The first test simply sched0
5127166
0
20:29:21
ules the jobs in the EDD order. Obviously, for
a fixed value of ~1,(nz), the CPU time is de168
0:03:22
creasing
(increasing)
with n2(yl, ). For this
78
0:03:69
particular case, the values n, = 9 and n2 = 4 give
0:05: I2
52
9 zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA
0:08:88
the best solution in a reasonable computing
0:19:51
time.
0:50:94
0
Figures 1 and 2 analyse separately the con2159137
0
I1:40:30
0
sequence of the variation of parameters n2 and
n,, respectively.
20
0:03:38
Figure 1 (fixed value of nz proves that the
2
0:04:27
0
0:06:76
improve of the objectives is important
when
0
0:13:25
parameter
n,
increases,
especially
when
the
0
0:36:16
value of y12is small. The analysis of Fig. 2 (fixed
0
2:15:49
0
7:56:15
value of ~1~) is not so clear: it seems that an
improvement
of the makespan is obtained for
0:03:96
n2 equal to 4 (or 3 for n, small) . . . which is the
0
0:05:70
0: 11:66
number of the machine in the work-shop. Fur0:29:03
ther real experiments
are of course necessary
1:30:98
to
obtain
more
delinitive
conclusions.
5:29:18
22:36:20
>4h
CONCLUSIONS
about a hundred jobs, in no more than approximately five minutes.
An implementation
of the dynamic programming approach
has been made on the
VAX-785 at the Polytechnic Institute of Mons
[ 3 1. Table 1 immediately
confirms that the exact method of Section 3 cannot be used for a
large set of jobs.
First experiments have been carried out with
the heuristic method described in Section 4,
This heuristic method seems efficient enough
to satisfy the need of the manager. Moreover
the method gives an efficient way to analyse
the sensibility of the solution in function of
different data,
For this particular
sample, it has been
pointed out that the variation of the thickness
of the ordered “woodstock” plates is an important factor for the value of the makespan and
that this objective will be substantially
improved if one or two more drawning plates are
available.
42
2
REFERENCES
1 Baker, K.H., 1974. Introduction
Scheduling. J. Wiley.
to Sequencing
and
French, S., 1982. Sequencing and Scheduling. Ellis Horwood Ltd.
3 Roba, M., 1986. Ordonnancement de production sur plusieurs machines: Application g l’industrie chimique.
Travail de fin d’ttudes, Facultt Polytechnique de Mons.