Ind. Eng. Chem. Res. 2003, 42, 3505-3508
3505
RESEARCH NOTES Scheduling Batch Production Using a Stepwise Approach Ka-Fai Chan and Chi-Wai Hui* Chemical Engineering Department, Hong Kong University of Science and Technology, Clear Water Bay, Hong Kong SAR, China
This paper presents a stepwise algorithm for scheduling a single-stage, multiproduct batch production. Instead of solving a full-scale problem, a stepwise method is proposed that adds new production orders sequentially into the existing schedule. A continuous-time mixed-integer linear model with some simple heuristics is used for optimizing the schedule at each scheduling step. By doing so, solution quality and time are significantly improved when compared with traditional approaches that tackle the full-scale scheduling. 1. Introduction
Table 1. BL(j,u), Batch Length of Order j at u
A good production scheduling method for batch productions is essential to cope with changes in market demands. For most batch production plants, production orders arrive irregularly, requesting a variety of products in different quantities with a range of due dates. Traditional scheduling methods apply simple heuristics to scheduling the production by either full-scale rescheduling (rescheduling everything at one time) or insertion of new orders into the existing schedule sequentially. Although the heuristic approach does not guarantee optimality, it is commonly used because of its reliability in producing feasible schedules as well as a reasonable solution time. The mathematical modeling approach is another alternative for scheduling batch production, which has been frequently discussed in the literature in the past decade.1 The advantage of using the mathematical modeling approach lies in the possibility of improving solution quality. In theory, optimality is guaranteed for most scheduling problems if the solution time is not considered. In a multiproduct batch production plant, the production schedule is made to satisfy production orders. Although production orders arrive irregularly, most of the reported scheduling methods tackle them all together as full-scale scheduling problems. Only a few rescheduling algorithms were proposed to avoid fullscale scheduling. Satake et al.2 proposed a simulated annealing approach to minimize the makespan of the general order shop, in which a better schedule is found by changing the operation sequence by viewing the Gantt chart of a nonoptimal schedule. To overcome the unexpected deviations in process time and unit availabilities, Kanakamedala et al.3 proposed a reactive schedule modification algorithm using a search tree analysis, which alternatively reassigns tasks to equipment. The algorithm selects the best alternative for causing minimum impact on the rest of the schedule to strike a balance between achieving a good solution within a reasonable computational effort. Huercio et al.4 * To whom correspondence should be addressed. E-mail:
[email protected].
u1 j1 j2 j3 j4 j5 j6 j7 j8 j9 j10
u2
u3
u4
1.7 0.9 1.1
1.3 2.4
1.7 1.4 1.8
0.85 1.05
1.6 2.6
1.65 2.1
1.9
u1 j11 j12 j13 j14 j15 j16 j17 j18 j19 j20
u2
1.8
u3
u4
0.5 0.85 1
0.7
1.6 1.48
1.39 1.3
0.7 1.2
1.05 1.45 1.85 1.2
0.95 1.3
Table 2. BS(j,u), Maximum Batch Size of j at u u1 j1 j2 j3 j4 j5 j6 j7 j8 j9 j10
u2
u3
u4
100 210 170
140 280
120 90 210
130 390
200 250
290 120
270
u1 j11 j12 j13 j14 j15 j16 j17 j18 j19 j20
u2
120
u3
u4
190 140 155
150
115 130
145 185
110 155
165 160 205 120
170 145
also presented a reactive scheduling algorithm, which adapts the current schedule to real-time disturbances, integrated to batch production control. The advantage of this algorithm is that the production schedule can be easily managed in real-time systems. Ko and Moon5 suggested DSMM (dynamic shift modification method), PUOM (parallel unit operation method), and UVVM (unit validity verification method), which minimize the effects of unexpected events in the scheduling process. In this paper, a stepwise algorithm combining simple heuristics into a continuous-time mixed-integer linear model is proposed. Instead of a full-scale scheduling, the proposed method adds new production orders sequentially into the existing schedule. 2. Problem Definition This paper deals with the problem of scheduling a single-stage, multiproduct batch production plant, in which a certain number of production orders are already
10.1021/ie020802y CCC: $25.00 © 2003 American Chemical Society Published on Web 06/07/2003
3506
Ind. Eng. Chem. Res., Vol. 42, No. 14, 2003
Table 3. C(i,j), Units’ Setup Time j1 j1 j2 j3 j4 j5 j6 j7 j8 j9 j10 j11 j12 j13 j14 j15 j16 j17 j18 j19 j20
j2
j3
j4
j5
j6
j7
j8
0.65
j9
j10
0.85
0.4
0.3 1
0.15
0.3
1.6
0.05 1.4
3
0.3 0.7
1.8
0.7
0.9
0.2 0.5
j11 0.25 0.5
0.6 1
1.25 0.6
0.8 0.75
0.7
0.95 0.3
0.55
0.15 0.8 1.3
0.4 1.45 0.2
0.25
1.05 0.8
0.4
0.5 0.7
1.3 0.5 0.4
0.8 0.3 0.45 0.65
0.9
0.1 1.55
0.2
1.2
0.3
1.1
0.5
0.25
0.35 0.85
0.8 0.55
0.15
1.15 0.35 0.8
0.6 1.4
j17
0.7 0.8 0.55
j19 0.3
0.5 0.7
0.2 0.8
0.35 0.5
0.75 1.3 0.9 0.8
1.1 0.85 1.15 0.15
1.3
0.15 0.4
0.95 0.35 1 0.5
0.2 0.45
0.9
1.2 1
0.8 0.25
0.75 1.05
0.4
j20
0.6
0.45
1.3
0.75 0.6
j18 0.65
0.4 0.3 0.85
0.7 0.45
j16 0.25 0.9
1.1 1.05
0.65
0.5
j15
0.75 1.2
0.45
j14
0.35 0.7
1.2 0.85
j13
0.9
1.65 2.1 1.5
j12
0.6
0.55 0.3
0.8 0.25 0.3 1.25
0.2 0.95 0.35 0.5
0.65
0.15 0.65 0.5 0.4
0.2 0.55 1.05
0.15 0.3 0.75
0.6
0.3 0.45
0.45 0.4
Table 4. Js(j), Order Size order size j1 j2 j3 j4 j5
550 850 700 900 500
order
size
order
size
order
size
j6 j7 j8 j9 j10
1050 950 850 450 650
j11 j12 j13 j14 j15
1000 850 700 900 500
j16 j17 j18 j19 j20
1050 950 850 450 650
Table 5. Dd(j), Due Date due order date j1 j2 j3 j4 j5
10 22 25 30 38
due order date j6 j7 j8 j9 J10
30 37 23 30 30
due order date j11 j12 j13 j14 j15
30 40 30 35 47
due order date j16 j17 j18 j19 j20
30 45 23 40 30
Table 6. RT(j), Order Release Time order
release time
order
release time
order
release time
order
release time
j1 j2 j3 j4 j5
0 5 0 6 0
j6 j7 j8 j9 j10
2 3 0 2 6
j11 j12 j13 j14 j15
3 5 0 6 5
j16 j17 j18 j19 j20
2 3 5 2 6
scheduled and with some orders that are to be added to the existing schedule. In the production plant, a fixed number of production units (U) are available to process all production orders (O). Each order involves a single product, requiring a single processing step, has a predetermined due date, and can only be processed in a subset of the units available. The production capacity of a unit depends on the order processed. The size of an order may be larger than the size of a batch, requiring several batch jobs to satisfy an order. Batch jobs of the same order are processed consecutively in the same unit. A production unit processes only one batch job at a time. The batch time of an order is fixed and is production unit dependent. During the transition of production orders, time is required for setting up the unit for the changeover. The setup time is job-sequence-dependent. The objective of the scheduling is to minimize the total tardiness by the assignment of orders to units while satisfying all of the above constraints. 3. Mathematical Model The model used in this study was proposed by Hui and Gupta6 for scheduling single-stage, multiproduct
Figure 1. Gantt chart: initial schedule with 10 orders.
batch plants and was extended for multistage batch production scheduling (Hui et al.7). The model uses three sets of bi-index decision variables, Xij, Wiu, and Siu, to represent respectively order i transferred to order j, order i assigned to unit u, and order i being the first order of unit u resulting in less integer variables than traditional formulations using tri-index binary variables, resulting in shorter solution time. 4. An Example An example of 20 orders is used to illustrate the features of the proposed scheduling methods. Example data for batch length, BL(j,u), batch size, BS(j), unit setup time, C(i,j), order size, JS(j), due date, Dd(j), and order release time, RT(j), are shown in Tables 1-6, respectively. Unit release times, RTU(u), are all zeros. In this example, we assume that a production schedule for the first 10 orders has already been set. The Gantt chart for this schedule is shown in Figure 1. Additional orders (J11-J20) are then to be added to the existing schedule, requiring rescheduling of the production. The simplest way of doing this is to reschedule the whole problem with all of the 20 orders using the proposed model. This provides the maximum freedom for the scheduling, so that a global optimum schedule might be generated. However, because of the increased size of the problem, solving it as a single problem requires enormous computing time. The model cannot generate a feasible solution within 100 000 iterations. To reach an integer solution after 500 000 iteration requires 694 CPU s. The Gantt chart for this solution is shown in Figure 2, for which the overall tardiness is 36.61.
Ind. Eng. Chem. Res., Vol. 42, No. 14, 2003 3507 Table 7. Solutions: Heuristic 1 new job
iteration
solution time (s)
total tardiness
J1-J10 J11 J12 J13 J14 J15 J16 J17 J18 J19 J20 total
436 22 201 94 14 148 72 433 6173 3733 28023 9716
0.89 0.16 0.39 0.33 0.22 0.38 0.33 0.93 7.75 5.49 34.55 51.42
0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 3.65 3.65 3.65 3.65
Figure 2. Gantt chart: rescheduled with all 20 orders simultaneously.
Figure 3. Gantt chart: rescheduling using heuristic 1.
5. Applying Stepwise Heuristics Instead of scheduling the whole problem with 20 orders, new orders are added sequentially into the existing scheduling with the following heuristics: Heuristic 1. When a new order is added into the existing schedule and the order is only allowed to be processed in a subset of process units, the current schedule on the other units (units that cannot process order i) will be fixed and will not be involved in this scheduling step. This can be simply done by removing the orders and units that are not involved in this scheduling step from the sets of processing orders (I) and feasible units (U). The model presented7 remains exactly the same. For instance, when order 11 is inserted into the existing schedule, only unit 3 and the orders that are scheduled on this unit are included for the rescheduling. The models are formulated in GAMS (Brooke et al.8) and solved by OSL (IBM, 1991) on a 400 MHz Pentium PC. For reducing the solution time, the relative optimality criterion (OPTCR) is set to be 0.1, which allows the solver to be terminated at an integer solution within 10% of the best possible integer solutions. The resulting schedule of applying heuristic 1 is shown in Figure 3. Computing times and the resulting tardiness at all intermediate steps are shown in Table 7. The procedure started with a solution of the first 10 orders and step-by-step insertion of orders 11-20 into the schedule. By application of heuristic 1, the overall tardiness of the 20-orders problem is reduced to 3.65 (from 36.61). The solution time is shortened to 51.42 CPU s (from 694 CPU s). Heuristic 2. In this heuristic, units’ online times (the overall processing time of a unit) are compared when a new order is added into the current schedule. The unit
Figure 4. Solution procedure.
Figure 5. Gantt chart: applying the solution procedure. Table 8. Solutions: Heuristic 2 new job
iteration
solution time (s)
total tardiness
J1-J10 J11 J12 J13 J14 J15 J16 J17 J18 J19 J20 J20 total
436 22 31 79 14 1 377 23 364 26 infeasible 8343 9716
0.89 0.17 0.18 0.22 0.18 0.15 0.55 0.21 0.67 0.23 0.11 0.95 23.06
0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 3.8 3.8 3.8 3.8
that has the lowest online time and is allowed to process the new order becomes the only feasible unit for processing the new order. By application of this heuristic, the freedom of the scheduling is highly restricted and, therefore, occasionally results in infeasible solutions.
3508
Ind. Eng. Chem. Res., Vol. 42, No. 14, 2003
Table 9. Performance Comparison
full-scale rescheduling stepwise approach with heuristic 1 stepwise approach with the proposed solution procedure
solution time (s)
total tardiness
694 51.42 23.06
36.61 3.65 3.8
To guarantee a feasible solution, a simple solution procedure is applied that is shown in Figure 4. The solution procedure first inserts a new order into the current schedule applying heuristic 2. If infeasible solution occurs, heuristic 1 will be applied. In case heuristic 1 still cannot find a feasible solution, a fullscale problem will be solved. In the example, the procedure successfully found feasible solutions with very little computing effort when applying heuristic 2 to orders 11-19. The solver failed to generate a feasible solution when order 20 was inserted. Therefore, a second solution is required using heuristic 1. This step generated a feasible solution with an overall tardiness of 3.8. The overall CPU time is further reduced to 23.06. The results are shown in Figure 5 and Table 8. 6. Conclusions A stepwise scheduling approach was proposed for scheduling a single-stage, multiproduct batch production by combining a continuous-time mixed-integer model and simple heuristics. Instead of solving a fullscale problem, production orders are added into the production schedule one by one. The heuristic imposed new restrictions to the scheduling problem, shortening significantly the solution time. To avoid infeasibility caused by the additional restrictions, a scheduling
procedure is proposed that relaxes the restrictions gradually, until a feasible solution is found. The proposed approach enhanced the flexibility of handling problems with different characteristics and sizes. In comparison with the full-scale scheduling approach, the solution time and quality are both significantly improved using the stepwise approach. The comparison is summarized in Table 9. Literature Cited (1) Reklaitis, G. V. Overview of planning and scheduling technologies. Latin Am. Appl. Res. 2000, 30 (4), 285-293. (2) Satake, T. K.; Morikawa, N.; Nakamura, Simulated annealing approach for minimizing makespan of general job-shop. Int. J. Prod. Econ. 1999, 60-61, 515-522. (3) Kanakamedala, K. B.; Reklaitis, G. V.; Venkatasubramanian, V. Reactive schedule modification in multipurpose batch chemical plants. Ind. Eng. Chem. Res. 1994, 33, 77-90. (4) Huercio, A.; Espuna, L.; Puigjaner, Incorporating online scheduling strategies in integrated batch-production control. Comput. Chem. Eng. 1995, 19, S609-S614. (5) Ko, D.; Moon, I. Development of a rescheduling system for the opimal operation of pipeless plants. Comput. Chem. Eng. 1999, 23, S523-S526. (6) Hui, C. W.; Gupta, A. A Bi-Index continuous time MILP model for Short-term Scheduling of Single-stage Multi-product Batch Plants with Parallel Line. Ind. Eng. Chem. Res. 2001, 40 (25), P5960-5967. (7) Hui, C.-W.; Gupta, A.; Meulen, H. An Novel MILP formulation for ShortOLINIT-Term Scheduling of Multistage MultiProducts Batch Plants. Comput. Chem. Eng. 2000, 24, 1611-1617. (8) Brooke, A.; Kendrick, D.; Meeraus, A. GAMSsA User’s Guide (Release 2.25); The Scientific Press: San Francisco, CA, 1992.
Received for review October 11, 2002 Revised manuscript received May 19, 2003 Accepted May 23, 2003 IE020802Y