1914
Ind. Eng. Chem. Res. 2003, 42, 1914-1924
A Slot-Based Formulation for Single-Stage Multiproduct Batch Plants with Multiple Orders per Product May-Fong Lim and I. A. Karimi* Department of Chemical and Environmental Engineering, National University of Singapore, 4 Engineering Drive 4, Singapore 117576, Singapore
Multiple orders per product with different due dates are natural in multiproduct batch plants. Existing approaches for scheduling short-term operations in such plants invariably treat each order as if it were a distinct product, convert orders into batches first, and then schedule batches using predecessor-successor variables. A novel mixed-integer linear programming (MILP) model that deals explicitly with multiple orders per product decides both product batches and their schedule in one formulation and uses slots is presented for single-stage batch plants with parallel, nonidentical units. The model is compared thoroughly with existing ones using four illustrative examples. As shown in an example, our model gives better and faster solutions than the current two-step approach. Both our general model and the one reduced for the special case of a single order per product consistently outperform other models by using fewer variables and constraints and by reducing nodes, iterations, and solution times by substantial factors. This paper shows that MILP models with big-M constraints suffer from an erratic dependence on M. Such models cannot be compared based on just one value of M and surely not based on different values of M, a fact overlooked in the literature so far. In contrast to other models, our model is relatively more robust with respect to M and is even free of M for the makespan objective. Last, slotbased models may be superior alternatives to predecessor-successor models for the present problem. Introduction In the past decade, several papers have appeared in the area of planning and scheduling of batch plants. Extensive reviews are given by Reklaitis,1 Applequist et al.,2 Pinto and Grossmann,3 and Shah.4 Kondili et al.,5 Shah et al.,6 and Gooding et al.7 presented discrete-time formulations that split the time horizon into equal intervals. These models employ a coarse time representation and usually require large numbers of binary variables and constraints. Recent efforts have focused on the more exact continuous-time formulations, where the intervals and their lengths are obtained through optimization. Zhang and Sargent8 presented a mixed-integer nonlinear programming (MINLP) formulation based on a resource-task network (RTN) for general resource-constrained batch/continuous plant scheduling. However, their approach required repetitive solutions of MILPs. Schilling and Pantelides9 proposed a MILP model for the scheduling of semicontinuous processes using RTN and presented a novel branch and bound algorithm to address computational issues arising from the large integrality gap. Reklaitis and Mockus10 presented another MINLP for batch plants using a state-task network (STN) representation. Pinto and Grossmann11 presented a MILP model for the scheduling of multistage batch plants with parallel units in each stage. They used parallel time axes for tasks and units and tetra-index (stage, order, slot, and unit) binary variables to relate tasks and units. However, they did not allow sequence-dependent operational features. To improve the computational performance, especially for large problems, they used preordering * Το whom correspondence should be addressed. Tel.: +65 6874-2186. Fax: +65 6779-1936. E-mail:
[email protected].
constraints in a two-step decomposition method. In another paper,12 the same authors considered the case where orders were presequenced. This reduced the number of binary variables by making them tri-indexed (order, stage, and unit). Karimi and McDonald13 proposed two MILP models for scheduling semicontinuous processes that differed in the designs of time slots. Ierapetritou et al.14 proposed an approach for batch/continuous processes that divided the time horizon into event points and decoupled task events from unit events but assumed that each task had only one suitable line. If a task can be processed in two units, then it must be treated as two distinct tasks. They considered multiple due dates for both batch and continuous processes but assumed that it is possible to meet all product demands at each due date for the batch process. In addition, they did not consider changeover times. Vin and Ierapetritou15 presented similar models for batch plants with the objective of maximizing profit instead of minimizing tardiness. In their paper, they proposed formulations for rescheduling due to machine breakdowns and rush order arrivals. Cerda et al.16 presented a MILP formulation for multiproduct batch plants using tri-index (predecessor, successor, and unit) binary variables representing predecessor-successor relations on units. They considered sequence-dependent transition times but allowed only one order per product. Mendez et al.17 used the same modeling approach but with a new set of bi-index (predecessor and successor) binary variables. In addition, they proposed an approach for solving the so-called “product-batching” problem, where each product may have multiple orders with different due dates. They split the problem into two subproblems. First, they obtained necessary batches, their sizes, and due dates while
10.1021/ie020536o CCC: $25.00 © 2003 American Chemical Society Published on Web 03/29/2003
Ind. Eng. Chem. Res., Vol. 42, No. 9, 2003 1915
Figure 1. Schematic of a single-stage multiproduct batch process with parallel units.
minimizing the inventory. Then, they scheduled these batches while minimizing the tardiness. Clearly, as we show later, this approach may result in a suboptimal solution because it considers only a subset of the solution space for the original scheduling problem with the tardiness objective. Hui et al.18 used a similar set of bi-index binary variables and extended the approach to multistage batch plants with one order per product. For the short-term scheduling of single-stage batch plants with multiple parallel units, existing research assumes one order per product. However, multiple orders for a product are common in real life. By treating these orders as distinct, one necessarily needs more binary variables in a MILP formulation. Furthermore, doing this is possible only in a two-step approach where batching is done first. Such an approach can result in a suboptimal solution. An approach that deals with both batching and scheduling decisions in one go is missing in the literature. Moreover, the existing work uses predecessor-successor variables to model batch sequences. An issue that remains unresolved in the literature is how this approach would compare with the one using time slots. This paper aims to address these two important issues by first developing a one-step, slotbased formulation for scheduling single-stage batch plants with parallel, nonidentical units, sequence-dependent changeover times, and multiple orders per product and then comparing it with existing approaches. We first describe the production facility and define the scheduling problem. Then, we develop a slot-based MILP formulation for the problem with multiple orders per product. Only for a comparison of our approach with existing work did we also simplify our formulation for the special case of the problem with one order per product. Using four examples, two for the general problem and all four for the special problem, we compare our slot-based approach with the predecessor-successor approach. Problem Description Figure 1 shows a schematic diagram of a multiproduct plant with a single processing stage that has J nonidentical, parallel, batch units (j ) 1 - J). The plant produces I distinct products (i ) 1 - I). A unit may be suitable for producing only a subset of products, or some units may be preferred for producing a given product. Hence, we assume that a product may be processed only in a subset of the J units. Production occurs in batches, and multiple units may process separate batches of the same product simultaneously. Batches of a product, even if assigned to the same unit, need not follow each other. The batch operation is nonpreemptive, and there are no resource constraints.
The size and processing time of a batch depend on the nature of its product and the unit on which it is produced. The batch sizes must be between some minimum and maximum (full) limits that are productand unit-dependent. The processing time of a batch consists of two parts: a fixed one that depends on the product and unit and a variable one that depends on the product, its batch size, and unit. Some changeover time, which is both unit- and sequence-dependent, is required between any two consecutive batches on a unit. It is important to note that, even if the plant contains semicontinuous units, we can still treat these productions as “batch” productions with some minimum and maximum processing times and an amount processed in each campaign. In the forthcoming scheduling horizon, the plant has a total of O orders with D (d ) 1 - D) due dates. An order may demand multiple products at different due dates. However, we assume that if an order has two or more products due at one due date and it is partially filled at that due date, then the products that have been produced in the required quantities would be delivered first. We sort the due dates as DD1 < DD2 < ... < DDd, where DDd denotes the dth due date, and let Qid denote the total quantity of product i demanded at DDd. A batch may fill multiple orders of a product. However, batches will always fill orders in the order of their due dates. An order may also be filled by one or more batches, and these batches may be produced by different units. The scheduling problem involves (1) assignment of batches and their sequence on each unit, (2) determination of the start and end times of each batch and its size, and (3) allocation of batches to orders. We assume that the plant objective is to maximize some measure of customer satisfaction (e.g., tardiness) or plant performance (e.g., makespan). In the next section, we develop a slot-based MILP formulation for the above problem. Model Formulation Let the time horizon for each unit comprise K slots, but the slots may not be identical on all units. We designate these slots to different due dates as follows. The first K1 slots fill orders due at DD1, but they need not finish before DD1. Similarly, the first K2 slots fill orders due on or before DD2 but need not finish before DD2, and likewise. Thus, K1 e K2 e K3 e ... e K. Later, we discuss a procedure for estimating K1, K2, etc. Now, we derive various constraints in our formulation, where, unless otherwise stated, all constraints are to be written for all values of their indices. Product Assignment. To assign a product i to a slot k on unit j, we use binary variables Yijk as follows. Yijk ) 1 if unit j processes a batch of product i during slot k 0 otherwise
{
We allow exactly one product in each slot; therefore,
Yijk ) 1 ∑ i∈I
(1)
j
Although multiple slots may have the same product, each of them will normally process a different batch. However, because we do not know how many batches a
1916
Ind. Eng. Chem. Res., Vol. 42, No. 9, 2003
unit will produce, a unit will have some extra slots. Equation 1 demands that a product be assigned to each extra slot as well. This means that we have to allow batches to span multiple slots. To model this “spillover” of a batch into the next slot, we define a binary variable Xjk as follows.
Xjk )
{
1 if a batch in slot k - 1 continues into slot k 0 otherwise
Xjk ) 1 means that slots k - 1 and k are processing the same batch of one product, while Xjk ) 0 means that they are processing two different batches of one or two products. Clearly, if a batch continues, then the product must too, but not vice versa. Similarly, if a product does not continue, then the batch cannot. To enforce this logic, we use the following constraints.
Xjk e Yij(k-1) - Yijk + 1
j ∈ Ji
(2a)
Xjk e Yijk - Yij(k-1) + 1
j ∈ Ji
(2b)
where Ji is the set of units suitable for product i. Note that Xjk ) 1 w Yij(k-1)Yijk ) 1 for some i, but Yij(k-1)Yijk ) 1 for some i implies Xjk e 1. In other words, the above constraints allow the freedom to produce the same or different batches in two successive slots when both slots have the same product. When the two slots have different products, then the batches cannot be the same and Xjk ) 0 as expected. Finally, to force the extra slots to be the last ones for each due date on each unit, only the last batch is allowed to span multiple slots, i.e.,
Xjk g Xj(k-1)
Kd-1 + 1 < k e Kd
(3)
Production Timings. Let TEjk denote the time at which slot k ends on unit j. If a batch is produced in slot k, then the length of slot k must exceed the changeover plus processing time for the batch in slot k. Let Bijk be the size of the batch in slot k and FPTij + BijkVPTij be its processing time, where FPTij and VPTij are constants. Then, the following ensures an adequate length for slot k.
TEjk g TEj(k-1) +
∑ (Yi′j(k-1) + Yijk - 1)CTi′ij +
i′∈Ij
(Yijk - Xjk)FPTij + BijkVPTij
j∈Ji (4)
If a batch in slot k - 1 continues in slot k, then we force both Bijk and the length of slot k to zero. Note that eq 4 is not a big-M constraint nor can a big-M constraint replace it. The previous work had to use big-M in their timing constraints because they did not use slots. Makespan H, the time required to produce all orders, is the time at which production ends on all units. This is the latest time at which slot K ends on any unit, i.e.,
(5)
H g TEjK
Batch Sizes. For product i on unit j, let BLij and BU ij denote the lower and upper limits, respectively, on its batch sizes. Although a batch may span multiple slots, we let only its first slot have a nonzero batch size, i.e.,
Bijk g BLij(Yijk - Xjk)
j ∈ Ji
(6)
and force the succeeding slots to have a zero batch size, i.e.,
Bijk e BU ij (1 - Xjk)
j ∈ Ji
(7)
If a product is not at all assigned to slot k on unit j, then its batch size must be zero, i.e.,
Bijk e BU ij Yijk
j ∈ Ji
(8)
Demand Fulfillment. We assume that the amount of products produced must exceed the demand. As stated earlier, the batches fill orders in the increasing order of their due dates. The batches produced in the first Kd slots must fill orders due at DDd and earlier. Therefore, Kd
∑∑
d
Bijk g
k)1j∈Ji
∑ Qid′
(9)
d′)1
Note that the above constraint only ensures that an ordered quantity is filled but does not say when that happens. In other words, the orders may be filled after their due dates. Order Tardiness. Let Did be the delay in filling the orders of product i due at DDd. If the last batch of product i in the first Kd slots finishes before DDd, then Did ) 0. If it does not, then Did is the time by which the last batch is delayed beyond DDd. Mathematically, we express this as
Did g TEjk - DDd - M(1 - Yijk)
j ∈ Ji, k e Kd (10)
where M is a sufficiently large positive number. For Yijk ) 0, the right-hand side of eq 10 is negative and the constraint is relaxed. For Yijk ) 1 and the batch finishing after DDd, Did equals tardiness. If the orders are filled before DDd, then the right-hand side of eq 10 becomes negative, and hence Did ) 0. Initial Plant State. At the start of the scheduling horizon, units may be processing some batches. New production assigned to a unit cannot start until the current batch, if any, on that unit finishes (nonpreemptive operation). To ensure this, we set
TEj0 ) RTj
(11)
where RTj, called the unit release time, is the time at which the current batch of product i0 finishes on unit j. Scheduling Objective. We select minimizing the weighted sum of tardiness as the scheduling objective for this problem, which is given by
SWT )
∑d ∑i RidDid
(12)
where Rid is the penalty for the delay in filling the demand of product i at DDd. This penalty may depend on Qid. This completes our formulation for the problem with multiple orders for each product. Next, we simplify the same for the problem with one order per product. Note that the formulation need not include eq 5 if makespan is not the objective. Special Case of One Order per Product Most existing papers on batch plant scheduling assume one order per product. Solely for doing an apple-
Ind. Eng. Chem. Res., Vol. 42, No. 9, 2003 1917
to-apple comparison of our model with the existing models, we simplify our formulation for this special case. To this end, we make some more assumptions, in addition to those stated earlier. 1. Each order is filled by one or more contiguous batches on a single unit. This is to minimize transitions between different products. 2. Each unit runs at its maximum capacity; i.e., the size of each batch is the maximum allowed on that unit. 3. Order quantity is an integer multiple of the maximum batch size. Batches required for an order and their batch size depend on the product and the unit. In this problem, order is synonymous with product, so i refers to both order and product. When a slot is assigned a product, it must produce all of the required batches consecutively, so we no longer need to track batches separately. In other words, we do not need the binary variables Xjk (eqs 2a,b, 3, and 6-9). As in the earlier formulation, the time horizon for each unit comprises K slots that may not be identical on all units. Similarly, these slots are distributed among the different due dates in the same way; first K1 slots fill orders due at DD1, first K2 slots fill orders due on or before DD2, and so on. Let IIk represent the set of orders/products that can be produced in slot k, i.e., orders with due dates on or before DDd. Then, eq 1 becomes
∑
i∈Ij∩IIk
Yijk ) 1
(13)
In many situations, a product may not follow another because of incompatibility. Let NSi denote the set of products that cannot follow a product i on any unit. We exclude such scenarios by using
Yij(k-1) + Yi′jk e 1 i ∈ IIk-1, i′ ∈ IIk, i′ ∈ NSi, j ∈ Ji ∩ Ji′ (14) To ensure that each order is produced, we impose
∑k j∈J ∑Yijk g 1
(15)
i
∑
i ∈ IIk, j ∈ Ji (16)
Once assigned to a unit, the entire production of an order must take place in one slot and the slot must process an integer number of full-size batches for that order. If NBij is the number of full-size batches required for product i on unit j and BTij is the processing time of each batch, then eq 4 becomes
(Yi′j(k-1) + Yijk - 1)CTi′ij +
i′∈IIj∩Ik-1
(Yijk - Yij(k-1))NBijBTij
i ∈ IIk, j ∈ Ji (17)
Note that the above constraint forces the extra slots to have zero lengths. Also, eq 11 remains unchanged. Because an order with one product cannot have more than one due date, we drop the index d in the delay variable Did and define the due date for product i as DDOi. Then, eq 10 becomes
Di g TEjk - DDOi - M(1 - Yijk) i ∈ IIk, j ∈ Ji (18) Scheduling Objectives. For this special problem for orders of distinct products, we use two scheduling objectives, one to minimize the weighted sum of tardiness and the other to minimize the total makespan H (eq 5). The sum of weighted tardiness is given by
∑i RiDi
SWT )
(19)
where Ri is the penalty for the delay in delivery of order/ product i. In summary, the MILP model for the problem with one order per product comprises eqs 5, 11, and 13-19. Recall that we assigned the production from first Kd slots to fulfill orders due on or before DDd. We now address how to estimate Kd. Of course, one trivial choice is K1 ) K2 ) ... ) K, but better estimates could help reduce binary variables in our formulation significantly. Designation of Slots to Due Dates For the general case of multiple orders per product, minimizing the tardiness is the objective, so we designate slots to a due date based on the cumulative demands of products up to that due date and the minimum batch sizes of products. Recall that the cumulative demand for product i up to DDd is Qi1 + Qi2 + ... + Qid. Thus, the maximum number (MNBid) of batches of product i, required before DDd to fill this cumulative demand, is
MNBid )
Note that, unlike the earlier formulation, this constraint is required here because we do not impose eq 9 for demand fulfillment in this formulation. Equation 15 allows an order to be assigned to multiple slots, although strictly speaking only one slot is required for each order. This is to fill the extra slots with a product as well. When an order is assigned to multiple consecutive slots, then all of these slots will “produce” the same order, but we allow only the first slot to have nonzero length. All of the subsequent slots will have zero lengths. To ensure that these zero-length (extra) slots occur only at the end of the slots for each due date on each unit, we impose the following:
Yij(k-2) + Yij(k-1) e 1 + Yijk
TEjk g TEj(k-1) +
Qi1 + Qi2 + ... + Qid minBLij
(20)
j∈Ji
Then, the average number of batches of product i that unit j would process for the orders of product i due on or before DDd is MNBid/|Ji|. Summing this over all products, we get the average number of batches on unit j. Because this number may differ from unit to unit, we select Kd as the maximum over all units, i.e.,
Kd ≈ max j
[
∑ i∈I j
]
MNBid |Ji|
(21)
Later, we illustrate the above procedure with an example. Note that BLij in eqs 20 and 21 should be commensurated with the quantity required for product i because a small BLij could give a large Kd. Just because a unit can produce a small batch does not mean that it should actually do so. The formulation gives the user the flexibility to set a BLij that is appropriate for each i and j so that the problem size does not explode unnecessarily. Even from the viewpoint of effective
1918
Ind. Eng. Chem. Res., Vol. 42, No. 9, 2003
Table 1. Product Batches for Examples 1 and 2 in Mendez et al.17 Model product i batches
size (kg)
due dates (h)
1 2 3 4 4 5 6 7 8
1-3 4, 5 6, 7 8-10 11 12 13-15 16-19 20, 21
6000 6000 6000 6000 5000 6000 5000 4500 6000
1 1 2 3 3 4 4
1 2, 3 4-8 9 10 11 12, 13
150 100 100 150 100 200 100
processing time (h)
Ji
Example 1 72 48, 72 48 48, 72, 120 120 24 48, 96, 144 24, 48, 96, 120 24, 120
8 10 12 12 12 8 16 12 20
1-4, 7 1-4, 7 1-4, 7 1-4, 7 5, 6 1-4 5, 6 5-7 1-4, 7
Example 2 24 72, 96 24, 48, 72, 96, 96 24 72 48 72, 96
26.75 20.0 18.0, 19.5 27.5 19.0 32.5 18.5
3 2 1, 3 1 1, 2 1 2
equipment utilization, it would make sense to set as high a BLij as possible. For the special case of one order per product, we follow the same procedure to determine Kd, as long as tardiness is the objective. However, instead of using the cumulative demands of products, we simply set MNBid ) 1 if order is due on or before DDd. For minimizing the makespan, due dates are immaterial. Hence, we do not distribute slots among due dates but allow all slots to fill each order, i.e., K1 ) K2 ) ... ) K. We now consider four examples to illustrate the application and effectiveness of our formulations as compared to those of Cerda et al.16 and Mendez et al.17 Examples 1 and 2 involve multiple orders per product, while examples 3 and 4 involve a single order per product. For all work in this paper, we used GAMS/ CPLEX 6.6 on an HP7194-116 running HP-Unix/90007XX. Example 1 This example from Mendez et al.17 involves four units (J ) 4), eight products (I ) 8), and twenty-nine orders
(O ) 29) due at six due dates (D ) 6). For full details of this example, please refer to work by Mendez et al.17 The scheduling objective is to minimize tardiness. As stated earlier, Mendez et al.17 use a two-step procedure. The first step makes the batching decisions to minimize the inventory. However, in this step, they require all orders to complete before their due dates. Their second step schedules the batches obtained from the first step to minimize the tardiness. For this example, Mendez et al.17 obtained the batches listed in Table 1. Now, we can solve the problem in two ways. The first is to use our general model for multiple orders per product to solve the entire problem in one step, while the second is to use the batches obtained by Mendez et al.17 and schedule them using our special model for one order per product. In Table 2, model “our (1)” refers to the first way and “our (2)” refers to the second. Similarly, in Table 3, example “1 (1)” refers to the first and example “1 (2)” refers to the second. For our general model, we distributed the slots to due dates as follows. Consider DD1. Products 1-4 and 6 are not required at DD1; hence, MNB11 ) MNB21 ) MNB31 ) MNB41 ) MNB61 ) 0. For product 5, Q51 ) 2301 kg L and minj∈J5B5j ) 5000 kg, so we get MNB51 ) 1. Because J5 ) {1, 2, 3, 4, 5, 6}, |J5| ) 6. Similarly, we get MNB71 ) 1, MNB81 ) 1, |J7| ) 7, and |J8| ) 5. Summing over all products and taking the maximum over all units as in eq 21, we obtain K1 ) 1. Doing the same for other due dates, we get K2 ) 2, K3 ) 3, K4 ) 4, K5 ) 4, and K6 ) 4. Similarly, for our special model with one order per product, we obtain K1 ) 1, K2 ) 2, K3 ) 3, K4 ) 3, K5 ) 4, and K6 ) 4 using eq 21 for the batches listed in Table 1. Because all three models (our (1), our (2), and Mendez et al.17) employ the so-called big-M constraints (eq 10) and the value of M impacts the solution time significantly, we solved all three models for a wide range of M to get a comprehensive comparison. We see from Table 2 that solution times vary significantly with M and that too in an erratic manner. So far, no work in the literature has reported this observation and most work on batch scheduling has not even mentioned the
Table 2. Comparison of Our (1) (General Model), Our (2) (Distinct Orders), and the Mendez et al.17 Model on Example 1 B&B nodes
LP iterations
CPU time (s)
M
our (1)
our (2)
Mendez et al.17
our (1)
our (2)
Mendez et al.17
our (1)
our (2)
Mendez et al.17
100 200 500 1000 2000 5000 10000 100000
31 45 45 24 42 20 40 43
2 1 3 2 2 4 1 3
981 238 324 791 346 211 501 592
1607 2078 2463 1520 2028 1281 1822 2112
196 133 256 151 167 299 131 207
44 275 11 563 13 286 36 650 10 030 8 438 14 730 26 271
4.1 4.6 5.0 3.9 4.5 3.8 4.2 4.4
0.6 0.5 0.7 0.5 0.5 0.7 0.5 0.6
65.7 29.2 35.7 57.4 28.3 25.2 36.8 51.9
Table 3. Model Statistics for Various Formulations in Examples 1-4 binary variables example
our
1 (1)c 1 (2)d 2 (1) 2 (2) 2 (batching) 3 (tardiness) 3 (makespan) 4
209 224 77 90
a
69 69 116
Ma
continuous variables Cb
265 50 94 32
392 105 48 113 113 189
our
157 157 194
27 14 45
M
constraints C
1583 498 483 212
373 46 57 44 35 73
our
31 22 61
165 104 365
M
nonzeros C
5797 3126 1575 986
1713 292 144 352 352 524
M ) Mendez et al.17 model. b C ) Cerda et al.16 model. c (1) refers to our general model.
d
our
268 268 446
814 662 1617
M
C
7957 1220 356 1518 1509 2168
(2) refers to our special model.
1486 1477 1787
Ind. Eng. Chem. Res., Vol. 42, No. 9, 2003 1919 Table 4. Optimal Schedules for Example 1 from Our Model and the Mendez et al.17 Model our model unit
product
batch size (kg)
start-finish (h)
due date (h)
1
4 1 3
6000 6000 6000
0.0-12.0 14.7-22.7 24.3-36.3
48 72 48
2
2 1 7 8 8
6000 6000 6000 6000 6000
0.0-10.0 11.5-19.5 75.0-87.0 124.0-144.0 0.0-20.0
24 72 120 144 24
1 6 4 5 7 5 7 7 4 6 6 4 3 2
6000 6000 6000 5000 4500 5000 4500 4500 5000 5000 5000 6000 6000 6000
0.0-8.0 12.1-28.1 44.0-56.0 0.0-8.0 10.1-22.1 35.1-43.1 54.1-66.1 0.0-12.0 13.7-25.7 26.7-42.7 42.7-58.7 0.0-12.0 13.4-25.4 26.7-36.7
72 48 120 24 48 72 96 24 120 120 168 72 48 72
3 4 5
6
7
Mendez et al.17 model
our model (distinct orders) batch
product
size (kg)
start-finish (h)
3 6 9 21 2 8
1 3 4 8 1 4
6000 6000 6000 6000 6000 6000
0.0-8.0 9.6-21.6 23.7-35.7 37.2-57.2 0.0-8.0 9.0-21.0
1 12
1 5
6000 6000
0.0-8.0 9.5-17.5
20 4 10 16 13 14 15 17 11
8 2 4 7 6 6 6 7 4
6000 6000 6000 4500 5000 5000 5000 4500 5000
0.0-20.0 21.2-31.2 33.7-45.7 0.0-12.0 16.1-32.1 32.1-48.1 48.1-64.1 0.0-12.0 13.7-25.7
18 7 5 19
7 3 2 7
4500 6000 6000 4500
0.0-12.0 13.4-25.4 26.7-36.7 39.0-51.0
batch
product
size (kg)
start-finish (h)
8
4
6000
0.0-12.0
12 10 3
5 4 1
6000 6000 6000
0.0-8.0 13.9-25.9 28.6-36.6
20 5 9 7 21 4 16 13 11
8 2 4 3 8 2 7 6 4
6000 6000 6000 6000 6000 6000 4500 5000 5000
4.0-24.0 25.2-35.2 60.0-72.0 0.0-12.0 16.8-36.8 38.0-48.0 0.0-12.0 16.1-32.1 13.5-45.5
19 15 14 18 1 2 6 17
7 6 6 7 1 1 3 7
4500 5000 5000 4500 6000 6000 6000 4500
0.0-12.0 16.1-32.1 32.1-48.1 84.0-96.0 0.0-8.0 11.0-19.0 20.6-32.6 36.0-48.0
Table 5. Limits on Product Batch Sizes and Processing Times as Functions of Batch Sizes for Example 2 lower-upper product batch sizes (kg) unit 1 2 3
1 100-120 140-160
coefficients FPTij (h)/VPTij (h/kg) in batch processing time expressions
2
3
4
100-140
100-150 100-120
150-200 100-150
80-120
values of M. Note from Table 2 that both of our models are relatively more robust with respect to M. For the range of M in Table 2, our general model reduces the branch and bound (B&B) nodes, linear programming (LP) iterations, and solution times by factors of roughly 5-32, 5-27, and 6-16. In terms of model size (Table 3), our general model uses fewer binary variables (209 vs 392), continuous variables (265 vs 373), constraints (1583 vs 1713), and nonzeros (5797 vs 7957) than Mendez et al.17 Our general model outperforms that of Mendez et al.17 despite the fact that the latter assumes predetermined batches, while our model decides the batches simultaneously with their sequencing and scheduling. In other words, our model does much better, even though it solves a more complex problem. To compare the two models on the same footing, consider our (2) vs Mendez et al.17 Our special model for distinct orders uses fewer binary variables (224 vs 392), continuous variables (50 vs 373), constraints (498 vs 1713), and nonzeros (3126 vs 7957). However, more significantly, it reduces (Table 2) the B&B nodes, LP iterations, and solution times by factors of roughly 108501, 28-243, and 36-115, as compared to that of Mendez et al.17 This is clearly a huge reduction, which proves that both of our models perform far better than that of Mendez et al.17 in all respects for this example. Table 4 summarizes the optimal schedules obtained from the three models. All three models achieve zero tardiness in both RMIP (Relaxed mixed-integer programming) and MILP solutions. However, the optimal schedules are different, especially the batches for each
1
2 3/0.15
5/0.15 5/0.145
3
4
2/0.17 2/0.17
2.5/0.15 3/0.155
4/0.155
product and units on which they are produced. For instance, all three models produce three 6000 kg batches for product 1, but our (1) produces them on units 1, 2, and 4, while our (2) produces them on units 1-3 and the Mendez et al.17 model produces them on units 2, 7, and 7. For product 5, our (1) produces two 5000 kg batches on unit 5, while both our (2) and the Mendez et al.17 models produce only one 6000 kg batch on unit 3. With a number of alternate optimal solutions, this example seems relatively easy. This example is relatively trivial, because it is possible to meet all due dates, so we now consider a more difficult example where this is not so. Example 2 A plant has three units (J ) 3) and produces four products (I ) 4). All units are available for production at the start of the scheduling period that comprises four due dates (D ) 4). The scheduling objective is to minimize tardiness. Table 5 lists the limits on batch sizes and the coefficients in the expressions for batch processing times, while Table 6 shows the unit-independent, sequence-dependent transition times between batches and the product demands at various due dates. As was done for example 1, we solve this problem in two ways, one using our general model for multiple orders per product and the other using our special model for a single order per product. Again, our (1) and 2 (1) refer to the first and our (2) and 2 (2) refer to the second in Tables 2 and 7. Because meeting all due dates is impossible in this example, we faced a difficulty in determining the
1920
Ind. Eng. Chem. Res., Vol. 42, No. 9, 2003
Table 6. Unit-Independent, Sequence-Dependent Transition Times between Batches and Order Requirements (kg) for Example 2 product i 1 2 3 4
transition time (CTii′j, h) to product i′ 1 2 3 4
order requirement (Qid, kg) at due date DDd 1 2 3 4
0.0 1.5 1.6 2.7
50 100 50
5.1 0.0 1.3 4.8
1.6 2.3 0.0 1.4
1.0 2.5 2.1 0.0
100 100 100 200
100 100 100 100
100 200 100
batches for this example using the Mendez et al.17 approach. We could not force orders to complete before their due dates because this made the batching subproblem of Mendez et al.17 infeasible. As a result, we had to solve the batching subproblem of Mendez et al.17 without this constraint. That yielded the batches listed in Table 1. For our general model, we obtain K1 ) 2, K2 ) 4, K3 ) 5, and K4 ) 7 using eq 21. For our special model with one order per product, we obtain K1 ) 3, K2 ) 4, K3 ) 5, and K4 ) 6 using eq 21 for the batches in Table 1. Again, we solve our models and that of Mendez et al.17 for a wide range of M. Table 3 gives a comparison of model statistics, Table 7 summarizes the model performances, and Table 8 presents the optimal schedules. For this example, our general model requires fewer binary variables (77 vs 105) but more continuous variables (94 vs 46), constraints (483 vs 292), and nonzeros (1575 vs 1220) as compared to the Mendez et al.17 model. For the range of M in Table 7, our general model reduces the nodes by a factor of roughly 2-11 but needs more iterations and solution times for large
M (g3000). However, the key point is that our model gives a much better objective (30.51 h vs 74.0 h) than the Mendez et al.17 model. In other words, the two-step approach of the Mendez et al.17 approach fails to include the full solution space and gives a suboptimal solution for problems in which one cannot meet all due dates. In addition, as discussed earlier, our model is solving an inherently more complex problem, so greater solution times for M g 3000 are explicable. Our special model for one order per product, when scheduling batches in Table 1, requires fewer binary variables (90 vs 105), continuous variables (32 vs 46), constraints (212 vs 292), and nonzeros (986 vs 1220). Although it gives the same MILP objective (74.0 h) as the Mendez et al.8 model, it has a lower RMIP objective. It also takes more nodes than the Mendez et al.17 model for M ) 500 and 3000, However, it still reduces both the iterations and solution times by factors of roughly 2-6. Note that our model does consistently better than the Mendez et al.17 model despite its lower RMIP solution. It is also useful to compare our two models with each other. Recall that the special model essentially schedules a given set of batches while the general model solves the entire problem in one go. However, as we see from Table 7, neither of the two is a clear winner in terms of efficiency. In other words, it is better to use the general model because it guarantees an optimal solution for the general problem with multiple orders per product. As mentioned in the beginning, by treating the orders as distinct, one may end up with more binary variables in the subproblem that schedules batches.
Table 7. Comparison of Various Formulations on Example 2a nodes
iterations
CPU time (s)
M
our (1)
our (2)
Mendez et al.17
our (1)
our (2)
Mendez et al.17
our (1)
our (2)
Mendez et al.17
150 200 500 1000 3000 5000 10000 100000
21 194 20 014 41 217 43 003 161 990 121 158 201 902 160 084
219 359 175 807 359 996 134 423 279 212 241 738 134 693 251 421
243 661 192 738 235 359 226 359 225 636 248 308 394 175 393 759
444 081 412 012 769 912 1 015 420 4 715 291 2 382 213 4 017 048 4 652 975
875 768 739 485 1 384 238 513 575 1 187 285 909 198 570 428 1 127 122
2 895 359 1 910 932 2 438 104 2 194 482 2 124 992 2 631 604 3 624 289 3 850 607
64.7 59.0 103.2 133.4 617.9 463.9 791.8 593.6
153.7 116.4 244.0 94.9 197.5 178.0 92.3 182.1
400.1 294.7 371.2 342.5 331.9 390.5 534.5 557.6
min tardiness a
our (1): general model
our (2): special model
Mendez et al.17
RMIP ) 0 h MIP ) 30.51 h
RMIP ) 0 h MIP ) 74.00 h
RMIP ) 6.25 h MIP ) 74.00 h
Batching subproblem in the Mendez et al.17 model: 118 nodes, 186 iterations, 0.1 s.
Table 8. Optimal Schedules for Various Models in Example 2 our (2): special model/Mendez et al.17
our (1): general model unit
product
batch size (kg)
start-finish (h)
due date (h)
1
3 2 3 2 2 1 4 4 4 4 2 1 2 1
150 108 100 100 100 100 100 100 100 100 100 150 92 140
0.0-27.5 28.8-48.0 50.3-69.3 70.6-88.6 88.6-106.6 0.0-20.0 21.0-39.5 39.5-58.0 58.0-76.5 76.5-95.0 0.0-19.5 21.0-47.75 52.85-71.11 72.61-97.91
24 48 72 96 96 24 48 48 72 96 24 48 72 96
2
3
batch
product
size
start-finish (h)
due date (h)
9 5 11 7
3 2 4 2
150 100 200 100
0.0-27.5 28.8-46.8 49.3-81.8 86.6-104.6
24 48 48 96
12 10 2 3 13 4 1 6 8
4 3 1 1 4 2 1 2 2
100 100 100 100 100 100 150 100 100
0.0-18.5 19.9-38.9 40.5-60.5 60.5-80.5 81.5-100.0 0.0-19.5 21.0-47.75 52.85-72.35 76.5-96.0
72 72 72 96 96 24 24 72 96
Ind. Eng. Chem. Res., Vol. 42, No. 9, 2003 1921 Table 9. Production Data for Example 3
order
due date (h)
1 2 3 4 5 6 7 8 9 10
24 48 24 96 96 72 96 72 48 96
Table 11. Comparison of Various Models on Example 3 for Makespan and Tardiness Objectives
no. of batches × processing time per batch (h) on units 1 2 3 4 4 × 7.8 4 × 5.8
4 × 7.3 3 × 9.8
5 × 9.3 4 × 9.1 6 × 6.8
6 × 6.6 5 × 6.3
5 × 6.8 6 × 6.3 6 × 6.8
6 × 6.8
3 × 11.8 5 × 9.3 4 × 7.8 6 × 9.8 5 × 5.3 5 × 9.8
performance measurea
4 × 8.8 5 × 9.8 4 × 8.8
1
1 2 3 4 5 6 7 8 9 10
3.6 2.6 2.0 3.5 3.1 2.2 1.7 2.1 1.65
3
4
5
6
7
8
9
10
2.5
2.6 2.3
3.1 1.8 3.4
3.0 2.1 3.5 2.9
1.4 2.4 2.5 5.4 2.7
2.9 4.1 1.4 5.7 4.0 2.1
1.4 3.2 2.55 3.6 3.2 4.6 2.2
2.65 1.6 1.85 4.1 2.3 3.69 4.3 3.9
1.8 2.05 0.85 2.05 1.9 2.7 2.4 1.89 1.5
2.1 2.5 2.0 2.4 2.9 1.8 0.9
3.4 5.0 4.1 3.5 2.1 0.7
3.4 3.1 4.4 1.4 1.06
2.4 2.8 1.15 0.85
4.5 1.2 1.6
1.0 1.6
Cerda et al.16
Min Tardiness of 50.85 h 0 10.6 1.55 183 1915 43 558
10.6 15.5 12 714
a CPU times and B&B nodes are averages of those for M ) (150, 200, 500, 1000, 5000, 10 000, and 100 000) except for our model for makespan.
6 × 6.4
2
2.0 4.5 4.1 3.1 3.3 1.6 1.3 1.4
Mendez et al.17
Scheduling Objective Min Makespan of 98.05 h RMIP value (h) 20.5 46.5 46.5 CPU time (s) 22.7 2283 131.2 B&B nodes 27 558 998 940 95 663 RMIP value (h) CPU time (s) B&B nodes
Table 10. Unit-Independent, Sequence-Dependent Transition Times (h) between Orders for Example 3 order
our model
1.7
This may actually make the subproblem more difficult to solve than the entire problem. Thus, our general model should be preferred, unless the orders are indeed for distinct products. Our special model gives the same schedule as the Mendez et al.17 model. In a comparison of the schedules (Table 8) from the three models, our general model produces two 100 kg batches of product 1 on units 1 and 2 and one 150 kg and one 140 kg batch on unit 3, while the Mendez et al.17 model and our special model produce two 100 kg batches on unit 2 and one 150 kg batch on unit 3. For product 2, our general model produces one 92 kg batch on unit 3 and two 100 kg batches on units 1 and 3, while the Mendez et al.17 model and our special model produce four 100 kg batches, two each on units 1 and 3. For product 3, our general model produces one 150 kg batch on unit 1, while the other two models produce two 100 kg batches on units 1 and 2. For product 4, our general model produces four 100 kg batches on unit 2, while the other two models produce two 100 kg batches on unit 2 and one 200 kg batch on unit 1. After two examples with multiple orders per product, we now take two examples with a single order per product. These examples lend further support to our observation that our model outperforms others despite having inferior RMIP values. Example 3 A plant has four units and ten customer orders. Each order has a single due date and is distinct. Tables 9 and 10 provide the number of full-size batches and due dates for each order, batch processing times, and sequencedependent transition times. We again assume that all units are available for processing at the start of the scheduling period. We solve this example for two scheduling objectives (tardiness and makespan) using our reduced formulation for the system with a single order per product and compare the results with those obtained from the models of Mendez et al.17 and Cerda et al.16
For minimizing the makespan, we use three slots for each unit. Note that, in contrast to the other models and our tardiness model, our makespan model does not need M at all. All three models achieve the same minimum makespan of 98.05 h; however, our model again has a lower RMIP makespan (20.5 h vs 46.5 h). As shown in Table 3, our model uses fewer binary variables (69 vs 113 and 157), continuous variables (14 vs 35 and 22), constraints (104 vs 352 and 268), and nonzeros (662 vs 1509 and 1477) as compared to the Mendez et al.17 and Cerda et al.16 models, respectively. Again, despite a lower RMIP solution, our model significantly outperforms the other two models (Table 11). In contrast to a solution time of 22.7 s for our model, the Mendez et al.17 and Cerda et al.16 models require on an average (over M) 2283 and 131.2 s, respectively. In brief, our model reduces solution times by factors of roughly 100 and 6, respectively. For the tardiness objective, we obtain K1 ) 1, K2 ) 2, K3 ) 3, and K4 ) 4 using eq 21. All three models (ours, Mendez et al.,17 and Cerda et al.16) require the use of M. A minimum tardiness of 50.85 h is obtained from all three models, but our model has a lower RMIP solution (0 h) than that of the other two (10.6 h). As we see from Table 3, our model uses far fewer binary variables (69 vs 113 and 157), continuous variables (27 vs 44 and 31), constraints (165 vs 352 and 268), and nonzeros (814 vs 1518 and 1486) as compared to the models of Mendez et al.17 and Cerda et al.,16 respectively. As shown in Table 11, our model significantly outperforms the other models (1.55 s vs 183 and 15.5 s) on an average (over M). It reduces solution times by factors of roughly 118 and 10 over those of the Mendez et al.17 and Cerda et al.16 models, respectively. This is remarkable considering the larger integrality gap of our model. This clearly suggests that a lower integrality gap does not always mean a superior model. Interestingly, for both objectives, all three models give the same final schedule (Table 12). Finally, we consider a problem bigger than example 3. Example 4 This example from Cerda et al.16 involves four units (J ) 4), twenty orders of distinct products (I ) 20), and fifteen due dates. Please refer to work by Cerda et al.16 for full details. We consider only the tardiness objective. For our special model, we obtain K1 ) 1, K2 ) 1, K3 ) 2, K4 ) 2, K5 ) 2, K6 ) 2, K7 ) 2, K8 ) 3, K9 ) 3, K10 ) 3, K11 ) 4, K12 ) 4, K13 ) 4, K14 ) 5, and K15 ) 5. Table 13 compares the model performances for several M. All three models achieve zero tardiness in both RMIP and
1922
Ind. Eng. Chem. Res., Vol. 42, No. 9, 2003
Table 12. Schedules with Minimum Makespan and Tardiness for Example 3 makespan
tardiness
unit
order
start-finish (h)
unit
order
start-finish (h)
1
9 8 2 7 1 3 10 6 5 4
0.00-37.80 39.25-73.25 74.85-98.05 3.15-34.80 36.85-66.05 68.65-98.05 0.00-38.40 39.25-98.05 0.00-35.20 49.05-98.05
1
9 8 1 6 7 3 2 10 5 4
0.00-37.80 38.80-72.80 0.00-29.20 30.60-70.20 72.30-103.80 0.00-35.40 37.40-64.60 66.65-105.05 0.00-35.20 38.60-87.60
2 3 4
2 3 4
Table 13. Comparison of Various Models on Example 4 Mendez et al.17
our model M 100 200 300 400 500
CPU nodes time (s) 1484 209 638 149 418
6.4 1.6 2.5 1.2 1.8
nodes
Cerda et al.16
CPU time (s)
nodes
CPU time (s)
31 298 162.8 4620 24.8 >300 000 >3000 1490 7.9 4667 23.0 >300 000 >3000 >300 000 >3000 5294 39.5 308 318 1891.3 49 904 360.2
Table 14. Optimal Schedule for Example 4 due date start-finish unit order (h) (h) 1
2
1 10 18 9 6 17 15 4 20 14
10 21 27 30 30 30 12 20 24 29
0.00-6.80 7.20-12.40 13.40-17.00 17.35-20.55 21.35-26.15 26.50-29.10 5.50-9.94 10.14-15.24 15.99-19.59 19.99-27.99
due date start-finish unit order (h) (h) 3
4
13 7 16 3 2 11 19 8 12 5
15 17 19 25 22 30 30 23 28 28
2.00-4.00 5.55-7.65 8.45-11.05 12.10-15.40 15.55-17.35 17.60-18.70 18.90-21.75 3.00-15.60 16.65-18.75 19.15-21.70
MILP solutions. Similar to the previous three examples, our special model uses fewer binary variables (116 vs 189 and 194) and continuous variables (45 vs 94 and 61), constraints (365 vs 520 and 446), and nonzeros (1617 vs 2168 and 1787) as compared to the Mendez et al.17 and Cerda et al.16 models, respectively (Table 4). Overall, our model reduces nodes and solution times by factors of at least 7 and 3 and of 9 and 4 as compared to those of Mendez et al.17 and Cerda et al.,16 respectively. However, more importantly, our formulation seems relatively more robust with respect to M. The performances of the other two models vary drastically with M. For instance, the Mendez et al.17 model needs just 4667 nodes and 23 s for M ) 300 but more than 300 000 nodes and 3000 s for M ) 200 and M ) 400. Similarly, the Cerda et al.16 model needs just 1490 nodes and 7.9 s for M ) 200 but more than 300 000 nodes and 3000 s for M ) 300. Finally, all three models give the same optimal schedule as that in Table 14. Remarks Several features of our formulation are distinct from those of previous studies on the present problem. 1. We use variable-length time slots instead of the predecessor-successor variables. Although the slot formulation has the disadvantage that we must guess the number of slots a priori, our model seems to consistently outperform other models using the procedure that we have presented for estimating the number of slots for this problem.
2. All papers on this problem assume one order per product, while our model does not. It deals explicitly with products having multiple orders and orders having multiple products. More importantly, it does batching and scheduling in one single step rather than two separate steps as done by Mendez et al.17 This, as demonstrated in example 2, guarantees a globally optimal solution from our model. Furthermore, by treating orders of the same product as distinct, other models use significantly more binary variables. Finally, even our special model outperforms other models in all four examples. 3. By using time slots instead of predecessor-successor variables, we do not need a big-M in the timing constraints. We need a big-M only in the order tardiness constraint, which is not required for minimizing the makespan. Thus, for minimizing the makespan, our model is big-M free. This is important because, as highlighted in this paper, M has a huge and very unpredictable impact on the solution times of MILPs with big-M constraints. In general, there appears to be a total disregard of this impact in the literature to the extent that hardly any work has bothered to report the value of M used in its model solutions. More notably, our model seems relatively more robust with respect to M than existing models for this problem. Last and interestingly, we observe from Table 13 that it is possible in some cases to solve a difficult MILP problem by “tuning” M. 4. For minimizing tardiness in the special case of a single order per product, we were able to write a model without big-M constraints, which we have not reported in this paper. However, that model required many more equations than the model presented in this paper and also resulted in significantly poorer computational efficiency. Thus, despite their erratic effect, big-M constraints do seem to have an advantage. 5. It is important to note that the numbers of slots need not be the same on all units in our models. Suppose that the number of products that a particular unit can produce is very small compared to what the other units can or the minimum batch sizes are much greater than those on the other units. In that case, this unit may need fewer slots than the other units. By allowing different numbers of slots on different units, our models offer an additional advantage over existing models. By doing so, we can reduce the number of binary variables and hence the size of the problem. 6. The results for examples 3 and 4 from the formulations of Cerda et al.16 and Mendez et al.17 reveal something interesting. Note that the Cerda et al.16 model does consistently better than the Mendez et al.17 model except for one instance of M ) 300 in example 4. This is despite the fact that the former uses more binary variables than the latter in both examples. This contradicts the intuitive reasoning that a model with more binary variables should be inferior to the one with less. Clearly, other factors such as the number of constraints, etc., have a significant effect. Furthermore, both models use essentially the same approach and differ only in the dimensions of binary transition variables. One may claim that the Mendez et al.17 model improved over the Cerda et al.16 model by using bi-index rather than triindex transition variables. However, a direct comparison between the two models, as was done in examples 3 and 4 of this paper, reveals that such a claim may not hold. For the special case of a single order per product, the
Ind. Eng. Chem. Res., Vol. 42, No. 9, 2003 1923
Cerda et al.16 model with tri-index transition variables outperforms the Mendez et al.17 model with bi-index ones. This suggests that intuitive presumptions are no substitutes for detailed numerical evaluations in the case of MILPs. This is extremely important in light of a recent trend in the literature of attempts (e.g., Cerda et al.16 vs Mendez et al.,17 Ierapetritou et al.14 vs Karimi and McDoanald,13 etc.) to reduce the number of binary variables or the dimensions of multi-index binary variables to improve formulations. 7. Last, the superior performance of our model in examples 3 and 4 despite the lower RMIP solutions suggests that even the integrality gap as a measure for model tightness may mislead sometimes and it should be taken with a grain of salt. Conclusions A novel MILP formulation based on slots is presented for the short-term scheduling of single-stage batch plants with multiple parallel units and multiple orders per product. This is a significant advance over the existing approaches for this problem, which partition the same into batching and scheduling subproblems. In contrast to others, our approach guarantees an optimal solution for the original undivided problem. Even when our model is simplified for the special case of one order per product, it represents a tremendous improvement over the two existing models in terms of both model statistics (variables, constraints, and nonzeros) and model performance (nodes, iterations, and solution times). The improvements in the model performance are at least by factors of 2-76. We believe that the slotbased approach makes our model relatively more robust with respect to M than the existing models. In fact, our model for the makespan objective does not even use bigM. Overall, it appears that the slot-based approach may be a superior alternative to the ones using predecessorsuccessor variables for this problem. This paper highlights the fact that the performance of big-M models varies erratically with the value of M; thus, one must pay careful attention to the value of M in models with big-M constraints. Similarly, intuitive inferences based on measures such as the number of binary variables, dimensions of multi-index binary variables, integrality gap, etc., for formulation tightness must be supported with detailed numerical evaluations because they may mislead in cases such as the ones exemplified in this paper. Notation Indices i ) product j ) unit k ) slot d ) due date Sets Ij ) products that can be processed in unit j IIk ) orders/products that can be produced in slot k Ji ) units that can process product i NSi ) products that cannot follow product i Parameters BLij ) lower limit for the batch size of product i on unit j BU ij ) upper limit for the batch size of product i on unit j
BTij ) processing time of a full-size batch of order/product i on unit j CTii′j ) changeover time from product i to i′ D ) number of due dates DDd ) dth due date DDOi ) due date of order/product i FPTij ) fixed component of the batch processing time of product i on unit j I ) number of distinct products J ) number of units in the single stage K ) number of time slots on each unit Kd ) number of the first few slots that can process orders due on or before DDd M ) large positive number MNBid ) maximum number of batches required to fill the orders of i on or before DDd NBij ) number of batches of order/product i processed in unit j O ) total number of customer orders Qid ) total amount of product i required on or before DDd RTj ) release time of unit j VPTij ) coefficient for the variable component of the batch processing time of i on unit j ai ) penalty for unit time delay in delivering order/product i aid ) penalty for unit time delay in filling orders of product i due at DDd Variables Bijk ) batch size of product i produced in slot k on unit j Di ) time delay in delivering order/product i Did ) time delay in filling orders of product i due at DDd H ) makespan SWT ) sum of weighted tardiness TEjk ) end time of slot k on unit j Xjk ) binary variable, 1 if the batch in slot k - 1 on unit j continues into slot k Yijk ) binary variable, 1 if product i is assigned to unit j in slot k
Literature Cited (1) Reklaitis, G. V. Perspectives on Scheduling and Planning of Process Operations. Proceedings of the 4th International Symposium on Process Systems Engineering, Montebello, Canada, 1991. (2) Applequist, G.; Samikoglu, O.; Pekny, J.; Reklaitis, G. V. Issues in the Use, Design and Evolution of Process Scheduling and Planning Systems. ISA Trans. 1997, 36 (2), 81. (3) Pinto, J. M.; Grossmann, I. E. Assignment and Sequencing Models for the Scheduling of Process Systems. Ann. Oper. Res. 1998, 81, 433. (4) Shah, N. Single and Multisite Planning and Scheduling: Current Status and Future Challenges. Found. Comput.-Aided Process Oper., AICESS 1998, 320 (94), 91. (5) Kondili, E.; Pantelides, C. C.; Sargent, R. W. H. A General Algorithm for Short-Term Scheduling of Batch Operationss1. Mixed Integer Linear Programming Formulation. Comput. Chem. Eng. 1993, 17, 211. (6) Shah, N.; Pantelides, C. C.; Sargent, R. W. H. A General Algorithm for Short-Term Scheduling of Batch Operationss2. Computational Issues. Comput. Chem. Eng. 1993, 17, 229. (7) Gooding, W. B.; Pekny, J. F.; McCroskey, P. S. Enumerative Approaches to Parallel Flowshop Scheduling via Problem Transformation. Comput. Chem. Eng. 1994, 18, 909. (8) Zhang, X.; Sargent, R. W. H. The Optimal Operation of Mixed Production FacilitiessA General Formulation and some Approaches for the Solution. Proc. 5th Int. Symp. Process Syst. Eng. 1994, 171. (9) Schilling, G.; Pantelides, C. C. A Simple Continuous Time Process Scheduling Formulation and a Novel Solution Algorithm. Comput. Chem. Eng. 1996, S20, S1221.
1924
Ind. Eng. Chem. Res., Vol. 42, No. 9, 2003
(10) Reklaitis, G. V.; Mokus, L. Mathematical Programming Formulation for Scheduling of Batch Operations Based on Non Uniform Time Discretization. Acta Chim. Slov. 1995, 42, 81. (11) Pinto, J. M.; Grossmann, I. E. A Continuous Time Mixed Integer Linear Programming Model for Short-Term Scheduling of Multistage Batch Plants. Ind. Eng. Chem. Res. 1995, 34, 3037. (12) Pinto, J. M.; Grossmann, I. E. An Alternative MIP Model for Short-Term Scheduling of Batch Plants with Pre-ordering Constraints. Ind. Eng. Chem. Res. 1997, 35, 338. (13) Karimi, I. A.; McDonald, C. M. Planning and Scheduling of Parallel Semicontinuous Processes. 2. Short-Term Scheduling. Ind. Eng. Chem. Res. 1997, 36, 2701. (14) Ierapetritou, M. G.; Hene, T. S.; Floudas, C. A. Effective Continuous Time Formulation for Short-Term Scheduling. 3. Multiple Intermediate Due Dates. Ind. Eng. Chem. Res. 1999, 38, 3446. (15) Vin, J. P.; Ierapetritou, M. G. A New Approach for Efficient Rescheduling of Multiproduct Batch Plants. Ind. Eng. Chem. Res. 2000, 39, 4228.
(16) Cerda, J.; Henning, G. P.; Grossmann, I. E. A MixedInteger Linear Programming Model for Short-Term Scheduling of Single-Stage Multiproduct Batch Plants with Parallel Lines. Ind. Eng. Chem. Res. 1997, 36, 1695. (17) Mendez, C. A.; Henning, G. P.; Cerda, J. Optimal Scheduling of Batch Plants Satisfying Multiple Product Orders with Different Due-Dates. Comput. Chem. Eng. 2000, 24, 2223. (18) Hui, C. H.; Gupta, A.; Meulen, H. A. J. A Novel MIP Formulation for Short-Term Scheduling of Multi-stage Multiproduct Batch Plants with Sequence-Dependent Constraints. Comput. Chem. Eng. 2000, 24, 2705.
Received for review July 19, 2002 Revised manuscript received January 29, 2003 Accepted February 26, 2003 IE020536O