Mathl. Comput. Modelling Vol. 18, No. 9, pp. 111-129, Printed in Great Britain. All rights reserved
1993
Copyright@
0895-7177193 $6.00 + 0.00 1993 Pergamon Press Ltd
Optimal Allocation of Intermediate Storage in Multiproduct Batch Chemical Plants F. C. GALIANO~ AND J. M. MONTAGNA~ INGAR,Instituto de Desarrollo y Disefio Avellaneda
3657,
3000
Santa
Fe, Argentina
(Received and accepted January
1993)
Abstract-A procedure is presented for the preliminary design of multiproduct batch chemical processes that takes into account the provision of intermediate storage. It finds the position where the storage tanks have to be placed, which may change depending on the product being produced at each time, and the sizes of production units and tanks that minimize the plant investment cost. Two approaches are used: a rigorous algorithm that resorts to integer programming, and a heuristic approach with quite a good performance. Results obtained with a low computational effort show significant reductions in the investment cost if the storage tanks are properly allocated, depending on the product being processed. NOMENCLATURE
aj
Cost coefficient Stage j.
for a batch unit at
b, bk Bi &a
Cost coefficient
for storage tank k.
Batch
Qi
Production
requirement
of product
i (kg/yr).
size of product
Batch size of product process s (kg).
Set of batch stages in subprocess at PIS/S.
i (kg).
Set of all batch stages in subprocess s for product i at PIS/D.
i in sub-
C
Capital
H
Net available production all products (hr).
hi
Fraction i (hr).
Size factor for product i for a single tank, when we consider identical size factors for all the positions
cost of the plant ($). time for
of H dedicated
to product
I
Global saving index.
NAO
Number of solved alternatives until the optimal solution is obtained.
NDA
Number of different alternatives.
NSA
Number of alternatives
NE
Number of batch stages.
Nj
Number of batch units at Stage j. Number of positions to place the storage tanks in a plant.
NP
Number of products.
NT
Number of storage tanks.
pi
Productivity
of product
(m3/kg).
sij
Size factor for product i for a batch unit at Stage j (m3/kg).
%a,
Size factor for product i for storage tank k in the location mk for all products (m3/kg). Size factor for product i for a single tank in the location Ui (m3/kg).
solved.
NL
i (kg/hr).
s
Processing time of product batch Stage j (hr). TLi
Limiting
i at
cycle time of product
i
W. TLi,
Limiting cycle time of product subprocess s (hr).
TNA
Total number of alternatives.
V,
Capacity
i in
of a batch unit at Stage j
(m3). ‘Fellow of CONICET. 2Ftesearch fellow of CONICET.
Tymet by 44-W 111
112
VTk Xij
F. C. GALIANO AND J. M. MONTAGNA Size of storage tank Ic (m3).
Greek Letters
Binary variable that determines if Stage j is placed upstream of the tank (Xij = 1) or downstream of the tank (Xij = 0) for product i.
%
Cost exponent for a batch unit at Stage j.
P> Pk
Cost exponent for tank k.
a
Maximum percentage reduction of the global saving index.
cp
Number of consecutive alternatives allowed without reduction of the best objective function.
7
Number of consecutive alternatives allowed without improving optimal solution of the PWS.
Subscripts
and Superscripts
i
Refers to a product.
j
Refers to a batch stage.
k
Refers to a storage tank.
5
Refers to a subprocess.
ui
Location of a single storage tank for product i.
INTRODUCTION Noncontinuous processes have received increased attention in the last years due to both technical and economic reasons. Some of their important advantages are the flexibility of processing different products with the same equipment, handling situations of highly varying raw materials, seasonal markets, etc. They are particularly suited to handle high value-added products and small production scales. These reasons explain the growing research efforts observed in this area during the last years. The noncontinuous processes considered in this paper use batch operations characterized by a processing time. Multiproduct batch plants process a “family” of products which follows basically the same sequence of processing. When designing the plant, one looks for a structure to meet some optimality criteria, usually to minimize the cost of the plant. Both the production requirements and the time horizon are known. Most of the work on design of multiproduct batch plants limits itself to the sizing of the production units without considering intermediate storage [l-4]. The problem of design with only for single product plants Afterwards Yeh and Reklaitis intermediate storage, also for
intermediate storage was first resolved by Takamatsu et al. [5] but (dedicated plants) and with the location of the tank as a data. [6] approached the synthesis and sizing of batch processes with the single product case. Modi and Karimi [7] solved the design
problem of multiproduct plants with intermediate storage at predetermined fixed locations that do not change with the product being processed. They resorted to a detailed model, and the optimal location of storage could be found by the enumeration of all the alternatives. In the papers just mentioned, as well as in this one, only single product campaigns are considered, i.e., all the production requirement of a product is processed without interruptions, then the production of another product, an so on. Under this operating policy, it is possible to change the location of the storage tank when switching from one product to another. In this way, the storage tank can be allocated to the best place for each product, and the changes to be done during the processing are minimal: if there are NP products, then the number of location changes of the storage tank will be less than or equal to NP - 1. The operating policy adopted for consecutive batch items without intermediate storage is the ZW (Z ero Wait) so that the batches of products are transferred from a stage into the next one immediately after finishing each processing without delay times. The goal of this paper is to develop a procedure to find the proper storage tank location for each product, and the sizing of the multiproduct batch plant, such to minimize its total cost. In practice, the location changes will be implemented using connections between the units involved. Two approaches are proposed: the first one is an heuristic algorithm that solves a sequence of sizing problems, discarding an important number of alternatives. The second approach resorts to binary variables to represent the options of having or not an storage tank at each possible location, and solves this model with the branch and bound method and logic inference.
Optimal Allocation
ADVANTAGES
113
OF INTERMEDIATE
STORAGE
In general, multiproduct batch plants underutilize the processing units. One of the principal reasons for this is the different processing times required to process different products at each unit. The cycle time for product i, TLi, is defined as the amount of time between the production of two consecutive batches of final product i. With the ZW operating policy adopted, this cycle time is given by:
where NE is the number of stages in the plant, Tij the processing time required by product i in Stage j, and it is assumed that there is only one unit at each stage. To avoid idle times in a plant, all the stages should require the same processing time, equal to TLi. As this does not occur in practice, the provision of intermediate storage seeks the reduction of idle times. This increases the percent utilization of units, processing a larger number of batches of a smaller size, which permits a reduction of the size of the processing units. This operating policy that considers intermediate storage of finite size is called FIS (Finite Intermediate Storage). A plant without intermediate storage is considered as a unique process. Figure 1 presents an example of five stages, with one unit per stage. Consider the following processing times in hours for a certain product i: Tii = 3,
Ti2 = 4,
Ti3 = 6,
Ti4 = 2,
Tis = 5.
Then TLi = 6 hours, i.e., each other six hours of processing the plant produces one batch of product i. Figure 2 presents the Gantt diagram corresponding to the scheduling of three consecutive batches of product i. It can be observed that Stage 3 determines the TLi and that there is idle time in the rest of the units. The batches must be transferred to the next stage immediately, due to the ZW operating policy adopted. Note that Units 1 and 2 have idle times, but if they were started before, this schedule would cause trouble in Stage 3 because this unit would be still working on the previous batch when asked to admit the batch. It can be seen that this stage determines the operation of the rest. Stages
1
2
3
4
5
-lJ--ln--I-I--I Sizes Processing time for product i: Limiting
Cycle
-
Vl
Y
v3
V4
V5
Til
Ti2
Ti3
Ti4
Ti5
time of product i :
Figure 1. Multiproduct
TL i
=
Maxj
( Ti j )
batch plant without considering intermediate storage.
If we add one or several storage tanks to the plant, then it will consist of two or more subprocesses, depending on the number of tanks added. Figure 3 shows that the addition of one tank produces the splitting of the process into two subprocesses, decoupling the operation up and down stream of the tank. Here, we consider that the duty of the tank is to decouple the process and not long term storing. Thus, the fraction of the total time horizon allocated for the production of product i must be respected by all the subprocesses. If this assumption did not hold, then each subprocess would be able to operate completely independent from the others, and this would require a very large storage capacity. This could even produce product accumulation at some tank. After adding a tank, the reduction of idle times determines smaller processing units because they can process during a larger operating time over the same amounts of product. It is necessary
F. C. GALIANO AND J. M. MONTACNA
114
St. 1 st.
1. ....~-~*
. . . . (-l~.o..
(-~~..~-~...~-~mm.
2
I
I
St. 3 St. 4
I
A
. . . . lon*
00
st.5
. . . . . . em.*
....
I.I.1. ‘I
I
0
4
0
8
12
16
Proc. time
I
20
l
24
*W
Idle
v
28
32
time
Figure 2. Gantt diagram with ZW policy for the plant of Figure 1.
Stages -&& Sizes Processing time for product I:
_&&& VT
Vl
V2
Ti
Ti2
V3
V4
V5
Ti3
Ti4
Ti5
\
I
Subprocess 2
Subprocrrs 1
TLiI
Max j=1,2
=
(Tij)
TL12
Figure 3. Multiproduct
=
Max js3.4.5
(Tij)
batch plant considering one storage tank.
to properly locate the intermediate storage tanks in such a way that the additional cost of the tank is compensated by a larger reduction in the cost of the processing units, resulting in an overall reduction of the cost of the plant. So each subprocess has a different cycle time and batch size. A batch goes through the first subprocess without interruptions, until arriving to the tank. Afterwards, a new batch, not necessarily of the same size as the former, continues its processing through the second subprocess. With the Tij considered previously, the first subprocess will have a TLil = 4 hours, where the second subindex corresponds to the subprocess, and this cycle time is smaller than the one without storage
tanks.
Tank
on
I
0
1
1
4
8
12
0
Proc. time
1
16
w**.
1
I
I
20
24
28
Idle
d2
time
Figure 4. Gantt diagram with FIS policy for the plant of Figure 3
Figure 4 presents the Gantt Diagram that corresponds to the process in Figure 3. It can be seen that the idle times have been reduced because the discrepancies between the processing times and the new cycle times have been reduced. Now Stage 2 sets TLil while Stage 3 does
Optimal Allocation
it for TLiz.
115
The second batch stays two hours in the storage tank while waiting until Stage 3
becomes available. This frees Stage 2, which is able to admit a new batch.
DESCRIPTION
OF THE PROBLEM
We approach the problem of design of a multiproduct batch plant with intermediate storage, under the following assumptions: -
-
The plant consists of NE batch stages that process NP different products. Each stage has Nj identical batch units that operate in parallel and out of phase. Their sizes are Vj, j = 1,. . . , NE, and there is a known cost function that depends on these sizes. The number of storage tanks to be allocated is NT, and their sizes are VTk, k = 1, . . . , NT. The size factors Sij for each product i and each Stage j are data of the problem (they specify the material volume that needs to be processed at Stage j to obtain a unit volume of final product i), as well as the size factors S,t,, for each location ui for the storage tank
-
for the product i. The processing times Tij, i = 1,. . . , NP, j = 1,. . . , NE are data of the problem.
-
The amounts of each product Qi to be produced over the horizon time H are data of the
-
problem. The batches are transferred from one stage onto the next with a ZW policy, except on those locations where there exists a storage tank. Single campaigns only are considered.
Formulation of the Problem of Design without Intermediate Storage The problem of design of a multiproduct batch plant without intermediate storage is to minimize the total capital cost of the plant: NE
(1) j=l
where aj and oj, j = l,..., NE, are appropriate cost coefficients corresponding to each of the batch units in the plant. Given that each batch unit must be selected such that it can hold the volumes required by all the products, then: i=
Vj 2. S’ij Bi,
l,...,
j = l,...,NE.
NP;
(2)
Taking into account that the Nj units belonging to Stage j operate in parallel and out of the phase, by definition: TLi 2 $7 3
i=
l,...,
NP;
j = 1,. . . , NE.
(3)
Over the horizon time H, the plant is required to produce the amounts Qi of each product i for all NP products. Then, the number of batches ni required is Qi/Bi. So the time allocated for the production of product i is ni TLi, and it is required that:
NPQiTLi c Bi i=l
-
’
(4)
So the design Problem Without intermediate Storage tanks (PWS) consists in minimizing equation (1) subject to the constraints (2)-(4), plus the bounding constraints on all the variables involved.
F. C. GALIANO AND J. M. MONTAGNA
116
Design Problem with Intermediate Storage Placed in the Same Fixed Position gardless of the Product Being Processed
Re-
Now we include storage tanks whose positions are predetermined and identical for all the products. The resulting subprocesses will be decoupled, and the constraints on each of them will be similar to those of a plant without intermediate storage. The inclusion of storage tanks is done under the assumption that the portion of total horizon time allocated to the production of product i is common to all the subprocesses producing product i. Let hi be the fraction of H dedicated to product i, then (Qi TLis)/Bi, is constant for all subprocesses s. If the productivity Pi is defined as the volume produced per unit of time, then the assumption discussed here implies that all the subprocesses have the same productivity. This is formalized by: P.z =
&i = hi
Bi,
TLi,’
The following model is based on the one by Modi and Karimi [7], without semicontinuoussnits, and is called Problem Including Storage tanks in the Same position for all products (PIS/S) (6)
subject to: 4 2 Sij Pt TLis, TL. ,Tij ” - Nj’
i = l,...
,NP;
jcSS;
s=l,...,
NT+l,
(7)
i=l,...
,NP;
YES’;
s=l,...,
NT+l,
(8)
NPQi
HZ&,’ i=l
(9)
’
VTk 2 S&, pi (T&s, + T&,3,+1)
7
i=l
,...,
NP;
k=l,...,
NT,
(10)
where S9 is the set of units that belong to subprocess s. The previous subprocess to the storage tank will be identified by Sk and the following by Sk+ 1. S& is the size factor for the position m of the tank k for product i. This position is the same for all the products. Bi, has been replaced using (5). Observe that the subprocesses are the same for all products. The PIS/S is different from the PWS. The cost of the storage tanks has been added to C. The batch sizes and cycle times depend on the subprocess being considered. Finally, constraints (10) have been added, to size the storage tanks. These constraints have been adopted from [5] and correspond to a simplified equation (upper bound) of a discontinuous function [7]. The size required for the storage tank corresponds to the sum of the batches of the up and down stream subprocesses Sk and sk+i, and is conservative with respect to the size given by the discontinuous function. Design Problem with Intermediate Storage in Different Position Depending on Each Product Now, we considerthe problemwhen it is allowedthat the tank be placed at the most convenient position depending on each product PIS/D. The resulting model is similar to the PIS/S just discussed, except the definition of the set of units that belong to a certain subprocess. In the case when the tanks are in the same position for all the products, S” will be the same set for any product. Otherwise, if the tanks can adopt different positions, we obtain S,S that are different depending on the product considered. Thus, the problem PIS/D is given by the objective function (6) and the constraints (7)-(10) with the difference that now S” is replaced by the Sf. The problem treated here has the feature that the units belonging to each S,S are not known a priori, because the position of the tank has not been predetermined.
Optimal Allocation
TOTAL NUMBER
117
OF ALTERNATIVES
The number of possible alternatives, i.e., the number of problems generated by the different possible positions of the tank, depends on the number of products, on the number of tanks, and on the number of places where it is feasible to implement intermediate storage NL(NL = NE - 1) if tanks may be inserted at any position of the plant. Besides, the option of not using the tank for some products is also valid. Generically, if NT tanks have to be allocated to NL available places for NP total number of alternatives is given by:
products, the
where CFL is the combinatorial number of NL elements taken in sets of k elements. Solving this problem by enumeration would imply the assessment of TNA alternatives solving the PIS/D corresponding to each one, and then selecting the alternative with the lower cost. This is not affordable. Two resolution approaches are proposed here: through an heuristic procedure and through a binary model, both find an optimal solution evaluating a reduced number of alternatives. In the present work, the tanks are added one at a time. Once the location of a tank has been established, one proceeds to locate the next in some of the positions available at the subprocesses determined by the first tank. And so on with the NT storage tanks. This sequence will be used in both of the approaches to be discussed below, so they consider the addition of just one tank to a given plant. Under this assumption, the solutions obtained with the proposed approaches may not be optimal from a strict mathematical point of view, but they are, for practical purposes, excellent approximations to the optimal solution of problems with more than one tank.
RESOLUTION OF THE PROBLEM HEURISTIC APPROACH
WITH AN
This first approach consists of an heuristic procedure that solves a relatively small amount of alternatives as compared with the total number of them. A sequence of problems PIS/D is solved, where the storage tanks have been already allocated for each product. This sequence of alternatives is determined by assessment of the savings in plant investment costs due to the incorporation of a storage tank between stages, and ordering these savings from larger to smaller. Once each PIS/D is solved, different criteria are applied to establish the convenience of further evaluating new alternatives, or to stop the search at this point. First of all is to find the solution of the PWS. After this, it is detected which units are fully occupied for each product. These are the limiting units that directly affect the value of the objective function and are identified finding which constraints of type (7) are active. With this information we are able to compute the saving indices for each product. These indices give the estimated cost saving corresponding to some location of the tank, with respect to the cost of the alternative without tank. They are estimated computing the difference in cost of the limiting units in the problem with no storage, and considering the tank at some particular position:
where: -
IND(i,ui) tion ui.
-
J = {j/j
is the saving index corresponding to product i when the tank is in the posiis a limiting unit for product i}.
F. C. GALIANO AND J. M. MONTAGNA
118
-
q” is the size of unit j obtained in the PWS.
-
Vij(ui) is the size estimated for unit j when the tank is located in position Ui for the product i under consideration. This value is computed according to the expression:
which has been derived from constraint (7), where the productivities Pi and Pk are the same as in the PWS, and taking into account the occupied volumes in this unit by the other products.
TLis(ui)
is the corresponding cycle time when the tank is located in
position ui for the product i. The savings computed in this way are approximations because the exact value for the productivities of the PIS/D are not yet available at this step, and the reduction of the units could not be admitted by the other products. Anyway, these indices will establish an order for the resolution of alternatives. Global indices are calculated in descending order with the saving indices obtained for each product at each possible position of the tank. The global index is computed by summation of one saving index per each product:
I(w,‘1L2,...,
wvp)
=
5
IND(i, uJ.
(13)
i=l
For a particular global index, the positions occupied by the tank for each product are established, and so a PIS/D has been defined. These problems, taking into account the descending order of the global indices, are solved with standard nonlinear optimization software. Afterwards, the results obtained are analyzed using the problem constraints to determine the existence of “equivalent alternatives.” Two or more alternatives are said to be equivalent if their solutions are identical. The only discrepancies among them are the values of slack variables of constraints (7) that correspond to the unoccupied volumes at each unit for each product. The problem formulations corresponding to two different positions of a tank differ in their limiting cycle times and in the size factors for the tank locations. If the change in position of the tank for one product does not affect the active constraints that define the TLi and the active constraints (10) for the tank are not modified, then the constraints remain unchanged, which implies that the solution will be the same. In this case, these alternatives are equivalent. This situation is frequent because placing a tank before or after units that are not fully occupied for a certain product, and whose operating times are smaller than the limiting cycle time of the subprocess, will not produce any change in the solution. For this reason, the alternatives that are equivalent will not be solved. To detect them, we use the following procedure. Procedure SEA (Search for Equivalent Alternatives) (1) Select a product i and identify which constraints type (7) and type (10) are active for it. (2) Select a new position U: for the storage tank, different from ui. (3) Compare the TLis(ui) with the TL:,(ui), that corresponds to the tank in ui, at the active constraints (7): if 3j E J,
vj = Sij Pi TLis(ui) # Sij Pi TL&(u:),
or if constraint (10) is active for product i: if TL~~(u:) + TLiz(u:)
# TLil(~i)
+ TLiz(ui)y
then these problems are not equivalent. Go to Step 2. Else continue.
Optimal Allocation
119
(4) Compare, at inactive constraints (7):
or [T&(u~)
< T&(u:)
and Vj(ui) > vj (u:) = Sij Pi TL:, (u:)] ,
and at inactive constraints (10): if VT(u:) < VT* where VT(u:) = Si,: Pi (TL&:)
+
T-&2(4))
,
where VT* is the tank volume obtained. Then the alternatives are equivalent. Otherwise, the alternatives are not equivalent. (5) If there are positions left to be analyzed, then go to Step 2. If there are products left to be analyzed, then go to Step 1. Or else, end the procedure. To stop the heuristic method, different criteria are established. First of all, if the global saving indices are small enough, the corresponding alternatives are discarded. To apply this criterion, we define a finalization parameter cxthat indicates the percentage reduction of the global saving index with respect to the maximum global index that determines that the corresponding alternatives be resolved. In the second place, we compare the values of the objective function obtained in successive alternatives. If there is no reduction of the last best objective function after ‘p consecutive alternatives, then the resolution is interrupted. Finally, if the cost is larger than the one of the PWS after y consecutive iterations, the method is interrupted too. The parameters cy, y.~and y are established by the user depending on the dimension of the problem and the rigorousness required for the solution. In the case that the end criteria are not satisfied, one proceeds with a new global index, continuing iteratively with the resolution. This heuristic method is schematically represented in Figure 5. Very satisfactory results have been obtained with this algorithm. It obtains the optimal position of the tanks for each product, solving a small number of alternatives if compared with the total number of them.
I
Find active constraints (7)
I
Compute IND (i,ui
1
Compute and sort GLOBAL INDICES
Discord
Equiv. Alt.
Figure 5. Heuristic method.
F. C. GALIANO AND J. M. MONTAGNA
120
EXAMPLES PROBLEM 1. Table 1 presents the data corresponding examples are included in the Nomenclature Section.
to Problem 1.
Table 1. Data for Test Problem
NP=2, Qa = 30,000,
1.
NT=l.
NE=& Qb = 40,000,
H =
S,‘,, = 1.0, V i = 1, NP, V ui = 1, NE - 1, 2
The units for all the
3
6,000.
b = 250.0,
j
1
4
aj aj
310
290
530
420
510
0.55
0.67
0.50
0.67
0.39
0 = 0.5,
5
Saj
2.00
3.00
2.00
4.10
1.80
sbj
2.30
5.20
3.00
4.00
2.70
Taj Tbj
8.00
7.00
5.00
4.00
6.00
3.00
2.00
7.00
5.00
6.00
Table 2 presents the values for the saving indices for every other position that a tank can occupy for each product. Then, the solutions obtained for each one of the alternatives is presented to show the effectiveness of the global index as a criterion for ordering different alternatives. It should be pointed out that arrival to the optimal solution required the solution of only four NLP problems from a total of 25 alternatives with only 15 different solutions. The end criteria used to stop the algorithm were cy = 0.5, cp = NE and y = NE/2. To indicate the position of the tank, places are denoted with a number following the order of the stages. For example, Position 1 is between Stages 1 and 2, Position 2 between Stages 2 and 3 and so on. A hyphen means that this product does not resort to an intermediate storage tank. PROBLEM 2. The results for Problem 2 (Table 3) are shown in Table 4. Only nonequivalent alternatives solved are included. The optimal solution was obtained after five different alternatives, and this number could be reduced if the end criteria are appropriately adjusted, taking into account that the optimal solution is reached at the first iteration.
EFFECTIVENESS
OF THE HEURISTIC
METHOD
In the following section, a set of problems is presented, whose results confirm the robustness and efficiency of the heuristic method here proposed. The data for Problems 3 to 8 are given in Tables 5 to 10. Table 11 presents the solutions of the problems solved with the heuristic algorithm.
The
information given is: -
-
The identification number of the problem, the number of units NE, the number of products NP, the total number of alternatives TNA, the number of different alternatives (not equivalent), N DA. The number of alternatives solved NSA using the following parameters Q = 0.5, if NE < 6, or cx = 0.3, if NE 2 6; cp = NE and y = NE/2. The number of solved alternatives until the optimal solution is obtained NAO. The minimal costs for the following cases: PWS, PIS/S and PIS/D. The percent reduction of the costs of PIS/S and PIS/D with respect to the cost of PWS (% RED. OF). Position of the tanks for each product in the optimal solution: in the PIS/S, the position occupied by the tank for all the products, while for the PIS/D, the position for each product. Presented inside parenthesis is the number of alternatives equivalent to the optimal solution presented.
Optimal Allocation
121
Table 2. Results for Test Problem
1.
Saving index Locations of the tank Product
1
2
3
a b
1,928
2,202
2,202
0
33
4,149
244
244
The optimal solution of (PWS)
4
is:
Vj = (188.21,425.53,245.50,381.63,220.94), Pi = (11.63,11.69),
C = 57,297.76.
Detail of alternatives solved Ah.
Location
of tank
a
b
Global index
C
Observations
1
2
2
6,351
54JO5.12
Solved
2
3
2
6,351
54,105.12
Equiv. to 1
3(l)
1
2
6,077
53J95.16
Solved
4
4
2
4,149
54,423.13
Solved
5
_
2
4,149
54,162.33
Solved
6 7
2 3
3 3
2,446 2,446
56,287.44 56,287.44
(2) (2) Equiv. 6
8 9
2 3
4 4
2,446 2,446
56,714.96 56,714.96
(2) (2) Equiv. 8
10 11
2 2
1 -
2,235 2,235
56,954.OO 56,954.OO
(2) (2) Equiv.
10
12
3
1
2,235
56,954.OO
(2) Equiv.
10
13
3
-
2,235
56,954.OO
(2) Equiv.
10
14 15
1 1
3 4
2,172 2,172
58,425.11 58,425.ll
(2) (2) Equiv.
14
16
1
1
1,961
58,576.61
(2)
17
1
-
1,928
58,670.02
(2)
18 19
4 4
3 4
244 244
60,213.52 60,213.52
(2) (2) E&iv.
20 21
_
3 4
244 244
60,129.51 60,129.51
(2) (2) Equiv. 20
22
4
1
33
60,026.21
(2)
23
_
1
33
59,765.41
(2)
24
4
-
0
60,460.43
(2)
18
(1) Optimal solution: Vj = (184.06,241.59,247.62,330.17,222.86), VT = 172.56,
Pi = (11.50,11.79),
C = 53,195.16.
(2) These problems are not solved when the end criteria are established.
The problems presented use from four to ten batch stages and from two to four products. The effectiveness of the algorithm has been demonstrated in several ways. Of particular importance is the reduced number of alternatives solved. Due to the previous ordering following the global savings index, a small amount of resolutions is enough to get the solution. For example, in Problem 7, from 10,000 alternatives, only 17 are solved with the heuristic method. In the examples presented, the solution found by the algorithm always corresponds to the optimal solution. Furthermore, in all the cases, the algorithm detected the optimal solution in the early iterations, due to the excellent ordering given by the global savings index. Also to be stressed is the feature that taking into account the existence of equivalent alternatives reduces the number of cases to be solved. In Problem 1, from a total of 25 different tank allocation alternatives, there are 15
122
F. C. GALIANO AND J. M. MONTAGNA Table 3. Data for Test Problem 2.
NE=4, Qa = 10,000,
NT=l.
NP=3,
Qb = 20,000,
Qc = 22,000, H = 6,000. b = 200.0;
sTui= 1.0,V i = 1, NP V ui = 1, NE - 1,
250.0 0.60 3.00
250.0 0.60 4.00
250.0 0.60 6.00 2.00 4.00
4.00 7.00
6.00 7.00
8.00 5.00
2.00
3.00
6.00 8.00 5.00
5.00 3.00 10.00
3.00
6.00
fl = 0.5.
250.0
3.00
0.60 6.00 4.00
different values for the objective function. In Problem 7, from 10,000 alternatives, only 128 are different solutions. By looking at the results of adding tanks, one may establish the economic impact of intermediate storage. Comparing the costs obtained for the PWS and the PIS/S the difference is significant, and even more if compared with the PIS/D. In most of the cases, the reduction in capital cost of the plant is in the order of five to ten percent. These costs include the capital investment of the storage tanks. When the reduction of cost is not significant, as occurs in Problem 8, one concludes that the provision of intermediate storage is not convenient. In this case, the savings in the cost of the processing units was similar to the cost of the tank.
RESOLUTION
OF THE PROBLEM
WITH
A BINARY
MODEL
This problem is modeled by resorting to binary variables to represent the options of assigning or not an intermediate tank. The binary variable Xij determines for each product i if Stage j is placed upstream from the tank (Xij = 1) or downstream from the tank (X, = 0). This means that for each product i there will be a vector Xi = (Xii, Xis, . . . , X~NE) giving a sequence of numbers 1 followed by a sequence of numbers 0 which indicate if each stage belongs to either the up or downstream subprocess. Appropriate expressions involving the binary variables and the processing times establish the limiting cycle times for each of the subprocesses determined by the different allocation of the tank. The binary model (BM) constructed over the PIS/D, including just one intermediate storage tank is as follows: NE
min C = C
oj Nj Vjyi + bVTp,
(14)
j=l
subject to:
vj
2 5’i.jPi (TLil Xij + TLiz(l - Xij)) 7
TL.21 ,T..Xij -
‘3 Nj
’
1 -x.. TLi2 1 Tij 2) Nj
i = l,...
,NP;
j=l,...,
NE,
(15)
i=l,...
,NP;
j=l,...,
NE,
(16)
NE,
(17)
i=l
,...,
H,cNP$, I i=l VT 2 S; Pi (TLil + TLi2) ,
i=l
,...,NP,
Xij
i=
L Xi(j+l),
Xij =Oor
1,
NP;
l,...,
NP;
i = l,...
,NP;
j=2
,...,
(19) j = 1,. . . , NE - 1,
(20)
j=l,...,
(21)
NE-l.
Optimal Allocation
123
Table 4. Results for Test Problem 2. Saving index Locations of the tank 1
Product
3
2
a
0.0
0.0
0.0
b
0.0
1,414.0
0.0
809.0
0.0
2,547.0
C
The optimal solution of (PWS)
is:
Vj = (349.01,290.84,572.70,381.80), C = 36,048.42. P = (7.95,9.55,8.31),
Detail of alternatives solved: Alt. l(1)
Locat.
tank
a
b
C
1
2
1
Equivalent alternatives
Global ind.
c
3,961
33J77.41
2
2
1
3
2
1 1
2
-2
1
3,961
33,808.50
3
1
1
1
2,547
34,406.44
2
1
1
3
1
4
1
3
1
2,547
34,509.81
2
3
1
3
3
1
5
1
-
1
2,547
34,353.74
2
-
1
3
-
1
6
-1
1
2,547
34,934.29
(2)
7
-3
1
2,547
35,149.04
(2)
8
--
1
2,547
34,617.16
9
12
2
2,223
35,177.23
(2) 2
2
2
2
-
2
2
3
3
2
-
-
2
2
2,223
35,822.35
11
1
2
3
1,414
36,560.70
1 3
2
3
12
-
2
3
1,414
37,215.16
-
2
-
13
1
1
2
809
36,366.24 3
2
36,366.45
3
1
2
36,311.41
3
-
2
1
3
2
809
36,543.20
1
-
2
809
36,311.12
16
2
1
2
809
17
2
-
2
809
2
(2) 2
2
(2) (2) (2)
2
14
2
(2)
10
15
3
3
3
(2)
2
(2) (2) (2)
18
-
1
2
809
36,979.92
(2)
19
-
3
2
809
37,197.68
(2)
20
-
-
2
809
36,819.46
21
1
1
3
0
37,805.33
1
1
-
2
1
3
2
1
-
22
1
3
3
0
37,979.34
3 1
1 3
3 -
3 2
1 3
3
2
3
-
23
1
-
3
0
37,749.52
3 1
3 -
3 -
3 2
3 -
3
2
-
-
3
-
3
3
-
-
(2) (2)
38,425.94
-
1
-
0
38,643.34
-
3
-
0
38,037.99
1
3
0
-
3
3
-
-
3
24
-
25 26
(2)
(1) Optimal solution: Vj = (173.11,336.60,415.46,299.62),
VT = 155.80,
Pi = (7.13,8.66,9.62),
C = 33,177.41.
(2) These problems are not solved when the end criteria are established.
KM 18:9-I
(2) (2) (2)
(2)
F. C. GALIANO AND J. M. MONTAGNA
124
Table 5. Data for Test Problem 3. NP=4,
NE=4, Qe = 20,000,
NT=l,
H = 6,000.
Qc = 25,000,
Qb = 15,000,
Szui = 1.0, V i = 1, NP V ui = 1, NE - 1,
Qd = 20,000.
b = 100.0,
j
1
2
3
4
aj
592.0
582.0
1,200.o
200.0
oj
0.65
0.59
0.52
0.70
Saj
2.70
1.40
1.20
1.70
sbj
1.80
1.10
2.10
2.20
Scj
3.20
1.10
1.20
0.90
sdj
3.10
4.00
3.20
1.20
Taj Tbj Tcj
3.0
2.0
2.0
1.0
2.0
4.0
1.0
3.0
6.0
2.0
2.0
2.0
Tdj
2.0
3.0
6.0
5.0
Table 6. Data for Test Problem 4. Idem problem 1 except size factors STU, for the tank Tank Location Product
1
2
3
4
a
6.0
4.0
3.0
2.2
b
3.0
2.0
2.0
1.0
Table 7. Data for Test Problem 5. Idem problem 2 except size factors ST,,, for the tank Tank Location Product
1
2
3
a
3.0
2.8
2.2
b
4.0
2.3
1.0
C
1.8
1.2
1.0
This model has the same objective function as the PIS/D. In constraints (15), the cycle time has been replaced by a summation of two terms: the first with the cycle time of the first subprocess, and the second with the cycle time of the second subprocess. The value adopted by Xij determines which is the subprocess corresponding to this unit and the limiting cycle time that applies. Constraints (16) establish the cycle of the first subprocess as the larger of the processing times of the units whose corresponding binary variable is 1. Constraints (17) operate similarly on the second subprocess, taking into account that the first unit never belongs to the second subprocess. Constraints (19) assume that the size factors are the same for all the positions for each product. More realistic models can be generated at the cost of introducing more binary variables. Constraints (20) have been incorporated to make sure that the binary variables adopting a value of 1 correspond to consecutive units of the first subprocess, while those adopting a value of 0 correspond to consecutive units of the second subprocess. This model can be simplified by adding some knowledge about the problem. Xii can be fixed at Xii = 1, i = l,..., NP, because the first unit always belongs to the first subprocess. It may happen that all the binary variables corresponding to some product attain a value of 1 at the solution of the problem. This would indicate that the tank is not to be used when processing this product.
Optimal Allocation
125
Table 8. Data for Test Problem 6. NE=8,
Qo = 30,000,
Qb = 20,000,
NP=4,
NT=l.
Qe = 40,000,
jll
aj ffj &j sbj Scj sdj Taj Tbj Tcj
Te
2
3 1,200.o
H = 6,000.
Qd = 20,000,
St,,_ = 1.0, V i = 1, NP V ui = 1, NE - 1, 4
5
b = 100,
fl = 0.50.
6~---7
8
592.0
582.0
200.0
582.0
850.0
592.0
1,200.o
0.65
0.59
0.52
0.70
0.39
0.80
0.65
0.52
2.70
1.40
1.20
1.70
2.10
3.00
1.80
2.40
1.80
1.10
2.10
2.20
3.00
3.10
2.40
3.20
3.20
1.10
1.20
0.90
1.30
2.40
2.50
0.90
3.10
4.00
3.20
1.20
2.40
2.70
2.90
3.10
3.0
2.0
2.0
1.0
4.0
1.0
3.0
2.0
2.0
4.0
1.0
3.0
5.0
2.0
4.0
6.0
6.0
2.0
2.0
2.0
3.0
5.0
2.0
1.0
2.0
3.0
6.0
5.0
4.0
2.0
2.0
3.0
Table 9. Data for Test Problem 7. NE = 10,
Qa = 30,000,
Qb = 28,000,
NT=l.
NP=4,
Q,j = 10,000,
Qc = 40,000,
Sl,,; = 1.0, V i = 1, NP V u = 1, NE - 1,
b = 100.0,
H = 6,000. p = 0.5.
I
2
3
4
5
6
7
8
9
10
592.0
582.0
1,200.o
200.0
582.0
850.0
592.0
1,200.o
550.0
300.0
0.65
0.59
0.52
0.70
0.39
0.80
0.65
0.52
0.60
0.60
2.70
1.40
1.20
1.70
2.10
3.00
1.80
2.40
1.30
1.10
1.80
1.10
2.10
2.20
3.00
3.10
2.40
3.20
1.90
1.70
3.20
1.10
1.20
0.90
1.30
2.40
2.50
0.90
0.80
1.20
3.10
4.00
3.20
1.20
2.40
2.70
2.90
3.10
0.70
0.90
3.0
2.0
2.0
1.0
4.0
1.0
3.0
2.0
5.0
2.0
2.0
4.0
1.0
3.0
5.0
2.0
4.0
6.0
2.0
4.0
6.0
2.0
2.0
2.0
3.0
5.0
2.0
1.0
3.0
5.0
2.0
3.0
6.0
5.0
4.0
2.0
2.0
3.0
3.0
6.0
Table 10. Data for Test Problem 8. NE=4,
Qa = 13,000,
NP=3,
NT=l. H = 6,000.
Qc = 18,000,
Qb = 20,000,
S,t,, = 1.0, V i = 1, NP V zli = 1, NE - 1,
b = 200.0,
1
2
3
4
aj %
300.0
210.0
500.0
250.0
0.74
0.60
0.52
0.60
Saj sbj Scj Taj Tbj
3.00
4.00
3.00
5.00
2.00
4.00
6.00
4.00
5.00
5.00
6.00
4.00
7.00
2.00
4.00
5.00
3.00
3.00
6.00
2.00
Tci
5.00
1.00
2.00
4.00
~ j
p = 0.50.
To solve this problem, we resort first to the Branch and Bound algorithm. We can assess its performance from the number of nodes enumerated in the tree. In this case, the number of nodes is reduced because, in the resolution of the problem corresponding to each node, constraints (20) fix the value of several variables in each branch.
F. C.
126
GALIANOAND J. M. MONTAGNA
Table 11. Effectiveness of the heuristic method. Prob I
I NE
NP
NDA
I
NSA
I
NAO PWS
rum. 5
2
PIS/S
PIS/D
%Red. PIS/S
PIS/D
I
Ontimal solution PIS/S
PIS/D
4
2
57,298
5.57
7.16
1,2 (1)
5
1
36,048
4.55
7.96
1,2,1 (3)
4
3
15 26
4
4
44
9
5
38,905
(*I
7.68
2,3,3,2 (2)
5
2
4
4
57,298
(*I
3.45
-72 (1)
4
3
15 24
5
1
36,048
(“1
4.39
1,271 (3)
8
4
181
12
8
206,182
5.73
10.03
5,6,1,2 (10)
10
4
12
228,311
5.10
9.06
6,6,1,2 (30)
3
128 10
17
t 4
4
1
38,023
(*I
0.26
1,211 (1)
(*) The tank is not convenient. We also resort to Logic Inference
in the Branch
and Bound
algorithm
[8]. This new technique
was adopted by looking for reducing the number of nodes enumerated. Logic representations are used to fix subsets of binary variables at each node generated by the Branch and Bound. This technique permits one to perform an intelligent search through the tree. Constraints (20) are handled using Logic Inference. This technique uses the traditional elements of a Branch and Bound (bounds, rules for branching, etc.) to bound the tree, but it originally includes concepts of Logic Inference in the branching, which provides effective rules to select and fix the binary variables at each node. In both cases, a feasible solution to use as a good upper bound for the Branch and Bound method is proposed using the alternative corresponding to the greatest global index from (13). In this problem, the application of this technique is based on the definition of binary variables Xij. Suppose that we are branching over a certain variable XTj. Over the branch with XJj = 1, from (20), tells that for all j less than j*, these units belong to the first subprocess, and so Xij = 1. While over the branch with Xt = 0, tells that for all j greater than j*, these units belong to the second subprocess, and SO Xij = 0. We compare the classic Branch and Bound and the Branch and Bound with Logic Inference for the BM. The computational efficiency of both methods is the same when we include conThe method proposed by Raman and straints (20) and use the same criteria for branching. Grossmann [g] presents a better performance when the number of feasible solutions is smaller than the total number of possible combinations O-l that are admitted in the definition of the problem. This does not occur in this case when constraints (20) are included in the BM. Another alternative was studied. Constraints (20) were removed from the model and controlled by only using Logic Inference. The resolution of this problem presented a poor performance and this option was discarded. The number of enumerated nodes was increased, and the selection of the variables to branching was more problematical. The examples treated with the previous method were solved again with the binary model.
EXAMPLES PROBLEM 1. Figure 6 presents the tree generated during the resolution, while Table 12 shows the results obtained for the five problems solved. At each branch, it is the value adopted by the variable and in brackets the decisions taken using logic inference. For example, for the branch with Xbs = 0, it was decided that Xb4 = Xb5 = 0, and for the branch with Xb3 = 1, it was decided that Xbi = Xbs = 1. Note that, as already said, it is known that Xai = Xbi = 1. The optimal solution is found in Problem 4. The results obtained for the values of Xij can be interpreted as follows: for product a, the tank should be placed between Units 1 and 2, while for product b, the tank should be placed between Units 2
Optimal Allocation
127
#
# Figure 6. Tree generated for Test Problem
Table 12. Results for Test Problem Node
c
x
a2
xa3
iy
fathomed
1 with the Branch and Bound method. 1 solving the binary model.
x04
xl5
xb2
xb3
x64
xb5
1
45,195.0
0.26
0.14
0.14
0.14
0.85
0.45
0.45
0.45
2
51,171.0
0.48
0.39
0.39
0.39
0.97
0.00
0.00
0.00
3
54,340.o (1)
0.57
0.50
0.36
0.36
1.00
1.00
0.42
0.42
4 0
53,195.0
0.00
0.00
0.00
0.00
1.00
0.00
0.90
0.00
5
53,522.0
1.00
0.76
0.76
0.76
1.00
0.00
0.00
0.00
(1)
(*) Optimal solution:
V* = (184.06,241.59,247.62,330.17,222.86), VT* = 172.56, P = (11.50,11.79). (1) It is greater than the upper bound of the Branch and Bound method. and
3. With only five problems solved, we could obtain the optimal solution between 25 available alternatives. The optimal solution obtained with this method is exactly the same as the one obtained with the previous technique. PROBLEM 2. Figure 7 shows the tree generated, and Table 13 all the nodes solved and the optimal solution at node 11. In this case, from 64 different alternatives, only 13 were assessed to determine the optimal solution. PROBLEM 3. The resolution of the problem presented in Table 5 was interrupted erations. This example shows the poor performance of the BM when the number products is scarcely increased.
after 70 itof units and
CONCLUSIONS Two methodologies have been presented for the optimal allocation of intermediate storage in multiproduct batch plants. The heuristic approach yielded very satisfactory results, obtaining the optimal design of multiproduct batch plants with the optimal allocation of storage tanks, with a reasonable computational effort. These results are obtained after resolving a few simple sizing problems whose structure is essentially the same. The second approach, i.e., the resolution of the BM using Branch and Bound and Logic Inference, did not obtain very good results. The use of traditional Branch and Bound implies the resolution of a larger number of problems, and
F. C. GALIANO AND J. M. MONTAGNA
128
1
X84 =o
Xb4=0
13 #
11 #
#
# fathomed
Figure 7. Tree generated for Test Problem 2 with the Branch and Bound method. Table 13. Results for Test Problem 2 solving the binary model. Node
c
x a2
x3
xz4
Xb2
Xb3
&A
xc2
xc3
&4
1
26,452.0
0.49
0.49
0.43
0.55
0.44
0.44
0.50
0.43
0.30
2
29,351.0
0.43
0.43
0.43
0.55
0.44
0.44
0.00
0.00
0.00
3
30,996.O
0.99
0.44
0.43
0.55
0.44
0.44
1.00
0.86
0.86
4
34,021.O (1)
0.43
0.43
0.43
0.00
0.00
0.00
0.00
0.00
0.00
5
31,463.0
0.43
0.43
0.43
1.00
0.43
0.43
0.00
0.00
0.00
6
35,557.0 (1)
0.43
0.43
0.43
0.00
0.00
0.00
1.00
0.86
0.85
7
33,204.O (1)
0.97
0.95
0.43
1.00
0.43
0.43
1.00
0.86
0.86
8
32,756.0
1.00
1.00
1.00
1.00
0.43
0.43
0.00
0.00
0.00
9
32,132.0
0.00
0.00
0.00
1.00
0.43
0.43
0.00
0.00
0.00
1.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
34,353.0 (1)
0.76
0.76
0.00
1.00
1.00
11
33,177.0 (1)
0.00
0.00
0.00
1.00
0.00
12
34,617.0 (1)
1.00
1.00
1.00
1.00
1.00
1.00
0.00
0.00
0.00
13
33,808.O (1)
1.00
1.00
1.00
1.00
0.00
0.00
0.00
0.00
0.00
10
* Optimal solution:
V = (184.06,241.59,247.62,330.17,222.86), VT* = 172.56, P’ = (11.50,11.79). (1) It is greater than the upper bound of the Branch and Bound method.
in the cases with many products and/or many units, the number of binary variables becomes very large, and requires the resolution of many sluggish nonlinear optimization problems. Comparing both approaches, it may be established that, in general, the heuristic method presented a much higher performance than the method that solves the BM. The number of problems Furthermore, the problems to be solved to be solved with the heuristic is generally smaller. are simpler and of a smaller size. The heuristic method provides equivalent optimal alternatives. Operative criteria could be used to select the best option (for example, reduce connection changes of the storage tank). The optimal solution obtained from the binary model should be treated
Optimal Allocation with
the SEA procedure
added,
the repeated
the binary
model.
to detect
application It requires
alternative
optimal
of the heuristic an increased
solutions
method
number
129
too. If two or more tanks
is very simple,
of binary
variables
will be
but this is not true with to model that
problem.
Table 14 presents a comparison between the two methods including the different options considered of the Branch and Bound method. Obviously, the heuristic method has a greater performance than the binary model, taking into account the alternatives solved. Table 14. Number of alternatives or nodes solved for the different methods proposed. Total number of altern. Prob.
1
Prob.
2
Prob. 3 (1) Raman and Grossmann method without constrains (20). (2) Traditional
Branch and Bound.
(3) Raman and Grossmann method with constrains (20).
As a final conclusion, it may be established that a correct allocation of the storage tanks between batch stages, allowing that this position be different depending on the product being processed, yields a sensible reduction of the plant cost. The economic impact is larger than in the case when only fixed positions are considered.
REFERENCES 1. R.E. Sparrow, G.J. Forder and D.W. Rippin, The choice of equipment sizes for multiproduct batch plants. Heuristics vs. Branch and Bound, Ind. Engng. Chem. Process Des. Dev. 21, 431-440 (1975). 2. I.E. Grossmann and R.W. Sargent, Optimal design of multipurpose chemicals plants, Ind. Engng. Chem. Process Des. Dev. 18, 343-348 (1979). processes, Ind. Engng. 3. F.C. Knopf, M.R. Okos and G.V. Reklaitis, Optimal design of batch/semicontinuous Chem. Process Des. Dev. 21, 79-86 (1982). 4. A. Espuiia, M. Lkaro, J.M. Martinez and L. Puigjaner, An efficient and simplified solution to the predesign problem of multiproduct plants, Comput. Chem. Engng. 13, 163-174 (1989). 5. T. Takamatsu, I. Hashimoto and S. Hasebe, Optimal design and operation of a batch process with intermediate storage tanks, Ind. Engng. Chem. Process Des. Dev. 21, 431-440 (1982). 6. N.C. Yeh and G.V. Reklaitis, Synthesis and sizing of batch/semicontinuous processes: Single product plants, Comput. Chem. Engng. 10, 639-654 (1987). 7. A.K. Modi and I.A. Karimi, Design of multiproduct batch processes with finite intermediate storage, Comput. Chem. Engng. 13, 127-139 (1989). 8. R. F&man and I.E. Grossmann, Relation between MILP modelling and logical inference for chemical process synthesis, Comput. Chem. Engng. 15, 73-84 (1991).