3458
Ind. Eng. Chem. Res. 1996, 35, 3458-3469
New MILP Models for Scheduling of Multiproduct Batch Plants under Zero-Wait Policy Sungdeuk Moon, Sunwon Park,*,† and Won Kook Lee Department of Chemical Engineering, Korea Advanced Institute of Science and Technology, 373-1, Kusong-dong, Yusong-gu, Taejon 305-701, Korea
This paper presents a new mixed-integer linear programming (MILP) model in which makespan is minimized for the multiproduct batch plants. In particular, the zero-wait (ZW) scheduling with transfer and setup times is analyzed. Not only idle times between the successive products but also heads and tails are used to select a possible production sequence with the minimum makespan. To determine the suitable head and tail, new binary variables are defined and aggregated to the assignment constraints of traveling salesman problems (TSPs). Although the number of binary variables increases, the mathematical formulation can yield a very compact MILP model. The effectiveness of the proposed model is demonstrated through several examples. The proposed model is extended to solve the scheduling problems for productions with single product campaigns (SPCs) and mixed product campaigns (MPCs) explained by Birewar and Grossmann (Ind. Eng. Chem. Res. 1989b, 28, 1333). The solutions by the proposed method are compared with the solutions obtained from the rigorous solution method by Birewar and Grossmann. The proposed model is formulated as a compact size and leads to a significant reduction in solution times. Introduction Production scheduling in multiproduct plants often involves determining the order in which a set of product batches should be produced so as to optimize a suitable objective. Most scheduling research has concentrated on developing optimal or near-optimal schedules that minimize the total time (makespan) or cycle time required to process all jobs. Other possible objectives include minimizing batch-stage idle time, minimizing the cost of processing all jobs, or minimizing the mean time required to process all jobs. Each of these objectives is appropriate in certain production environments. There are many studies for the optimal scheduling of multiproduct serial batch stages which assume zero transfer and setup times. But for real operations, nonzero transfer and setup times for stages should be considered. As the number of products and stages increases, the effects of transfer and setup times become highly important. Rajagopalan and Karimi (1989) showed how the recurrence relation for completion time can be easily extended to include nonzero transfer and setup times. Then, the completion times for a given product sequence can be determined by the recurrence relation. Recently, Jung et al. (1994), on the basis of the completion time algorithm, presented a mixed integer nonlinear programming (MINLP) formulation for various policies which considers not only processing times but also transfer and setup times. However, apart from the fact that the MINLP method is computationally intensive, it cannot guarantee optimality. This fact can be quite crucial for developing an efficient method, that some linear constraints for scheduling in the design problem can be used as a basis for developing an MILP formulation for minimization of makespan. Birewar and Grossmann (1989a) addressed the problem of scheduling multistage multiproduct batch plants, where each stage involves one processing unit. MILP models were developed for the minimization of cycle time * Author to whom correspondence should be addressed. † E-mail address:
[email protected].
S0888-5885(96)00145-5 CCC: $12.00
for UIS (unlimited intermediate storage) and ZW policies in mixed product campaigns (MPCs) that involve sequence-dependent transition times. Birewar and Grossmann (1989b) also reported a compact LP formulation for a plant consisting of a single unit per stage operation under ZW policy. It is shown that the makespan minimization can be replaced by overall cycle time minimization. By aggregating the batches in terms of products, they also showed that this formulation is especially efficient for problems involving a large number of batches of relatively few products. The solution of the proposed model provides a family of schedules among which one or several schedules can be generated by a proposed graph representation. The formulation accommodated both single product campaign (SPC) with ZW policy and MPC with either ZW or UIS. Later on, this work was extended to propose a multiperiod LP formulation for simultaneous product planning and scheduling of multiproduct batch plant (Birewar and Grossmann, 1990). Pekny and Miller (Pekny et al., 1990; Pekny and Miller, 1991) took advantage of the fact that the ZW flowshop problem is equivalent to the asymmetric traveling salesman problem (ATSP) and presented an exact parallel technique using effective bounding and branching procedures. They showed that the proposed method is superior to the simulated annealing (SA) algorithm (Ku and Karimi, 1991). Previous research showed the equivalence of the ZW policy scheduling and the ATSP (Gupta, 1986). This paper presents an MILP model in which makespan is minimized in the underlying representation. Specifically, the ZW scheduling with transfer and sequence-dependent setup times are considered. The makespan can be represented by the total time on each unit which consists of the head and tail of a production sequence, the fixed processing and transfer times for all products, and the sequence-dependent idle times (slacks) between processing for two products. In this paper, all of these components are minimized for determining an optimal production sequence with minimum makespan. The starting and the ending products © 1996 American Chemical Society
Ind. Eng. Chem. Res., Vol. 35, No. 10, 1996 3459 Table 1. Time Data of Example 1 (a) Processing Times, Pik stage k
stage k
product i
1
2
3
4
product i
1
2
3
4
A B
10 15
20 8
5 12
30 10
C D
20 13
7 7
9 17
5 10
(b) Transfer Times, Tik stage k
stage k
product i
0
1
2
3
4
product i
0
1
2
3
4
A B
2 3
2 3
2 3
2 3
3 1
C D
2 2
4 2
2 1
2 4
1 2
(c) Sequence-Dependent Setup Times, Sijk stage k 1
2
3
4
product i j
A
B
C
D
A
B
C
D
A
B
C
D
A
B
C
D
A B C D
0 4 2 4
3 0 1 1
2 1 0 3
1 3 2 0
0 1 1 3
1 0 2 4
2 1 0 2
4 2 2 0
0 2 4 4
2 0 3 3
1 4 0 2
2 3 2 0
0 3 3 3
4 0 2 3
3 3 0 1
2 2 2 0
in a generated sequence are determined by selecting the suitable head and tail, respectively. Simultaneously, using the TSP algorithm, the sequences for the rest of the products are determined by minimizing the idle times between the products. The effectiveness of the proposed model is shown through four examples. Also, the model is extended to problems for production with SPC and MPC represented in Birewar and Grossmann (1989b). The proposed model leads to a very compact formulation compared with Birewar and Grossmann and a significant reduction in solution times for scheduling examples, shown in this paper. Model Description The problem that is addressed can be stated formally as follows: Given is a multiproduct batch processing plant with M stages, each with one processing unit per stage. A total of N batches belonging to NP different products are to be produced using the ZW scheduling policy. The number of batches ni, for each product i, i ) 1, ..., NP, is specified, as well as fixed processing times Pik and transfer times Tik for each stage k, k ) 1, ..., M, and fixed setup times Sijk for successive products i, j in stage k. It is assumed in this problem that all products follow the same processing sequence (multiproduct or flowshop plants) under the ZW policy. The objective is then to find a sequence of batches of products that leads to the minimum makespan (i.e., total time required for production). A new MILP model for these problems will be developed to select the product sequence that leads to the shortest makespan. In order to formulate the mathematical model, an example (example 1) of a multiproduct batch processing plant is considered which consists of four stages (M ) 4) and produces four products (NP ) 4), where only one batch of each product (ni ) 1 and N ) NP) must be manufactured. Nonzero transfer and nonzero sequence-dependent setup times are assumed here. Fixed processing times, transfer times, and setup times between different products are given in Table 1.
Figure 1. Idle time generations in each stage of multiproduct batch plant under ZW policy for example 1: (a) product pair (A, B) and (b) product pair (B, A).
Minimization of Idle Times for Cyclic Scheduling In the case of the ZW policy, some idle time may be forced to exist between any two batches due to the rigid nature of this policy. Dijk denotes the minimum forced idle time between batches of products i and j in stage k. For example, consider two product pairs of (A, B) and (B, A) with the data of example 1, as illustrated in Figure 1. In Figure 1a for product pair (A, B), an idle time of 4 is assigned to stage 4. Stage 1 is then forced to have an idle time of 22, and the values for other stages are also shown in Figure 1a. And for product pair (B, A), the precalculated idle times are listed in Figure 1b, where the idle time for each stage is different from that in product pair (A, B). From this figure, it is
3460 Ind. Eng. Chem. Res., Vol. 35, No. 10, 1996 Table 2. Sequence-Dependent Idle Times (Dijk) for Example 1 Obtained from the Calculation Procedure of the Appendix stage k 1
2
3
4
product i j
A
B
C
D
A
B
C
D
A
B
C
D
A
B
C
D
A B C D
21 4 2 4
22 0 1 3
21 1 0 3
22 5 2 5
11 5 5 8
18 7 10 13
21 12 13 17
15 9 8 12
26 12 16 9
22 3 10 3
25 8 13 7
17 3 6 0
0 8 17 4
4 7 19 6
3 8 18 6
2 10 18 6
clear that the idle time is a sequence-dependent term as setup time. The idle time Dijk can easily be calculated with a completion time algorithm (Jung et al., 1994). The procedure is systematically explained in the Appendix. The computing effort required to calculate the idle times for all combinations of the products is very small. For example 1, the values of the elements of the idle time matrix in each stage are shown in Table 2. The problem of minimizing the idle times contained in multiproduct batch plants under ZW policy is equivalent to an asymmetric traveling salesman problem (TSP) (Pekny et al., 1990; Pekny and Miller, 1991). Birewar and Grossmann (1989a,b) used an aggregated TSP model to select a set of product pairs with the smallest idle times and then to optimize the cycle time in scheduling of the multiproduct batch plants. To schedule the multiproduct batch plant by minimizing the idle times, a mathematical formulation will be started with the TSP algorithm, which will be briefly described as below. As every product is manufactured exactly once in a processing sequence, it will appear exactly once in the first place and once in the second place in the pairs (i, j) of products that are produced during the production run. Therefore the following constraints must be satisfied for the binary variable Xij: NP
Xij ) 1 ∑ i)1
j ) 1, ..., NP
(1)
i ) 1, ..., NP
(2)
NP
Xij ) 1 ∑ j)1
where Xij is represented in the Nomenclature section. As the pairs of products cannot consist of the same products, the following constraint should be applied. NP
Xii ) 0 ∑ i)1
(3)
Then, the objective is minimization of the summation of idle times between all product pairs as following equation: NP NP
min
∑ ∑XijDij i)1 j)1
where Dij is the idle time between products i and j in a fixed stage. In TSP algorithms, however, a potential problem is that the model solution might exhibit subcycles (or subtours) (Baker, 1974). Using the above constraints 1-3 and the objective function, the scheduling solution is in the form of a single cycle or several subcycles for the NP products. Since the solution with subcycles does
not satisfy all of the constraints that are required for a complete schedule involving all of the products, the optimal solution for the schedule will be underestimated. Therefore, in the case when subcycles are obtained, an additional procedure, such as subcycle elimination constraints presented in Birewar and Grossmann (1989b), must be used to obtain a suitable solution without any subcycles. Q denotes a subset of products such that the cardinality of Q is strictly less than NP, and it is not an empty set. Then
∑ ∑ Xij g 1
i∈Qj∈Q*
Q ) S1, S2, ..., SNS, Q * φ, |Q| + |Q*| ) NP (4)
where S1, S2, ..., SNS are the sets of products belonging to NS subcycles. But, when this is the case, typically only one or two iterations are required with the addition of the constraints in (4) to eliminate subcycles. In scheduling the multiproduct batch plants under ZW policy, the minimization of the cycle time or the minimization of the makespan may be often used as the objective. The cycle time for a single production cycle that consists of a total of NP links of all products may be determined by using the TSP algorithm as mentioned above. On the other hand, the total time or makespan may be controlled by selecting a possible sequence containing all products but not a production cycle. In comparison with the cycle time problem, some additional procedure may be needed for selection of the shortest makespan. For example, when a single cycle solution is obtained, a sequence can be determined by breaking one of all the links existing in the cycle. This breaking procedure will be accomplished by some additional procedures, which will be explained in detail in the next section. Before further discussion of these procedures, a Gantt chart with a suitable sequence shown in Figure 2 is considered. Figure 2 shows the Gantt chart with the sequence of A-D-B-C for example 1, requiring the makespan of 130 that was proved as a global optimal solution (Jung et al., 1994). It is clear from this figure that in general the makespan of a given stage will consist of the following four parts of time components: (1) the head (HDik) in each stage for processing the first product in the concerned sequence, plus (2) the contribution of idle times (Dijk), in which the sequence-dependent setup times (Sijk) are included, existing between the products, which depend on the types of pairs that form the sequence, plus (3) the tail (TLik) in each stage for processing the last product in that sequence, plus (4) the sum of all batch processing times of all products in that stage and all transfer times from the previous stage and to the next stage. The fourth term is a constant for all possible production sequences, but the other terms are sequence-dependent. The head and the tail will be affected by what are the starting and the ending products in a given sequence, respectively.
Ind. Eng. Chem. Res., Vol. 35, No. 10, 1996 3461
Figure 2. Gantt chart for example 1 with a sequence of A-D-B-C.
MILP Model for Minimizing Makespan
Table 3. Heads and Tails of Example 1 (a) Heads (HDik) HDik
1
2
3
4
A B C D
0 0 0 0
12 18 22 15
34 29 33 24
41 44 44 42
(b) Tails (TLik) TLik
1
2
3
4
A B C D
62 37 26 41
40 26 17 33
33 11 6 12
0 0 0 0
The systematic procedure for determining the head and the tail is also presented in the Appendix. The computing effort required to calculate these time parameters of all products is also very small. The heads (HDik) and tails (TLik) for example 1 are given in Table 3. By the definition of these parameters, heads on the first stage and tails on the last stage for every product are all zero. Birewar and Grossmann (1989b) reported a rigorous solution method as well as an approximate method for selecting a sequence with the smallest makespan. By the approximate method, an improved lower bound of the makespan solution can be obtained by choosing the smallest possible head and tail in any given schedule and from excluding the effect of the largest idle time corresponding to any possible pair of products. This procedure, however, may often lead to an optimal or very near optimal solution of the makespan minimization problem. It seems that all parameters are not simultaneously optimized in the scheduling problems. Therefore, in order to determine an optimal sequence, the idle times as well as heads and tails should be simultaneously considered to minimize the makespan. In the following section, we will show how the formulation can be related to the heads and tails for selecting the optimal sequence. In this formulation, new binary variables and new constraints to decide the products with the suitable head and tail will be introduced. And the variables are aggregated in the constraints of the TSP (see eqs 1-3). Then, the scheduling problems for the multiproduct batch plant under the ZW policy can be effectively formulated as new MILP models.
In this section, combining the TSP algorithm with minimizing the head and the tail, an MILP model will be formulated to select a sequence with the minimum makespan of multiproduct batch plants under ZW policy. The procedure of the model formulation will be explained through three steps. First, new binary variables and new constraints will be addressed for selecting the products with suitable head and tail. Second, we will show how the head and the tail selected can be used to break a link existing in a given cycle. Finally, a compact MILP model will be formulated to combine the above two steps with the TSP algorithm. Step One. As seen in Figure 2, a head and a tail are related to the starting and the ending products in a processing sequence, respectively. Therefore, the starting and the ending products should be selected by minimizing the head and the tail. In order to determine these products with suitable head and tail, new decision variables and additional constraints will be addressed. Then the binary variables will be defined as follows:
{
1,
if product i is the first one in a processing sequence 0, otherwise 1, if i is the last product in a processing sequence YLi ) 0, otherwise
YHi )
{
Since each of the starting and the ending products exists only once in a given sequence, the binary variables YHi and YLi must satisfy the following assignment constraints: NP
YHi ) 1 ∑ i)1
(5)
NP
YLi ) 1 ∑ i)1
(6)
Also, since the starting and the ending products in that sequence are not equal, it leads to the following constraint.
YHi + YLi e 1
i ) 1, ..., NP
(7)
3462 Ind. Eng. Chem. Res., Vol. 35, No. 10, 1996 Table 4. Selection of a Sequence from Breaking the C-A Link in a Single Cycle
Figure 3. Determination of a production sequence from breaking a link in a cycle: (a) complete cyclic solution obtained from the TSP algorithm for example 1; (b) possible sequences obtained from breaking each link or from changing the corresponding binary variable Xij from unity to zero.
where this constraint is optional and valid for only one batch production for every product or for SPC, as will be explained in the next section. By the definition of the binary variables, it should be noted that the starting and the ending products with suitable head and tail in a possible production sequence are selected from constraints 5-7. Step Two. In order to eliminate the effect of the largest idle time corresponding to any possible pair of products, it will be obtained from breaking the link concerned with that pair existing in a cyclic solution. For example, consider a graphic representation of a single cycle obtained from minimizing the idle times using the data of example 1, as shown in Figure 3a. In this cycle, there are four links, A-D, D-B, B-C, and C-A, where arcs in this figure denote the links corresponding to the product pairs, which must be produced in the direction of the arrow. From this figure, the link between products i and j existing in the cycle corresponds to a nonzero binary variable Xij, where the values of XAD, XDB, XBC, and XCA are unity and others are all zero. Therefore, breaking a link of (i, j) is equivalent to changing the value of the corresponding variable Xij from 1 to 0. From the cycle, four possible sequences can be generated by the breaking procedure, as shown in Figure 3b. We can find that the first sequence shown in Figure 3b is obtained from breaking the link between products C and A, where the value of XCA becomes zero. In this sequence, product C is located at the ending point, but product A is located at the beginning. Therefore, a production sequence including the starting product j and the ending product i can be determined by breaking the i-j link existing in a single cycle. As mentioned above, by minimizing heads and tails, we can select the starting product and the ending product in a sequence. Thus, a suitable breaking point in a production cycle can be sought for selecting the products with the smallest head and the smallest tail. Step Three. As described in the previous section, in order to determine the sequence with the shortest makespan, the idle times existing in every product pair as well as heads and tails should be simultaneously minimized. A single cycle with the minimum set of all idle times is obtained from the constraints 1-3 of the TSP, and a link, which must be broken, with the shortest head and the shortest tail is determined from eqs 5-7. In the case when a single cycle is obtained, the broken link formed by the starting and the ending products should be contained in the cycle. But in the case when the starting and the ending products are selected, the orders between the rest of the products must be determined. For satisfying these situations simultaneously, it is desirable that the starting and the ending products
must be excluded from handling the constraints of the TSP algorithm. From the first sequence shown in Figure 3b, we can find that the starting product A does not appear in the second place in other links, (A, D), (D, B), and (B, C), corresponding to the nonzero binary variables Xij. The ending product C also does not appear in the first place in those links. Therefore, these can be modeled as follows: NP
XiA ) 0 ∑ i)1
when YHA ) 1,
(8)
NP
XCj ) 0 ∑ j)1
when YLC ) 1,
(9)
whereas the rest products B and D are satisfied with constraints 1 and 2 and then the values of YHi and YLi, i ) B and D, are equal to zero. From this situation it is clear that the sum of eqs 1 and 5 and the sum of eqs 2 and 6 are all unity. Therefore, the following constraints are derived from aggregating eqs 5 and 6 with eqs 1 and 2, respectively, as follows: NP
YHj +
Xij ) 1 ∑ i)1
j ) 1, ..., NP
(10)
i ) 1, ..., NP
(11)
NP
YLi +
Xij ) 1 ∑ j)1
By eqs 10 and 11, the minimization of makespan can be simultaneously handled both to select the smallest head and tail and to exclude the effect of the largest idle time. Therefore, for the multiproduct batch plant under ZW policy, if the first and last products are selected by constraints 5-7, the processing sequence between the rest of the products is determined by eqs 10 and 11. For example, Table 4 shows a solution obtained from example 1. Note that there are one matrix, one column, and one row. Each entry of the matrix corresponds to a value of the variables Xij, i, j ) 1, ..., NP. And the last column and the bottom row also show the corresponding values of YLi and YHi, i ) 1 ..., NP, respectively. Since the values of the YHA and YLC are unity, the pair (C, A) must be broken, as denoted by a cross (×) in the matrix. And there are three links (A, D), (B, C), and (D, B), which can be easily obtained from the Xij matrix. From this table, it is clear that the production sequence is A-D-B-C, with the makespan of 130, as seen in Figure 2.
Ind. Eng. Chem. Res., Vol. 35, No. 10, 1996 3463
As seen in Figure 2, the makespan MSk for a given stage k can be formulated as the following equation: NP
MSk )
NP NP
Table 5. Time Parameters for Example 2 Obtained from the Calculation Procedure of the Appendix (a) Heads (HDik)
NP
YHjHDjk + ∑∑XijDijk + ∑YLiTLik + ∑ j)1 i)1 j)1 i)1 NP
tik ∑ i)1
k ) 1, ..., M (12a)
Hdik
1
2
3
4
Hdik
1
2
3
4
A B C D
0 0 0 0
12 18 22 15
34 29 33 24
41 44 44 42
E F G H
0 0 0 0
9 9 8 16
13 21 15 13
30 45 31 40
TLik
1
2
3
4
TLik
1
2
3
4
A B C D
62 37 26 41
40 26 17 33
33 11 6 12
0 0 0 0
E F G H
32 44 36 27
28 33 30 13
9 9 13 6
0 0 0 0
(b) Tails (TLik)
where tik is the sum of the transfer time for product i, i ) 1, ..., NP, from stage k - 1 to stage k, k ) 1, ..., M, the processing time for product i in stage k, the transfer time for product i from stage k to stage k + 1. Thus,
tik ) Ti(k-1) + Pik + Tik
i ) 1, ..., NP; k ) 1, ..., M (12b)
It is clear that the last term of eq 12a in the right hand side, which is the summation of all tik, is constant. The overall makespan MS is also written as follows:
MS g MSk
k ) 1, ..., M
(12c)
Therefore, the minimization of the makespan for the ZW policy subject to constraints 3, 5-7, and 10-12 leads to the following MILP model:
min MS
[MILP1]
subject to NP
MS g
NP NP
NP
YHjHDjk + ∑∑XijDijk + ∑YLiTLik + ∑ j)1 i)1 j)1 i)1 NP
tik ∑ i)1
k ) 1, ..., M
NP
Xii ) 0 ∑ i)1 NP
YHi ) 1 ∑ i)1
(c) Idle Times (Dijk) pairs (i,j)
1
stage k 2 3
A-A A-B A-C A-D A-E A-F A-G A-H B-A B-B B-C B-D B-E B-F B-G B-H C-A C-B C-C C-D C-E C-F C-G C-H D-A D-B D-C D-D D-E D-F D-G D-H
21 22 21 22 35 18 32 24 4 0 1 5 15 7 12 3 2 1 0 2 9 2 7 2 4 3 3 5 19 10 17 4
11 18 21 15 22 5 18 18 5 7 12 9 13 5 9 8 5 10 13 8 9 2 6 9 8 13 17 12 20 11 17 12
26 22 25 17 19 10 18 28 12 3 8 3 2 2 1 10 16 10 13 6 2 3 2 8 9 3 7 0 3 2 3 8
4
pairs (i,j)
1
stage k 2 3
4
0 4 3 2 3 1 1 2 8 7 8 10 8 15 6 6 17 19 18 18 13 21 12 16 4 6 6 6 8 14 7 3
E-A E-B E-C E-D E-E E-F E-G E-H F-A F-B F-C F-D F-E F-F F-G F-H G-A G-B G-C G-D G-E G-F G-G G-H H-A H-B H-C H-D H-E H-F H-G H-H
2 2 2 2 10 5 10 4 5 8 4 15 23 14 23 7 2 1 2 1 12 6 8 2 3 4 2 3 11 8 9 0
10 16 20 13 15 10 14 16 6 15 15 19 21 12 20 12 8 13 18 10 15 9 10 12 1 8 10 4 6 3 3 2
11 14 14 12 8 18 9 12 2 8 4 13 9 15 10 3 7 9 10 7 6 15 3 6 17 21 19 18 14 26 13 13
13 8 12 3 0 3 2 14 4 2 2 4 1 0 3 5 13 7 12 2 2 4 0 12 16 12 14 6 3 8 3 12
NP
YLi ) 1 ∑ i)1 YHi + YLi e 1
i ) 1, ..., NP
NP
YHj +
Xij ) 1 ∑ i)1
j ) 1, ..., NP
NP
YLi +
Xij ) 1 ∑ j)1
i ) 1, ..., NP
MS g 0; Xij, YHi, YLi ) 0, 1
i, j ) 1, ..., NP
The mixed-integer linear model MILP1 is very compact, as it includes only one continuous variable MS, NP2 + 2NP binary variables, and 3NP + M + 3 constraints. The effectiveness of the proposed model will be illustrated through several examples. Examples. The MILP1 problems are solved on a SUN/SPARC station using the MILP solver OSL (IBM,
1991) through the modeling system GAMS (Brooke et al., 1992). For example 1 in the multiproduct batch plant under ZW policy, the model consists of 19 constraints, 1 continuous variable, and 24 binary variables. The total CPU time required to solve the MILP1 problem of example 1 on the SUN/SPARC station was 2.08 s. (The total computational time includes the time required to calculate the idle times Dijk for all possible product-pair combinations as well as heads HDik and tails TLik for all products and to generate the GAMS code using the C compiler in UNIX and then solve the problem using the branch and bound code OSL). Example 2 involving one batch for each of the eight products with four stages was solved with the proposed MILP1 model. Nonzero transfer and nonzero setup times are also assumed here. The processing times and other data are used from example 3 in Jung et al. (1994). To solve the MILP1 model, the idle times, heads, and tails should be calculated by the preprocedure as described in the Appendix. The data obtained from the precalculation are listed in Table 5.
3464 Ind. Eng. Chem. Res., Vol. 35, No. 10, 1996 Table 6. Solution to Example 2 (a) With a Subcycle
Thus, the solution method for this problem required a total of 6.41 s. Condensed results of examples 1 and 2 and two other examples (example 3 and 4) are presented in Table 7. It should be noted that MILP1 and subcycles eliminating constraints yielded integer values of pairs of products (Xij) for all of these examples through their LP relaxation. Also, three examples needed the subcycle eliminating constraints (4). Only the first example when solved with MILP1 yielded no subcycles. For the third example subcycle elimination was applied five times, but it was applied once for the second and fourth examples. Also, the total computational time required for the examples using the proposed MILP method ranged approximately from 2 to 18 s. To verify the performance of the proposed MILP model, the MILP1 will be extended to scheduling problems of multiproduct batch production with SPCs and MPCs represented by Birewar and Grossmann (1989b), as shown in the next section. Also, the effectiveness of the proposed methods will be illustrated with two examples used in Birewar and Grossmann.
(b) Without any Subcycles
Extension for Production with SPC and MPC For problems involving a large number of batches of relatively few products, Birewar and Grossmann (1989a) reported in detail an aggregated ATSP formulation, in which scheduling of multiproduct batch plant with SPC and MPC is performed. Refer to their paper for the concept of the production policies with SPC and MPC; hence, it will be skipped here. Birewar and Grossmann (1989b) developed a rigorous solution method for the minimization of makespan in multiproduct batch plants that are scheduled with the ZW policy. They determined the global optimum makespan from the following MILP model:
min MS
[MILP-B]
subject to NP
MS g Table 6a shows the solution of the MILP1 scheduling model which corresponds to a makespan of 195 unit times. The MILP1 required 2.86 s of total computational time. It can be clearly seen that there are both a sequence and a subcycle containing products A and F. The remaining six products belong to the sequence E-D-B-C-G-H, including the starting product E and the ending product H. Finally, in order to obtain a solution without subcycles, the subcycle elimination constraints (4) were added to the MILP1 model. In this example, there is one subset of Q: Q ) S1 ) {A, F}, but Q* ) {B, C, D, E, G, H}. Then, the solution to MILP1 with two additional constraints consisted of one sequence, E-AF-C-G-D-B-H. The solution without any subcycles exhibits the makespan of 195 unit times and is listed in Table 6b. The Gantt chart for the solution of the production sequence can be seen in Figure 4. Solution to the MILP1 problem required 3.55 s of total computational time, which included the time required to search the existing subcycle in the generated solution.
NP NP
nitik + ∑∑NBijDijk + ∑ i)1 i)1 j)1 NP NP
∑ ∑(( ∑ tjm + m>k ∑ tim) - Dijk)Yij i)1 j)1 m