I n d . E n g . C h e m . R e s . 1989,28, 553-556
553
Algorithm for Optimal Scheduling and a Revised Formulation of Batch Plant Design George A. Coulman D e p a r t m e n t of Chemical Engineering, Cleveland S t a t e University, Cleveland, Ohio 44115
This paper presents a simplified and formalized procedure for determining campaign sets and horizon constraints for multipurpose batch process designs and scheduling. A product incidence matrix is defined and used to determine binary campaign and horizon sets. Procedures are outlined for the union of these binary sets to establish ternary or higher sets for scheduling. A revision of the current multipurpose batch process design constraint set is presented. This revision eliminates the common occurrence in previous papers of equipment being designed to operate significantly below an efficient capacity. This paper presents an algorithm for easy incorporation of time constraints in the optimal scheduling and design of multipurpose batch plants. It also includes a new equipment constraint that improves the applicability of the equipment sizing results. This work has evolved from the early multiproduct work of Loonkar and Robinson (1970), which dealt with nonoverlapping cycles. Their work was extended to overlapping equipment cycles and parallel out-of-phase equipment scheduling by Sparrow et al. (1974, 1975) and Grossman and Sargent (1979). The scheduling was addressed by Suhami and Mah (1982) for multipurpose batch plants which introduced the use of horizon constraints. The work of Vaselenak et al. (1987) introduced a “superstructure” or feasible campaign product sets. The present work presents an algorithm for establishing the campaign product set superstructure and horizon constraint sets that can be easily implemented for complex problems. A further difficulty exists with all the designs in the literature. The equipment is designed for a fixed capacity to handle the largest product batch size. As a result, the smallest product batch size using that unit can be far below its design capacity. The 7 product, 10 equipment type problem presented in Suhami and Mah (1982) results in product E operating in equipment 5 a t 16.4% capacity. Several others operate below 50% capacity. This is usually not acceptable practice. A jacketed stirred tank would have greatly reduced mixing and heat transfer. This paper introduces a modification to the problem formulation that eliminates this situation.
Problem Formulation The problem addressed in this paper has been presented several places. The statement used here is that of Suhami and Mah (1982) with modifications by Vaselenak et al. (1987). This is the optimal design and scheduling of a multipurpose batch plant. The plant contains M types of equipment and produces N products. Each product uses a subset of the available types of equipment. Parallel units of each type may exist and operate out of phase. At any time, all units of one type can only be used for one product. If subsets of the products do not use the same equipment types, they can be processed simultaneously. Separate campaigns will be required for products that use one or more pieces of the same equipment. The objective is the determination of the minimum capital cost. This objective function is utilized to be consistent with the existing literature. However, it is recognized that an important extension would be the introduction of a more realistic function. This should include inventory, operating costs, etc. The problem is to determine Bi, TLi, V,, and Nj as 0888-5885/89/2628-0553$01.50/0
M
min xajVi”jNj
(1)
j=l
subject to TLi 1 t i j / N j
i = 1,...,N
j = 1,...,A4
vj 1 SijBi T . > -TLi Qi ’ - Bi
i = 1,...,N
VjL5 V j I Vju
j = l,..,,M
NjL I Nj I Nju
(2)
(3) (4)
(5)
(6)
k = 1,...,K (7) where Bi is the batch size of product i, f k is the time horizon constraint, H i s the total production time in a year, K is the number of horizon constraints, M is the number of
...,TN) I H
fk(T1,
equipment types, N is the number of product types, N j is the number of units of type j equipment run out of phase, Qi is the annual production of product i, Sij is the scale factor for product i in equipment j , t i j is the batch time of product i in equipment j , Ti is the total time for production of product i, TLiis the time between successive batches of product i, V j is the size of equipment type j , aj is the cost coefficient, bj is the cost exponent, superscript L is the lower limit, and superscript U is the upper limit. Constraint ( 2 ) deals with the time interval required between successive batches of product i during its production run. This is a very good approximation adopted by Sparrow et al. (1975) and accepted by most authors since then. The capacity of process unit J is reflected in constraint (3). The time allocated to meet the production of product i is established by constraint (4). Constraints (5) and (6) are physical constraints subject to the design engineers decision on capacity and parallel units. Finally, (7) is the horizon constraint. This will be addressed further in the remainder of the paper. It deals with the requirement that products that must be processed sequentially in time do not exceed the total time available. If three products (e.g., A, C, and E) use the same equipment, they must be processed in distinct time periods of the total time available (e.g., H). An illustrative horizon constraint might be as follows:
TA + Tc + TE IH (8) Such a constraint must exist for all possible time sequence sets of products in the formulation. An operating problem is generated in the solution of this design problem. This is illustrated by the results of problem l a in Grossman and Sargent (1979). The unit size 0 1989 American Chemical Society
554 Ind. Eng. Chem. Res., Vol. 28, No. 5, 1989 Table I. Capacity Illustration original 480 \’I 720 v2 c; 960 Bl 240 B2 120 objective 38 499.8
revised 568.89 853.33 853.33 213.33 142.22 39 929.0
Table I1 VI
v2 v3
B,
B2
original 480 720 960 240 120
n1 n2 n3
objective
38 499.5
continuous 568.89 853.33 568.89 213.33 142.22 1.00 1.00 1.50 42 454.4
integer 480 720 480 240 120 1.00 1.00 2.00 43417.4
( V I )and the batch size (S,,B,) in unit J may differ significantly. An example is as follows: V3 = 960 (9) S23B2 = 360 (10) The batch unit is operating at 37.5% capacity. Equipment is not normally recommended for operation at that fraction of capacity. A stirred tank reactor operating at one-third of the design capacity could have very poor agitation and heat transfer. The inclusion of this or any other constraint would be at the discretion of the design engineer. The initial modification is simply to constrain further the unit size (V,). This constraint establishes the minimum operating capacity of unit j: VI 5 Sl,BlI(o, (11) where p, is the minimum fraction of capacity of unit J . The comparison of the results of the original problem and the revised problem is shown in Table I for all p, = 0.5. Another solution with all p, = 0.75 resulted in an infeasible solution. A reformulation of the problem can resolve this difficulty. Rather than each batch being processed in a unit of size V,, that unit could be replaced by multiple smaller units operated in phase for the larger batches and some units not being used for the smaller batches. The equipment size constraints are then revised as n,V1 2 S,,B, (12) p,V, 5 S,,B,
z
E S,, #
0
J
= 1,...,M
(13)
and the objective function as M
min
C a, Vlb~N,nl
(14)
J=1
where n, is the number of type J units operated in phase. The results for p, = 0.75 with n, continuous and n, integer are shown in Table 11. It is apparent that the solution shown in Table I1 could have been established by postoptimal analysis. It is easy to see that V , in the original solution does not meet the unit capacity requirement. The large unit could be replaced by several smaller units as appropriate. This avoids the complexity of another set of constraint equations. However, the original solution does not satisfy the new unit capacity requirement (p = 0.5) for the case illustrated in Table I. The postoptimal solution to this case would have been identical with that shown in Table 11. In contrast, the constrained solution results in a substantially less expensive alternate design.
Table 111. Product/Equipment Matrix 1 2 3 A 0 1 1 B 1 0 0 C 0 0 1 D 0 0 0 E 1 1 1
0 0 0
Table IV. Incidence Matrix A B A 2 0 B 0 2 C 1 0 D 0 0 E 2 1
D 0 0 1 1 0
C I
0 2 1 1
Table V. Equipment Independence AB __ AD BC BD -_ -_
4
5 0
0 1
0 1
1 0
E 2 1 1 0 3
__ __ -_ DE
Product and Horizon Constraint Set Determination Product Set. Suhami and Mah (1982) introduced the need for grouping products together that can be produced simultaneously. The set of these groups was later referred to as “superstructure” by Vaselenak et al. (1987). The method for determining the product sets involved a random generation of configurations and an elimination procedure for more constrained sets. The “best” configuration was chosen by a heuristic rule. Vaselenak et al. improved on this procedure by first examining the equipment usage and heuristically determining all the binary combinations of products. The procedure then continued in order to examine the binary combinations to determine the possible existence of triplets, quadruplets, or greater that could be processed simultaneously. This was continued until all the greater sets were determined. All the subsets were then eliminated. This method is far superior to that of Suhami and Mah (1982). In each of these methods, a great deal is left to the skill of the user. The method of Vaselenak et al. is the foundation for the method developed here. This method guarantees that all binary combinations are determined and assures that the greatest combinations are determined from the binary combinations. A product/equipment matrix (C) is defined as illustrated in Table 111. A one (1) is entered if the product uses the respective piece of equipment and a zero (0) otherwise. In Table I11 it is apparent that product A uses equipment types 2 and 3 only. A product incidence matrix is defined as the product/equipment matrix multiplied times its transpose (CCT). The result is shown in Table IV. The triangular array above the diagonal provides the information to identify all the binary combinations for simultaneous processing. Each zero (0) entry represents a binary combination determined by its row and column. The set of binary combinations thus determined defines all possible doublets. The zeros are replaced by doublets as shown in Table V, representing the equipment independence. A computer program can be written to condense the doublets to greater sets (triplets, etc). The procedure can be illustrated with Table V. Start with the first nonnull entry in the first row (AB). Match it with the next nonnull entry (AD), and determine if the third doublet for a union (BD) occurs to form a triplet (ABD). The extension of this to a quadruplet will be illustrated later. After all greater sets starting with the first entry (AB) have been determined, eliminate it (AB)
Ind. Eng. Chem. Res., Vol. 28, No. 5, 1989 555 Table VI. Quadruplet AB __-
_-
AD BD
--
__
AF BF
_-
DF
_-
--
Table VII. Time Independence AC -_ AE __ _BE CD CE -_
__
+
_.
ACE BE CD
if it is a subset of a greater set (ABD). Next move to the next nonnull entry (AD). Following the same procedure, determine if any greater sets can be established, initiating with the new entry (AD). Since no greater sets can be formed in this example, determine if the entry (AD) is a subset of a greater set (ABD) and eliminate it if it is. Continue with the first row until no more nonnull entries exist. Move to the first nonnull entry in row two (BC), and repeat the procedure. In this case, the entry (BC) is not eliminated because it is not a subset of an existing greater set. The same procedure continues through the second row and third row. The five binary sets are reduced to two binary sets (BC and DE) and a triplet (ABD). The array of binary sets shown in Table VI would reduce to a single quadruplet (ABDF) following the procedure of the last paragraph. Notice the procedure initiates by forming the triplet (ABD) as before. The next step then identifies the next nonnull entry (AF) and determines if the required doublets (BF and DF) exist. If they did not exist, the procedure would identify the next nonnull entry in the first row and attempt again to form a quadruplet. The procedure can be generalized and programmed on a computer. When all feasible unions have been accomplished, a minimum number of sets for simultaneous processing will exist. Each set will be assigned a time period for processing those products contained in that set. Each product will have processing time available to it represented by the sum of the time periods for each set in which it is contained. This is illustrated for the present simple example as follows: ABD = t 1 TA= tl BC = t 2
TB = ti
+ t2
DE = t 3
TC = t 2 TD = t i
+ t3
TE =
t3
Horizon Constraint Formulation The procedure utilized to determine the campaign products can be adapted to the horizon constraints described in Suhami and Mah (1982). The upper triangular matrix in Table IV contains nonzero entries that indicate equipment incidence and therefore the necessity of these pairs, triplets, etc., to be processed in separate time periods. Table VI1 is written with the doublets at each nonzero position. The procedure used in the previous section to identify triplets, etc., is applied here. This example has two doublets and a triplet (ACE, BE, and CD). The horizon constraints are as follows: TA + Tc + TE C H (1’1 TB + TE < H (2’ 1 TC + TD C H (3’)
Table VIII. Product/Equipment 1 2 3 4 5 6 A O O O O O O B O O l l O O c 0 0 1 0 0 0 D O O O l l O E l O O O l O F O O l O O l G l l O O l O Table IX. Equipment Independence AB __ AD AE _-CD __
__ __
8 l O 1 O O O l
7 O l 0 l O l O
AF
__ __ __
EF
9 O l 1 O l O O
10 0 0 1 0 0 1 0
-BG _-
__
__ FG
Table X. Time IndeDendence __ AC _BC BD
_-
-_
BE CE DE
_-
AG
-_
CG DG EG
BF CF DF
__
It is necessary that one or more of the horizon constraints contain all of the potential campaign time periods (ti). The possibility of none of the horizon constraints satisfying this requirement exists and can easily be identified in the triangular array or by substitution. In this example, all of the horizon constraints contain each of the campaign time periods. Example. The ease of application of these methods is illustrated on a more complex problem (Suhami and Mah, 1982). The equipment matrix is shown in Table VIII. The product is taken and the two upper triangular matrices constructed (Tables IX and X). The resulting campaign sets determined from Table IX are as follows: AB = t i TA = t 1 + t 2 + t 3 AD =
t2
AEF = t 3 BG =
t4
CD =
t5
FG =
t6
TB = tl
+ t4
Tc = t , TD = t z
+ t5
TE = t 3 TF = t 3 + t 6 TG = t 4 + t s
The procedure for horizon constraint determination will better illustrate the value of this method than any previous example. Starting with the first row, we obtain ACG from AC, AG, and CG. The second row is examined next. This provides four triplets (BCE, BCF, BDE, and BDF). The third row provides CEG, while the fourth row results in DEG. The resulting horizon constraint sets are therefore TA + Tc + TG < H (15)
TB + TC + TE < H (16) TB + Tc + TF < H (17) TB + TD + TE C H (18) TB + TD + TF < H (19) TC + TE + TG < H (20) TD + TE + TG < H (21) Equations 5 and 19 include t& to satisfy the horizon constraint requirement. These same constraints are in the literature, but the procedure presented here for formula-
556
Ind. Eng. Chem. Res., Vol. 28, No. 5 , 1989
Table XI. Example Data Table” t i j , Processing Time 1 2 3 4 5 A 0 0 4 0 0 B 0 0 0 3 10 C 6 0 0 0 5 D 0 0 2 0 0 E 7 8 0 0 5
A B c
D E
Sij, Batch Capacity Factor 1 2 3 4 5 0 0 8 0 0 0 0 0 2 10 1 0 0 0 0 2 0 0 2 0 0 3 6 0 0 5
Table XII. Example Results 6 0 0 0 2 0
7 0 7 0 5 0
continuous n, ~
1 2
3 4
5 6
6 0 0 0 3 0
7 0 4 0 7 0
n
I
cost
1.0208 0.9999 1.3847 1.0000 2.2265 1.0000 1.0000 1000.44
campaign sets AB = t , AC = t , AE = t , CD = t , DE = t ,
sets AD BCE BD
horizon constraints
TA + TD < H TB + Tc + TE < H TB + ?”, < H
The optimization was performed using GRGB (Lasdon, 1983) on a VAX computer. GRGB is a commercial generalized reduced gradient optimization package. The problem was first solved with no capacity constraint (p, = 0.0). The following constraint was included to speed the computational time: l