OMEGA Int. J. of Mgmt Sci., Vol. 13, No. 5, pp. 453~,68, 1985
0305-0483/85 $3.00 + 0.00 Copyright © 1985 Pergamon Press Ltd
Printed in Great Britain. All rights reserved
Multi-Product Batch Production on a Single Machine A Problem Revisited SAMUEL
EILON
Imperial College of Science and Technology, UK (Received January 1985; in revisedform April 1985)
When several products are processed one at a time on a single machine, the conventional approach of computing the economic batch quantity for each product cannot apply. An example for six products is considered, where the total production capacity on regular time is inadequate, so that overtime has to be used at an extra cost. A simple method is described for solving this problem when each product is produced once during a production cycle, the objective being to minimize the total set-up and holding costs per day. Schedules which involve batch splitting can reduce these costs further, and a guideline is proposed for the construction of sub-cycles. The results compare favoarably with lower bounds computed for the purpose.
these two extreme categories is the case of
INTRODUCTION
multi-product batch scheduling (or MPBS for MULTI-PRODUCT batch production is very common in industry. It stems from the fact that when the rate of production exceeds the rate of demand, production of a given product has to stop at some stage to allow its inventory to decline and the production facilities are then used to produce other products. When each product requires several operations on different machines, as is often the case in machine shops in the engineering and electronics industries, then the plant becomes a complex queueing system, in which scheduling needs to take account of availability of facilities, capacity constraints, work-in-progress inventories, as well as due-dates to satisfy demand. There is a vast literature on various aspects of production scheduling, from the determination of the production level in continuous production (the so-called 'production smoothing problem', which is concerned with a single product subject to fluctuating demand) to the design of loading rules in job shops (where each job has its own processing specifications and its assigned due-date for completion). Between 453
short), concerned with intermittent production of several products, which share the same production facilities and for which demand is known. Unlike job-shop production, in which each job is a single entity (often being 'one-off'), MPBS requires the determination of the batchsize for each product. The diversity of approaches to production planning and materials control is exemplified in a recent review, published in Industrial Engineering [5], in which the contrasting philosophies of several control systems in current use are described. These include MRP (materials requirements planning), which starts with the computation of total demand for each item based on a master production schedule, OPT (optimized production technology), which starts with a production network for each product (not dissimilar to a conventional bill of materials) and proceeds to load work on production facilities with the aim of giving priorities to bottlenecks and reducing work-inprogress inventories (the details of the algorithms used have not been published), and JIT
454
Eilon--Multi-Product Batch Production on a Single Machine
A TEST PROBLEM (just in time, similar to the Japanese kanban system), which aims to produce items only when needed by combining work-stations and Multi-product batch scheduling (MPBS) has reducing work-in-progress, often at the expense attracted the attention of many writers. Perhaps of increased idle-time on production facilities. the most famous MPBS problem is that set by There are numerous other production control Bomberger in 1966 [1], for which numerous systems, not mentioned in the Industrial solutions have been proposed since. One review Engineering review. They usually take the [3] cites over ten solutions, thereby demonstraform of proprietary computer packages, ting the many heuristics that can be designed which incorporate some of the features listed with various degrees of sophistication and sucabove. cess. The Bomberger problem, though, has one Comparisons of performance of these systems serious failing, namely that the total production is difficult. There is not enough empirical time (excluding set-up) required to produce the evidence in the form of detailed case-studies specified product range amounts to only 22~ of to allow comparisons of like-with-like, and the demand time. This very high level of overit is too much to hope that a given plant could capacity, coupled with the fact that for three out be subjected to alternative control systems of ten products the production rate exceeds the in sequence to provide a consistent frame- demand rate by a factor of at least 300 and that work for measurement purposes. More often half the products involve relatively low set-up than not, the introduction of a new package cost (between $5 and $50), creates a lot of room is accompanied by a reorganization of the for manoeuvre for scheduling purposes. Not plant and a complete change in managerial only is there no need for overtime, but some of attitudes, so that it is just impossible to ascertain the products with low set-up costs may be what proportion of the ensuing dramatic scheduled frequently to be produced in small improvement is due to the algorithmic process batches, if need be, with little regard to the and ingenuity of the package itself and availability of capacity. In fact, with such a low how much is due to the corresponding manage- level of capacity utilization, additional products rial reorientation. It is often asserted that the (other than the ten listed) should be taken on. latter is far more significant than the former in The question of set-up costs is central to the transforming the production environment, methodology adopted for the solution of an though most practitioners in this field would MPBS problem. The conventional approach is probably agree that the two go hand-in- to seek to minimize the total variable costs per unit, i.e. to balance the set-up cost per unit hand. Be that as it may, it is useful to focus on against the holding cost by the use of wellsome test problems as a basis for comparison known EBQ square-root formula (EBQ stands of various algorithmic approaches. In this for the 'economic batch quantity', sometimes paper an old problem involving production called in the literature the EOQ, i.e. the 'ecoin sequence of several products on a single nomic order quantity', or the 'optimal lot size'; machine is examined. This problem is encoun- see Appendix A l). When goods are ordered tered in the process industries, though it is from outside suppliers, the use of the EBQ for rare in engineering machine-shops. Neverthe- each product independently of the others seems less, the structure of the problem, coupled with logical enough. But in the manufacture of multithe simplicity of its definition, serves to high- products, which share the same production light some interesting issues relating to the facilities, the application of the EBQ to each development of a methodology for solution. product is indefensible. When the stock for a Though the computer packages mentioned given product 1 is exhausted and a fresh batch earlier (such as MRP, OPT and JIT) or their needs to be produced, the machines may be busy derivatives have not been constructed with a on another product 2, so that either production single production facility in mind, it might be of product 2 has to be terminated prematurely interesting if their exponents applied their (i.e. before its EBQ is completed) or product 1 approaches to the problem described below and will run-out. To protect against such shortages, compared their results with the method outlined safety stocks are held, so that supply can be maintained while products wait for machines to in this paper.
Omega, Vol. 13, No. 5
become available, and these safety stocks often nullify the cost advantage claimed for the EBQ.1 M R P and other production and inventory control systems rely to a varying degree on the application of the EBQ, which is blamed by some as the main cause for the high level of work-in-progress inventories found in industry. Clearly, the smaller the set-up cost, the smaller the EBQ and the cost per unit, and this is what development of flexible manufacturing systems has managed to achieve in recent years. Ideally, set-up costs should be drastically reduced or even eliminated, so that the EBQ approach becomes irrelevant and the J I T concept could then be adopted in production control. Indeed, some control systems deliberately ignore the EBQ, implying that the m a n p o w e r employed to set-up machines is part of the total fixed overhead cost and is incurred irrespective of the number of set-ups involved. Such an assertion has a great deal of substance in the case of machine-shops, and if applied to the Bomberger problem, would result in very lowcost solutions (admittedly, involving m a n y setups, but the over-capacity can readily absorb the resultant added set-up time). A m o n g the control systems that dispense with the need to account for set-up costs (though not set-up time) are JIT and OPT. However, there are circumstances when the set-up costs m a y not be ignored. For example, in the process industries the set-up costs m a y consist of cleaning materials and replacement of machine parts in preparation for a new product, as well as material lost during the running-in period to ascertain that the output will be of the right specifications and quality. Such costs are A good example of an approach that fails on these counts is a method developed in the early sixties as a result of a project for the American Production and Inventory Control Society and reported in 1967 [4]. The method, called LIMIT (lot-size inventory management interpolation technique), starts with the computation of the EBQ for each individual product and finds the resultant annual set-up time required for all the products. This time is compared with the available total set-up time and the ratio between the two is used to scale up or down all the individual EBQs (though it can be easily shown that a better solution is obtained when high value products deviate very little from their EBQs while low valued products are allowed to deviate by substantial amounts). LIMIT totally ignores the scheduling problem and its possible effect on stocks building up or running out between production spells, so that runouts can only be avoided if large safety stocks are held, thereby invalidating the application of the EBQ in the first place.
455
incurred whenever a changeover of product is called for and in some cases they m a y be quite substantial. To ignore them and allow numerous set-ups to take place would result in low inventories but mounting total costs. At the same time, it is inadvisable---for the reasons argued above---to resort to the indiscriminate use of the EBQ to individual products. It is necessary, therefore, to apply a method that takes account of the EBQ as well as the fact that the products are dependent on each other through the production schedule that loads them on the same manufacturing facility. The problem presented in Table 1 is based on one (with minor modifications) published several years [2] before Bomberger's. It consists of six products with relatively high set-up costs and set-up times (particularly for products 5 and 6). The fixed unit cost c (consisting of materials, labour and processing costs, but excluding set-up and holding costs) also varies and is particularly high for products 4 and 5. The holding cost h (per one unit of c per day) includes maintenance cost in store in addition to interest charges and this is why in this case h is not the same for all products. Other assumptions are: (a) N o r m a l working time consists of 8 hours per day, 5 days a week, 250 days a year. (b) Overtime m a y be worked up to 8 hours per day during weekdays, i.e. up to 5 overtime days per week at the cost of 20 per hour (or 160 per overtime day); no weekend working is allowed. I N I T I A L EBQ C O N S I D E R A T I O N S The data in Table 1 suggest that, in marked contrast to the Bomberger problem, capacity is inadequate to meet demand during normal working hours and overtime would have to be employed. This is found by computing V (the ratio of demand rate to production rate) for each product, as shown in Table 2, where the sum of all the V's amounts to about 1.116. This sum expresses the ratio of the amount of required production time (excluding set-up time) to the available normal time, so that 11.6~ of normal time (or just under one hour on the average per day) will have to be worked as overtime for production purposes, in addition to the total set-up time, which will depend on the number of set-ups scheduled, hence in-
456
E i l o n - - M u l t i - P r o d u c t Batch Production on a Single Machine
~q
e~
~
~
~
•
o-~
~..4d
d
-
~"
,,4
.,
oo,.~o o
#
8 ~ _
~
o .o
dd.~.
~
e4 e~
"I
< .=.
x
N
o
o=
< OA I oL-'~ ~ ,~ ~ . ~ . . o ~.~
~ Z
"-
.,~
~
I
II I
u',~ ~ ", H ~ ' ~
Z
I
Omega, Vol. 13, No. 5 0
457
Q
. stock ~ Q
I~ (a)
T
T
~-I
T
,q
Ordering from outside supplier
,'~(b)
---I--
T An
=',--
internal production
facility
Fig. 1. The average stock level.
volving a minimum cost of 0.116 x 160 = 18.56 per day for overtime. If a batch of Q units of a given product is ordered from an outside supplier and is calculated to arrive when the previous batch is depleted after a cycle time T, as shown in Fig. l(a), then the peak stock level is Q and the average ½Q. In the case of production as in Fig. l(b), however, demand is met during the production period tp, so that the peak inventory is tp(b - a), where a and b are the daily rate of demand and prodution respectively, ignoring overtime. But as the batch produced is Q = btp, it follows that the peak is m Q , where (ignoring overtime) m = 1 -a/b
= 1 -~
so that the average stock level is i~m Q, from which the average stock value is then derived. The EBQ folwnula is based on the criterion of minimizing the total cost per day (where the cost in this context is defined as the sum of set-up cost and holding cost) or minimizing the total variable cost per unit, defined as y = s/O + KQ
where K is a holding cost factor. The resultant square-root formula for the EBQ is then easily found (see Appendix A1). Applying this approach to the six-product problem in Table 1, we get the notional results
in Table 2. They are notional because they do not take account of the use of overtime, so that the holding cost factor K' and the optimal batches Q'o (see Appendix A8 for notation) are computed on the assumption that capacity during normal hours is adequate to meet demand. From Q'o (which has been rounded off to integer values) the cycle time T' for each product is derived, giving a range of 96.7 days for product 4 to 405.3 for product 6, whereas the total number of production days required (excluding set-up time) is approximately 244. These calculations clearly demonstrate the fundamental mismatch between the production cycle and the demand cycle, so that the indiscriminate application of the EBQ cannot work, unless the system is prepared to tolerate either high safety stocks or frequent runouts (or both). Table 2 also reveals that: ----compared with the basic fixed cost c the minimum variable cost Yo varies greatly from product to product, adding over 40~ to the basic cost in the case of products 2 and 6; --the notional minimum cost per day also varies enormously from product to product, the major offenders being products 5 and 6, which are responsible between them for some 68~o of the total. The total notional minimum cost per day
Eilon--Multi-Product Batch Production on a Single Machine
458
II
I
tst
~
~e
I
tPz
I
~3
I ...........
tP3
~
tss
I
I I
~
tp~
I
I
t~2
7" 7" 4
7
Fig. 2. The cycle time T for model 1 when capacity matches demand.
amounts in Table 2 to 324.17, which may be regarded as a crude lower bound. Such a bound is useful to compare proposed solutions with, but the notional figure in Table 2 is deficient on two counts: first, it assumes adequate capacity and does not take account of the cost of overtime, and secondly it ignores the effect of overtime on the average stock value. Both factors are included in the computation of a better lower bound CB1 in the Appendix; the bound is shown to be a function of the cycle time T. SOLUTION METHODS To keep stock levels low, it is desirable to start production of a new batch at the same time as the previous batch of the same product is depleted, as shown in Fig. l(b), and in principle this is attainable with the use of overtime. The resultant schedule would look something like that shown in Fig. 2, where set-up and production of products follow in sequence to fill the cycle time. It is clear, though, that the batch quantities will have to deviate from the individual EBQs for the solution to become feasible. The following models are explored here: Model 1: No batch splitting. Model 2: The cycle is divided into two subcycles with batch splitting. Model 3: The cycle is divided into four subcycles with batch splitting. In principle, further alternatives are possible, but these three models with their variants should be adequate to illustrate the solution methodology.
Model 1 In this model it is assumed that the products are produced in sequence, as suggested in Fig. 2, each product produced once during the cycle in a sufficient quantity to meet the demand throughout the cycle. Since demand is assumed
in this test problem to be constant, the pattern of the stock level for each product is as shown in Fig. l(b). It is further assumed that overtime is evenly spread throughout the cycle, and it is then convenient to distinguish between calendar days and production days. The cycle consists of T calendar days and there are five calendar days per week (the weekends being excluded), but because of overtime each week consists of more than five production days. The batch size for product 1 to meet the demand for T calendar days is Q] = al T and the batches for the other products are similarly computed. The number of production days needed to produce product 1 is
Q1/bl for production plus 4.0 for set-up With the use of overtime every calendar day is equivalent to ). production days, so that the time needed to produce product 1, expressed in calendar days is 1
-~ (Q,/b, + 4.0) and the total time for all the six products is equal to the cycle time T. As shown by equation (16) in the Appendix, the value of 2 can be easily ascertained for any given cycle T. For example, a cycle of 100 days leads to 2 = 1.368, which means that a calendar day consists of 10.94 hours (of which 2.94 are overtime). 2 Declines as T increases, as shown in Fig. 3; in the hypothetical case of 2 = 1 there is no need for overtime and capacity during normal hours would match demand, but in our example 2 > 1 irrespective of the cycle length. If the total variable cost per day is chosen as the performance criterion, then the method developed in Appendix A2 yields the optimal cycle
Omega, 1Iol. 13, No. 5
459
1.6
15
14
,<
13
12
11
I
I
I
I
I
I
100
200
300
400
500
600
Cycle
length
Fig. 3. The value of 2 for model 1. length, from which the batch size for each product is readily computed. The results are shown in Fig. 4, from which we find that the optimal cycle length is 260 days, the total cost being 406.25. Further details of this solution are summarized in Table 3, which also shows the individual EBQs and the bound Csl. First we note that the optimal individual batches are somewhat lower than the notional values of Table 2. The cost per day corresponding to these optimal batches plus the cost of overtime yield the lower bound Csl (further details on the computation of the lower bound are given in Appendix A3), which amounts to 364.27 for a cycle of T = 260, so that the solution of Model 1 is 11.5~o above the bound. A closer scrutiny of the batch sizes and the cost per day for the
n
~o
i: ¢-1 t-i
1
5OO
~cxl u~
x
"o ~ o
Bound C B I
500
f 100
I ZOO
I 300
] 400
I 500
I 600
Cycle length
Fig. 4. Cost per day as a function of cycle length for three schedules.
oo ~.
Eilon--Multi-Product Batch Production on a Single Machine
460
Table 4. Results for five models Model
Cycle time
Cost/day
Average stock value
Average 2
Bound
Dev from bound (~o)
Csj = 364.27 CBI = 364.98
11.5 11.4
2 for sub-cycles
1
260 (Opt) 250
406.25 406.52
184,126 177,146
1.213 1.217
2.1
327 (Opt)
377.85
157,668
1.211
1.223, 1.199
C81 = 360.64 C a = 363.99
4.8 3.8
330
377.86
159,093
1.210
1.222, 1.198
CBI =360.49 C a = 363.84
4.8 3.9
327 (Opt)
377.93
157,735
1.211
1.218, 1.205
CBI = 360.64 Cn2 = 363.99
4.8 3.8
330
377.94
159,162
1.210
1.217, 1.204
CBI = 360.49 C~e = 363.84
4.8 3.9
395 (Opt)
368.67
156,019
1.223
1.188, 1.281 1.143, 1.281
CB~ = 358.18 C~ = 366.18
2.9 0.68
390
368.70
154,072
1.225
1.189, 1.283 1.144, 1.283
Ca1 = 358.33 Cs3 = 366.44
2,9 0.62
2.2
3.1
3.2
392 (Opt)
371.03
156,624
1.224
1.429, 1.041 1.384, 1.041
Ca1 = 358.27 Cm = 366.33
3.6 1.3
390
371.03
155,836
1.225
1.430, 1.042 1.385, 1.042
CBI = 358.33 Cm = 366.44
3.5 1.3
individual products reveals that the major deviations are caused by products 4, 5 and 6: for products 4 and 5 each batch is considerably larger than its corresponding EBQ (in the case of product 4 it is larger by almost a factor of 3), while for product 6 it is considerably smaller. It should be noted that the cost function is quite fiat in the vicinity of the optimum. If, for example, T = 250 is chosen instead of the optimum value of 260, the effect on cost is rather marginal, as shown by Fig. 4 and the first two rows in Table 4, though the effect on the average stock value is more noticeable, since the average stock value increases linearly with the cycle length (see Fig. 5).
In these schedules the sub-cycles are assumed for convenience to be of equal length (7"1 = T2 = T/2) and the only difference between them is that products 2 and 3 are interchanged in the sequence. The first split batch of product 4 is aimed at satisfying the demand during the first sub-cycle, the second split batch is for the second sub-cycle and so are the split batches of product 5, while the batches of the other four products meet the demand during the whole cycle T. t 4 O0
Model 2
In order to improve on the solution in Model 1 it is necessary to split the batches of products 4 and 5, i.e. to divide the cycle T into two sub-cycles so that split batches of 4 and 5 are produced in each sub-cycle, while the other products are produced only once throughout the entire cycle. There are obviously many ways in which sub-cycles can be constructed with respect to their relative length as well as the distribution of products between them. We confine this investigation to the following (the symbol = separates the two sub-cycles): Model
2.1 2.2
Sequence
4-5-1-2=4-5-3-6 4-5-1-3=4-5-2-6
300
21
% 8'L
>¢ 200 o t/) I O0
L t O0
I 200
I 300
1 400
I 500
I 600
Cycle length Fig. 5. T h e a v e r a g e s t o c k v a l u e f o r t h r e e schedules.
461
Omega, Iiol. 13, No. 5
Two possible lower bounds are computed for these models: the first (denoted as CBt) assumes that each product is produced only once during the entire cycle. This bound is exactly the same as the one derived for Model 1. The second bound takes account of the added set-up times required for products 4 and 5 to be produced twice each during the cycle (this bound is denoted as CB2; details in Appendix A4). The results for Models 2.1 and 2.2 are very close to each other for a very wide range of values of T (values from 50 to over 600 were explored), the results for 2.1 being very marginally better, as shown in Table 4. The optimal cycle here is T = 327, i.e. appreciably longer than the solution for Model 1 (in order to absorb the added set-up costs), and again the cost function is very fiat in the vicinity of the optimum. (If T deviates to the nearest multiple of 10, namely to 330 days, the results are hardly affected). The performance of Model 2.1 is considerably better than that of Model 1, the cost being reduced to 4.8~ above the bound CB~ and only 3.8~o above Cs2 (see also Fig. 4). It is interesting to note that even when the sub-cycles are equal in length, as in Models 2.1 and 2.2, the 2 values in the two halves may well be different, owing to the difference in the required number of production days. The resuits for the two 2 values, compared with the average ). (which, incidentally, is not identical to the 2 in Model 1, shown in Fig. 3) are plotted in Fig. 6 as a function of the cycle time 7". A note as to when the 2 values become identical is given in Appendix A5. One consequence of the different 2 values in the two sub-cycles is that if the split batches of product 4 are equal (as assumed in the computational procedure), the production time in calendar days for this product will not be the same in the two sub-cycles. This means that while the first split batch of product 4 aims at meeting demand for T/2 calendar days, the starting dates for producing the two split batches being T/2 days apart, the dates when production of these split batches terminates will not be T/2 days apart. The result of this so called 'sub-cycle mismatch' will then affect the level of stock availability of product 5. This effect is small, as shown in Appendix A6, and can be handled by 'fine-tuning' of the split batches for products 4 and 5 or the level of localized overtime. This effect, though, is
1.8
1.7
1.6
)'2 t.5
1.4
13
1.2
tl I 100
I 200
I 1 300 400 Cycle length
I 500
I 600
Fig. 6. 2 values for the sub-cycles (broken lines) and the average 2 for model 2.1.
ignored in the results reported in Tables 4-6.
Model 3 The improved performance of Model 2, compared with that of Model 1, naturally raises the question as to whether further batch-splitting could be beneficial. In Model 3 we assume 4 sub-cycles to allow product 4 to be produced four times (once in each sub-cycle), three products to be produced twice, while the batches for products 1 and 6 remain unsplit. Two variants are explored:
Model 3.1 3.2
Sequence 4-1 =4-3-2-5=4-6 =4-3-2-5 4-1-5=4-2-3=4-6-5 =4-2-3
The difference between the two models lies in the scheduling of product 5. In both cases the sub-cycles are equal in length (each being T/4). The computational procedure is similar to that used for Model 2. The results are also included in Tables 4 and 5 and Fig. 4. Again, the cost function is insensitive to T in the vicinity of the optimum and a deviation of T to the nearest multiple of 10 hardly affects the cost. We find that the performance of Model 3.1 is better than that of 3.2 and both are better than that of Model 2. In the case of Model 3.1, the cost is just 2.9~ above the
462
Eilon--Multi-Product Batch Production on a Single Machine
Table 5. Further details for the optimal solutions for three models Product
1
Model 1 T = 260; Cr = 406.25; 2 = 1.213 Batch sizes Cost/day C Set-up cost/day Overtime cost/day Model 2.1 T = 330; Cr= 377.86; 2 = 1.210 Batch sizes Cost/day C Set-up cost/day Overtime cost/day Model 3.1 T = 390; C r = 368.70; 2 = 1.225 Batch sizes Cost/day C Set-up cost/day Overtime cost/day
2
3
4
5
5200 22.13
6240 15,76
7800 37.12
9360 51.04
6600 22.56
7920 16.69
9900 40.40
2 x 5940 37.80
2 x 6600 73.42
16500 153.34
7800 23.52
2 x 4680 15.92
4 x 3510 32.41
2 x 7800 74.78
19500 150.09
bound CBI and only 0.7% above CB3. The value of the bound CB3 is computed in a similar fashion to that related to Model 2, except that the added set-up time for all the split batches are taken into account (details and a comparison of the three bounds are given in Appendix A4). The average stock value is considerably lower in Model 3.1 compared with that of Models 1 and 2, as shown in Fig. 5. It may be possible to effect a further improvement by constructing even more complicated schedules, but it is questionable whether such exercises would be worthwhile, in view of the very satisfactory results from Models 2.1 and 3.1. The effect of sub-cycle mismatch, alluded to earlier in the discussion of Model 2, is exacerbated if the schedule involves more batch splitting. Although overstocking and run-outs can be overcome by fine tuning, as shown in the Appendix for Model 2.1, implementation may become cumbersome for more complex schedules. The effect of fine tuning on the cost function is ignored in the results in Tables 4 and 5. CONCENTRATED PRODUCTION All the results cited above are based on the assumption that a constant level of overtime is
2 x 5850 36.05
10400 81.48
6
13000 164.67
Total
372.21 176.54 34.04
344.20 161.82 33.66
332.77 158.46 35.93
maintained throughout the cycle in Model 1 or each sub-cycle in the other models. Since the data allow overtime to be used up to 8 hours per day, it may be possible to affect the average stock level by postponing production for as long as possible, as illustrated in Fig. 7: the production period for each product is split into two parts, the first using only normal time and no overtime, while the second uses the maximum overtime allowable. Although the batch size is exactly the same as that shown in Fig. l(b), and the peak inventory level is also the same, concentrated production results in a lower average stock level than when the production rate is held constant, as in Fig. l(b). Models 1 and 2.1 were run for this mode of production and the results, summarized in Table 6, show an improvement in the cost level of just over 1%. For Model 1 the optimal cycle time (to the nearest multiple of 10) and the value of 2 are unaffected. For Model 2.1 the optimal cycle time falls slightly (from 330 to 320 days) while the value of 2 rises slightly. As expected, this mode of concentrated production helps to lower the inventory level. EFFECT OF SET-UP COSTS As stated earlier, the level of set-up costs may
Table 6. The effect of concentrated production Production
Cycle
Model
mode
time
Cost/day
stock value
Average 2 values
1
EVEN X
260 260
406.25 401.11
184,126 179,565
1.213 1.213
1.213 1.213
2.1
EVEN X
330 320
377.86 373.52
159,093 150,622
1,222, 1.198 1.225, 1.202
1.210 1.213
X denotes concentrated production during the latter part of the production period.
Average
463
Omega, Vol. 13, No. 5
Fig. 7. Normal production during xj and concentrated overtime during x 2. have a profound effect on the daily cost function. To explore this effect, Model 1 was run with eight different levels of total set-up costs, and the results are summarized in Table 7. The first case A relates to the original data in Table 1, in case B the set-up cost for product 6 is halved, while the other set-ups are unchanged, and so on. The final case H involves no set-up costs at all. In all these cases the set-up times remain as in Table 1. The results in Table 7 and Fig. 8 (where the cost function for 5 of the 8 cases is plotted against the cycle time T) show that the effect is indeed dramatic, with respect to both the optimal cycle time and the corresponding optimal cost. More detailed results for case B (where the set-up cost for product 6 is halved) are given for the three basic models in Fig. 9, from which we conclude that there is hardly any improvement in cost for Model 3.1 compared with Model 2.1
7'00
~
600
|I \
\
,4 B C F
Original c a s e s6iS halved All set-ups are halved Set-ups a r e o quarter of original c a s e HAll set-ups are zero ,4
500
and that the improvement of the latter over Model 1 is far smaller than in Fig. 4 (which is based on the original set-up cost data). It is also interesting to note that Table 7 and Fig. 10 (which relate to Model 1) suggest that it is the total set-up cost which is the decisive factor, rather than the way the total is split among the products (Fig. 10 also shows the optimal cycle). The conclusion from these results is that efforts to reduce set-up costs are potentially very rewarding and are likely to be significantly more effective than the promise of increasingly more complex algorithms. CONCLUSION The methodology described in this paper starts with a simple solution for Model 1, based on a cycle in which each product is produced once in a quantity calculated to meet the demand during the cycle. The optimal cycle length is the one for which the total variable cost per day (including the cost of set-ups, stock
1 5OO
!
40 C 21 300 ~
4O0 3.1
;tOO -
400
- -
l 100
I 200
I 300
I 400
I 500
L 600
300
I 100
I 200
I 300
I 400
I 500
I 600
Cycle length Cycle
length
Fig. 8. Effectof set-up costs for model l (see also Table 6).
OME 1315~G
Fig. 9. Three scheduleswhen the set-up cost of product 6 is halved.
464
Eilon--Multi-Product Batch Production on a Single Machine
,500
~e
4 O0
i
Cost
3 O0 J
, I . . x ..... Cycle
oO "~
/ x
200
~
I"
xX
100 x
1 .
.
.
~
I 10
I 20
I 30
[ 40
[ 50
Total s e t - u p costs x 103
Fig. 10, Effectof the total set-up costs on the optimal cost per day and the optimal cycle length for model 1. holding and overtime) is minimized. Although this solution inevitably causes more (or even all) products to deviate from their individual EBQs, the result compares reasonably well with the computed lower bound, which is clearly unachievable. This solution can be greatly improved upon with batch splitting, as indicated by the results for Models 2 and 3 in Table 4 and in Fig. 4, but the improvement by moving from Model 2 to 3 is less spectacular and for practical scheduling purposes production controllers may well prefer the solution for the former to the more complicated cycle required by the latter. In either case, the results are sufficiently close to the lower bounds to question the need to consider more complicated schedules. Another indication of the quality of the solutions is given by the ratio of cost due to set-ups to the total cost (excluding overtime). In the case of the EBQ for a single product the set-up cost per day is half the total cost. The results in Table 5 show that this ratio is about 0.47 for the three models. The results also reveal that the cost functions are very flat in the vicinity of the optimal cycle time, so that deviations of __+10~o or even more from the optimum cycle have a relatively small effect on the cost. Several variants of Model 2 can be constructed, but the results for the two examples 2.1 and 2.2 in Table 4 show that the former is only marginally superior to the latter. It is interesting to note that the range of the values for the two sub-cycles in the two models (given in Table 4) is almost the same. A comparison of Model 3.1 with 3.2 shows that the former yields a lower total cost and that its 2 values are more evenly distributed, whereas the relatively high 2 in the
465
Omega, Vol. 13, No. 5
first sub-cycle o f 3.2 has a n adverse effect on the average stock value a n d hence o n the total cost. A l s o , the need for fine t u n i n g is r e d u c e d when the ), values are m o r e evenly d i s t r i b u t e d . It is clear t h a t d e l a y i n g p r o d u c t i o n for as l o n g as possible helps to reduce i n v e n t o r i e s a n d costs, a n d the results in T a b l e 6 c o n f i r m t h a t conclusion. H o w e v e r , the greatest p o t e n t i a l benefit b y far is o b t a i n a b l e b y reducing the t o t a l set-up cost, as s h o w n in F i g s 9 a n d 10.
it is simple to show that C =s/T+
Vh
= a(s/Q + KQ)
(6)
= ay
where y is the variable unit cost, namely (7)
y = s / a + KQ
from which the classical EBQ formula to minimize y is derived as (8)
Qo = (s/K) t/2
at which the minimum value for y is shown to be REFERENCES
Yo = 2s/Qo = 2KQo
1. Bomberger EE (1966) A dynamic programming approach to a lot size scheduling problem. Mgmt Sci. 12, 778-84. 2. Eilon S (1963) Production Planning and Control. Macmillan, New York. 3. Eilon S (1979) Production scheduling. In Proceedings of the Eight IFORS Conference, Toronto 1978, (Edited by Haley KB) pp. 237-66. North Holland, Amsterdam. 4. Plossl GN and Wight OW (1967) Production and Inventory Control. Prentice Hall, Englewood Cliffs, New Jersey. 5. Swann D, Jacobs FR, Fox KA and Schonberger RJ (1984) New approaches to material flow and inventory control. Ind. Engng 16, 25-63. Professor S Eilon, Department of Management Science, Imperial College, Exhibition Road, London SW7 2BX, UK.
ADDRESS
FOR
(9)
corresponding to the minimum cost per day of Co = 2sa/Qo = 2KaQo
(1 O)
i.e. the set-up cost constitutes half the total cost.
APPENDIX A2 Optimizing the Multi-Product Schedule [2}--Model 1 Assuming that the products are produced once each during the cycle T, as prescribed in Model 1 and shown in Fig. 2, from which it follows that T = at~a,
(11)
Q, = ~,Q,
(12)
CORRESPONDENCE:
A P P E N D I X A1 The EBQ for a Single Product If overtime is used to the extent that the ratio of the average number of hours worked per day to normal hours is 2 and if the normal production rate is b units per day, then 2 causes the production rate per calendar day to increase to 2b. The peak stock in Fig. l(b) then becomes tp(2b - a)
Since the batch size Q = tpXb it follows that the average stock level is ~I m Q where m = 1 -- 7/2 ~, = a/b
(1) (2)
In the special case of no overtime 2 = 1 and this corresponds to the notional results in Table 2. The average stock value is V = i mQc
(3)
and the holding cost per day is Vh, so that when the set-up cost is added, the total cost per day is as given in the main text. By substituting
hence where ~i = a~/at, i.e. the ratio of demand of product i to that of product 1. As it is meaningless here to consider unit cost, we need to resort to another criterion, such as the ratio of profit to the cost of production. If the selling price of product i is p~, the total unit cost of which is c / + y i , then the profit is ( p ~ - c ~ - Yi)Q, so that the ratio becomes - - C i - - Y,)Q, Xp,Q, = IF,(c~+ y~)Q~ E(G + y~)Q,
~"(Pi
1
XQtPi°ti 1 ~(ci + yi)o~iQt Q~ cancels out and since ~ , p~ and cz are independent of the batch size Q~ it follows that the above ratio is maximized when Z~y~ is minimized. The optimal value of Q~ is then derived from d~,ot~yi -0
dQ,
and it is easy to show that the solution is [2]
= ( Zs~ "~~/2 Q,
\ZKdt~ ]
(13)
T = Q/a
(4)
from which the other Q~ and the optimal cycle time are readily found by equations (11) and (12). Minimization of the total cost per day yields the same result, since
K = hem/(2a)
(5)
C = ~ECi = ~,aiyi = al ~txiy i
(14)
466
Eilon--Multi-Product Batch Production on a Single Machine
Applying this result to the data in Table 1 we find that Y~si= 45,900, whereas the value of Z K ~ ~depends on 2, which can be shown to depend on the cycle time T: since the total production days are Y.(tpi+ ts~) and this total needs to be divided by 2 to obtain calendar days, it follows from Fig. 2 that Ztp~ + Zts~= 2T
(15)
Substitute t~t = Qi/b~ = Tai/b~ = T?~ and Z2~ = 1.1158 also Y,t,i = 25.2 (from Table 1) and we obtain 2 = 1.1158 + 25.2/T
(16)
The solution may be found by the following simple procedure: 1. 2. 3. 4. 5.
Computation o f the Csl As stated in the main text, the total notional cost per day given in Table 2 can be greatly improved upon for the purpose of providing a lower bound. First, the cost of overtime can be accounted for by adding 160 (2 - 1). Secondly, the effect of overtime on the rate of production, and hence on the average stock level, is dealt with by including ), in the computation of m, as in equation (1), and as shown in the previous section we can derive 2 for any given value of T. The bound is, therefore, obtained by CB, = ZCo + 160 (2 -- 1)
(19)
The computation procedure is as follows:
Assume T Derive 2 from (16) Calculate K~ by (5) Find Q1 by (13) Find T = Q1/a~
then go back to step 2 and iterate again. The value of T converges rapidly, as shown in the following table (for practical purposes T is confined to integer values): Initial assumption: Iteration 1 2 3
APPENDIX A3
T = 100
C = 535.88
244 247 247
371.91 371.86 371.86
The solution converges to T = 247. It should be noted that the solution in (13) is derived on the assumption of constant values of K, whereas in our case K is a function of T, so that the true optimum of C occurs at T = 249, but this hardly affects the cost (which is 371.85). Notice that this result takes no account of the cost of overtime, which is excluded from the cost function C in equation (14), and hence the solution underestimates the value of the optimal cycle. The cost of overtime is derived by taking the average amount of overtime per day (2 - 1) times the cost per day (160). The total cost would then be Cr = C + 160 (2 - 1)
(17)
where C is found from (14) or from C = ]g(s/T + Vh)
--assume a given cycle T ~ e r i v e 2 from equation (16) --find m and hence K for each product by equations (1) and (5) ---compute Qo by equation (8) --find Co for each product by equation (10) ----compute the bound CB~ by equation (19) For T = 260 (which is the optimum cycle length for Model 1) the results are shown in Table 3. The result for the bound CB1 as a function of the cycle time is shown in Fig. 4. Note that the bound computed here is unachievable in practice, since it is based on the assumption that all the products are produced at their individual EBQ values and, as already stated in the main text, such a solution is infeasible.
APPENDIX A4 Computation o f the Bounds CB2 and Ca3 The bound CB~ is a useful yardstick for the results of all the models. However, in the case of Model 2, products 4 and 5 are produced twice each, so that additional set-up time is involved, increasing the total set-up time for the whole cycle from 25.2 days (in Model 1) to 31.2 days. A modified bound Cta may then be computed by the use of equation (19), except that now 2 is determined by 2 = 1.1158 + 31.2/T
(20)
(18)
A simple solution procedure may easily be programmed on a micro-computer (or a suitable desk calculator) as follows:
to replace equation (16), which applied to Model 1. Similarly, for Model 3 the value of 2 is found from 2 = 1.1158 + 42.4/T
(21)
1. Assume T 2. Derive the corresponding batch sizes 3. Find the value of 2 and hence the average stock value for each product 4. Find the total cost Cr from (17) and (18) 5. Repeat by scanning other values of T to find where the minimum of Cr occurs
To summarize, we have three bounds with which to make comparisons:
Results for Model 1 are given in Tables 3-5 and in Fig. 4.
A comparison of the numerical values of the three bounds is given in Table A1.
CB~ for Model 1, but useful for the other models as well, based on (16) C a for Model 2, based on (20) C a for Model 3, based on (21)
Omega, Vol. 13, No. 5
467 A P P E N D I X A6
Table A1. Cycle T 250 275 300 325 350 375 400
Cnl
Cs2
364.98 363.30 361.90 360.71 359.61 358.81 358.04
Cn3
369.36 367.29 365.56 364.10 362.85 361.75 360.80
Effect o f Sub-Cycles on Cost in Model 2.1
377.50 374.71 372.38 370.39 368.70 367.23 365.94
If we take the optimal cycle length of T = 330 then the 2 values for the sub-cycles are derived from the last two equations as 21 = 1.222,
A P P E N D I X A5
2 Values for the Sub-Cycles in Model 2.1 The production sequence for Model 2.1 calls for four batches in each sub-cycle: 4-5-1-2=4-5-3-6 The number of production days needed for set-ups for the two sub-cycles is 12.4 and 18.8 respectively. The total number of production days for set-ups and production for the first sub-cycle is
t~ + re5 + tpl + tp2 + 12.4 The ratio of this sum to the sub-cycle length is 21. If the batch Q4 is intended to meet demand during the sub-cycle (the length o f which is taken in this model as T/2), i.e. Q4 = a J / 2 , then
t~ = Q4/b4 = (a4/b4)T/2 = T74/2 and a similar expression applies to product 5, whereas for product 1 the batch is expected to meet the demand for the whole cycle, i.e. t.t = Tyt Thus, the ratio 21 is obtained from
½r2t
=
(½~
t + ~t + ~2) T + 12.4 + ~75
"~2 = 1.198
and these values may then be used to convert production days into calendar days when the detailed schedule is constructed, as shown in Table A2. F o r example, product 4 requires 2 days for set-up and 54 for production, i.e a total of 56 production days, which are equivalent to 45.8 calendar days. If the calendar starts at 0 at the beginning of the cycle, then production terminates on day 45.8. Stock is available from day 1.6 (when the set-up time of 2/2t expires and production starts) until day 166.7. Similarly, the batch for product 5 meets the demand from day 49.1 to 214.1, while the batch for product 1 lasts for a whole cycle, namely from day 65.9 to the same date in the next cycle, and so on. As we can see from this schedule, the only problem that arises concerns product 5: the first split batch lasts to day 214.1 while stock from the second split batch is available only from day 215.0, i.e. a run-out occurs for one day. Similarly the second split batch lasts until day 50, whereas stock is already available from the first split batch on day 49.1. This minor mismatch, caused by the different 2 values, can easily be overcome, if needs be, by adjusting the sizes of the split batches, or by changing the overtime rate. Such fine tuning hardly affects the schedule or the total cost function. In the case of more complex models, however, where fine tuning is required to deal with several products, the final schedule may be deprived of its initial simplicity, though the effect on cost is likely to remain marginal.
Substituting the values of 7 from Table 2, we get 21T = 1.1473 T + 24.8
(22)
and similarly for 22 for the second sub-cycle 22T = 1.0844T + 37.6
A P P E N D I X A7 (23)
F r o m the last two equations it is clear that At = 22 at T = 203.5 and that 21 > 22 when T > 203.5 (see also Fig. 6).
Product
Batch size
Concentrated Production As suggested in Fig. 7, the maximum allowable overtime may be concentrated at the end of the production period, leaving the rest of the time for
Table A2. Production & Set-up Time Production C a l e n d a r Calendart i m e days days Start Finish
D e m a n d Calendar Start Finish"
First sub-cycle 4 5 1 2
5940 6600 6600 7920
Second sub-cycle
2 + 54 4 + 16.5 4 + 66 2.4 + 52.8
45.8 16.8 57.3 45.2
4 5940 2 + 54 46.7 5 6600 4+ 16.5 17.1 3 9900 4.8 + 49.5 45.3 6 16500 8 + 58.9 55.9 a Note: X signifies the calendar date in the next cycle.
0 45.8 62.6 119.9
45.8 62.6 119.9 165.1
1.6 49.1 65.9 121.9
166.6 214.1 65.9X 121.9X
165 211.7 228.8 274.1
211.7 228.8 274.1 330.0
166.7 215.0 232.8 280.8
1.7X 50.0X 232.8X 280.8X
468
Eilon--Multi-Product Batch Production on a Single Machine
normal working without overtime. Thus, the production period would consist of x~ calendar days at the rate b x2 calendar days at the rate 2b (using 8 hours overtime per day) If 2 is the average for the whole cycle, then the total production days required for a given product is tp equivalent to tp/2 calendar days, leading to ).(xl + x2) = tp
(24)
The batch produced is Q =btp, which is also obtained from Fig. 7 by Q = bx, + 2bx2, and it therefore follows that xt + 2x2 = tp
(25)
For any given batch Q (for which tp is known) the last two equations yield the values of xl and x2 and the resultant average stock level (which is lower than that in Fig. l(b) can be computed. APPENDIX A8 Notation
a = demand rate per calendar day (excluding weekends)
b = production rate for 8 hours per day c = fixed costs per unit (materials, labour and processing) h = holding cost per money unit of c per day m = a factor affecting the peak inventory = 1 - 7/2
p = selling price per unit s = set-up cost for a batch tp = production period expressed in production days = Q/b ts = set-up time for a batch y = variable cost per unit = s/Q + K Q y o = m i n i m u m value of y when the EBQ is produced C = cost per day, excluding overtime = s / T + Vh Co = m i n i m u m value of C when the EBQ is produced, excluding overtime Ca = bound for the total cost Cr Cr = total cost per day, including overtime K = holding cost factor = hcm/(2a) Q = batch size Qo = the EBQ to minimize the variable cost per unit of an individual product T = cycle time in calendar days V = average value of the stock oti = ai/a 1 2 = a/b