a case study of production scheduling in a chemical industry
TRANSCRIPT
Engineering Costs and Production Economics, 17 ( 1989) 35-42
Elsevier Science Publishers B.V., Amsterdam - Printed in The Netherlands 35
A CASE STUDY OF PRODUCTION SCHEDULING IN A CHEMICAL INDUSTRY*
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 described; then a heuristic method is proposed and the results of a first implementation are presented and compared.
1. INTRODUCTION
The problem concerns the production of “woodstock” plates in a workshop of a chemi- cal 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 de- tails in the second section. Then a mathemati- cal formulation, using a dynamic program- ming 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 Pro- duction Economics, I& Austria, February 22-26, 1988. **We thank Dr. R. Dubois, from the firm Solvay, for drawing our attention to this problem.
sults of a first implementation are presented and discussed in the last section.
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 mix- ture and to obtain different qualities of prod- ucts. 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.
0167-188X/89/$03.50 0 1989 Elsevier Science Publishers B.V.
36
To be processed, a job must be assigned to a pair of “machine-drawning plate” (a “drawn- ing plate” is a matrix for giving a right-angled form to the products). Several machines and drawning plates are available in the work- shops; each machine has its own fixed produc- tivity 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 corre- sponds to some feasible breadths (between minimal and maximal value) of plates. The possible thicknesses are given by the pair “ma- chine-drawning plate”. Finally, the lengths of the woodstock plates are defined by the adjust- ment of a flick knife. A particular job can only be produced by the appropriate pair of “ma- chine-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 parame- ters of these three elements.
It is clear that change-over times appear be- tween the production of two successive jobs on the same machine; these change-over times represent an important percentage of produc- tion 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 de- line 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 ob- jective 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, dy- namic programming, integer programming, . . . ) are suggested for such sequencing and sched- uling problem. The dynamic programming ap- proach 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 pro- cessed on the pair { m,p}~K, and that on this machine m, the job j will after be processed us- ing the drawning plate q, with {m,q}eI$ We
denote by tm;lJ;P.Y the 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 < y1 d 1). The dy-
namic 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 func-
tion 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 in- dex will be 0 if the machine yn has not yet
been used or if this drawning plate has al- ready 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-
chine m, i.e. the first date at which the ma-
chine m is available for the process of a job i$J
-l,(J), 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 pro-
cess 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
We clearly have, for J= {i>,
L,(iil) = min tm;O,r,O,p- m,;O,,iO,p, -t- {m.PttK,
bn(Iil)= C L(ii)) if m=Cz,
0 ifm#rii,
t,(iii)= 1 ~m,,x({il) ifp=J,
0 ifp#D,
if m=k,
ifm#&
if m=rFi,
ifm#fi,
Recursive equations
Let Jbe a set of y1 jobs (n>l). We obtain the recursive equation
?,,,(J)=y-fi max &,(J-{i}); { [
where
d,,~(J-ji))=max[t,(J-jij); t,(J-{ii)1 (2)
+tm./,,,(J-irJL,. P,,,(J-_(~))a
is the completion time of job i if machine m and drawning plate p are used. The updating of the state variables is easily obtained by the relations:
t,(J)= 1
4ii.d J- (17 ) ifm=m,
L(J-{Q) otherwise
t,(J) = 1
4iwiA J- 117 1 ifp=d,
&(J-- {il) otherwise
L,(J)= 1
r ifm=&
_L(J-{il) otherwise
( di if m=&
0 P,(J)=
ifm#Ai
andp,(/-{Q)=ji
~m(J-{il) otherwise
where 1” is the index giving the minimum in re- lation ( 1).
These equations must be considered for all the subsets Jof n jobs, and successively for n = 2 till n=Z. To illustrate this method, several ex- amples of this dynamic programming ap- proach can be found in the literature; see for instance [ 1, Chap. 3.31 or [2, Chap. 61.
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 fol- lowing inequalities (* ) must be satisfied (note that other formulations are possible):
To verify these constraints, some tests may be introduced to eliminate the infeasible sched- ules; another way is to penalize the tardy jobs by adding the term GT, in the function to min- imize ?,,, (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 pro- gramming approach is not applicable for a large set of jobs, because the computer time is ex- ponentially increasing with the value of I. Moreover, when a due date cannot be satis- fied, no solution is found by the technique pro- posed in Section 3.2.
Let us finally note that a penalty can possi- bly 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 ob- jective function Fmmax (J) at each iteration.
5. RESULTS
This is the reason why we have developed a As already explained in Section 2, the man- heuristic method - obtained by some “trun- ager of the workshop requires a fast method, cation” of the approach described in Section 3 i.e. a way to obtain a good solution for sets of - which has three main advantages: - the computer time is acceptable; - both objectives - i.e. to minimize the make-
TABLE 1
span and to respect, as far as possible, the due dates - are taken into account; and
CPU time of the exact method
- in any case, a solution is proposed. First all the jobs are listed in the EDD (ear-
I CPU time (m:s:cs)
liest 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 rz2 d IZ, ) first jobs of this schedule are definitively kept for the final schedule. For the second iteration, the list of ~2~ jobs is up-
4 0:03: 14 5 0:03:01 6 0:03:12 7 0:03:46 8 0:03:66 9 0:05:01
10 0:06:60 11 0:09:00 12 0:13:18 13 0:34: 15 14 1:08:98 15 3:10:21 16 7:21:10
*These due dates are often very short in this problem. More sophisticated rules have been analysed but without improve- ment of the results.
dated, adding the n2 following jobs in the EDD list; and so on.
Thus at each iteration, the method of Sec- tion 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 remain- ing 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 de- fined. As explained in Section 5, some experi- ments have been performed to choose the best values of these parameters.
200
150
100 50 0
t
i t 11=
ll +
nj=3
t
P t
nj=4
1212
3 12
3412
3451
2345
12
3451
2345
1234
5
Fig.
2. C
onse
quen
ce
of t
he v
aria
tion
of p
aram
eter
n,
TABLE 2
CPU time of the heuristic method
Test n, nz makespan Total CPU time number (in half hour) tardiness (m:s:cs)
1 1 1 875 130 0:03:25 2 2 1 852 26 0:03:59
3 3 1 848 10 0:04:55 4 4 I 825 0 0:06:79
5 5 1 832 11 0:14:32
6 6 I 805 0 0:33:86 7 7 1 810 0 1:41:54
8 8 1 797 0 5127166
9 9 I 792 0 20:29:21
10 2 2 875 11 3 2 852 12 4 2 848
13 5 2 827 14 6 2 823
15 7 2 806 16 8 2 796 17 9 2 780
168 78
52 9
0 0 0
0:03:22
0:03:69 0:05: I2
0:08:88 0:19:51 0:50:94 2159137
I1:40:30
18 3 3 844 20 0:03:38 19 4 3 837 2 0:04:27 20 5 3 832 0 0:06:76 21 6 3 796 0 0:13:25 22 7 3 811 0 0:36:16 23 8 3 818 0 2:15:49 24 9 3 802 0 7:56:15
25 26 27 28
29 30 31
32
4 4 840 5 4 793 6 4 808 I 4 810
8 4 806 9 4 775
10 4 778 124 3
0 0:03:96 0:05:70
0: 11:66 0:29:03 1:30:98
5:29:18 22:36:20 >4h
about a hundred jobs, in no more than approx- imately five minutes.
An implementation of the dynamic pro- gramming approach has been made on the VAX-785 at the Polytechnic Institute of Mons [ 3 1. Table 1 immediately confirms that the ex- act 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,
41
using a unique large sample of orders fur- nished by the firm. This sample contains 151 jobs to be processed on 4 machines, using 7 drawning-plates; only rough approximations of the change-over times are available. The main objective of these tests is to analyse the behav- iour of the two criteria (makespan and total tardiness) and of the CUP time, for combina- tions of the values of parameters IZ~ and ~1~.
The results of 31 tests on this sample are given in Table 2. The first test simply sched- ules the jobs in the EDD order. Obviously, for a fixed value of ~1, (nz), the CPU time is de- creasing (increasing) with n2(yl, ). For this particular case, the values n, = 9 and n2 = 4 give the best solution in a reasonable computing time.
Figures 1 and 2 analyse separately the con- sequence of the variation of parameters n2 and n,, respectively.
Figure 1 (fixed value of nz proves that the improve of the objectives is important when parameter n, increases, especially when the value of y12 is small. The analysis of Fig. 2 (fixed value of ~1~ ) is not so clear: it seems that an improvement of the makespan is obtained for n2 equal to 4 (or 3 for n, small) . . . which is the number of the machine in the work-shop. Fur- ther real experiments are of course necessary to obtain more delinitive conclusions.
CONCLUSIONS
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 impor- tant factor for the value of the makespan and that this objective will be substantially im- proved if one or two more drawning plates are available.
42
REFERENCES
1 Baker, K.H., 1974. Introduction to Sequencing and Scheduling. J. Wiley.
2 French, S., 1982. Sequencing and Scheduling. Ellis Hor- wood Ltd.
3 Roba, M., 1986. Ordonnancement de production sur plu- sieurs machines: Application g l’industrie chimique. Travail de fin d’ttudes, Facultt Polytechnique de Mons.