Mixed-Integer Linear Programming Model for Short-Term Scheduling

Mar 18, 1999 - In this paper, a mathematical formulation for the short-term scheduling of a sequential multipurpose batch plant is proposed. The sched...
0 downloads 6 Views 97KB Size
2144

Ind. Eng. Chem. Res. 1999, 38, 2144-2150

RESEARCH NOTES Mixed-Integer Linear Programming Model for Short-Term Scheduling of a Special Class of Multipurpose Batch Plants Sungdeuk Moon† and Andrew N. Hrymak* McMaster Advanced Control Consortium, Department of Chemical Engineering, McMaster University, 1280 Main Street West, Hamilton, Ontario, Canada L8S 4L7

In this paper, a mathematical formulation for the short-term scheduling of a sequential multipurpose batch plant is proposed. The scheduling problems of the multipurpose batch plants under a mixed product campaign (MPC) are addressed here. A mixed-integer linear programming (MILP) model is developed based on the time slot, which is used to determine the production sequence and the production path of each batch. In order to reduce the search space, we propose a heuristic method that relies on the use of preordering constraints. Application of the preordering constraints to the proposed MILP model reduced the computational time required by more than 40%. The proposed model is extended to sequential multipurpose batch plants with parallel units. Introduction Batch processes consist of a system of processing equipment where batches of the various products are produced by executing a set of processing tasks or operations. Some equipment is specialized to perform a particular operation, while other pieces (e.g., stirred tanks) can perform a variety of tasks. Processing units that perform similar operations can be grouped in a production stage. Therefore, it is possible to identify more than one production path that all batches of a specific product can follow. The main classification of batch processes is based on the consideration of the production paths required for the products. If all of the products follow the same sequence of units, the batch processes are classified as multiproduct batch plants. Multipurpose plants have multiple products, which follow different unit sequences in the recipe. Multipurpose batch plants can be classified as sequential plants and nonsequential plants.1 In a sequential multipurpose plant, the production paths of all of the products follow the same order in the sequence of units in the recipe but do not necessarily include all of the same units. Nonsequential multipurpose plants comprise the remaining cases. It is clear that every multiproduct plant is a sequential multipurpose plant, but the converse is not true. In multipurpose batch plants, research into new formulations and algorithms continues because of the computational expense caused by the large number of integer variables, as well as modeling difficulties. Employing integer variables is inevitable to describe process events, i.e., the start and/or completion times of a job, in a scheduling time horizon. A typical method * Author to whom all correspondence should be addressed. Phone: 1-905-525-9140 ext. 23136. Fax: 1-905-521-1350. E-mail: [email protected]. † E-mail: [email protected].

to represent discrete events is to use a uniform time discretization and to assume that events only happen at the boundaries of these time intervals.2 The problem is formulated as a mixed-integer linear programming (MILP) model, namely, the state task network (STN). However, the main drawback of the model is the generation of a large number of integer variables and constraints in industrial problems. Mockus and Reklaitis3 proposed an alternative model for batch process scheduling based on a nonuniform time discretization approach. The idea is to create a number of continuous variables representing the timing of all events, such as the start or end of a task. By solving the corresponding mathematical model to optimality, they obtained the starting times of each task. The essential difference from other formulations is the modeling of the operations as variable batch sizes (which results in nonlinearity and nonconvexity of the model) with sequence-dependent setup times. Schilling and Pantelides4 extended the scope of the above work to the general framework of resource task networks (RTN). The interesting feature of this work is an initial branch and bound scheme for the continuous slot lengths, which is used to generate a tighter formulation reducing the integrality gap. Subsequent branching on the binary variables then continues as normal. Pinto and Grossmann5 studied the problem of shortterm scheduling of multistage batch plants to determine the optimal production policy for satisfying the demands of a significant number of products at certain due dates and/or at the end of a given time horizon. They developed an MILP model with a continuous time domain representation that relies on the use of parallel time axes for units and tasks. Because the CPU time requirement greatly increases for large-scale multistage problems, heuristic preordering constraints were used. The resulting mathematical formulation was solved

10.1021/ie980466e CCC: $18.00 © 1999 American Chemical Society Published on Web 03/18/1999

Ind. Eng. Chem. Res., Vol. 38, No. 5, 1999 2145

with the decomposition scheme to obtain a good production schedule in a reasonable computational time. Multiproduct batch plant scheduling problems have received considerable attention in the literature. Rajagopalan and Karimi6 showed how the recurrence relation for completion time could be easily extended to the scheduling of multiproduct batch plants. In order to decide a product sequence, the authors used the concept of a time slot, to which each product is assigned. Then, the completion times for a given product sequence can be determined by the recurrence relation. Moon et al.7 addressed the problem of scheduling multiproduct batch plants with setup and transfer time considerations, where each stage involves one processing unit. MILP models were developed for the minimization of makespan under zero-wait policy in a mixed product campaign (MPC), in which several batches of each product should be manufactured. However, in scheduling multipurpose batch plants, the consideration of MPC production may be very difficult because of the large number of variables due to the complexity of production. We propose a simple mathematical formulation for the short-term scheduling of a sequential multipurpose batch plant. In particular, the scheduling problems of the multipurpose batch plants under MPC are addressed here. An MILP model is developed based on a time slot, which is used to determine the production sequence and to select the production path for each batch of product. Every batch of product is assigned to a time slot. There are an equal number of time slots and required product batches. By using the concept of the time slot, the scheduling of sequential multipurpose batch plants may be considered as a single-machine problem. Numerical results are presented, including the problem of a process consisting of 8 pieces of equipment with up to 10 batches. In order to reduce computational times for these problems, a solution method that relies on the use of preordering constraints is presented. As a result, it leads to a significant reduction in solution times although more constraints are required. Scheduling Model for Sequential Multipurpose Plants without Parallel Units plants1

By definition, in sequential multipurpose batch the production paths of all of the products follow the same direction in the sequence of units in the recipe. Figure 1 shows an example of a sequential multipurpose batch plant, which consists of four different products (A-D), 1-5 units, and three stages. The main feature of the proposed model is the use of a time slot for product sequencing at every unit. The time slot is used to assign every product to be manufactured and then a production sequence can be obtained. An MILP mathematical formulation for the scheduling of the sequential multipurpose batch plants is proposed here. It will be assumed that the multipurpose batches are performed under a MPC and unlimited intermediate storage (UIS) policy. As every batch of products is manufactured exactly once in a processing sequence, the following constraints must be satisfied for the binary variable Xik:

∑ Xik ) ni

∀i∈I

(1)

∀k∈K

(2)

k∈K

Xik ) 1 ∑ i∈I

Figure 1. Example of sequential multipurpose batch plants.

where ni is the required number of batches for product i and Xik is represented by the following condition:

Xik )

{

1, if product i is manufactured in time slot k 0, otherwise

Example 1 consists of 10 batches (N ) 10) with four different products A-D: 3 batches of product A, 3 of B, 2 of C, and 2 of D. In the case when one batch of product i is assigned to time slot k, as seen in Figure 2, the binary variable Xik becomes unity. Figure 2 shows the definition of the binary variable Xik and the corresponding time slots. Note that the number of required time slots must be the same as the required number of batches, N, i.e., |K| ) N ) ∑ini. Therefore, 10 time slots are defined in this example. We define the nonnegative continuous variables Tskj and Tekj as the start and completion times of unit j in time slot k:

Tekj - Tskj )

XikPij ∑ i∈I

∀ k ∈ K, j ∈ J

(3)

where Pij is the processing time of product i in unit j. The timing between units, j and j′, included in a given path is expressed in (4), and (5) establishes the relationship between consecutive time slots, k and k + 1

Tskj′ - Tekj g -U(1 -

Xik) ∑ i∈I

∀ k ∈ K, j ∈ J - {jh}, j′ > j (4)

Tsk+1, j - Tekj g 0

∀ k ∈ K - {k h }, j ∈ J

(5)

where the parameter U is an upper bound with a sufficiently large positive number and hj is represented as the last unit. For the scheduling of sequential multipurpose batch plants under MPC, the objective function is to minimize the makespan (MS).

min MS g Tekh j

∀j∈J

(6)

where k h is represented as the last time slot. Therefore, the minimization of makespan for the sequential multipurpose batch plants under MPC, as represented (6), subject to constraints (1)-(5) leads to Problem MILP1. The effectiveness of the proposed model will be illustrated through several examples. Example 1. All scheduling problems in this paper are solved on an IBM compatible PC, Intel Pentium II 400 MHz, using the MILP solver CPLEX 6.0 through the modeling system GAMS.8 In order to verify the performance of the proposed model, the formulation of Pinto and Grossmann5 was also applied to the scheduling problem of example 1. Table 1 shows the computational

2146 Ind. Eng. Chem. Res., Vol. 38, No. 5, 1999

Figure 2. Definition of binary variable Xik and time slots to select a production sequence of multipurpose batch plants under multiple product campaign (MPC). Table 1. Example 1: 10 Batches, 4 Products, and 5 Units 10 (A:3, B:3, C:2, D:2)

no. of constraints, variables (binary)

no. of iterations

no. of nodes

CPUa (s)

MS

integrality gap (%)

MILP1 Pinto and Grossmann5

223, 141 (40) 604, 353 (202)

18 756 13 387 372

2 520 666 189

4.33 5000.0

52 55

12.91

a

Computational times obtained from GAMS/CPLEX 6.0 on an Intel PII 400 MHz PC.

results obtained from both models. For the proposed MILP1 model, the scheduling problem of example 1 consists of 40 binary variables, 101 continuous variables, and 223 constraints. The solution required 4.33 s of computational time (18 756 iterations and 2520 nodes). The optimal scheduling sequence is C-A-BD-B-C-A-D-A-B, as seen in Figure 2, with the minimum makespan, 52 h. In the case of Pinto’s formulation, the scheduling problem of example 1 involves 202 binary variables, 151 continuous variables, and 604 constraints. As seen in Table 1, Pinto’s model cannot solve the problem to optimality in 5000 CPU s, which is the CPU limit. Preordering Sequences for Specific Products In scheduling sequential multipurpose batch plants, under MPC production, specific products may have different sequences of units used in their production recipes. A simple scheduling problem is the case when all products use different sets of units and every sequence may have the same makespan. The total number of possible sequences is N!/nA!nB!.... Any one of these sequences may be the solution, and then the others (N!/nA!nB!... - 1) become redundant. In a mathematical algorithm searching for the optimal solution, many sequences may be evaluated and compared with other

generated sequences at each node of the searching branch. In order to reduce the computational effort for the scheduling problem, the redundant sequences should be excluded from the search space. However, this simple scheduling problem is a gross simplification of realistic scheduling problems. A preordering procedure could select a product pair, in which two products use different units, to identify potentially redundant sequences. One scheduling sequence for these two products can be selected as a preferred solution, and then the reverse sequence becomes redundant and can be eliminated in subsequent sequences where the products are produced in adjacent time slots. A case of a redundant sequence is shown in example 1 (see Figure 1). In this example, consider product A (unit 1-unit 4-unit 5) and product D (unit 2-unit 3-unit 5). As shown in Figure 3a, products A and D are assigned to slots 7 and 8 in the optimal sequence of example 1, respectively. The order of products A and D may be switched, with products D and A in slots 7 and 8, respectively, as shown in Figure 3b. The sequences in parts a and b of Figure 3 show no change in the overall makespan. The start and completion times of the final stages do change because the sequence of these two products was switched. In this example, all products share the last unit (Unit 5) but some products share

Ind. Eng. Chem. Res., Vol. 38, No. 5, 1999 2147

Figure 3. Comparison of the switch of two products A and D on two adjacent time slots 7 and 8 in the optimal sequence for example 1: (a) A-D and (b) D-A. Table 2. Example 1: MILP1 with or without the Preordering Constraint (7) 10 (A:3, B:3, C:2, D:2) without preordering with preordering IS ) {A, B} IS ) {C, D} a

no. of constraints, variables (binary)

production sequence

MS

CPUa (s)

223, 141 (40)

C-A-B-D-B-C-A-D-A-B

52

4.33

239, 141 (40) 239, 141 (40)

C-B-B-D-D-C-A-A-A-B B-D-C-D-C-A-B-A-A-B

52 52

2.27 2.62

% CPU time reduction

47.58 39.49

Computational times obtained from GAMS/CPLEX 6.0 on an Intel PII 400 MHz PC.

the other units. A switch in the order of the two products after the first time slot does not affect the optimal makespan. The problem is a sequential multipurpose batch plant under UIS policy, but at the first time slot every product must be followed by zero-wait policy. Similar situations exist for the product pair (B, C) assigned to two consecutive time slots 5 and 6, as shown in Figure 2. Therefore, in the search space of the scheduling problem, one of the sequences of A-D and D-A is allowed as a solution and then the other becomes redundant. For example, in the case when the A-D (BC) sequence is permitted in the solution, all D-A (CB) sequences must be excluded from the search space to determine a production sequence. This elimination can be achieved by the following equation:

Xi,k+1 +

∑ Xi′,k e 1

∀ i ∈ IS, k ∈ K - {1, k h } (7)

i′∈Si

where IS and Si are product sets. In example 1, product sequences A-D and D-A are equivalent to each other in the two adjacent time slots. We set A as an element of IS and D as an element of Si. We obtain the sets IS and S, which is a superset of Si, by the following procedure. (i) Find all product pairs satisfying the following conditions: (a) Both products use different units in their recipes. (b) There is no change in the overall makespan of the scheduling problems when the product pair orders are switched in adjacent time slots. (ii) Assign one product in each pair to IS and the other product to S to use (7) to eliminate redundant sequences. (iii) Divide S into Si, which corresponds to product i included in IS. Note that the case of the first time slot is not considered in (7). This is because the last stage of every product is performed in the same unit, unit 5, and production at the first time slot is always performed under zero-wait policy.

Figure 4. Optimal schedule for example 1 with the sequence of C-B-B-D-D-C-A-A-A-B, obtained from MILP1 with IS ) {A, B} of a preordering constraint, in which A-D and B-C are allowed as a feasible solution.

When this procedure is applied to example 1, the product pairings (A, D) and (B, C) are equivalent to (D, A) and (C, B), respectively, and do not change the makespan. Among many possible sets for IS and S, we define the sets IS ) {A, B} and S ) {D, C}. In the case of IS ) {A, B}, A-D and B-C sequences are allowed and then SA ) {D} and SB ) {C}. For the case when D-A and C-B are allowed, IS ) {C, D} and then SC ) {B} and SD ) {A}. Therefore, (7) has sufficient information to be used as a preordering constraint to remove redundant solutions. In example 1, the total number of possible sequences is 25 200. In the case of selection of A-D and B-C as permitted solutions, the number of redundant sequences including D-A and/or C-B becomes 18 180. (The calculation procedure for the reduction in sequences is available from the authors.) Therefore, the number of sequences included in the reduced search space is 7020. The proposed MILP1 model, with the preordering constraint (7), provides the minimum makespan for scheduling a special case of multipurpose batch plants under MPC production. The preordering sets IS ) {A, B} and IS ) {C, D} were used in the scheduling problem of example 1. The computational performance obtained from MILP1, with and without removal of redundant cases, is shown in Table 2. In the case of IS ) {A, B}, the problem contains 239 constraints and 141 variables (40 binary), with a solution time of 2.27 s. The optimal sequence is C-B-B-D-D-C-A-A-A-B. Note that there is no D-A and C-B sequence in this schedule. In the case of IS ) {C, D} with a preordering constraint,

2148 Ind. Eng. Chem. Res., Vol. 38, No. 5, 1999

Figure 5. Definition of production paths corresponding to each product for example 2 which contains an additional parallel unit, unit 1′.

the scheduling problem contains the same number of constraints and variables as that for the case of IS ) {A, B}, and requires 2.62 s of computational time. Because the preordering sets IS ) {A, B} and IS ) {C, D} are the same reduction of search space, there is a little difference in the CPU times for both sets. The solution of this case shows a sequence of B-D-C-DC-A-B-A-A-B, which corresponds to a makespan of 52 h. There is no A-D and B-C sequence in this solution. Figure 4 represents a Gantt chart of the scheduling solution for example 1 obtained from MILP1 with the preordering constraint of IS ) {A, B}.

the MPC case can be obtained by the following constraints:

∑ Xikr ) ni

∀ i ∈ I, r ∈ Ri

(9)

Xikr ) 1 ∑ i∈I

∀ k ∈ K, r ∈ R

(10)

k∈K

Because constraints (9) and (10) must satisfy (8), we can combine these equations as follows:

∑ ∑ Xikr ) ni

Production with Parallel Units For multipurpose batch plants with parallel units, there are many production paths for each product, depending on the number of parallel units. For example, consider example 2, which contains 10 batches (N ) 10), 3 batches of product A, 3 of B, 2 of C, and 2 of D, and 6 units, of which the first two units, units 1 and 1′, are in parallel. There are two production paths for products A and B and one production path for C and D. For a given product, we can define specific production paths, as represented in Figure 5. Therefore, for the scheduling of multipurpose batch plants with parallel units, the selection of a specific production path for each product must be considered. The scheduling model must include the following features: (i) the use of time slots to select the sequence of products with minimum makespan and (ii) the selection of a specific production path for each product. These can be simultaneously achieved by using a binary variable, Xikr, which is defined as follows:

Xikr )

{

1, if product i is assigned to event slot k and produced through production path r 0, otherwise

For a multipurpose batch plant with parallel units, a batch of product i is manufactured through one production path, which can be represented by the following equation:

∑ Xikr ) 1

∀ i, k

∀i∈I

(11)

∀k∈K

(12)

k∈K r∈Ri

(8)

r∈Ri

For determining a production sequence, which includes all batches of the products to be manufactured, every product batch must be assigned to one time slot, which is similar to (1) and (2). Therefore, a production sequence of multipurpose batch plants under

∑ ∑ Xikr ) 1 i∈I r∈R i

Therefore, by considering time slots and using (11) and (12), a production sequence and a corresponding production path for each batch can be simultaneously achieved. The minimization of makespan MS for production with parallel units leads to model MILP2:

∀ j ∈ J [MILP2]

min MS g Tekh j subject to

∑ ∑ Xikr ) ni

∀i∈I

k∈K r∈Ri

∑ ∑ Xikr ) 1 i∈I r∈R

∀k∈K

i

Tekj - Tskj )

∑ ∑ Xikr i∈I r∈R

∀ k ∈ K, j ∈ J

ij

(

Tsk, j′ - Tekj g -U 1 -

∑ ∑ i∈I r∈R ∩ R ij



)

Xikr

∀ k ∈ K, j ∈ J - {jh}, j′ > j ∀ k ∈ K, - {k h }, j ∈ J

Tsk+1, j - Tekj g 0 Xi,k+1,r +

ij ′

Xi′,k,r′ e 1

i′,r′∈Sir

∀ i ∈ IS, k ∈ K - {1, k h }, r ∈ Ri where Rij denotes the set of processing paths of product i involving unit j, the last constraint is the preordering equation, and Sir is the set of products with production path r, corresponding to product i, which follow those defined in IS. Examples. In order to set IS for Example 2, product pairs (A1, B2), (A1, D), (A2, B1), (A2, D), (B1, C), and (B2, C) are found by the procedure outlined previously.

Ind. Eng. Chem. Res., Vol. 38, No. 5, 1999 2149 Table 3. Example 2: 10 Products, 6 Units (One Parallel Unit), and MPC Production, Using MILP2 10 (A:3, B:3, C:2, D:2)

no. of constraints, variables (binary)

production sequence

MS

CPUa (s)

293, 181 (60)

B1-B2-B1-C-D-C-D-A1-A1-A2

45

238.03

325, 181 (60) 325, 181 (60)

B2-A1-D-B2-B1-D-C-A2-C-A2 D-B1-A2-B2-D-C-B2-A1-A1-C

45 45

39.24 40.68

without preordering with preordering IS ) {A1, A2, B1, B2} IS ) {B1, B2, C, D} a

% CPU time reduction

83.51 82.91

Computational times obtained from GAMS/CPLEX 6.0 on an Intel PII 400 MHz PC.

Table 4. Examples 3 and 4: 10 Batches and up to 8 Units in Which Units 1′, 4′, and 5′ Are Parallel, Obtained from MILP2

example 3 example 4 a

parallel units

no. of constraints, variables (binary)

production sequence

MS

CPUa (s)

1′ and 5′ 1′, 4′, and 5′

437, 261 (120) 559, 341 (180)

C2-A2-B3-D1-B3-D1-C2-A3-B2-A3 B1-B4-C3-A7-B2-C2-A1-A7-D2-D2

42 33

837.01 3949.20

Computational times obtained from GAMS/CPLEX 6.0 on an Intel PII 400 MHz PC.

The following product sets are defined as containing permitted sequences: IS ) {A1, A2, B1, B2} and S ) {B1, B2, C, D}; therefore, if IS ) {Ar, Br}, then Ar-D and Br-C are allowed. Further, SA1 ) {B2, D}, SA2 ) {B1, D}, SB1 ) {C}, and SB2 ) {C}. The redundant sequences including B2-A1, B1-A2, D-Ar, and/or C-Br are determined from the preordered permitted sequences, A1-B2, A1-D, A2-B1, A2-D, B1-C, and B2-C. In this case, there are a total of 806 400 possible sequences, and 524 268 sequences become redundant. On the other hand, in the case when sequences D-Ar, C-Br, B1-A2, and B2-A1 are permitted, then IS ) {B1, B2, C, D}, SB1 ) {A2}, SB2 ) {A1}, SC ) {B1, B2}, and SD ) {A1, A2}. In this case, 524 268 redundant product sequences are also generated from B1-A2, B2A1, C-B1, C-B2, D-A1, and D-A2. These sets are applied to the last constraint of MILP2 to remove redundant solutions. Both preordering cases of IS ) {A1, A2, B1, B2} and IS ) {B1, B2, C, D} are compared for example 2. Table 3 illustrates the computational performance obtained from MILP2 for both preordering cases. In the case of IS ) {B1, B2, C, D} for MILP2, the scheduling problem consists of 325 constraints and 181 variables (60 binary). The MILP2 model requires 40.68 CPU s of computational time. The solution of this case shows a sequence of D-B1-A2-B2-D-C-B2-A1-A1-C, which corresponds to a makespan of 45 h. Note that there is no Ar-D and Br-C sequence in this schedule. In the case of IS ) {A1, A2, B1, B2}, the problem contains 325 constraints and 181 variables (60 binary). The computational time is 39.24 s. The optimal sequence of the problem is B2-A1-D-B2-B1-D-C-A2-C-A2. The preordering of IS ) {A1, A2, B1, B2} requires a computational effort similar to that of IS ) {B1, B2, C, D} because of the same number of constraints in the reduction in the search space. Table 3 compares the results obtained from MILP2 without the preordering constraint with the computational efforts of MILP2 with preordering. The CPU time is reduced more than 80%. Figure 6 represents a Gantt chart of the scheduling solution for this example obtained from MILP2 with IS ) {A1, A2, B1, B2}. Table 4 lists scheduling results for two other examples (examples 3 and 4), varying the additional number of parallel units in the batch plants. In each example, applying MILP2 with IS ) {Ar, Br} where r is up to 8 and S ) {Cr, Dr} where r is up to 4, the optimal solution was obtained within 1 h of computational time.

Figure 6. Optimal schedule of example 2 with a sequence of B2A1-D-B2-B1-D-C-A2-C-A2.

Conclusions MILP models have been developed for the sequential multipurpose batch plants, with or without parallel units, under a MPC. In the case of batch plants without parallel units, the assignment of every batch of product to time slots could be achieved by the definition of a binary variable Xik for Problem MILP1 and (for parallel units) Xikr in Problem MILP2. In order to reduce the computational effort, a heuristic procedure is used to eliminate redundant product sequences, which have the same makespan, in the search space. Sequences are selected as permitted in the final solution, and the others are excluded from the solution space. This restriction is accomplished through the use of (7) for the plants without parallel units and by the last equation in MILP2 for plants with parallel units. Although the number of constraints increased, the scheduling solution time for the sequential multipurpose batch plants was significantly reduced for the same optimal makespan. Acknowledgment The authors acknowledge support from the McMaster Advanced Control Consortium (MACC). Literature Cited (1) Voudouris, V. T.; Grossmann, I. E. MILP Model for Scheduling and Design of a Special Class of Multipurpose Batch Plants. Comput. Chem. Eng. 1996, 20, 1335. (2) Kondili, E.; Pantelides, C. C.; Sargent, R. W. H. A General Algorithm for Scheduling Batch Operations. Comput. Chem. Eng. 1993, 17, 211. (3) Mockus, L.; Reklaitis, G. V. Mathematical Programming Formulation for Scheduling of Batch Operations Based on Nonuniform Time Discretization. Comput. Chem. Eng. 1997, 21, 1147.

2150 Ind. Eng. Chem. Res., Vol. 38, No. 5, 1999 (4) Schilling, G.; Pantelides, C. C. Optimal Periodic Scheduling of Multipurpose Plants in the Continuous Time Domain. Comput. Chem. Eng. 1997, 21, S1191. (5) 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. (6) Rajagopalan, D.; Karimi, I. A. Completion Time in Series Mixed Storage Multiproduct Processes with Transfer and Set-up Times. Comput. Chem. Eng. 1989, 13, 175. (7) Moon, S.; Park, S.; Lee, W. K. New MILP Models for

Scheduling of Multiproduct Batch Plants under Zero-Wait Policy. Ind. Eng. Chem. Res. 1996, 35, 3485. (8) Brooke, A.; Kendrich, D.; Meeraus, A. GAMSsA user’s guide (release 2.25); The Scientific Press: San Francisco, 1998.

Received for review July 22, 1998 Revised manuscript received February 16, 1999 Accepted February 17, 1999 IE980466E