Scheduling in Serial Multiproduct Batch Processes with Due-Date

Nov 30, 1989 - the multiunit serial multiproduct process with a single-batch unit in each stage and unlimited intermediate storage. The problem consis...
0 downloads 0 Views 2MB Size
580

I n d . E n g . Chem. Rm. 1990, 29, 580-590

Reklaitis, G. V. Review of Scheduling of Process Operation. AIChE Symp. Ser. 1978, 78, 119-133. Rich, S. H.; Prokapakis, G. J. Scheduling and Sequencing of Batch Processing Operations in a Multipurpose Plant. Ind. Eng. Chem. Process Des. Deu. 1986, 25 (4), 979-988. Sparrow, R. E.; Forder, G. J.; Rippin, D. W. T. The Choice of Equipment Sizes for Multiproduct Batch Plants: Heuristic vs. Branch and Bound. Ind. Eng. Chem. Process Des. Dev. 1975, 14, 197-203. Suhami, I. Algorithms for Scheduling and Design of Chemical Pro-

cessing Facilities. Ph.D. Thesis, Northwestern University, Evanston, IL, 1980. Suhami, I.; Mah, R. S. H. Scheduling of Multipurpose Batch Plants with Product Precedence Constraints. In Proceedings of FOCAPD: Westerberg, A. W., Chen, H. H., Eds.; CACHE: New York, 1984; pp 667-708.

Received for review July 28, 1989 Revised manuscript received November 30, 1989 Accepted December 15, 1989

Scheduling in Serial Multiproduct Batch Processes with Due-Date Penalties Hong-ming Ku and Iftekhar Karimi* Department of Chemical Engineering, Northwestern University, Euanston, Illinois 60208

Customer satisfaction is one of the most important considerations in the production scheduling of many batch processes but has received very little attention in research. In this paper, we consider the multiunit serial multiproduct process with a single-batch unit in each stage and unlimited intermediate storage. T h e problem consists of sequencing the production of a list of batches or single-product campaigns so as to minimize the total penalty due to any late deliveries. We present a branch and bound algorithm for this problem using two procedures for computing a lower bound on the penalty of a partial sequence. These procedures reduce the M-unit system t o several 1-unit systems by assuming individual units t o be bottleneck and by employing the available 1-unit algorithms. Our computational experience suggests that the algorithm is quite good for modest-size problems involving as many as 15 batches or campaigns. determine their production sequence with the minimum total back-order cost or due-date penalty. We first develop an exact branch and bound (BAB) algorithm for finding such a sequence of batches for a 2-unit system. We illustrate the procedure with an example and report our computational experience. We then generalize the algorithm to the M-unit system and production with singleproduct campaigns.

Batch processes are commonly used for the production of specialty chemicals such as pharmaceuticals, cosmetics, polymers, biochemicals, electronic materials, and food products, as they are well suited for producing multiple low-volume, high-value products requiring similar processing paths or complex synthesis procedures. In addition, batch processes offer flexibility in the face of seasonal and fluctuating demands and inexact process knowledge. A survey of Parakrama (1985) clearly indicates that batch production will continue to be an important and permanent feature of the CPI. The survey has also identified the production scheduling as the most important area for the development of systematic procedures. A common scheduling problem in batch plants consists of determining the order in which batches or campaigns are to be processed in order to optimize a cost/performance criterion. Despite a considerable amount of existing scheduling literature (Ku e t al., 19871, to date attention has mainly focused on minimizing performance criteria such as makespan and flow time. Recent surveys (Musier and Evans, 1989; Wellons and Reklaitis, 1988; Chaudhary, 1988) have shown that customer service, Le., meeting the due dates of customer orders, is one of the most important concerns in the CPI. However, surprisingly the existing research on the due-date penalty minimization has addressed only the problems involving either a single processor or a single stage of multiple processors. Since most chemical processing requires multiple operations, these problems are of little interest, and there is a need to address to the multistage batch systems. In this paper, we study the serial multistage batch process with unlimited intermediate storage. All products follow the same path through the plant, and the production is scheduled in terms of either individual batches or single-product campaigns. The scheduling objective is to

Previous Work In the literature on the minimization of due-date penalty, the 1-stage scheduling problem has received almost all the attention (McNaughton, 1959; Held and Karp, 1962; Lawler, 1964; Elmaghraby, 1968; Shwimer, 1972; Kan et al., 1975; Bernard0 and Lin, 1982, 1984). The common objective has been the weighted tardiness penalty. This is a sum of penalties of products, each of which is a linear function of the tardiness (positive lateness) of the product. Karp (1972) has shown that minimizing the weighted tardiness even in a 1-unit system is an NP-complete problem; thus, the common approach has been to develop powerful elimination criteria for reducing the number of candidate solutions and then to use either a branch and bound strategy or dynamic programming to find the best solution. Shwimer (1972) and Kan et al. (1975) have developed very good branch and bound procedures which can schedule up to 20 products with reasonable computation effort. Among the chemical engineering researchers, Musier and Evans (1989) studied the 1-stage process with parallel processors and the simple total tardiness objective (all the weights are unity). They proposed a simple heuristic improvement strategy based on interchanges of products. They compared their method with a simple list-scheduling heuristic using test problems with known optimal solutions and found that the heuristic gives near-optimal solutions. However, they did not report any comparison with the

* A u t h o r to whom correspondence should be addressed. 0888-5885 /90/2s29-0s80aO2.50/0

e

1990 American Chemical Society

Ind. Eng. Chem. Res., Vol. 29, No. 4, 1990 581 existing, more sophisticated scheduling algorithms. Serial batch processes with such cost criteria, on the other hand, have received very little attention in the literature, even for the simple 2-stage system. This is suprising, considering the fact that the 2-stage and multistage problems under performance criteria such as makespan and flow time have been investigated very thoroughly. In fact, we are not aware of any study on the multistage problem with cost criteria except that of Townsend (19771, who studied the sequencing of N jobs on M machines to minimize maximum tardiness. Clearly, considerable research is needed to develop good scheduling algorithms for the multistage batch processes, since most batch plants have multiple stages and satisfying customer due dates is a major concern. This work represents the first step in that direction.

Serial Batch Process A multistage serial process or flowshop consists of a series of M batch units, each of which is linked to another batch unit by one or a series of semicontinuous units. The serial process produces multiple products, but all the products follow the same processing path. In scheduling literature (Ku et al., 1987),it is classified according to the intermediate storage policies that are used between consecutive batch units. In this paper, we assume that there is almost an unlimited number of storage units available to hold the finished batches from any unit. This is referred to as the UIS (unlimited intermediate storage) policy. We assume that a list of N batches of the same or different products is to be produced, and the processing times (t,,) of batch i on unit j , the set-up times (s,,) for batch i on unit j , and the transfer times (a ) for batch i out of unit j are known. Let d, be the due Jate for batch i. If the batch is not ready by d,, then it is late and is assumed to incur a penalty of p , dollars per unit time. However, there is no penalty or reward for producing the batch early. Thus, if C,, denotes the time at which batch (product) i leaves unit j , then the penalty incurred by product i is given by

p, = P, max [O, C,M + a , -~41

(1)

The scheduling problem is then to determine the sequence in which N batches should be produced and a timetable of operations so as to minimize the total penalty resulting from the tardiness (lateness) of the products, i.e., to minimize

P = P1

+ P2 + P3 + ... + PN

(2)

This objective function is known as the weighted tardiness criterion. We make the follc ving additional assumptions regarding the operation of the serial process. 1. All products are produced in the same order on each processing unit. Such schedules are known as permutation schedules. 2. The operation is nonpreemptive; i.e., once begun, an operation cannot be interrupted until it is completed. 3. A unit may not process more than one product a t a time nor may a product be processed by more than one unit simultaneously. 4. The batch set-up times are sequence-independent. Due to assumption 2, a production sequence can be characterized by a single sequence of permutation of integers such as k1-k2-k3- ...-kN, where product k, is in the ith position of the sequence. The UIS system is the most studied in the scheduling literature. For an M-unit UIS system, the C,, for a per-

mutation schedule ki-kz-k3-...AN and Karimi, 1989) by

c ~=, max[C~(,-l),

are given (Rajagopalan

+ ak(,_,g + sk,,l + ak,(,-l) + tk,, i = 1, N, j = 1, M (3)

c(i-l),

where C, = 0 for i 2 0, j < 0, and j > M. The total time required to produce all N batches or the makespan is simply C N M ak M. Several algoritcms exist for minimizing the makespan in the UIS system. The most notable of these is a polynomial-time algorithm (Johnson, 1954) for generating a schedule with the minimum makespan. I t is the most notable, because it is one of the very few polynomial-time algorithms in the scheduling literature. The original Johnson’s algorithm (see Ku e t al. (1987) for details) assumes zero batch transfer times and set-up times. Recently, Rajagopalan and Karimi (1989) have generalized it to accomodate the transfer and sequence-independent set-up times as given in the following lemma. Lemma 1. For the 2-unit UIS system with transfer and sequence-independent set-up times, the optimal (minimum makespan) sequence is obtained by applying Johnson’s algorithm to a pseudo-2-unit problem with the following processing times:

+

4l* =

41

+ a,, + s,1 - SI2

(4)

(5) + a12 Interestingly, if the ordering of the products in the sequence given by lemma 1 is reversed, a sequence with the maximum makespan is obtained. For simplicity, we first adress the scheduling problem in the 2-stage UIS system and then extend the results to the M-stage system. In these, we will assume that the problem is that of scheduling batches of different products. In a situation where there are multiple batches of most products, it may be desirable to produce the batches of a single product contiguously to minimize the set-up/ clean-up costs. This is called operation with single-product campaigns. Since such an operating policy is very common in the batch plants, we also extend our algorithm to schedule campaigns. We begin with a brief introduction to the branch and bound method, which forms the basis behind our algorithm in this paper. 42*

=

42

Branch and Bound Method The branch and bound method is one of the most widely used procedures for combinatorial optimization problems. In a scheduling problem such as the present one, N ! sequences are possible. A complete enumeration of the N! sequences to obtain the best is obviously not practical for N > 8-10. The idea behind the BAB method is that of intelligent partial enumeration. Typically, one divides the set of possible solutions into a number of progressively smaller subsets and tries to establish a lower bound on the objective function that can be obtained from each subset. Additionally, one obtains an upper bound on the objective function by using a simple, heuristic procedure. Clearly, if the lower bound for a subset is greater than the upper bound, then that subset need not be enumerated any further and is called fathomed. Once all the subsets are either enumerated or fathomed, the best solution enumerated has to be globally optimal. Clearly, the effort required in the BAB algorithm increases with the number of sequences enumerated. This depends critically on the effectiveness of the lower and upper bounds. The higher the lower bound for a given subset and the lower the upper bound, the higher is the

582

Ind. Eng. Chem. Res., Vol. 29, No. 4, 1990

Level 0

Level 1

Level 2

Level 3

.

*

*

Level N

Figure 1. Branch and bound tree.

probability that it can be fathomed without enumeration. Thus, good, efficient procedures for estimating the lower and upper bounds are essential to a successful BAB algorithm. Even though a BAB method is typically useful for small-size problems, we consider it useful to develop a method that can solve problems with N = 8-12 efficiently, because such a procedure can provide us with insight into developing a heuristic procedure for solving larger problems. The subsets of possible solutions in a sequencing problem such as the present one are created by fixing a number of products in the first positions of a sequence. We refer to these subsets as nodes and the total hierarchy of these nodes as the BAB tree (Figure 1). The root node (level 0) represents the top of the tree, where no products are scheduled. From this node, N nodes of level 1 are created by fixing the first product in the sequence. Thus, a node at this level represents all the sequences with the same first product. Since each node has one distinct product in the first position, they each can further be subdivided into N - 1 nodes such that the second position is filled by a different product. Thus, a node at level k of the tree represents a subset of sequences in which the first k products are known, and only the remaining N - k positions are to be filled in. A lower bound for such a node would be the lowest value of the due-date penalty that one can expect from all the possible sequences in the its subset. In Figure 1, each node is labeled by the last product scheduled in its partial sequence. For instance, node 2 in level 3 of Figure 1 represents a partial sequence of 3-1-2. Before we develop procedures for estimating the lower and upper bounds for the 2-unit system, let us see some simple elimination rules that may reduce the work required in the BAB procedure by reducing the number of batches that must be sequenced.

Elimination Rules Many elimination criteria have been used very successfully for solving the 1-machine scheduling problem. They attempt to predict, a priori, the relative positioning of some products in the optimal sequence. For instance, a certain product precedes or follows one or more products. For the 1-machine system, it is possible to derive such rules which require the prespecified problem data (p,,d,, t, ,etc.) only. These rules can drastically reduce the numLer of sequences that are candidates for the optimal sequence, hence reducing the computational effort. They have made it possible to solve the 1-machine system with small computation time even for N as large as 20 (Shwimer, 1972; Kan et al., 1975). Unfortunately, it is almost impossible to derive rules predicting precedence relations for a multistage system, because unlike the 1-machine system the completion times in the multistage system are not sequence-independent. However, we have been able to identify two simple elimination rules based on Johnson's algorithm discussed earlier. Although not as powerful as those for the 1-machine system, they can be useful in a few instances, as we shall see later. These rules are to be applied prior to the BAB procedure. The first rule checks for the trivial case in which the sequence that minimizes the makespan also minimizes the total penalty. Lemma 2. Let S i be the sequence obtained from Johnson's algorithm with the minimum makespan of L. If d k 1 L for all h = 1, N, then S $ also minimizes P. Clearly, if dk 1 L for all k = 1, N,then no product incurs any penalty, and the above lemma is obvious. The second elimination rule checks to see if there are products that can always be sequenced last without incurring any penalty. Lemma 3. Let S y be the reversed sequence of Sf; (lemma 2 ) and Cr be its makespan. If a product k has d k 1 li, then it can be sequenced last. Clearly, if dk 1u, there is no penalty for product k, no matter where it is sequenced. Thus, to minimize the penalties for other products, product h should be sequenced after the other products. Lemma 3 reduces the number of products that must be sequenced and thus reduces the number of possible sequences. Finally, note that these elimination rules apply only to the 2-stage system, because there is no efficient algorithm for obtaining a sequence with the minimum makespan in the '44-stage system. In fact, the M-stage makespan problem is an NP-complete problem (Garey et al.. 1976). Initial Upper Bound To obtain an initial upper bound, we generate a sequence based on two empirical observations. First, the batches with earlier due dates will most likely be produced early in a good sequence, since the due-date penalty of a batch increases linearly with its completion time. Similarly, batches with higher penalties should also be sequenced early to minimize their penalty. We combine these two criteria heuristically and sequence batches in the increasing order of d , / p , as follows. 1. Compute d , / p , , i = 1, N . 2. Sequence batches in the ascending order of d , / p , . 3. Compute the C,, and P for the above sequence by using eqs 1-3. Clearly, P is an upper bound on the minimum penalty. Lower Bounds The last and the most important part of our BAB procedure is that of determining a lower bound on the penalty

Ind. Eng. Chem. Res., Vol. 29, No. 4, 1990 583

from a node. Let S = {il,i2,..., ik] denote the fixed partial sequence of k batches a t a node level k , and let S ’be the set of remaining N - k unscheduled batches. Clearly, P = P ( S ) + P(S’),where P ( S )is the total penalty incurred by the batches in S ,

Unit 1

k

P ( S ) = c p i max [0, Ci2 + ai2 - di] i E S i=l

(6)

and P(S ’) is the total penalty from those in S ’. If LB is a lower bound on P and LB* is the lower bound on P(S’), then LB = P ( S ) + LB* (7) The basic idea behind our lower bound procedures is to consider one of the units as the bottleneck stage; i.e., the C , , j = 1,2, are entirely controlled by the Cij on one of the units. In a 2-stage system, we have 2 units, so by assuming the two units to be bottleneck one a t a time, we get two lower bounds on the Cij. More importantly, when one of the units is controlling, the 2-stage system essentially reduces to a 1-machine system, and we can use the results on the 1-machine systems to obtain a lower bound on the total penalty. Let us first show that, for any partial sequence ( S ) and a given ordering of the unscheduled batches in S ’, a lower bound on the total penalty is given by the following proposition. Proposition 1. Let il-i2- ...-ik be a given partial sequence ( S )of k batches. Let ik+l-ik+2-...-iN represent an arbitrary sequence of the N - k unscheduled batches in S’; then a lower bound (LB*) on the penalty of the arbitrary sequence in S’ is given by LB*(S’) = max [LB*,(S’), LB*,(S’)], where LB*l(S’) and LB*,(S’) are given as follows: N

LB*l(S and LB*2(S ‘

+ siSl+ aiSo+ tiSlfor s = k + 1, where x. - x(s-l) + N, x k = Ckl;y s = Y ( , - ~+) ai,-1)2 + sis2+ aiSl+ ti for s = k + 1, N; and yk = Ck2,with bkjbeing the compfetion time of batch ik on unit j . Proof. From eas 1and 2, the total Denaltv contributed

Cs2 2 Csl + aiSl+ tiS2 s = k

+ 1, N

(12a) s = k + 1, N Cs2 2 C(s-1)2+ + si,2 + ai,l + ti,2 (12b) Since both eqs 12a and 12b give lower bounds on Cs2,if we use eqs 11 and 12a, we should get a lower bound on LB*(S’), and if we use eqs 11and 12b, which is essentially eq 12b alone, we should get another lower bound on LB*(S’). The maximum of the two is the lower bound of proposition 1. Notice that the x, represent the completion times of batches in S’ when they are processed on unit 1 alone beginning at time c k l + aikl;thus, LB*,(S’) corresponds to the situation when unit 1 is the bottleneck stage and controls the Cij (Figure 2). Similarly, the y , represent the

Unit 2

0

Processing Time

ETransfer

Time

Set-Up Time

Figure 2. Batch unit 1: bottleneck.

Unit 1

Unif 2

0

Processing Time

Transfer Time

Set-Up Tome

Figure 3. Batch unit 2: bottleneck.

completion times of the batches in S’ when they are processed on unit 2 alone beginning at time Ck2+ aik2; thus, LB*,(S’) corresponds to the situation when unit 2 is the bottleneck stage (Figure 3). Proposition 1gives us a lower bound on the total penalty but only for a given sequence of the batches in S’. But the lower bound that we desire is the lower bound for all possible sequences in S ’. Clearly, we need a procedure to get the minimum values of LB*l(S’) and LB*,(S’) without enumerating all the possible sequences of batches in S ’. We develop two such procedures. In the first procedure, we use an algorithm for minimizing the weighted tardiness in a 1-unit system. However, since this 1-machine problem itself is NP-complete, our second procedure uses an algorithm for minimizing the weighted completion times on a 1-unit system, which is not an NP-complete problem. Lower Bound Procedure 1. Note that, by using the idea of a bottleneck machine, we have really reduced the 2-unit problem into two 1-unit problems, i.e., finding the minimum of LB*l(S’) is equivalent to minimizing the penalty on unit 1 alone, and finding the minimum of LB*,(S’) is the same as minimizing the penalty on unit 2 alone. The 1-unit scheduling problem under the weighted tardiness criterion has received considerable attention from the industrial engineering researchers and management scientists, and various algorithms are available for finding an optimal sequence. Our survey (Sen and Gupta, 1984) of the available methods for solving the 1-machine problem indicates that the BAB algorithm proposed by Shwimer (1972) offers the best compromise between speed and simplicity. His algorithm was able to solve problems with up to 20 products and required an average computation time of 0.07 s on an IBM 360/65 for 10-product problems. More importantly, Shwimer reported that problems in which the optimal solution was found either in the initial upper bound or a t the first complete schedule reached in searching down the tree comprised over 80% of the 10-product problems. These results prompted us to select Shwimer’s algorithm in this work. However, the first task is to modify Shwimer’s algorithm, as it is not designed for solving problems with batch set-up

584

Ind. Eng. Chem. Res., Vol. 29, No. 4, 1990

and transfer times and those involving given partial sequences. To this end, we make use of the following obvious result. Lemma 4. For a 1-machine problem involving batch set-up and transfer times, Shwimer’s algorithm can be applied with the following pseudoprocessing times to obtain a sequence with the minimum weighted tardiness: (13) J = 1, 2 tu,* = s,] + a,(l-ll+ t , + a,, The above lemma is obtained directly by lumping the various operations needed for a batch, Le., set-up, transfer in, processing, and transfer out, into a single pseudooperation. To apply Shwimer’s algorithm to problems with partial sequences, we derive the following result (proof in the Appendix). Proposition 2. The sequence that minimizes LB*,(S’ ) and LB*&S’)can be obtained by using Shwimer‘s algorithm with the following adjusted due dates (d,,* for unit 1 problem and dr2*for unit 2 ) for the batches in S’: v 1 E s’ (14) d,l* = d, - ckl - akl - f12 - a12 d,2* = d I - Ck 2 - a k 2 v f s’ (15) From the above discussion, it is clear that we must solve two 1-unit problems in order to calculate a lower bound for any node in the branch and bound tree. Therefore, for a typical branch and bound tree, this may involve using Shwimer’s algorithm many times. This can mean a lot of effort, because it is not a polynomial-time algorithm. In fact, as shown by Karp (1972), the 1-machine scheduling problem under the weighted tardiness criterion is an NPcomplete problem; Le., no polynomial-time algorithm exists. Therefore, we must be frugal in using the 1-unit algorithm in our BAB method. Lower Bound Procedure 2. In the first procedure, we determined the lower bound considering the optimal sequencing of all the batches in S’. What if we compromise the goodness of the lower bound by considering the sequencing of only a subset of batches in S’? To this end, let us divide the batches in S’ into two subsets, S,’ and S2’,such that S,’ has all those batches in S’ which are already late, Le., d, 5 ck2 + qk2, and the rest in si. Clearly, the batches in S,’ will always incur penalty no matter where they are sequenced, while those in S i may or may not. Since we want a lower bound on the total penalty from the batches in S’, let us assume that no penalty is incurred by the batches in Si and find the minimum penalty that can be incurred by the batches in S,’. For this, we must find a sequence of the batches in SI’that minimizes their total penalty. To obtain a lower bound on the penalty of batches Sl’, we must schedule them as soon as possible. As shown in the following proposition, the problem of scheduling products whose due dates have passed is equivalent to that of minimizing the sum of weighted completion times, and fortunately there is a simple list-scheduling procedure to achieve the latter. Proposition 3. Let S,’ consist of q products qk+,),i(k+2), ..., i ( k + q ) . When these batches are sequenced after the k products in S, the minimum penalty incurred by them is obtained by minimizing the sum of weighted completion times in two 1-machine scheduling problems for units 1 and 2. Proof. Since the penalty contributions from the batches in S,‘ are assumed to be zero and C,, L dJ V j E S,’, the lower bound LB*l(S1’)(eq 8) reduces to k+q

LB*,(S,’) =

2

r=k+l

p,,(x, +

+ tLg+

-

dIr1

(16)

Products

Figure 4. Division of

where x, = x+,) k + q , and x k =

Products Which May Not be Late

Which

i’V

products into various subsets.

+ a,,? + siCl+ ai,, + tirl for r = k + 1, Ckl.

#ewriting eq 16, we obtain

k+a

Notice that ( x r + uLr1- c k l - a,,,) represents the completion times of batches in S,’ when they are scheduled on unit 1 alone beginning from time zero. Thus, the first term in eq 17 is the sum of weighted completion times of batches in SI’,while the second term is a constant. Clearly then, a sequence of batches in S1’that minimizes the first term will give us LB1*(S,’). Using similar arguments, we can show that, by minimizing the sum of weighted completion times of the batches in S,’ when they are scheduled on unit 2 alone beginning from time zero, we obtain LB2*(S,’) as follows: k+q

LB*Z(s,’) =

c P,,br

ar,2 - ck2 - a l k 2 )

r=k+l

k+q

E

r=k+l

P , , ( c k , + a l k 2 - d,,) (18)

The optimal sequence of batches in S,’ that determines the above lower bounds can be obtained by using the following modified result (Smith, 1956). Lemma 5. The sum of weighted completion times in the 1-machine scheduling problem on unit j is minimized by sequencing the products in the nondecreasing order of t , , * / ~ ,where , t,,* = sII + a,( + t,, + a,,. The division of N products into the various subsets in the lower bound procedures is schematically shown in Figure 4. Bounding Strategy. The two lower bound procedures discussed above have their pros and cons. Procedure 1 involves the solution of an NP-complete problem, while procedure 2 does not. Clearly, the latter would be preferred in terms of efficiency, but in fact it may give zero lower bounds especially when the number of products in the partial sequence is small. This happens when there are no batches in S,’. Thus, to obtain a good lower bound from procedure 2, we must have a sufficiently long partial sequence so that Ck2will be large and there will be products in Sl’. This suggests that procedure 2 is more desirable for nodes a t lower levels (i.e., higher level numbers). In constrast, procedure 1 can be always used, but it will involve intensive computational effort. Consider, for example, that for a 12-product problem, if we wish to get lower bounds on the nodes of level 1 and level 2 alone, we must solve 264 (2 units X 12 nodes in level 1 x 11 nodes in level

Ind. Eng. Chem. Res., Vol. 29, No. 4, 1990 585 Table I. Data for Example I N ti1 ti, si2

ai,

Qi1

Ui2

9 12 19 8 5 20 7 1 6

2 4 1 2

3 1 2

2 1 3

1 2

3 4

1 2 1 2

2 3 2 1

1

2

di

pi

45 4 0 50 3 5

4 1 3 2

p” Root

Root

\

140

b 1 8 2

\

\ 3

4

I

@

h

:

&

143 227

27 1

Level 0

Level 1

Level 2

Level 3

Level 4

Figure 6. Search tree based on products in SI’of example I. Level 0

Level I

Level 2

Level 3

Level 4

Figure 5. Search tree based on products in S ‘and &’of example I.

2) 1-unit problems. Thus, it can be very expensive, if we use procedure 1 for all nodes. The above discussion clearly suggests that a compromise can be achieved by combining the two procedures in an optimal manner. Since procedure 2 is likely to give bad bounds for higher levels in the tree, we use procedure 1 for the first n (1, 2, ..., n ) levels and procedure 2 for the rest. As we see later, our computational experience suggests that n = 2 is a good choice. Also, notice that it is quite likely that the lower bound from procedure 2 a t a level n’(n’> n) may turn out to be less than that predicted by procedure 1 a t level n of the same branch in the tree. In this case, we use the latter as the bound for level n’. We have now discussed all the necessary elements for the BAB method. Let us illustrate it with an example. Example I. Consider the 4-product problem of Table I. The initial upper bound sequence is 1-3-4-2 with a total penalty of 149. Figure 5 shows the entire search tree using the proposed lower bound strategy; Le., procedure 1 was used to obtain the lower bounds for levels 1 and 2 and procedure 2 for levels 3 and 4. The label a t each node denotes the new batch scheduled, and the number next to the node gives its lower bound. For illustration, consider the node labeled 2 a t level 1. The partial sequence is 2 with Cl1 = 25 and C12= 34. The set S’ = {1,3,4).By use of Shwimer’s algorithm (procedure l),the optimal sequence for the batches in S‘ is 3-1-4 and 1-3-4 on batch units 1 and 2, respectively. From eq 8 and

9, we obtain LB*l = 186 and LB*2 = 261. Therefore, the lower bound for this node is LB = 0 + max [186,261] = 261 as indicated in Figure 5, but since the current upper bound is 149, the node is fathomed. The other three nodes cannot be fathomed based on the upper bound of 149. We now enumerate the node labeled 3 a t level 1 one level down, because this node has the least lower bound. Using procedure 1, we find that two nodes a t level 2 can be fathomed. Fathoming the node labeled 1at level 2 further and using procedure 2 for obtaining the lower bounds, we get two nodes a t level 3. Both of these nodes represent complete sequences. The sequence 3-1-4-2 has a penalty of 140. This, being less than 149, becomes the new upper bound. With this upper bound, all the nodes in the tree are fathomed; hence, 3-1-4-2 is the optimal sequence. The strategy of always enumerating the node with the best lower bound is called the best first strategy. The total number of nodes that were saved on the tree for further possible enumeration was 6, and the total number of nodes generated was 10. A node is said to be generated if its lower bound or penalty is calculated, while a node is said to be saved if using the current best upper bound it could not be fathomed and needed to be enumerated at least one more level. If the initial upper bound is the optimal solution, no nodes will be saved, but N nodes will be generated. The number of nodes saved is a measure of the storage requirements of the algorithm, while the number generated is of the CPU time. For the sake of comparison, let us see what happens if we use procedure 2 alone for all the nodes. Figure 6 shows the search tree with its lower bounds. For instance, consider the node labeled 3 at level 2. It represents the partial

586

Ind. Eng. Chem. Res., Vol. 29, No. 4, 1990

Table 11. Branch and Bound Results Using Algorithm A1

Table 111. Branch and Bound Results Using Algorithm A2

computation time. no. of nodes N compl enum mean range 6 1956 21 0-126 131 0-3009 8 109600 10 9.8641 X lo6 748 0-24446 1 2 1.3021 X lo9 5888 0-135380 15” 3.5546 X 10” 16380 477-177750

computation time,

S

mean 0.44 2.35 21.67 155.24 744.40

range 0.02-1.27 0.03-23.7 0.03-324 0.05-2757 5.4555857

“Twenty test problems were used in the evaluation.

sequence 2-3 which has ck2 + a32 = 62. Since the remaining batches 1 and 4 have due dates that are less than 62, S1’= {I,4). Using lemma 5, we obtain the optimal ordering of 1-4 for both units 1 and 2, respectively. From eqs 8 and 9, we obtain LB*, = 190 and LB** = 276. Therefore, the lower bound for this node is LB = 36 + max [190, 2761 = 312, as indicated in Figure 6. Note that all the nodes except one in level 1 of Figure 6 have zero lower bounds. This is in accordance with our earlier comments that procedure 2 can give bad bounds a t higher levels. In contrast, Figure 5 has nonzero lower bounds for all the nodes. It is therefore not surprising that only 6 nodes were saved in Figure 5 as opposed to 1 2 in Figure 6. The number of nodes generated is also higher in Figure 6 as compared to Figure 5. Thus, this example clearly demonstrates the usefulness of procedure 1 in our lower bound strategy.

Performance Evaluation We evaluated the performance of our algorithm by using randomly simulated test problems. The t , were generated from a uniform distribution over the range [0, 301. The s,, the a,,, and the p , were uniformly distributed integers over the range [ l ,51. The d, were drawn from a uniform distribution over the range [25, 30N]. This range of the due dates was used for data generation because it resulted in problems that were neither too constrained nor too relaxed. Highly constrained problems are those whose minimum penalties are very high, while highly relaxed problems are those whose minimum penalties are almost always zero. In practice, one would expect to produce all except a few batches on time. Hence, we think that a typical and realistic problem should neither be too constrained nor too relaxed. We evaluated the efficiency of our algorithm for different values of n. Our experience suggests that n = 2 is the optimal. Problems with n = 1 and n 1 3 require more computation time on average. We tested the effectiveness of procedure 1 by comparing two lower bound strategies. In algorithm Al, we used our proposed strategy; i.e., use procedure 1 for levels 1 and 2 and procedure 2 for the rest. In algorithm A2, we used procedure 2 alone for all the nodes. Tables I1 and I11 show the total number of nodes saved and the CPU times for algorithms A1 and A2 on a DEC MicroVAX I1 using Ultrix-32m, respectively. For N = 6, 8, 10, and 12, 100 test problems were used. Note that both algorithms A1 and A2 generate a significantly smaller number of nodes than what must be generated with complete enumeration. In fact, with our current computing power, complete enumeration is not practical for N 1 9. Algorithm A1 extends the range of solvable problems to N = 15 and with considerably less CPU times than complete enumeration. The number of nodes saved increases dramatically by as much as a factor of 5 for algorithm A2 as compared to algorithm Al. This is expected since algorithm A1 should give better lower bounds than algorithm A2. In terms of efficiency, algor-

iV

6 8 10 12

no. of nodes c o m d enum mean 1956 52 109600 409 9.8641 X lo6 1840 13021 X lo9 21200

S

range 0-322 0-4764 0-30668 0-776781

mean range 0.30 0.02-1.65 3.26 0.03-32.2 27.05 0.05-425 418.54 0.05-16232

ithm A 1 becomes more efficient than algorithm A2 when 2 8, the CPU times can be reduced by as much as a factor of 2.7, if one uses algorithm Al. This result is very significant, considering the fact that algorithm A1 uses procedure 1 for levels 1 and 2. The difference in the efficiencies of algorithms A1 and A2 becomes more pronounced for higher N , as algorithm A2 is unable to solve problems with N > 12, while algorithm A1 is computationally feasible even for N = 15. This again justifies our hybrid lower bound strategy. The CPU times in Table I1 indicate that our algorithm is feasible for solving modest-size problems. Considering the fact that machines much faster than MicroVAX I1 are now available, such an algorithm can be easily used in a heuristic strategy for solving large-size problems. Finally, it is interesting to note that, of the 400 test problems with N 5 12, there were 44 problems whose sizes were reduced by 1 batch using lemma 3. There were also 23,5, and 2 problems whose sizes were reduced by 2,3, and 4 batches, respectively. Of the 20 15-batch test problems, there were 4 problems whose sizes were reduced by 1 product. These numbers show that the elimination rule (lemma 3) is in fact useful for reducing the problem size. However, the sequence predicted by lemma 2 was never optimal and hence, it was ineffective.

N L 8. In fact, for N

M-Unit UIS System The algorithm described until now applies only to the %stage UIS system. It can be easily generalized to the M-unit UIS system by considering every batch unit in the process as the bottleneck unit one by one. This results in the following proposition which subsumes proposition 1. Proposition 4. Let il-izi k be a given partial sequence of k batches. Let ik+l-ik+2-...-iN be an arbitrary sequence of the N - k unscheduled batches in S’; then a lower bound (LB*) on the penalty of this sequence is given by LB*(S’) = max15,5M[LB*,l (19) ..e-

where LB*,(S’), j = 1, M , are calculated as follows: N

LB*,(S’) =

C

s=k+l

p,, max [0, us, + a,,

+

M h=j+l

(ti,h

+ a t a h ) - dlJ1

‘V

LB*ds’) =

E

P ~ max , [O,

+

j = 1, M - 1 (20)

~ ( ~ - 1 ) u+,,M

+ S,@M +

s=k+l

atJM-1) + tl,M + Ur.M - dl8I (21)

and uk

=

CkM

Ind. Eng. Chem. Res., Vol. 29, No. 4, 1990 587 284

Table IV. Data for Examde 11 ~~

N 1 2 3 4

ttl

t12

t13

t14

'11

'13

'12

'14

'IO

'12

1'1

1 0 6 1 2 8 1 2 3 3 2 1 5 1 8 9 5 2 2 1 2 2 5 9 1 2 1 4 1 1 2 3 2 1 2 8 1 7 1 3 2 1 2 2 1

'13

1 1 1 2 1 2 2 2 1 2 1 2 2 2

'I

'14

5 0 1 4 0 8 0 2 6 0

Pt 5 2 3 4

Table V. Adjusted Due Dates and Pseudoprocessing Times for Example I1 batch unit 2 product

di2*

1

-13 11 -14

3 4

batch unit 4 d,4* -7 23 3

ti,* 10 13 13

t,4*

/ a

14 20 19

Again, the u8,represent the completion times of batches in S ' when they are processed on unit J alone beginning a t time c k ] + a,,, J = 1, M - 1; and the us represent the completion times when they are processed on unit M alone beginning a t time C k M + ariM The adjusted due dates (as in proposition 2) for using Shwimer's algorithm for the M-unit system are then given by (the proof is similar to the one given in the Appendix)

372

'351

Root

295

M

d*,] = d, -

c k l - ah, -

(tlh

arb)

h=j+l

j=l,M-l

ViES'(26)

vies'

(27) Clearly, more effort is required in computing the lower bounds for the M-unit system as there are M units, any of which can be bottleneck. If M is small, the lower bound computations should not pose a severe problem. However, for large M, this may not be true. In such a case, we can certainly compromise the tightness of the bound by selecting only a few batch units to be bottleneck instead of all. The selection can be based on a heuristic consideration as follows. We define a pseudoprocessing time t*, = t,, + + a,, + s,, and rank the units in decreasing order of the sum of the t*,, over all 1. Then we pick the first few units from the list and obtain the lower bounds assuming the bottleneck units one at a time. The maximum of the lower bounds obtained from these units is the desired lower bound. Example 11. Consider the 4-product, 4-unit problem of Table IV. The initial upper bound sequence is 1-4-2-3 with a total penalty of 258. The sum of the pseudotimes (t*,,) for units 1-4 is 55, 67, 60, and 72, respectively. To avoid excessive computation time, we use only two units as the bottleneck units, namely, units 2 and 4. Figure 7 shows the entire search tree using the proposed lower bound strategy with n = 2. The optimal product sequence is 1-3-4-2 with a total penalty of 234. For illustration, consider partial sequence 2 with finish times (completion times plus transfer times out of the units) of 40 and 57 on units 2 and 4, respectively. By use of eqs 26, 27, and 13, the adjusted due dates and the pseudoprocessing times based on each batch unit for products 1, 3, and 4, are given in Table V. On the basis of these data, we obtain an optimal sequence 1-4-3 for both units 1 and 2 by using Shwimer's algorithm. Applying eqs 19-25, we obtain LB = 34 + max [338, 3151 = 372. Since the upper bound is 258, partial sequence 2 is fathomed. The lower bounds of the other nodes are shown in Figure 7. d*,M=d,-CkM-akM

Campaign Scheduling While the flowshop problem considered so far has been posed in terms of individual batches of products, it can

@ Level 0

294

Level 1

Level 2

Level 3

Level 4

Figure 7. Search tree of example I1

certainly be considered in terms of campaigns of batches. A campaign is a period during which a series of identical/nonidentical batches are produced. Typically, a campaign will involve batches of only a single product but may involve multiple products. Campaign production is common in the CPI when the customer order requirements are large and must be met by producing a series of batches. It is also possible that the products produced by a plant can be divided into several groups of compatible products, i.e. those that do not require extensive change-over costs/times when production is switched from one to another within the same group. Thus, producing the compatible batches of products consecutively would be desirable in many situations to minimize the set-up and change-over costs. Thus, the problem that we now address is that of campaign scheduling. We make the following assumptions. 1. Every campaign produces batches of only one product. Mixed product campaigns are not allowed. 2. No set-up/change-over time is required between two batches of the same product. However, between two campaigns this may be required. 3. The sequence of production of batches for each campaign is fixed a priori. We redefine the already used notation in the context of campaign scheduling as follows. N now refers to the number of campaigns instead of batches and d, to the due date of the whole campaign, not just a batch. Although the batches in a campaign will be of only one product, they may still be nonidentical; hence, let ti,k and a i j k denote the processing and transfer times, respectively, of the kth batch in campaign i on unit j . sL,is now the set-up time required on unit j when the production is switched from one campaign to another, and p , is now the weight of the penalty

588

Ind. Eng. Chem. Res., Vol. 29, No. 4, 1990

1

c PRCWCT

PUilP

RnnP

REACTORi

REACTOR2

RMP

Table VII. Data for Example 111 processing set-up times, h times, h

DISTILLA RMP TlCN COCUMN

Figure 8. Serial batch process of example 111.

cost of batches in campaign i. Let n, be the number of batches in campaign i. Recall that the sequence in which these will be processed is fixed a priori. Using the same idea of a bottleneck stage, the lower bound (LB*,) based on unit j,j = 1. M , can then be expressed as N

LB*j(S') =

C

s=k+l

pi,max [O, Ius,

Table VI. Customer Orders for Examole 111 quantity, penalty, customer product ka batches $/h 1 A 200 2 4 2 B 300 3 2 3 C 200 2 1 4 D 400 4 3

product A

B C D

trlk

M -

tz3k

s ~s,2l

s,3

1 2 1 2 1 1 3 2 1 3 3 2

transfer times, h arOk

arlk

a12k

ai3k

2 1 2 3

1 2 1

3 2 1 2

4 3 1 1

3

P 2Q3

+ ardn,+ j = 1, M

t12k

2 0 2 5 8 5 1 0 1 5 30 8 1 8 1 4 1 6 1 2

due date, h 120 80 250 200

1 (28)

41

where "8

=

"(s-1)

+

a ~ , 8 . 1 , M n ,+ SrsM

+

@

n, k=l

(ar,(M-l)k

+ tr,Mk + ar,Mk)

- ar,Mn, ( 3 1 4

and

Level 0

uk = C k M (31b) Again, it is easy to prove that the adjusted due dates in campaign scheduling are the same as those for the M-unit system (eqs 26 and 27). Finally the pseudoprocessing times for Schwimmer's algorithm and Smith's algorithm in campaign scheduling are given by n,

t*~= ]

'11

+

(aI(J-l)k k=l

+

trjk

+ arlk)

(32)

Note that the computational effort of the proposed BAB approach for the campaign scheduling depends strongly on the total number of campaigns and not on the number of batches in each campaign. In fact, it will be only marginally higher than that for single-batch scheduling, the increase mainly due to the completion time calculations. This feature of our BAB approach enables us to solve the campaign scheduling problem also with as many as 15 campaigns within reasonable CPU time. Let us now illustrate the above algorithm for campaign scheduling with an example. Example 111. Consider the serial batch process of Figure 8, in which four products (A, B, C, and D) are to be produced. The process involves two batch reaction steps in which all products undergo fixed-time reactions. The intermediates from the second reactor undergo batch

514

Level 1

Level 2

Level 3

Level 4

Figure 9. Search tree of example 111.

distillation to give the final products. Let us assume that the maximum amount of final products that can be produced in a single batch is 100 kg. Then for the customer order quantities of Table VI, several batches for each product must be produced, as shown in Table VI. Due dates are given relative to the current time. Other data are listed in Table VII. We assume that the customer orders are to be produced as separate campaigns. Using the heuristic for the upper bound, we obtain an initial campaign sequence A-B-D-C with a total penalty of $235. Figure 9 shows the entire search tree using the lower bound procedure AI. The optimal campaign sequence is B-A-D-C with a total penalty of $41,a penalty considerably less than the lower bounds of other partial sequences in the tree. For illustration, consider the partial sequence C which has the finish times of 69, 78, and 97 h on reactor 1,reactor 2, and the distillation column, respectively. By use of eqs 26, 27, and 35, the adjusted due dates and the pseudoprocessing times based on each batch unit for products A, B, and D are given in Table VIII. On the basis of these data, we obtain optimal sequences A-B-D, A-B-D, and A-D-B based on batch units 1, 2, and 3, respectively, by using Shwimer's algorithm. Applying eqs 28-32, we obtain

Ind. Eng. Chem. Res., Vol. 29, No. 4, 1990 589 Table VIII. Adjusted Due Dates and Pseudoprocessing Times for Example 111

distillation product A

B D

reactor 1 dil* til* 11 -19 100

47 26 83

reactor 2 diz* ti?* 30 -16 109

60 43 87

column dig* t,,* 23 31 -17 103

61 62

LB = 0 + max [496,601,374] = $601, as shown in Figure 9. Since the upper bound is $235, partial sequence C is fathomed. Extensions a n d F u t u r e W o r k Several extensions of this work are possible. The simplest is that of incorporating precedence constraints on the production sequence. For instance, the product synthesis procedures may require that product A must be produced before product B. The BAB algorithm provides a natural framework within which such constraints can be handled. A node in the tree that violates any of the specified precedence constraints can be fathomed immediately on the basis of infeasibility, and its lower bound need not be computed. In fact, such precedence constraints, if available or imposed, will increase the efficiency of the algorithm by eliminating such nodes. Our heuristic for generating an initial upper bound is quite simple and may not be very effective. Our results show that the heuristic gave optimal solutions for only 5% of the problems. A more sophisticated heuristic may be developed that would give a lower initial upper bound on the objective function. Clearly, this will facilitate the fathoming of nodes and will make the BAT3 algorithm more efficient. Finally, future work in this area includes the development of approximate methods for solving problems with N > 15. Such method could actually use this BAB algorithm repeatedly in solving smaller subproblems. Further research is also needed to extend the work to multiproduct processes with a mix of storage policies such as finite storage, no storage, and zero wait. Research is currently under way in our group along these and other directions. Conclusions A branch and bound algorithm was presented for scheduling N batches or single-product campaigns in the M-unit serial multiproduct batch process with unlimited intermediate storage to minimize the due date penalties. A powerful lower bound strategy was developed for this algorithm using the idea of bottleneck units. The strategy uses the already available 1-machine scheduling algorithm. The procedure is feasible for solving problems with N as high as 15. Although unable to solve larger problems, we anticipate that such a procedure can be very fruitfully incorporated within a heuristic strategy to solve such problems. In light of the immense importance of satisfying customer demands in the batch process industry, this work represents a significant step toward the development of systematic scheduling in multistage batch plants.

= transfer time of the kth batch in campaign i on unit j C, = completion time (beginsto transfer) of product i on batch unit j di = due date of product i d*,, = adjusted due date of product i on batch unit j L = makespan of the product sequence obtained from lemma ai;k

1

LB = lower bound on the total penalty of schedules possible at a node LB* = lower bound on the total penalty from the unscheduled products at a node LB*i = lower bound on the total penalty from the unscheduled products at a node when batch unit i is the bottleneck M = number of batch processing stages max [ ] = maximum of the terms in the brackets min [ ] = minimum of the terms in the brackets N = number of products or campaigns n = level number in the BAB tree that determines which lower bound procedure is to be used ni = number of batches to be produced in campaign i P = total penalty cost Pi = penalty from product i p i = penalty weight of product i sy = set-up time required for product i on batch unit j S = partial sequence of already scheduled products at a node S - sequence obtained from lemma 1 S $ reverse sequence of S : S’ = set of the unscheduled products at a node SI’ = set of products in S’ with due dates less than or equal to the completion plus transfer time of the last product scheduled in S S2’= set of products in S’ but not in SI’ tij = processing time of product i on batch unit j tllk = processing time of the kth batch in campaign i on unit

1

j

til* = pseudoprocessing time of product i on batch unit j b = makespan of the product sequence S y us, = completion time of products in S’ or SI’ when they are processed on unit j alone starting at time c k , + ai^, j # M us = completion time of products in S’ or S,’ when they are processed on unit M alone starting at time C k M + aikM x, = completion time of products in S’ or SI’ when they are processed on unit 1 alone starting at time c k l + aikl y, = completion time of products in S’ or S,’ when they are processed on unit 2 alone starting at time c k 2 + aii2

Appendix: Proof of Proposition 2 Let us first consider the case in which the determination of an optimal product ordering in S ’ is transformed into the 1-machine problem based on batch unit 1. Rewriting eq 8, we get N

LB*,(S’) = C pi,max [O, ( x , s=k+l

+ aisl- c k l - aikl)-

(di8- c k i

- aikl - ti,2 - ai,z)l (-41)

Since x, = + + .siBl + aiao+ ti#!with x k = C h i , + aiel- c h i - ai represents the completion times of the products in S‘ wken they are scheduled on unit 1 alone, beginning at time zero. Equation A1 basically represents the sum of weighted tardiness for products in S’ on unit 1 with due dates d i i * = d i - c k l - U k l - t i 2 - Ui2, i E Similarly, rewriting eq 9, we get

x,

s’.

Acknowledgment We acknowledge partial financial support from IBM Corporation and the National Science Foundation (Grant CBT-8822173). Nomenclature a,, = transfer time of product i out of batch unit j

Again, the first term in parentheses in eq A2 represents the completion times of products in S’ when they are scheduled on unit 2 alone, beginning a t time zero. Thus,

I n d . E n g . Chem. R e s 1990. 29, 590-600

590

the minimum value of LB*2 can be determined by optimally scheduling the products in S ' on unit 2 alone with due dates dl2* = d , -- Ck2- ak2,i E S ' . L i t e r a t u r e Cited Bernardo, J . J.; Lin, K.S. An Optimal Tardiness Algorithm for Scheduling N Jobs on M Processors. Adu. Manage. Stud. 1982, 1 (3), 291. Bernardo, J. d.; Lin, K. S.Scheduling Independent Jobs on Nonuniform, Unequal Processors. J . Oper. Manage. 1984, 4 (41, 305. Chaudhary, J . Batch Plants Adapt to CPI's Flexible Game Plans. Chem. Eng. 1988, 95 (21, 31. Elmaghraby, S. E. The One Machine Sequencing Problem with Delay Costs. J . Ind. Eng. 1968, 19 (2), 105. Garey, M. R.; Johnson, D. S.; Sethi, R. Complexity of Flowshop and Jobshop Scheduling. Math. Oper. Res. 1976, 1 , 117. Held, M.; Karp, R. M. A Dynamic Programming Approach to Sequencing Problems. J . Soc. Ind. A p p l . Math. 1962, 10 ( l ) ,196. Johnson, S. M. Optimal Two and Three Stage Production Schedules with Set-up Times Included. Nau. Res. Logist. Q. 1954, 1 , 61. Kan, R.; Lageweg, B. J.; Lenstra, J. K. Minimizing Total Costs in One-Machine Scheduling. Oper. Res. 1975, 23 (51, 908. Karp, R. M. Reducibility among Combinatorial Problems. Compienit) of Computer Computations; Plenum Press: New York. 1972. Ku, H. M.; Rajagopalan, D.; Karimi, I. A. Scheduling in Batch Processes. Chem. Eng. Prog. 1987, 83 (8),35.

Lawler, E. On Scheduling Problems with Deferral Costs. Manage. Sci. 1964, 11 (2), 280. McNaughton, R. Scheduling with Deadlines and Loss Functions. Manage. Sci. 1959, 6 (11, 1. Musier, R. F. H.; Evans, L. B. Approximate Methods for the Production Scheduling of Industrial Batch Processes with Parallel Units. Comp. Chem. Eng. 1989, 13 ( 1 / 2 ) , 229. Parakrama, R. Improving Batch Chemical Processes. Chem. Eng. 1985, Sept. 24. Rajagopalan, D.; Karimi, I. A . Completion Times in Serial Multiproduct Batch Processes with Transfer and Set-Up Times. Comp. Chem. Eng. 1989, 13 (1/2), 175. Sen, T.; Gupta, S. K. A State-of-Art Survey of Static Scheduling Research Involving Due Dates. Manage. Sei. 1984, 12 (11, 63. Shwimer, J. On the N-Job, One-Machine, Sequence-Independent Scheduling Problem with Tardiness Penalites: A Branch-Bound Solution. Manage. Sci. 1972, 18 (6), B-301. Smith, W.Various Optimizers for Single Stage Production. Nav. Res. Logist. Q. 1956, 3 (2), 59. Townsend, W. Sequencing N Jobs on M Machines to Minimize Maximum Tardiness: A Branch-and-Bound Solution. Manage. Sci. 1977. 23 (9), 1016. Wellons, M. C.; Reklaitis, G. V. Problems in the Scheduling of Batch Processes. Presented at the TIMS/ORSA Joint National Meeting, Washington, D.C., 1988.

Receioed for reuiew July 11, 1989 Revised manuscript received November 27, 1989 Accepted December 12, 1989

Optimal Production Strategy and Design of Multiproduct Batch Plants J. C e r d i * INTEC,i Casilla d e Correo No. 91. 3000 S a n t a Fe, Argentina

M. Vicente, J. G u t i e r r e z , S. Esplugas, a n d J. Mata Chemical Engineering Department, University o f Barcelona, 08028 Barcelona, S p a i n

Methods of sizing batch equipment for multiproduct batch plants usually assume production of a single product at a time. In some cases, however, lower unit sizes are achieved instead by running multiproduct campaigns. This paper proposes a nonlinear mathematical program t o search for both the best production strategy and the minimum equipment sizes simultaneously. Since the number of multiproduct campaigns becomes extremely high for large problems, a preliminary step eliminating nonefficient campaigns is performed. Besides that, one usually can still find the problem optimal solution. On the basis of the equal-batch-size assumption, simple analytical expressions are derived to find an initial feasible solution. Several examples have been successfully solved in a short number of iterations. Analysis of the results shows that the use of multiproduct campaigns often brings about a significant savings in capital cost. 1. Introduction

Scheduling and design of batch chemical plants used for the manufacture of fine chemicals in low quantities have gathered much attention in recent years. A set of N chemicals is produced in a batch plant by processing a discrete number of batches. Each batch should undergo a series of M processing tasks in a specified order to attain the desired product. In the so-called multiproduct batch plants, both the processing scheme (type and sequence of tasks) and the physical equipment where each task is carried out are the same for any product to be manufactured. Therefore, there is a one-to-one relationship between the equipment unit and the processing task it accomplishes. As a result, the notion of batch stage to refer *Member of CONICETs Research Staff and Professor at JJNL. t Instituto d e Desarrollo Tecnoltigico para la Industria Quimica.

Universidad Nacional de! Litoral ( U N L ) a n d Consejo Nacional d e Investigaciones Cientificas y TBcnicas (CONICET).

to each pair (equipment/unit task) is introduced (Sparrow et al., 1975). A batch stage is identified by an index j that indicates its location at the processing scheme where j = 1 denotes the earliest task and j = M the last one. Any batch follows the same path through a series of batch stages independently of the product being attained. The operating time required to process a batch of product P, in stage j is denoted by T,,. It is the time necessary to complete all the subtasks that a processing task normally includes, like filling, processing, emptying, and cleaning. The characteristic processing time for a batch of P, in the j t h stage (T,,) generally varies with the size of the batch (BJ. At any time, a set of M batches are simultaneously being processed in a multiproduct batch plant comprising M stages. Assuming that intermediate storages are not available, the processing of the entire sequence of M batches must be completed before transferring each one to the next stage and simultaneously introducing a new batch to the first; i.e., the plant is operated on the zero-wait

0888-58~5/90/2629-0590$02.50/0 C 1990 American Chemical Society