Optimal allocation of intermediate storage in multiproduct batch chemical plants

Optimal allocation of intermediate storage in multiproduct batch chemical plants

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 ...

1MB Sizes 0 Downloads 123 Views

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).