THE OPTIMIZATION OF ENERGY RECOVERY SYSTEMS

By

JIGAR V. SHAH

A DISSERTATION PRESENTED TO THE GRADUATE COUNCIL OF

THE UNIVERSITY OF FLORIDA

IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE

DEGREE OF DOCTOR OF PHILOSOPHY

UNIVERSITY OF FLORIDA 1978

J

Dedicated to my parents, Hemlata and Vinubhai Shah

ACKNOWLEDGEMENTS

The author wishes to express his sincere gratitude to Dr. A. W. Westerberg. Working as a graduate student under his super- vision was an invaluable experience.

The author also wishes to express his appreciation to the department of chemical engineering at the University of Florida and to Dr. J. P. O'Connell and Dr. H. D. Ratliff of the supervisory committee.

Thanks are due to the assistance provided by the department of chemical engineering at Carnegie-Mellon University and to the Computer-Aided Design Centre, Cambridge, U.K.

TABLE OF CONTENTS

Page

ACKNOWLEDGEMENTS iii

LIST OF TABLES vi

LIST OF FIGURES vil

LIST OF SYMBOLS ix

ABSTRACT xii

CHAPTERS:

I INTRODUCTION 1

II THE SYSTEM EROS 5

II. 1. Background 5

11.2 Data Specification 9

11.3. Modeling Considerations 9

11. 4. Deriving a Solution Procedure and

Solving Model Equations 17

11. 5. Starting the Problem: Finding a

Feasible Point 20

11.6. The Optimization Strategy 27

II. 7. Special Uses of EROS 35

II. 8. Results and Discussion 41

III LOCAL AND GLOBAL OPTIMA 48

III.l. Statement of the Problem 48

II I. 2. The Lower Bound 49

III. 3. The Upper Bound on the Lower (Dual) Bound... 54

TABLE OF CONTENTS (Continued)

Page

III. 4. Finding the Best Upper Bound 57

III. 5. Improvement of the Upper Bound 59

III. 6. Procedure to Investigate Global

Optimality 62

III. 7. Algorithm 63

III .8 . Examples 65

III. 9. Discussion 75

IV SYNTHESIS USING STRUCTURAL PARAMETERS: A PROBLEM

WITH INEQUALITY CONSTRAINTS 76

V CONCLUSIONS AND RECOMMENDATIONS FOR FURTHER

RESEARCH 83

APPENDICES:

A DESCRIPTION OF THE INPUT AND OUTPUT FEATURES 8 7

B DESCRIPTION OF THE PROGRAM 102

LITERATURE CITED Ill

BIOGRAPHICAL SKETCH 114

LIST OF TABLES

Table Page

1 Constraint: Representation for an Example Node 3

in Figure 4 16

2 The Incidence Matrix 21

3 Solution Procedure for the Problem in Figure 2 22

4 Additional User Specifications for the Problem

in Figure 4 40

5 Results for the Problem in Figure 9 42

b Stream Specifications for the Example in Figure 10 44

7 Results 46

8 Stream Specifications and Problem Data 79

LIST OF FIGURES

Figure Page

1 Structure of an Optimizing System 7

2 An Example Problem 10

3 The Network Nodes 12

4 Partitioning a Heat-Exchanger into Zones where

Phase Changes Occur 15

5 A Typical Cooling Curve 18

fa Keeping Track of the Best Point 'e' 28

7 Structure of an Optimization Algorithm 30

8 Using an Existing Exchanger 36

9 Reliability Analysis 38

10 An Example Exchanger Network 43

11 Example Problem 1 50

12 The Behavior of the Objective Function for

Example Problem 1 51

13 Staged Processes 53

14 Geometric Significance of the Dual 55

15 Geometric Significance of the Upper Bound 56

16 Subsystems for Example Problem 1 66

17 Example Problem 2 68

18 Subsystems for Example Problem 2 69

19 Subsystems for Example Problem 3 72

LIST OF FIGURES (Continued)

Figure Page

20 The Optimal Values of the Parameters 78

21 The Discontinuity in Optimization 81

22 The Optimal Network When Ignoring the Approach Temperature Requirement at Null Exchanger 2 of

Figure 20 82

23 Description of the Program EROS 103

LIST OF SYMBOLS

a = vector; constant for points on a hyperplane

b = scalar; constant for points on a hyperplane

C = the set of all newly violated constraints

C = the violated constraint encountered first

C = heat capacity P

D = minimum allowable approach temperature

E = the equation set without any inequality constraints present as equalities (heat and material balances only)

f = scalar return function; may be subscripted

f . = subproblem, subsystem, return function 1

F - flow rate

o n / 1 n+1. , , ,nst

G = matrix; first n rows are (g , . . .g ) and (n+l; row is

(l,...l)

g = vector constrained function; may be subscripted to repre- sent scalar elements. May also be superscripted as g1 to represent the vector constraint function at a point i

h = enthalpy

H a set of (m+1 ) constraints where m is an integer

H = a hyperplane

I/.x = the set of i such that stream i is an input to subsystem j

L = Lagrange function

LB = lower bound

0,.» = the set of i such that stream i is an output of subsystem j

Q = duty of a heat-exchanger

g = composite vector variable (x/u) : may be subscripted

S = constrained variable set; may be subscripted

T = temperature

AT, = log mean temperature difference

u = system decision variable: may be subscripted

U = heat transfer coefficient

UB = upper bound

V = the current set of inequality constraints in the equation

set (E - E„)

c (J

V .V . . V 1' 2

= subsets formed by removing one constraint at a time from H. (For example, V-^ is obtained by removing the first constraint in II.)

VR = the set of constraints present in the equation set as equality constraints with the difference that their slack variables are used as search coordinates

Vg = all the constraints in the system less the ones in V and V T

VT = the set of constraints being held as equality constraints

x = vector variable associated with interconnecting streams; may be subscripted

y = multipliers to express a vector as a linear combination of other vectors; may be subscripted

Z = objective function for the linear programming problem (maximization)

Greek Letters

a = variable vector used in linear programming formulation; may be superscripted to represent scalar variables in linear programming formulation

The scalar variable a and the subscripted variable u-jj may be used to represent a structural parameter (split fraction) .

0 = objective function; may be superscripted as 0 to represent its value at point i. May also be used as 0 to denote a vector of 01!s

A = vector of Lagrange variables; may be subscripted to repre- sent scalar elements. May also be superscripted as A to represent its value at point i

o = slack variable; may be subscripted

Mathematical Symbols H = intersection with '0' = null set

Abstract of Dissertation Presented to the Graduate Council

of the University of Florida in Partial Fulfillment of the Requirements

for the Degree of Doctor of Philosophy

THE OPTIMIZATION OF ENERGY RECOVERY SYSTEMS

by

Jigar V. Shah

March, 1978

Chairman: Arthur W. Westerberg

Major Department: Chemical Engineering

An emphasis on technical development oriented towards conservation of energy in the design of new chemical engineering processes and in the modification of the existing processes is as important as an emphasis on the search for alternate sources of energy. With the increasing sophistication in computer hardware, the design engineers are now able to assess innumerable options through the use of flowsheeting packages to maximize energy recovery. Most of the current flowsheeting packages essentially convert the well-defined input information about a process into a description about the output from the process. A next evolution in these packages is judged to be a system which will be very flexible in the input that is specified to it. In addition, it will possess an optimization capacity to yield the most desirable values for parameters left to it as degrees of freedom. This study describes a prototype for what a really convenient flowsheeting system ought to be.

xii

The program EROS (Energy Recovery Optimization System) is a flow- sheeting package for evaluating and optimizing the performance of simple networks of heat-exchangers. Using EROS one can set up an arbitrary structure of heat-exchangers, stream splitters and mixers. Stream flow-rates and entry and exit temperatures may be specified, free, or bounded above and/or below. Phase changes may be allowed to occur. Requiring no more user input (such as initial guesses), the program gathers together the modeling equations and appropriate inequality constraints. It then develops solution procedures repeatedly in the course of optimizing, initially to aid in locating a feasible point (which need not be specified by the user) and in the final stages to take advantage of tight inequality constraints to reduce the degree of freedom. The program is written in standard Fortran and is cur- rently operable on IBM 360/67.

The development of this program is relevant from the point of view of evaluating and optimizing energy recovery systems because the subject of choosing an optimal structure has recently come under increasing attention. A tool such as EROS will prove very useful to make a more thorough analysis of the candidate structures chosen by the process of synthesis at the penultimate and final stages. Existing energy recovery schemes may be reevaluated with the intention of making changes to make them more efficient. EROS can also perform quick reliability studies accounting for fluctuations in stream flow-rates and temperatures, a common problem during start-up and periodic failures.

As is the case in the optimization of most chemical engineering systems, a global optimum cannot always be guaranteed. An attempt

to recognize whether the discovered optimum is a global one, in a large system, is not a trivial task. Usually the problem may be side-stepped by making several optimization runs from different starting points and considering the best result as the required optimum. A systematic procedure is presented in this study to investigate global optimality, and the results on application to simple examples prove it to be quick and effective.

The use of EROS can be extended to perform process synthesis via structural parameters. However, the presence of inequality constraints inherent in the system can easily force the optimization to stop short of the desired result. This observation has not been reported before and attention is brought to it in this dissertation.

CHAPTER I INTRODUCTION

Most of the existing flowsheet ing packages for chemical engi- neering processes are based on Sequential or Simultaneous Modular Approaches. In these approaches each unit is modeled by writing a computer subroutine which converts the input stream and equipment parameter values into output stream values. Systems based on Sequential or Simultaneous Modular Approaches are relatively easy to build but the penalties paid are the lack of flexibility in the definition of the problem and the requirement for well-defined user- specifications .

Equation solving approaches, as followed in EROS (and in Leigh, Jackson and Sargent (1974), Hutchison and Shewchuk (1974) and Kubicek, Hlavacek and Prochaska (1976)) present an alternative way to treat flowsheets. The flowsheet is represented as a collection of non-linear equations which must be solved simultaneously. In following an Equation Solving Approach, the user can specify many of the values for both unit inputs and outputs. The unit equipment parameters are then calculated to give these desired transformations of inputs to outputs by the unit; in other words, the unit is designed to meet these requirements. Since EROS also contains an optimization capability the rather striking advantage is that variables for whose values the user has no preference for are treated as the degree of freedom by the system. EROS incor- porates the general optimization strategy as outlined in Westerberg

and deBrosse (1973) and demonstrates the applicability and effec- tiveness of their algorithm.

The two important problems in the design of energy recovery systems are to choose the configuration, and, given a configuration, to choose the design parameters and operating variables. A recent review on the effort directed to choosing a configuration can be found in Nishida, Liu and Lapidus (1977). In choosing a suitable configura- tion the general trend has been to evaluate networks using the heuristic of setting the minimum allowable approach temperature to 20°F, whereas the economics often advocate a smaller value. In addition, when a stream is split, the need for finding the optimal value for the split fraction has been ignored. Grossman and Sargent (1977) optimized several heat-exchanger networks and found considerable savings (sometimes as much as 25%) .

The problem of optimizing a heat-exchanger network to obtain the most suitable values for operating variables has been considered in the works of Westbrook (1961), Boas (1963), Fan and Wang (1964), Bragin (1966) and Avriel and Williams (1971). Typically each design problem is formulated and solved for as an optimization problem. Many investigators (Hwa (1965), Takamatsu, Hashimoto and Ohno (1970), Henley and Williams (1973), and Takamatsu et al. (1976)) have combined both the problems, choosing a configuration as well as the operating variables, and formulated it as an optimization problem.

All the methods mentioned for optimizing over the operating variables require the problem to be cast into a mathematical format. EROS precludes this need because of its capability as a flowsheeting package .

In Chapter II of the dissertation a description of the program EROS is provided. The data specification and modeling considerations for the system are discussed here while a user's guide to EROS is presented in the appendices. The derivation of a solution procedure is illustrated with the help of a simple example. If the user has not provided a feasible starting point, EROS has the capability of dis- covering one. The algorithm used is a modified version of that pre- sented in deBrosse and Westerberg (1973). The optimization strategy based on Westerberg and deBrosse also merits attention in this study because of its usefulness to this application. The different applica- tions of EROS and the results on optimization of 10 problems of varying sizes are also shown.

The program EROS does not guarantee a global optimum because of the non-linear and multimodal nature of the problem. In Chapter III an algorithm is presented to establish, often quite quickly, whether the discovered optimum is global or not. The strategy is based on finding both a lower (dual) bound for the optimum of the structured system and an upper bound on this lower bound. In this chapter the effectiveness of the algorithm is then illustrated by applying it to three small heat-exchanger network problems.

With a convenient evaluation and optimization package such as EROS, it is very tempting to use it to perform process synthesis via the use of structural parameters. Using this approach several alternate configurations are imbedded into one main structure which, on optimization, yields the required test configuration.

Several authors, as mentioned earlier in this section, have already

experimented with this idea. However, the problem to be solved has

to be formulated very carefully, and not enough attention has been

paid to this iact. In Chapter IV a discussion regarding this subject is

presented.

The conclusions from creating a system such as EROS and recom- mendations for further investigations form Chapter V of this disserta- tion. A guide to the use of the program is given in the appendices. The aspects of EROS presented are the input data format, the inter- pretation of the output, a typical computer printout, and a description of all the subroutines.

CHAPTER II THE SYSTEM EROS

II. 1. Background

In order to evaluate and optimize heat-exchanger networks it is desirable to have a program which on being given information about the configuration and stream properties, yields all the required information about the optimal network. Since the program will perform several different tasks, it would be very attractive and in many instances necessary for i t to possess the following features.

a) An ability to set up solution procedures.

The program should eliminate or reduce com- putational recycles, choose the decision variables and discover the order for calculating the various unknown variables.

b) An ability to obtain a feasible starting point.

Often, locating a feasible starting point for optimization is not a simple task. In order to save users the time and trouble necessary to find a feasible starting point, the program should be capable of per- forming such a task on its own.

c) Efficient optimization routines.

These would be required for selecting the optimal values for the decision variables by searching over their full range.

However, the optimization of a system such as this one raises certain problems. The objective function is highly non-linear and multimodal. Also, if phase changes are allowed, continuous derivatives cannot be obtained. These criteria force the use of a search algorithm such as the complex method. In having resigned to the use of the

complex method for optimization, further demands can be made to improve the efficiency of the approach for optimization. If in the process of optimization several constraints are violated, one remedial action is the use of penalty functions, but this modification is inefficient and it increases the number of iterations required for convergence.

Hence, with regard to optimization, few additional features would be deemed attractive.

d) The ability to rederive a solution procedure.

When a constraint is violated, the program should be able to modify the equation set and re- derive a solution procedure so that the optimization may be continued.

This strategy will lessen the number of iterations required for convergence as compared with the penalty function method. However, it is essential that the saving in computer time thus incurred com- pensates for the extra time required in rederiving the solution procedure .

e) The use of restriction as a solution strategy.

In the presence of a large number of decision variables, some of them are set to zero and optimiza- tion is performed with only the remaining ones as search coordinates. Optimization is considered complete when the Kuhn-Tucker (1951) optimality conditions are satisfied with respect to the decision variables held at zero value. This strategy aids considerably in reducing the number of iterations during optimization.

EROS is the author's attempt at developing an optimization program which incorporates all the features discussed above. Figure 1 illustrates the general structure of the EROS system.

The approach taken is to model each unit in a heat-exchanger network functionally by writing overall material and energy balances. The unit models themselves may be very complex internally, but the

Objec tlve

Function i <u,x(u))

Fig. 1. Structure of an Optimizing Syster

net effect at the flowsheet level is that each unit satisfies overall heat and material balances. In the current version of EROS only simple models are used. Using the functional equations, the modeling of such a system is only at the flowsheet level, and a solution procedure or the order in which these equations are to be solved is found along with the degree of freedom to be chosen. The solution procedure sought is one that will eliminate, if possible, computational recycles at this level .

The above approach is useful because the equations are solved repeatedly as an inner loop to an optimization program. As illustrated in Figure 1, the optimizer directs all the activity. Its primary func- tion is to adjust the decision variables to improve the objective function 0. For this system 0 is the annualized cost of the equipment plus the annual cost of buying the utilities needed such as steam for the purpose of heating.

To evaluate 0, the optimizer supplies the block labeled "Solve Model Equations" with the values it wishes to try for the decision variables u. The remaining problem variables x(u) are then obtained by solving the model equations. With u and x(u) values available, constraint violations are checked, and if some are violated, they are identified to the optimizer. Assuming none are violated, the units in the system are sized and an annualized cost 0 is evaluated. The optimizer notes this cost and changes the decision variable values, with the aim of reducing 0. This calculation sequence is repeated many times during a typical optimization. If constraints are violated, special action is taken, which tor this system will result in a modi- fied set of model equations and a need to rederive a solution procedure

for them (this approach is based on the optimization strategies in deBrosse and Westerberg (1973) and Westerberg and deBrosse (1973)). The modified complex optimization algorithm (Umeda and Ichikawa (1971)) is used in searching for the decision variable values, u.

11. 2. Data Specification

Adequate data must be supplied to the computer to define the problem. A problem definition will require the following input.

1) the flowsheet structure

a) connectivity of segments and units

2) the unit data

a) unit type

b) any equipment parameter specifications

3) the stream data

a) flow and temperature specifications

b) physical property data

c) film heat transfer coefficients

d) materials specifications and other cost parameters

4) the segment data

a) associated stream identifier (i.e., what stream this segment is a part of)

b) any specifications imposed on flow and temperature

5) general user specifications

6) guessed set of inequality constraints to be held

11 .3. Modeling Considerations

The modeling of a network will be illustrated with regard to the example in Figure 2.

The network comprises a single hot process stream H which is split and used to heat two cold process streams C and C„. It then merges to its exit conditions. Streams C and C„ are heated further by steam utility streams S and S,;. The network has four heat

JO

I (11,1

11(5.)

I - 500

I - 500

C - 1 U - 25 U, - 20 0. - 0, - 50

p 2 3 5 6

For Stream II T - T - 600° Ural of Vaporization ^800

Cost multiplier per unit flov rate - 0 4

For Stream III Tja - T^ - 600° neat of Vapomation =• 800

Cost multiplier per onlt flea; rate - 0.2

Constraints: 2500 =: F,,F.. s 7500 , 300° £ T.-.T.. * 500°

2' 3

12' 15

Aim: To minimize i. i "Y Cost, + 0.4 1 + 0.2 F

1-2. I?M

vhere Cost, - 35 (/area.) ' . Cost, and Area. 1 - i 1 1

axe associated u-lth exchanger 1.

Fig. 2. An Example Problem

11

exchanger (or heater and cooler) units, 2, 3, 5 and 6, one stream splitter unit, 1, and one mixing unit, 4. These units may also be referred to as nodes. All the heat exchangers are assumed counter- current. The streams have been broken up into segments, of which there are 16 overall. For example, stream C1 enters node 2 as segment 11. It exits and proceeds to unit 5 as segment 12, and finally leaves the system as segment 13. The naming scheme should now be evident. The 3 basic units used are shown in Figure 3. The unit models are written functionally by writing overall material and energy balances.

Unit

F = aF (I)

F3 = (1 - a)F1 (2)

h2 = hx (3)

h3 = h1 (4)

F4 « F2 (5)

(6) h2F2 + hllFll = h4F4 + h12F12 (?)

(8)

(9) h3F3 + h14F14 = h5F5 + h15F15 (10)

6 4b

h,F, = h.F + h F, (12)

6 6 4 4 5 5

12

cream VyHcat-Exclirfiige

d

Fig. 3. The Network Nodes

13

5 Fg - Fy (13)

F13 - F12 (14)

h7F7 +h12Fl2 = h8F8+hl3F13 (15)

(16)

(17) h9F9+h15F15 = h10F10 + h16F16 (L8)

In addition to these 18 equations, the associated inequality constraints and the equipment sizing and costing relations can be written.

The basic inequality constraint is that at no point in the exchanger should the hot stream temperature equal or fall below that of the cold stream. Referring to the heat-exchanger in Figure 3a, this constraint is usually expressed as

T > T, + D, where D is minimum allowable approach

1 4

temperature . T2 > T3 + D

However the temperatures could cross over internally and these constraints may not be adequate to detect it, particularly when a stream passes through a phase change. A check should therefore be made at several points along the exchanger to prevent a "crossover" of temperatures.

The final set of constraints indicate that a positive heat transfer must occur, that is, the hot stream must be cooled and the cold stream heated. These are

14

T„ < T. and T- < T. . 2 1 3 4

All Che constraints associated with a typical exchanger such as the one shown in Figure 4 are listed in Table 1 with their ap- propriate code so that they can be precisely identified by numbers. No constraints are written for the splitter and mixer units.

The sizing calculation for an exchanger is to evaluate its area. This calculation can be very involved, but for design purposes may in fact be simplified by assuming film coefficients based on the fluid, whether it is heating or cooling and whether it is boiling or condensing (see Perry and Chilton (1973)). The exchanger may, again, for simplified design purposes, be considered to operate in zones as indicated in Figure 4. Each zone is then sized and costed using the appropriate film coefficients and temperature driving forces.

To place a crude cost on the exchanger one might use an equation of the form (see Guthrie (1969)).

COSt = fMfP(aAm)

Where f is a materials factor, fD a pressure factor and A the M '

area of a zone within an exchanger. The zones are sized and costed differently because of the different types of heat-exchange duty. The terms a and m are constants, with m being about 0.6 to 0.8. Constant costs are assumed for the splitter and the mixer units.

The last source of equations is the evaluation of physical prop- erties. The system must be able to convert from stream temperature (and vapor fraction for a pure component in two phase region) to enthalpy and vice versa. A cooling curve may be provided for the stream

15

Hoc Stream I

II . Ill

T5 Tnrc Ti

Scg 3 F3.T3.H3

Cold Str

rmn " Dew polnt temrcrat:ure. hoC »trem

r - Bubble point teinperature , hot strca

T - new point temperature, cold stream T - But.ble point ceinperature , cold stre

T5

=

l^T'1"

urc of

the

cold

stre.-E

i at a

locaClo

3 where

the

hot a

tream

teraper-

aCure 1

TDFM

T6

-

Terapera

ure of

Che

cold

streau

ac a

locatlo

l where

the

hot s

cream

temper-

ature 1

T BPH

I,

-

lenpcra

ure of

the

hot s

trcjn

at a

locatlo

i where

the

cold

strem.

tempor-

ature i

T I) PC

T8

-

rempera

ure of

the

hot s

tre.TO

al a

locitloi

where

the

cold

strean

temper-

ature 1

T

Minimum allowable approach temperacu

Fig. 4. Partitioning a Heat-exchanger into Zones where Phase Changes Occur

16

TABLE 1 CONSTRAINT REPRESENTATION FOR AN EXAMPLE NODE 3 IN FIGURE 4

Exterior

Cggggent

Constraints

Code

approach

T s T + D

(NODE

* 10) + i = 31

approach

Tjit + D

(NODE

* 10) + 2 = 32

VT2

(NODE

10) + 3 * 33

T^T3

(NODE

* 10) + U = 34

F1IR = lower bound LUi for How F

F12FLB-

(NODE

* 10) + 5 = 35

F. _. = upper bound 1U^ for flow F,

F 2 F

OB 1

(MODE

» 10) + 6 = 36

?-., u - lower bound ^ for flow F

F 2 F r3 3 LB

(NODE

* 10) + 7 = 37

F3DB = upper bound J for flow r

F a F 3 OB 3

Interior

(NODE

» 10) -t 8 = 38

Type

Constraints

Representation

approach

VW d

(NODE

* 1000) + 1 = 3001

approach

WT6 + D

(NODE

* 1000) + 2 = 3002

approach

. VW °

(NODE

* 1000) + 3 = 3003

approach

(NODE

* 1000) + A = 3004

In addition there could

be constraints asr

jciated with any stream seement.

Example: Segaent 3, No

le 3

Coaiuent

Constraints

Code

H,. R - lower bound J for enthalpy h\

K3iH3LB

- (SEG « + 1)

1000 + NODE » 10 ^-3031

H^rm = uPPer bound

^OB*^

- (SEG "

4. 2\

1OC0 + NODE * 10

for enthalpy H

17

if the stream is assumed to be at a constant pressure. Figure 5 illustrates a cooling, curve, where T and T are the dew and bubble point temperatures respectively.

Properties such as thermal conductivities and densities should also be provided if the film coefficients are to be deter- mined from correlations. If for design purposes typical values for film coefficients are to be used, these properties will not be needed.

II .4 . Deriving ^-h£ Solution Procedure and_ Solving Model Equations

Consideration will now be given to developing a solution procedure and then solving the example problem. First, the system must gather together the necessary equations, or at least establish their structure, so that a solution procedure may be prepared. The desired solution procedure should eliminate all recycle loops in the computations if possible or minimize their number.

The initial solution procedure will ignore all but the user specified inequality constraints. Thus the system sets up the 18 heat and material relations shown in the last section. Assuming that the user has requested that constraints 55 and 33 be included, the additional relations required are

F7 = F7LB + °55

T3 - T5 + a33

(19)

(20)

where F is the lower bound on F7. /LB /

The inequality constraints have been converted to equality by the slack variables o , and Q„„ which are required to be nonnegative.

18

T " Bubble point tecrpcratur T - Dew point temper a Cure

Fig. 5. A Typical Cooling Curve

19

When the solution procedure is derived o and a will be required

to be decision variables with an initial value of zero. In this way

F-, and T„ will be forced to equal to F and T respectively. / 3 /Lis j

The relation (20) is in terms of temperatures rather than enthalpies. Hence the following relationships should also be added

T3 - f(h3) (21)

T5 = f(h5) (22)

The system can implicitly account for equations (20) , (21) and (22) by the single expression

h3 = f(h5,o33) . (23)

The incidence matrix can now be created. However its size can be significantly reduced. Note that a large number of equations simply equate one variable to another. Equations (3), (4), (5), (6), (8), (9). (13), (14), (16) and (17) are precisely of this form. These equations will automatically be satisfied if the values of variables so equated are stored in a common storage location. Hence these equations may be deleted and the two variables occurring in each one of them may be merged to a single one.

Many of the variables in the incidence matrix are in fact specified. Let the following be specified in data input for the example in Figure 2

Flows Fi'Fii'Fi4'F7LB

Enthalpies ^V'? 'h8'Vh10'hll 'h13>h14'h16

2U

These specified variables along with the slack variables o and <J (required to be decision variables) may be eliminated in the incidence matrix. The resulting and much reduced matrix is illustrated in Table 2.

A modification of Lee, Christensen and Rudd (1966) algorithm is applied to determine the solution procedure. The solution proce- dure that results on the application of this algorithm to the incidence matrix of Table 2 is shown in Table 3. The variables listed are cal- culated from the corresponding equations in the order indicated. Note that there is an iteration loop involving the single 'tear' variable F (from steps A to 9). F_(=F.) appears in equation (12) and the iterations between steps 4 and 9 are continued until the value of F.; guessed at step 4 is essentially the same as the value of F^ calculated from equation (12) in step 9.

The execution of the solution procedure, that is, calculation of the variables from the equations assigned to them, is termed "Solve Model Equations" in Figure 1. Corresponding to every unit, a subroutine is required to calculate any variable involved in the heat and mass balances of the particular unit. These subroutines may be supplied by the user for more sophisticated models.

II. 5. Starting the Problem: Finding a Feasible Point

If the user has not provided any information to aid in obtain- ing a feasible starting point, a modified version of an algorithm by deBrosse and Westerberg (1973) is used. As mentioned earlier, a signif- icant effort would be required on the part of a user to provide a feasible starting point if computational loops are involved in solving

21

TABLE 2 THE INCIDENCE MATRIX

Variables

Equations

tx

;-

(1)

(2)

(7)

(10)

(11)

(12)

(15)

X

(18)

(19)

X

(23)

-<f

IT\

c\j

LPv

t 1

r-i

IT\

xf1

-*0

a

X

X

X

X

X XX

XX x

XX XX X

22

TABLE 3 SOLUTION PROCEDURE FOR TOE PROBLEM IN FIGURE 2

Decision Variables Variable

i. y=v

n , _ . it

2- ^

3. h5

4. Guess Fp(=F. )

5. a

6. F (=F '

7. h,

8. F,

'• *-2<=y

10. H

15

ii. f9(=f10:

55' 33 Equation

(19)

(15) (23)

(1) (2)

HI)

(12) (10) (18)

23

model equations. Computational loops are almost inevitable in complex networks. However, the user does have the option of providing a feasible starting point.

The deBrosse and Westerberg (1973) algorithm uses an indirect approach. It hypothesizes that a subset of constraints has no feasible region and then attempts to verify the conjecture. If successful, the subset is identified as infeasible and obviously no feasible point exists. If unsuccessful, either a new hypothesis can be generated or the algorithm has indirectly found a feasible point.

The feasible pq i n t __al go r i t hm

In order to demonstrate the feasible point algorithm, the

following definitions are necessary.

E = The equation set without any inequality constraints present as equalities (heat and material balances only) .

E = The current equation set (E., + inequality constraint (s) present as equalities with slack variables) .

C = The set of all newly violated constraints.

C. = The violated constraint encountered first.

V = The current set of inequality constraints in the equation C set: (Ec - EQ).

H = A set of (m + 1) constraints.

V ,V , . . .V . = subsets formed by removing one constraint at

a time from H (for example, V-i is obtained by removing the first constraint in H) .

'0' = null set.

Degree of freedom (as defined for this work) = The number of original variables (excluding slack variables) in problem less number of con- straints in E .

24

Procedure 'A' represents the following sequence of operations.

1) Set all the decision variables to a value of zero .

2) Solve the model equations.

3) Check for constraint violations.

Step 1 Set E = E„, V = '0' c 0 c

Step 2 Determine the solution procedure based on struc- tural considerations of the equation set. If a solution procedure can be determined, go to Step 4.

Step 3 Attempt unsuccessful. Exit.

Step 4 Execute Procedure 'A' . If any constraints are violated, go to Step 6.

Step 5 Feasible starting point. Exit.

Step 6 Set E = [E ,C, ] c c 1

Step 7 Determine the solution procedure. If a solution procedure cannot be found, go to Step 11.

Step 8 Execute Procedure 'A'. If the problem does not prove solvable, go to Step 11. If no constraints are violated, go to Step 5.

Step 9 If the degree of freedom is not zero, go to Step 6.

Step 10 Set H = [V ,C ], i = 1. Co to Step 12.

Step 11 Set i = 1, H = V

Step 12 Set E = [E„,V.], V. + V from Step 10. c 0 l l c

Step 13 Determine the solution procedure. If it cannot be determined, go to Step 17.

Step 14 Execute Procedure 'A' . If the problem cannot be

solved go to Step 17. If no constraints are violated, go to Step 5.

Step 15 If C Pi H f '0', go to Step 17.

Step 16 If the degree of freedom = 0, go to Step 10. If not, go to Step 6.

25

Step 17 Set i - i + I. If i > m + 1, go to Step 3 (the set of constraints in H do not allow for a feasible region). If i <• m + 1, go to Step 12.

The main departures from the deBrosse and Westerberg (1973) algorithm are as follows:

1) In this work, the set H is restricted to containing less than or equal to (n + 1) constraints where n represents the number of decision variables.

2) Both the sets V and H are created in a different manner. In this work, one constraint is added at a time to build up the set V , and H is created either when there are already n constraints in V and an additional constraint is violated, or when a struc- tural inf easibility occurs.

3) "No Solution" options (in Steps 8 and 14 where the problem is not solvable) are not treated in as rigorous a fashion as in deBrosse and Westerberg (1973) . The method here is the same unless several problems corresponding to the same "hypothesis"

set H lead to no solution in Step 14. The algorithm here may terminate unsuccessfully at Step 17 whereas that of deBrosse and Westerberg might continue with alternate and reduced sets H. This option is quite complex and was never found necessary in EROS. Hence it was never included.

The algorithm can now be applied to the example shown in Figure

2. (Note that this problem involves 8 equations in 10 unknowns; thus

two degrees of freedom exist at the start.)

EQ = [(1), (2), (7), (10), (11), (12), (15), (18)]

(all the equations from Table 2 except the last two, (19) and (23))

1) E = E.., V = '0*

c 0 c

2) Solution procedure derived

4) Procedure 'A' executed

Constraint Violation = 33.

26

E = [En, 33] c U

Solution procedure derived

Procedure 'A' executed

Constraint Violation = 25

Degree of freedom = 1

Ec = [EQ5 33, 25]

Solution procedure derived

Procedure 'A' executed

Constraint Violation = 22

Degree of freedom = 0

H = [33, 25, 22], V = [33, 25], V2 = [22, 33], V3 = [22, 25;

Ec = [EQ, V2] - [EQ, 22, 33]

Note: V = [33, 25] is V in the previous iteration and it need not be considered again

Solution procedure derived

Procedure 'A' executed. Constraint Violation = 55

C 0 H = '0'

Degree of freedom = 0

H = [22, 33, 55], V = [22, 33], V2 = [55, 22], V3 = [55, 33 j

Ec = [EQ, V2] = [EQ, 55, 22]

Note: V = [22, 33] is V in the previous iteration and is eliminated from consideration

13) Solution procedure derived

14) Procedure 'A' executed No constraint violation

5) Feasible starting point. Exit.

2 7

II . 6. The Optimization Strategy

The optimization strategy is modeled after the algorithm presented in Westerberg and deBrosse (1973) . The algorithm is in- voked once a feasible point is available.

The sets of inequality constraints are divided into three sets.

V = The set of inequality constraints being held as equality constraints .

V = The set of constraints present in the equation

set as equality constraints with the difference that their slack variables are used as search coordinates.

V = The set of all remaining constraints.

V = [Vm,V„] (Note: V is as defined in the previous c T R c

section. )

Solution procedures are modified as inequality constraints are moved from one set to another. Adding constraints in the set being held tends to aid the optimization process by reducing the dimension of search space for what is usually a marginal or no added burden in solving an enlarged set of equations.

As the optimization proceeds, the values of all variables, in- cluding all slack variables, are stored for the point that yields the best value for the objective function. Hence, even when V^ is changed, optimization can be and is started at the best point discovered up to that moment. This modification makes a significant improvement to the Westerberg and deBrosse (1973) method. Figure 6 illustrates the typical dilemma faced by the Westerberg and deBrosse optimization algorithm when stepping from a current best point, point 'e', through one or more inequality constraints to point 'f'. At point 'f' the

:-h

Fig. 6. Keeping Track of the Best Point 'e'

29

constraint g1 is detected as being violated. The algorithm will respond by changing the solution procedure so that the slack variable 0 for g becomes a decision variable. The other decision variable will be either x or x . There are several options now as to where the optimization may be started. The algorithm could hold x. or x„ (whichever is selected as the decision variable) at its current value and find the point where a is zero, leading to point P, or P„ respectively. Alternatively it could attempt to locate P„ by searching along the direction leading from 'e' to 'f'. All of these options can, and often do, lead to a next point which has a higher and thus worse value for the objective function. By saving all the variable values for the best point, the search can always start, even after developing a new solution procedure, from that point, that is from point 'e'. This change reduces cycling because a change in the solution procedure cannot lead to a point that is

The actual search strategy used is the modified complex method (Umeda and Ichikawa (1971)). The complex method is consid- ered suitable because gradients are not required. The treatment of phase changes creates discontinuities in first derivatives of functions .

The optimization Algorithm

The notation followed is the same as that in the last section.

Figure 7 gives the structure of this algorithm.

Step 1 Obtain a feasible starting point.

Step 2 Set VT = V , VR = '0'. Apply the Kuhn-Tucker (1951) conditions as follows. Perturb each slack variable

30

Unsuccessful Exit

A - Horro/ll mode loop

B - Find scorch coordin.ntrs, nbnonal node loop

C - fVCul n to ii.-imal n iitc

Fig. 7. Structure of the Optimization Algorithm

31

corresponding to constraints in V^, one at a time, away from zero. If an improvement in the objective function results, move the cor- responding constraint from V to V .

A. If any solution procedure fails numerically during this step, go to Step 11.

B. If on completion of this step, the number of con- straints in Vj is equal to the number of constraints in Vc, and the degree of freedom is zero, go to Step 18.

C. Otherwise continue.

The optimization is back in its normal mode if return is to Step 3 or Step 7.

Step 3 Perform an optimization (using the complex algo- rithm) . Use as search variables the slack variables corresponding to inequality constraints in VR along with any additional problem variables still retained as decision variables. Search only over nonnegative values of the slack variables.

A. If at any point the solution procedure fails numeri- cally, go to Step 11.

B. Otherwise, when the optimization algorithm exits normally, continue.

Step 4 An optimization has just been completed.

A. If one or more constraints are violated, go to Step 7.

B. Otherwise continue.

Step 5 Set V™ , , = V,,,. Apply the Kuhn-Tucker conditions as done in Step 2.

A. If any solution procedure fails numerically, go to Step 11.

B. Otherwise on completion continue.

m

Step 6 A. If V_ = V,T, .,, go to Step 18. 1 Iold

B. Otherwise repeat from Step 3.

One or more constraints not in the current set V has been violated.

c

Step 7 A. If the degree of freedom is not zero, set E = [E ,C ,] and go to Step 9.

B. Otherwise find the set of constraints R from V such that each constraint in R could, from struc- tural considerations of the equations, be traded for C . If R = '0', go to Step 10.

C. Find the constraint C, in set R having the largest value for its corresponding slack variable. If that value is zero, go to Step 10.

D. Otherwise continue.

Step 8 Replace C with C in V .

Step 9 For any slack variable corresponding to a constraint in V^ and having a value of zero at the current best point, transfer the corresponding constraint from Vp to VT. Set V = [VD)Vn>], E = [E„,V ] and develop

1 . . c K , * C UC

a new solution procedure.

A. If a solution procedure cannot be developed, go to Step 11.

B. Otherwise return to Step 3.

The degree of freedom is zero and either (a) the values of all the

slack variables in V.. are zero or (b) the set R is empty. K

Step 10 Set H = [V ,C ], set i = 1, and go to Step 12.

The current set of equations are (or appear to be) numerically inconsistent.

Step 11 Set H = [V ] , set i = 1.

33

Step 12 Set E = [E„.V.], V. + V (this test is only relevant cOiiC if entry was originally from Step 10 above) . Set VR

equal to the set of all constraints in V. whose slack

variable values are greater than zero. Set V.,, equal

to all remaining constraints in V,.

A. If VR = '0' , go to Step 13.

B. Otherwise, determine a new solution procedure.

1. If one can be found, go to Step 14.

2. Otherwise, go to Step 17.

If entry to Step 12 was via Step 10 originally, a degenerate problem

is at hand as V and C, (NT7 + 1 constraints) are all satisfied in a c 1 Vc

subspace of dimension NTI . Vc

Step 13 Determine a solution procedure.

A. If one cannot be determined, go to Step 17.

B. Otherwise, perturb, one at a time, the slack variables corresponding to the constraints in

V

1. If, on any perturbation, constraints are violated such that HOC i '0', go to Step 17.

2. If, on any perturbation of a slack variable,

an improvement is obtained in the objective

function, put the corresponding constraint

into V„ . K

C. If, on completion of the perturbations in Step B, the set V_ = '0', go to Step 18.

D. Otherwise continue.

Step 14 Perform an optimization. Use as search variables the slack variables corresponding to inequality con- straints in VR along with any additional problem variables still retained as decision variables. Use the solution procedure derived in Step 13. Search only over nonnegative values of the slack variables.

34

A. If at any point the solution procedure fails numerically, go to Step 17.

B. When the optimization algorithm exits normally and if a constraint violation occurs, then

1. If HflC / '0', go to Step 17.

2. Otherwise, HOC = '0'. Go to Step 7.

C. Otherwise when the optimization algorithm exits normally and no constraints are violated, continue.

Step 15 Set V,„ , , = V™. Apply the Kuhn-Tucker conditions , fo]d T '

(as done xn Step 2) .

A. If any solution procedure fails numerically, go to Step 17.

B. Otherwise continue.

Step 16A. If VT = VTold, go to Step 18. B. Otherwise, return to Step 14.

■k

The current solution procedure failed or led to an immediate constraint violation of the constraint dropped in set H.

Step 17 Set i = i + 1.

A. If i > m + 1, go to Step 19.

B. Otherwise repeat from Step 12.

Normal exit. Optimization attempt apparently successful. Step 18 Optimization complete. Exit.

Abnormal exit. Optimization attempt aborted.

Step 19 Optimization failed. Exit.

Application of the strategy to the Example Problem in Figure 2.

3 5

1) Feasible starting point. V = [55,22] (from the last section) .

2) VR = [22]

3 and 4) Optimization with the complex method.

7) Constraint violated = 35, R = [22], and oJ0 > 0.

8) Replace constraint 22 with constraint 35.

9) VR = [35], VT = [55]. Ec = [EQ,VR,VT].

3) Optimization with the complex method.

4) Optimization complete.

5 and 6) Vm 1 , = [55]. V^ = [55] after Kuhn-Tucker test. iold T

18) Optimization successful. Exit. At the optimum, the following values resulted:

F = F. = 7350, F„ = Fc = 2650, T, = 500°, T, c = 300°, 2 4 3 5 12 15

F7 = 0, Fn = 2500, T. = 392°, T = 423° and 0 = 3538

/ y 4 5

II. 7. Special Uses of EROS

Using existing Heat-Exchangers. The program may be used to analyze a network where some of the exchangers are already specified. A special effort must be made, however, to make use of these exchangers. It is assumed that these exchangers are available at no cost. In Figure 8, an exchanger with an area of A has been specified. On analysis, however, it is discovered that an exchanger with an area A is required at that particular site in the network. In the program, the costs assumed for different conditions of A and A are shown in Figure 8. The physical significance of 1) is that a by-pass will be

3 fa

Specified Exchanger

Require Exchang

1)

2)

If Aj« A,

If A, > A,

T03t Cost

Cost associated with an exchange having the axes

Fig. 8. Using an Existing Exchanger

37

used in the specified exchanger. 2) implies that an exchanger with area = A„ - A must be purchased in addition to the exchanger already present .

Reliability analysis. The program has been extended to permit its use in quick reliability studies. The reliability studies will be demonstrated with the help of an example. Figure 9a represents a network that is operational under normal conditions. Cold process streams C, , C , and C are heated to their final temperatures with the help of a hot process stream H,, and a flue gas H . The flow rate and the outlet temperature of stream H. are undefined but are required to be within specified bounds. Assume that two abnormal occurrences take place separately, for certain periods of the year, namely ,

1) Stream H„ is unavailable.

2) Heating of stream C is no longer required.

The aim now is to find an optimal network such as the one shown in Figure 9a, fully provided for to meet the contingencies with the aid of by-passes in the exchangers or with the aid of auxiliary exchangers. The designer is permitted to allow a change in the flow of stream H and its outlet temperature provided they stay within their specified bounds. In the case of failure mode 2), a cooling utility stream may be used to cool stream C„ to 230° so that it may be recycled to be heated to 250° if it is desired to maintain a semblance to the normal operation. (Flow rate of C„ can be allowed to vary between 0 and 70,000 in this instance.)

38

F - '•0,000 T - 150°

F » 20,000 T - 300°

1 >

F * 70,00

T - 2 30°

F - 70,000 I - 30°

H3 O— Q

T « 400 T - 250 T - 150

o- ©

(b)

o

o 0

-6

(c)

* Uaspeclfled

Fig. 9. Reliability Analysis

39

Figure 9b represents the network when stream H is unavailable, and, Figure 9c when stream C„ is not required to be heated. Additional user specifications to those shown in Figure 9 are presented in Table 4. In order to find the optimal operating system, networks in Figure 9a, 9b and 9c are optimized together. The objective function 0 is given by

0 = ch1fh1 + ch;fh; + ch-'fh^ + cuc"Fuc" +

5

I (cost of exchanger area at site i) i=l

where C. and F. represent the cost coefficient and the flow rates of l l

stream i, respectively. The cost coefficient C. should reflect the

l

expected fraction of the year that the network is in the particular state being represented. For example, for the problem in Figure 9 it is assumed that the networks in Figure 9a, 9b and 9c are opera- tional 77%, 11.5%, and 11.5% of the time in a year, respectively.

Hence if C is 0 . 1 , then C , and C are 0.015 each. 1 1 1

The cost of exchanger area at a site will be illustrated with

the help of an example. At the site 2, the exchangers of different

sizes required in Figure 9 are A , A , and A ,,. Assume that A , is

smallest and A ,, the largest area.

The cost of exchanger area at site 2 is defined as

35[(A2,)U'6 + (A2 - A2,)°-6 + (A2„ - A2)°-6]

This manner of costing areas in doing reliability analysis appears to be a good formulation of the real system. If, because of

4(J

TABLE 4 ADDITIONAL USER SPECIFICATION FOR THE PKOBEEM IM FIGURE 9

Stream

UC"

Flow Rate

Lower Bound on Flow

50,000 50,000 50,000 0

Upper Bound on Flow 200,000 200,000 200,000 100,000

Inlet Temp

600 c

600° 600° 100°

Outlet Temp

150°

Lower Bound on Outlet Temp 190° 100° 190° 150C

Upper Bound on Outlet Temp 600° 600° 600° 150c

Cost Coefficient

0.10 0.015 0.015 0.008

Unspecified.

Let U. represent the heat transfer coefficient for exchanger I

ui ; V = 7CJ0

U2 = V " l,2" " Ul1 •2l

U3 = Uy U,» - 562.5

U, -• U ' = U " --, 700

U •' = 225

4.1

some departure from the normal mode, more exchanger area is required at a particular site, then one must pay for the auxiliary exchanger. If the exchanger area required is more for the normal mode, then an auxiliary exchanger is already in effect. The results obtained on optimization of the system in Figure 9 are shown in Table 5.

II. 8. Results and Discuss ion

A typical application of EROS to a heat exchanger network is illustrated by the example in Figure 10, the stream specifications for which are shown in Table 6. Stream I is a flue gas and streams IV and VIII are utility streams. The flow rates for these streams are not defined but are required to be within specified bounds. Some of the streams in the network are also multicomponent and are characterized by a dew and a bubble point. Thus the network is analyzed to ensure that minimum approach temperature violation does not occur inside the exchanger owing to discontinuities at the dew and bubble points. In fact, at the optimal solution for the example in Figure 10, the minimum approach temperature constraint at the bubble point of stream III is operative inside exchanger 5. The program can also evaluate variables that already exist, fully or in part. For example, exchanger 3 was assumed present with an area of 1500 units. The objective function 0 is defined as

0 = ^ cost coefficient * Flow Rate streams I, IV, VIII

13

+ 35 I (A. + 10)°-6 - ID0"6 1=1(^7, 8)1

42

TABLE 5 RESULTS FuR THE PROBLEM IN FIGURE 9

Exchanger Area

1 131.50

2 30.01

3 413.24

4 103.24 2 ' 41 . 80 3* 462.31 4* 105.06 l" 131.50

2 36.10

3 0.00 4" 64.67 5" 0.00

*'„ = 170,341 F , = 180,878 F - 50,148

1 "l "l

1 11 n

T = T = T = 190

0 = $23451. 25/yr.

43

T - 350 F - 80,000

Flue Gas I F-LB-1000 I - 700

ST - STKAM, CU - COOL It JO WATER LB - LCi.'R BOUND I) - till). ALLOWABLE Al'l'i.OACH TCMP.

iat - I-'.t: .".:.■.!. ly iii-i.a :a:;. AiTRuACi ti:mp. * - Active constraints at oi-rrn':

Fig. 10. An Example Exchanger Network

44

M

£

"i

3

w

sO

a

H

w

h-l

Uh

Sj

y

tt

o o o

•> O m O

O O O

o o o

rf

o o o

o o o

H O u^ 10

o o o o

o o o o

O O O C) o

r-i O O O O

O O o

o o o oo

; -,

o

>i

^~

O

1 H

1 H

>H

< )

N

Ff

C J

1- 1

t 1 1 1

n f '

u>

( )

■:

•4

o.

3

IrH

«;

F

£j

■=■:•

-<,

E

In

n<

n

1:1

U

■i;

en:

t )

< )

i'i

a;

( )

H

(-,

fi

o

p-,

d

^

1 "*

ft.

n

H

M

( )

W

t i

M

t 1

pi

o o o o

tr\ U^, U~\

u O O

O O O O

o o o

rH C3 CO

O O O O O o

ti £

£ 3

t-;'

:-5

s

C 1

f 1

m

m

ic;

f.'

-i

|:J

1 •;

(J

»';

45

where A is the area associated with exchanger i. In the calculation of cost associated with an exchanger, the relation

cost = 35[(A + 10)0,6 - 100,6] (1)

is used in preference to

cost = 35 A0"6 (2)

because whenever the area of an exchanger currently at zero value, is increased, the cost for the exchanger as calculated from (2) increases abnormally compared to the change in cost for the rest of the system. The modification as shown in relation (1) dampens this ill-behaved effect.

There are 8 decision variables for this problem and the optimum results after 328 iterations from an infeasible starting point. The stopping criterion is a 1 x 10 difference between the worst and best objective function values in the current set of points retained by the complex algorithm. The value of 0 at the optimum is $152,109/yr.

Results for 10 examples are shown in Table 7. In all the examples the feasible point results in very few iterations. It may be observed that the time required for the rewriting of solution proce- dures after finding a feasible point is relatively small as compared to the time taken for function evaluations during optimization. The maximum ratio of these two times occur in Example 6, but it is still less than 1/3. This observation indicates that the penalty paid for rewriting solution procedures whenever constraint violations occur is indeed very small.

4h

a-.

in

n

-:r

■"'<

Xj

O

-J ' ".

r 1 | _

-1- o

;:;

*

CI

en o

H

03

CO

I'"- f .

OJ

O) '*< I--

Oi

cO

00

00

* co

o

co

o

CJ

m

u">

m

en

CI

r- CO O

■-I O r-l

r i CO

r-

c-j

en

cn

CM

m

•4"

-4

o

o °

o

CJA

a. co

C)

o o

O)

<t

<r

en

i~-

J

2

o

o °

o

2 J

C l CO

-rf

^3

en

"

-

LO

en

Cl

I i o

c i m -cr

OJ

-J

-

<r

c.

CM

o

o °

o

£ ^

CN

CO

-

en

c.

-*

Ol

-.t

o §

o

CM

en

r -

f:

6

en

n

a

C/i

u

c

o w

X>

a

O

a

n

C

o

n.

X) ■H

Ln

a

[-«

O O

IJl

u -j, d -o •a c a o a u 0 01 u

%4 <--\ If: Pj Xl ^

C u) <u a a g

u ^ H p

O OJ

in i-i

CJ

13 TJ

a c

f^ o

u

a ivj c h

0 t-J

U)

-a a o u

a

^ 3 a

47

The figures shown for time in Table 7 are those required on IBM 360/67. The cost per second of CPU time is about 1.4 cents and the longest run (Example 10) costs $8.56 for complete execution while Example 1 costs $0.40. The size limitations are 50 process stream, 25 nodes and 150 stream segments in the current version of the program. The program is fairly well tested and gave satisfactory results when used for sixteen different problems set up by students in a recent design course.

CHAPTER III LOCAL AND GLOBAL OPTIMA

III .1 . Statement of tlie_ Problem

In the course of optimizing a chemical engineering system using a conventional minimum seeking algorithm, one should ask and then attempt to discover if the solution found is indeed a global one. If one is willing to try, then a common strategy is to re- start the optimization at several different initial points, and, if all or most lead to a single best point, that point is conjectured to be the global optimum.

A second common strategy is to use one's intuition to claim that only one optimum is likely. This strategy is particularly dangerous when the optimum is at the boundary of the search region where portions of the system effectively disappear because the flow through them is zero. Often one models the capital cost of a process unit by an equation of the form

cost = C (Throughput)

This form is not convex and is particularly troublesome at zero

throughput, where the slope is infinite for cost versus throughput.

If a unit becomes zero in size, then a small positive perturbation

in its throughput has an apparent positive infinite effect on cost,

an effect usually large enough to trap the optimization algorithm.

One can of course (and should) modify the cost equation to reduce this problem.

48

49

These strategies may help but still do not guarantee that one has found the global optimum. The purpose of the work leading to this paper was to produce a reliable method to determine if an optimal solu- tion is either a global or a local optimal solution. It was hoped that the technique would be computationally effective, in particular for heat exchanger networks, a class of problems which commonly dis- plays local optima.

The optimization problem relating to a heat-exchanger network is to minimize the annualized cost, 0, of heat-exchangers and utilities subject to the approach temperature inequality constraints and the heat and material balances representing equality constraints.

The simple network in Figure 11 (due to Grossman and Sargent (1977)) has only one degree of freedom and the network cost can be explored by choosing different values for the temperature T... Figure 12 represents the plot of costs, 0, vs. T„. At both the points A and B, the Kuhn-Tucker optimality conditions are satisfied as any slight perturbation away from each of these points results in an increase in 0. However, the point B clearly represents a local optimum. It is quite likely therefore that an optimization algorithm will not find the global optimum.

III. 2. The Lower Bound

To permit decomposition of a system structure, the primal or

overall system optimization problem may be written as

n Minimize 0 = f(q) = \ f . (q . ) j=l J ]

s.t. g. = x. - t.(q.) = 0 ieO,.. j=l,2,...n

o1 ± XX (j)

q.ES. j=l,2,...n (PI)

50

F - 10,000 T - 600°

F - 10,000 T - 900°

F - 10,000

<^ 6-

C - 1 I) - V. - 200

P 12

Area - Q/u jlT , Cost 35 x Area0'6

Cost, refers to exchanger 1. Aim: To minimize the objective function i, where i » Cost + Cos

Fig. 11. Example Problem 1

51

i

300 ■>

8

286.3

200 .

189. 3

A

100 .

0

100

ibo

200 T3

250

300

Fig, 12. The Behavior of the Objective Function for Example Problem 1

52

(It is important to note that the constraints defining S must be complete enough to guarantee the boundedness of each subproblem j.)

This representation of a system, such as the one in Figure 13, is based on Lasdon (1970) , but a procedure for equality rather than inequality constraints is stressed as shown in HcGalliard and Westerberg (1972). This stress follows from an interest in decomposed system structures, as against, say, allocation of resources.

The problem is assumed to have an optimal feasible solution. The Lagrange function for problem (PI) is

L = 0 - I j, A.[x. - t.(q.)]

j=l ie0(j)

which may be rewritten as

n n

L= J ff.(q.) + /V *4t4(q,) ~ I AixJ = LfMi'h)

I [f.CqJ + I \h(^ ~ I Aixi] = .V

j-l 1 J ie0(j) lel(j)

J J

This Lagrange function is separable in q, and a Lagrange problem may be defined which is equivalent to the following set of subproblems, one for each subsystem in the original system:

Minimize f.(q.,A) j=l,2,...n

q.ES. ' ] (P2>

.] J

The solution to the Lagrange problem equals the sum of the solutions

of (P2), i.e.,

j=l J

53

_i

Fig. 13. Staged processes

54

A dual function can now be defined as

n . h(A) = I f (A) j = l J

The geometric significance of the dual h(A) is illustrated in Figure 14 for a simple system like the one shown in Figure 13. The dual h(A) is the intercept of the line with slope A. Note that this line is a supporting hyperplane at the point (0°,g°). The geometric significance of the dual has been treated in Lasdon (1970).. The value of the dual is always less than or equal to the value of the primal optimum. Hence h(A) can be considered a lower bound on the global optimum.

III. 3. The Upper Bound on the Lower (Dual) Bound

Theorem 1 : If in the space of 0 vs . g_, where £ is n- dimensional, a polytope (Geoffrion (1969)) is formed in the hyper- plane passing through n+1 support points, the value of 0 at the intersection of this polytope with the axis £ = 0 provides an upper bound on the lower bound if the point of intersection is contained inside or at the boundaries of the polytope.

Discussion: Figure 15 illustrates the ideas underlying this

1 2 theorem. g and g are support points to the graph of 0 vs. g. The

1 2 line connecting g to g^ is a polytope formed in the hyperplane pass- ing through these n+1 = 2 support points. This polytope or line

12 between g and g intersects the vertical axis g = 0, and thus the

55

PrLnAl Optical Valui

Supporting hyporplane u-ltli slope X

Support Point

g - vVV

Fig. 14. Geometric Significance of the Dual

56

Upper Bound (UB)

Fig. 15. Geometric Significance of the Upper Bound

57

theorem says this point of intersection represents an upper bound on

the lower bound.

1 2 Proof : All the support points of a graph (such as g and g )

are contained on the surface of a convex hull formed by the support

hyperplanes for this graph. Assuming that the polytope intersects

the axis g = 0 in its interior or at its boundaries, a hyperplane

intersecting the axis g = 0 above this point must intersect a part

of the graph, that is, it cannot be a support hyperplane. Thus every

support hyperplane must intersect the axis g = 0 on or below the point

the polytope intersects this axis. Consequently the dual cannot exceed

this value of 0 (=VB) and UB is an upper bound to the dual.

Ill .4 . Finding th e Best Upper Bound

Given support points (0 ,g ) i=l, 2 , . . . p, pin+1, the problem is to determine the following.

(a) Find, if possible, a set of n+1 points that yields an upper bound. Posed differently, the problem is to find n+1 points sue!) that the polytope formed by them intersects the axis

g = 0.

(b) If several sets of n+1 points qualify to pro- vide an upper bound, find the set that yields the lowest value for the upper bound.

Any point inside or at the boundaries of the convex polytope,

specifically the point g = 0, can be obtained by a convex combination

of (n+1) points forming the polytope. This result has been stated and

applied in Director et al. (1978). Thus problem (a) can be formulated

as a feasible point problem in linear programming. If a feasible

solution exists (no artificial variables present in the solution at

a nonzero level), then indeed the set of n+1 points does provide an

upper bound .

58

In order Co solve problem (b) , if a "price" could be associated with each point such that the objective function reflects the value of the upper bound corresponding to a set of n+1 points, then it too is a linear programming problem. The solution to it, if one exists, would yield solutions to both problems (a) and (b) simultaneously. This "pricing" is indeed possible.

For every point on the polytope formed by n+1 points, 0 can be represented by the linear relationship

T

0 = £ a + b

(1)

where _a and b are constants. The value of 0 at the intersection with the axis ^ = 0 is

= b

(2)

then

UB = b

(3)

assuming that g = 0 lies inside or at the boundaries.

For n+1 points, equation (1) may be rewritten compactly as

0 =

,n+l

n+1

a + b

(4)

t _ 1' r 1 n+1, , r i .,12 n+1, _ Let a = [a , . . .a J such that [a = 1, [& ,...£ J a = 0,

1=1

and a > for all i. Premultiplying equation (4) with a gives

59

aX0 = b (5)

and from equation (3)

UB = aT0 (6)

Thus the "price" associated with each point (01,g1) is 01.

The linear programming formulation to solve both problems (a) and (b) simultaneously is as follows:

Find u = [a , . . .a ] to

Max Z = - [0 ,...0F]

s.t. [gJ

= 0

1 2 r

a + a + . . . + a1

and a ,...,a , > = 0. The upper bound UB = - Z.

The solution will contain (n+1) vectors in the basis. If a feasible solution does not exist, artificial variables will be present in the solution at a positive level and no upper bound will exist because the set of points in hand so far (g ,g , . . .g1) do not surround the origin.

III. 5. Improvement of the Upper Bound

Let N be the set of the current n+1 points forming the poly- tope P, H the hyperplane passing through these points with the slope

60

_A, and UB the value of the upper bound. The aim now is to find an improvement on UB .

If a new point is introduced, it follows from the simplex method that, since the problem is bounded, a feasible solution and hence a new upper bound can be obtained by replacing one of the points in N by the new point. The question now is how can the new point be found so that the new upper bound (UB ' ) is an improvement on UB, i.e. , UB' < UB.

Once again, the geometry of the problem and the theory of linear programming can be used advantageously. Assume for the moment that the solution to the linear programming problem obtained from the points in N is not degenerate. If a support point is determined for slope A_> this new point must lie on or below H. This result is ob- vious as a hyperplane with slope A_ cannot be a support hyperplane

above H. If the coordinates of the new point are (0 ,g ), and

*-u t r n It new . JA

the value of 0 on H at g_ = _g_ is 0 , then

0S > 0n8W

rtH rtnew , _ ,

0=0 implies that no further improvement can be ob- tained on the upper bound. Thus if 0 is greater than 0 , it follows that UB' will be less than UB if the new point replaces one of the points in N by the simplex method. This result can be demonstrated as follows:

Let the points in N be (0 ,g_ ) , . . . (0 ). The constraints

/I 2 n+1. _ ,.,.

£ ) a = £ (7)

61

1,2 n+1

a + a. . . . + a =1

(8)

Combining relations (7) and (8)

G a

(9)

The new point can be represented as a linear combination of the points in the basis, that is,

„, n st n . ~new

ihe n+1 element of g gives

a ynew

n+1 , r new

i = l y i=i x

(10)

(ii)

Points on H may be expressed by equation (1)

+ b

[gT,l]

0

For the (n+1) points in the basis, it follows from equation (4)

that

= G'

+ b

Premultiplying with y

T T _, new ,, new ^1 y 0 = y G

Using equations (10) and (11)

new _, new y 0 = g ,1

+ b I y\ i = l "

+ b

(12)

(13)

b2

However, the right hand side is a point on H at g and thus

T new M mH ,, , N

y 0 = 0 (14)

In the simplex method, the criterion for an improvement in the

objective function by replacing a point in the basis by a new one is

T y 0-0 =0-0 >0 (see Hadley (1963)) .

bmce si - v is greater than zero

UB' < UB

If the linear programming solution corresponding to the points in N is degenerate, that: is, the point g = 0 lies on one of the bounda- ries of P, a difficulty arises. In this case, there is no unique hyperplane H and consequently there may be some degrees of freedom available in calculating A. There is then no guarantee that the new point will bring about an improvement in the upper bound. In such a case, several new points may have to be evaluated before an upper bound with a lower value is obtained. Degenerate linear programming problem solutions occur in Example Problem 3.

III. 6. Procedure to Investigate Global Qptimality

The basic idea of this approach is that the value for the global optimum must lie between or at the boundary of the upper and lower bounds. The interval between the bounds is generally decreased at every iteration by the improvement on the upper bound and possibly an improvement on the lower bound. If at some point during this

63

procedure, an optimum is found to possess a value significantly greater than the upper bound, an inference can be made that the optimum is local and the procedure terminated. On the other hand, if a value for the optimum is very close to the lower bound, it may be inferred that the optimum is global and the process terminated. A problem arises when there is a dual gap in the optimiza- tion problem. It is possible that the global optimum may lie above the upper bound at some iteration. However, the optimum is not rejected as a local optimum if it lies within a certain interval above the upper bound, say 2% of the value of the optimum. Previous experience indicates that this modification is adequate for the type of problems considered in this study. This behavior can be observed in Example Problem 2.

III. 7. Algorithm

To investigate a primal optimal solution with an objective function 0 .

Step 1 Guess n+1 different A's (A where j=l to n+1). Attempt to select these AJ to obtain points g which surround the origin.

Step 2 .For each X , evaluate the dual_h(AJ), the support point g , and the objective function 0J . Let p = the total number of support points (n+1) in this case) . Find LB where LB = Max (h(AJ), j = l to p) .

Step 3 If 0 < LB + e (c is a small positive quantity, say .02 0"), stop. 0 is the global optimum. Else go to Step 4.

Step 4 Formulate an L.P. problem with all the available support points and solve for the optimal objective function (-UB) and the corresponding basis vector. If a feasible solu- tion does not exist, go to Step 7. If 0 > UB + £, stop. The given solution is a local optimum. If the L.P. solu- tion is degenerate, go to Step 6.

64

Step 5 In the L.P. solution, let the vectors in the basis be

g ,g ,g , . . . g . Set up n simultaneous equations in unknowns Ap+I as follows

, 2 l.T .p+1 rt2 A

(g - g ) A = 0-0

(15)

,3 l.T ,p+l ,A3 A (g - g ) X1 =0-0

, 4 l.T .p+1 ,.4 -1 (g - g ) Y =0-0

, n+1 l.T ,p+l „,n+l A. (g - g ) AF =0 - 0

Solve for A' . Find the dual h(A ), the support point gP , and the objective function 0P . Set p = p + 1. Find LB where

LB = Max (h(A_J) , j=l,2, . . .p)

Go to Step 3.

Step 6 Select all vectors from the basis which are present

in the L.P. solution in Step 4 at a nonzero level. Let these be points g',g~,...gm. Since only m (< n+1) such points exist, the AP+J- to be chosen can come anywhere from within an n+1 - m dimensional subspace. Either initiate (if first time through this step with above nonzero basis vectors) or continue a systematic search over the subspace to find the next A's to use. A A from the appropriate subspace is found by having it satisfy

,2 l.T , p+1 rt2 .1 (g - g ) Ap =0-0

(g3 - gV AP+1 - 03 - 01 (16)

(gm - gV AP+L = 01" - 01

plus any additional n + 1 - m independent specifications. Go to Step 3.

Step 7 Select a set of A to find a new support point g , the dual h(AP+1), and the objective function 0P+1 . Set p = p + 1. Let LB = Max (h(A.I), where j=l to p) . Go to Step 3. (Note this step is actually the same as Step 6 but with no constraints of form (16) being written, i.e., one should search systematically over the entire space for the next A's.)

65

I I I. 8. Examples

Example Problem 1

Figure 11 represents the Example Problem 1, and its subsystems are shown in Figure 16.

h(A) = Min (cost, + Ay) + Min (cost, - Ax)

where A is the price associated with the variable T .

81 = (x2 - yl} On optimization of the original system the two possible solutions are

Case: 1 T. = 400° T2 = 900° T3 = 300° 0 = 286.93 Case: 2 T = 600° 1'2 = 700° T = 100° 0* = 189.3

Apply the algorithm to Case 1,0 = 286.93 Step 1 A = -4.14 ; A = 4.14 and p = 2 points. Step 2 gj = -200 h(xh = -224.6 01 = 476.2

g^ = +200 h(A^) = -882.0 02 = 0

LB = -224.6

Step 3 0* > LB + e. (Let c = 0.02 0* = 5.74.)

Step 4 UB = 238.1 0 > UB + e

Hence the solution in Case 1 is a local optimum.

6b

F » 10,000

r - 6ou°

F - 10,000

r - 300°

<>

F - 10,000

~ 0"

T,

100 s y S 300

100 s x s J10

FiR. 1*j. Subsystems for Example Problem 1

67

Apply the algorithm to Case 2, 0 189.3 Steps 1, 2 and 3 are the same as in Case 1.

Step 4 UB = 238. 1 0 < UB + E

Step 5 A3 = -1.19

h(X?) =189.3 , gj = 0 , 03 = 189.3 P = 3 LB = 189.3 Step 3 0 = 189.3 < LB + e

Hence the solution in Case 2 is a global optimum.

Example Problem 2

Figure 17 represents this problem and the subsystems are shown in Figure 18.

h(A) = Min (Area + Ay) + Min (Area„ + A9y - A x ;) yll yi2,X22

4- Min (Area., - Ax,,,,) X23

A is the price associated with T and A is the price associated wi

th

T . 2

81 = (x22 ~ yll) and 82 = (x23 " y12^

On optimization

Tx = 181.9° T2 = 295° t = 218.1° t? = 286.4° t3 = 395.5° and 0 = 7049.

68

T = 100" /^-\

-u - i

tcJ

FC - 10 tor all the stream P

U, - 120 U„ - 80 IL 40

Arua refers to exchanger 1 Area - Q/D il^ , d - Are^ Aira: To minimise 4

>.rc», + Area,

[•'ig. 17. Exsrunle Problem

69

Subsystem 1

T > 300°

Subsystem 2

T - «iO°

Subsystem 3

I - 600°

^A- *_A

100 £ y s 300 100° St, s 300°

100 £ x„„ * 300 22

100 £ y £ 400°

100° s t, £ 400°

100 £ x £ 400 200° st, £ 600°

Fig. 18. Subsystems for Example Problem 2

70

Application of the Algorithm: 0 = 7049

Step 1

A1 =

-10 0

2

0 10

A3 =

-15 _-30_

Step 2

1

S =

200 100

2 S =

0 300

3 1 =

-94.6 -188

h(A ) = 500 01 = 2500

Step 3 0 > LB + e Step 4 UB = 9001.46

■k

0 < UB + e

h(A2) = -500 h(A3) = 5787

Step 5 A4 =

-21.67 -21.67

0 = 2500 LB = 5787 Let z = 140

■112.3 132

= 12,846

h(AH) = 5585 0 = 5158 p = 4 LB = 5787 Step 3 0 > LB + e Step 4 UB = 7173.34

0 < UB + e

13 4 Step 5 The points in the basis are g , g and g .

-11.04 -24.65

122.87 7J

h(A5) = 6640.3 05= 3533.67 p = 5

LB = 6640.3

P = 3

Step 3 0 > LB + E

71

Step 4 UB = 6928.94 0 < UB + e

3 4 5 Step 5 The points in the basis are g , g and g .

-13.34 -24.76

111.79 71

h(A6) = 6916.26 06 = 3668.11

P = 6

LB = 6916.26

Step 3 0 < LB + e

Hence the solution represents a global optimum.

Example Problem 3

Figure 2 represents this problem and the subsystems are shown in Figure 19.

y , x and price A are associated with F?

y,n, x„, and price A„ are associated with (F. x T , ) 712 24 2 4 4

y„9, x„s and price A~ are associated with T ?

y,.-,, x,., and price A, are associated with T, c 1326 4 1j

h(A) = Min (Cost - ^ix?o + ^o^l 2 + ^-^22^ +

X22'y12'y22

Min (Cost„ + Ay -. - A x„, + A, y „) +

'll>A24"l3

Min (Cost- + 0.4F - ^X^) +

~25

Min (Cost. + 0.2FTTT - A.x„,) + 4 III 4 2b

^26

and

72

? lO.OL'O

r - 200°

Subsystem 2

yil

T

X24

F - 10,000

1

10,000

200°

*

T - 800

T

40U^

2500 <- *22'yi2 s "00

300 £ y S 500°

2500 i y1,,x 4 s 7500 300° s y s 500°

Sub ay stem t*

F - 10,000

300 s x„c s 500

Fig. 19. Subsystems for Example Problem 3

73

gl = (x22 ~ yll}

82 = (x24 " y12}

g3 = (x25 - y22)

84 = (x26 " y13}

On optimization there are two possible solutions:

Case: 1 F„ = 2500 F0 = 7500 T, = Tc = 400° 2 J 4 5

12

= 300°

T15 = 500° Fn = 2500 Fm

4154

Case ;

2 Y = 7350 F3

2650 T = 500'

T15 = 300c

F1I = °

FIII = 25°° T5 = /(23°

T, = 392°

4

3538

Application of the Algorithm to Case 1 0 4154

Step 1 A =

0

0

-10

•10

A2 =

0 0.000555 0 0

0

0

10

0

A4 =

-0.1

0.001

-10

-10

A5 =

0 0.001 -10 - 5

P = 5

Step 2 gJ

5000

-2,000,000 ■200 ■200

2 g =

-5000

2,000,000

200

200

2345 -1,876,000 ■200

200

■5000 2,000,000

0

0

-2345

1,876,000 ■200

200

74

hCA1) = 2350 01 = 6350

h(A2) = 230 02 = 1340

h(A3) = 1917 03 = 3917

LB = 2350 h(A4) = 2118 0 = 4618

h(A5) = 2188 05 = 5064

Step 3

0" > LB + e Let E = 80

Step 4

UB = 3845

0 > UB + e

Hence Case 1 corresponds to a local optimum.

*

Application of the Algorithm to Case 2 0 3538

Steps 1 to 3 same as in Case 1 .

Step 4

UB = 3845

0 < UB + e

LP solution is degenerate

Step 6

Nonzero points in the basis of LP solution are g and g .

Let the n+1 points for finding A be g , g , g , g , and g .

A6 =

-0.065

6 S =

0

0.000225

0

-9.81 -6.58

-200 200

h(A6) = 3338 0 = 4037

p = 6 LB = 3338

Step 3

0 > LB + e

Step 4

UB = :

5845

0 < ub + e

LP solution is degenerate

75

1 2 Step 6 Nonzero points in the basis of the LP solution are g and g

Let the n+1 points for finding A be g , g , g , g , and g .

A7 =

0.128

0.000709

-8.68

-7.72

7 8 =

-2345

4690

0

0

h(A7) = 3534

P = 7

0 = 4564 LB = 3534 Step 3 0 < LB + e.

Hence Case 2 represents the global optimum.

III. 9. Discussion

In the first and the third examples, the local optima are recognized very quickly. The global optimum in each of these examples is confirmed albeit with a greater number of steps. In the second example, a dual gap (global optimum = 7049, upper bound = 6928.9) is present. However, the algorithm proves effective. It may also be noticed in the second example that an improvement results in the upper bound at every iteration. This is guaranteed in the absence of de- generacy. Degenerate solutions occur in the third example and several points may have to be evaluated before obtaining an improvement in the upper bound.

CHAPTER IV

PROCESS SYNTHESIS USING STRUCTURAL PARAMETERS:

A PROBLEM WITH INEQUALITY CONSTRAINTS

In this chapter a problem with the structural parameter method for process synthesis shall be discussed. The problem is almost obvious once stated, but it has not been emphasized in the literature. It can seriously affect the expected results. The discussion here does not imply that the method is valueless, it simply stresses that care must be taken to ensure that the method is really useful for a given problem.

A system of interconnected process subsystems can be modeled using structural parameters which are defined by the following

equations

N x. = y a. .x! i=l,2,3, . . .N

J = l

£ a. . £ 1 , y a. . = 1

1=1

(1)

where x. and x! are, respectively, the input and output variables of the i-th subsystem, N is the total number of subsystems in the entire system and the parameters a., are the structural parameters; that is, each is the fraction of the output stream of the j-th subsystem which flows into the i-th subsystem.

By means of structural parameters, a system synthesis problem can be transformed into a non-linear programming problem with continuous

76

77

decision variables. This idea has been stated and demonstrated in

the studies by Umeda, Hirai and Ichikawa (1972), lchikawa and Fan

(1973), Osakada and Fan (1973), Mishra, Fan and Erickson (1973), and

Himmelblau (1975). In order to obtain an optimal structure, redundant

subsystems are usually inserted into a "super" structure in which it

is hoped that the optimal structure is imbedded. For example, Figure

20 illustrates one use of the method for synthesizing a heat recovery

network. The problem data and the stream specifications are shown

in Table 8, and the problem is described in the tradition of problems

like 4SP1 in Masso and Rudd (1969) and Lee et al. (1970). A decision

is to be made on whether or not to use cold stream II to aid in

cooling hot stream V. The problem is formulated with potentially

redundant exchangers 2, 4 and 5 and the structural parameter a .

a0/. is the fraction of cold stream II that goes through exchanger 26

2. The strategy is, in this formulation, to convert the discrete decision of whether or not to use cold stream II to aid in cooling hot stream V into a problem of optimizing over the continuous deci- sion variable a„, . To avoid a cost discontinuity caused by intro- Zb

ducing an exchanger we must, of course, require the cost of an exchanger to approach zero as its area does.

The notion that we have converted a discrete decision problem to a continuous one is invalid here. "It may be observed that hot stream V has sufficient heat content to drive cold stream I to its final temperature. However, the transfer of heat in exchanger I is limited because an inequality constraint in exchanger 2 has to be satisfied. This constraint is the approach temperature requirement

78

II, Cold t - 504.00 T - 311.11

Cost - 16,945 S/yx

VII, Heating Utility T - 588.89

Fig. 20. The Optimal Values of the Parameters

79

TABLE 8 STREAM SPECIFICATIONS AND PROBLEM DATA

'^J'-rimoN

. is; is ....

STREAM

flow

g/»

I

II

III

IV

V

vr

¥11

1260. 00

504.00

1260.00

Unknown

2520.00

Unknown

Unknown

Iclet Teapeiature

i

311. a

311.11

422.22

311.11

644. U.

644.44

588.3-7

Outlet Traperatire

i

588.89

533.33

477.78

355.56

477.78

644.44

588.89

Bolllnj Point

K

755.56

755.56

755.56

373.33

755.56

644. 44

588.89

Liquid Heat Capacity

kJAg s

A. 19

4.19

4.19

4.19

4.19

4.19

4.19

Film lk.it Tr.w-.3fer Coefficient

W/m2 K

1703.49

1703.49

1703.49

1703.49

1703 .49

8517.45

8517.45

Coot

8

0.00

0.00

o.oo

l.lOxlo"7

0.00

22.05*10~7

5.20xlO~7

Heat of Vaporization

kJAg

6?/. 80

697.60

697.80

1786.368

697.80

1628.20

1395.60

Inlet Vapor fraction

0.00

0.00

0.00

o.oo

0.00

1.00

1.00

Dutlet Vapor Fraction i _

0.00

0.00

0.00

0.00

0.00

o.co

O.CO

Approach Temperature = 2.78 K

Beat exchanger coot equation = (a A )

where = arum-vl rata of return = 0.1

a = 350

b = 0.6

Equijwiont down tins = 280 hr./yr. The cost of the network is the cost of utility streams +■ tho cost of the exchangers, In l/yr. Ill heat archangel's are ausuaed to bo counter-current

80

between the inlet hot stream and the outlet cold stream (T >

533.33° + D, where D is a minimum allowed approach temperature of, say,

2.78K). By numerical computation one finds that the overall cost can

be lowered if a is increased (see Figure 21). This increase in a„, £D 26

lowers the flows of cooling utilities IV and VII. Ultimately, when

the flow of cooling utility IV is zero, an optimal structure is obtained

with a cost of $16,945/yr. At this point a_, = 0.688.

26

Note, however, that when the flow of the cold stream through exchanger 2 is zero, and the heat exchanger 2 is totally neglected, a network with a cost of $6864/yr. is obtained as shown in Figure 22. Thus, a significant discontinuity, which was hoped to have been eliminated, has reappeared. It should be emphasized that the data for the problem and its formulation are important only in that they are plausible and that they help make this point.

The main observation may be summarized as follows. When certain subsystems are rendered redundant during optimization (by the asso- ciated flow or a split fraction taking on a value of zero) and if inequality constraints are associated with these subsystems which force constrained behavior elsewhere, discontinuities very likely still exist in the problem. One must still make a discrete decision about whether or not to introduce that subsystem. This observation means that, if the structural parameters are to be used for a syn- thesis problem, and, if inequality constraints are involved, the problem has to be formulated very carefully, if indeed it can be, to make it a continuous one.

81

oi o.2 oT3 o~T

0.5 0.6 0.7

Fig. 21. The Discontinuity in Optimization

, Cold

- 1260.00

- 311.11

III, Cold F - 1260. CO T - 422.22

*T - 477.78

VTI, Heatlr^ Utility 336.04 538.89

Fig. 22. The Optimal Network When Ignoring the Approach Temperature Requirement at Null Exchanger 2 of Figure 20

CHAPTER V CONCLUSIONS AND RECOMMENDATIONS FOR FURTHER RESEARCH

The optimization strategy chosen for EROS proves to be efficient. It is the author's belief that the number of steps required for con- vergence is significantly lowered by rederiving a solution procedure every time a constraint violation occurs, and by the use of 'restriction' (Geoff rion (1970)). A very useful feature in EROS is its ability to find a feasible starting point, if none such is provided by the user. The solution yielded by EROS can account for portions of the network that already exist and for irregularities likely to occur in the process streams. Considering the nature of the problem treated, cost per a typical run of EROS seems small. The use of program may also be extended in carrying out synthesis via structural parameters but the problem must be formulated very carefully as mentioned in Chapter IV. In the results shown in Table 7, a feasible starting point is obtained in very few iterations. A feasible starting point may also be provided by the user as in example 10 of Table 7. As indicated in Chapter II, the time required for the rewriting of solution procedures after finding a feasible point is relatively small as compared to the function evaluations during optimization. Hence, the equation solving approach followed is fully justified.

8 'J

84

The practical applicability of a program such as EROS can only be considered complete if a capability of handling power generation and power intensive units is incorporated. Hence there is a need for adding unit models such as turbines and compressors. Hereafter the pressure changes will be important and a pressure variable must be associated with each segment. These changes might also call for a better modeling of a heat-exchanger unit in which the heat-transfer coefficients may no longer be evaluated by simplistic relations. Currently the cooling curves for streams are approximated by three linear regions. A more accurate description could be provided for streams by specifying enthalpy versus temperature information for the range under consideration. A linear interpolation may be assumed between two adjacent points provided in this specification.

In Chapter III an algorithm is presented which can effectively identify if an optimum point is a global optimum or a local one. It is practical as given only when applied to systems of interconnected subsystems, fortunately, a problem form which is common in engineer- ing design. The algorithm develops a lower (dual) bound using the ideas of Brosilow and Lasdon (1965) wherein the total system is de- composed into subsystems, each of which must be globally optimized. If the subsystems are small enough, this requirement is readily satis- fied. Frequently the optimal lower (dual) bound is equal to the optimal upper (primal) bound, but it also often lies strictly below because of nonconvexities in the problem. Previous experience on actual engineering problems indicates that this difference, caused by a duality gap, is small, i.e., only a small percent of the system cost.

85

The algorithm also develops an upper bound to this lower bound. Subject to the tolerances required because of the duality gap, an optimum more than a few percent above this upper bound is declared to be a local optimum, and one at or just above the lower or dual bound is considered to be a global optimum. If no discrimination is possible at the current step, the algorithm provides a means to guarantee improvement of the upper bound for nondegenerate problems, the lower bound usually being improved at the same time. The three example problems demonstrate that the algorithm is surprisingly effective.

Relating to the algorithm presented in Chapter III, a study is recommended to discover the global optimum having discovered that the given primal optimum is local. It would be desirable to predict a value of A yielding the global optimum by perceiving a trend in the value of X from the information gathered.

APPENDICES

APPENDIX A DESCRIPTION OF THE INPUT AND OUTPUT FEATURES

DATA INPUT FOR THE PROGRAM EROS

Card

Variable Card Format Description

First Card

FL

SC

Next Card MNODES MSEGS

NS LS

NESTK

NSTOP

4F8.1 Scaling factor for Flow Recommended FL = Minimum Flow

Scaling factor for Temperature Recommended T = Minimum Temperature

Scaling factor for split fraction Recommended A = 0.2

Scaling factor for slack variables Recommended SC = Minimum Temperature

11 14 Number of nodes

Number of stream segments

Number of streams

Number of information items in a stream = 18

(length of stream vector) NESTK = 0 if a starting point is not provided

= number of constraints specified for a starting point

= 0 if the program is to be executed until completion

= 1 if the program is to be stopped after one iteration - to permit a check that the input has been read correctly

87

Card

Variable Card Format Description

NSEGS

Number of segments (note: not streams) on which an upper and a lower bound on enthalpy is to be specified

INF

1NH

Total number of entries in the vector KNF (see the description of KNF) .

= 0 if the option is not used

Total number of entries in the vector KNH (see the description of KNH) .

= 0 if the option is not used

Optional

Cards (when NESTK i 0)

1NA

JWRIT

KESTK (I) 918 1=1, NESTK

Total number of entries in the vector KNA (see the description

of KNA) .

= 0 if the option is not used

= 0 if a complete output is to be printed

= 1 if the output during optimi- zation is to be suppressed.

List of codes for the initial constraints to be held (see the section on how to "code" a con- straint)

Next set of Cards = 3xNS where NS is the number of streams

STPAR (I, J) 8F8.1 1=1, 18 J=l, NS

Stream Information A set of 3 cards is necessary for every stream, with up to 8 entries per card

For Any Stream .J

1st Card

STPAR (1,J)

-2. for undefined flow of a process stream

-1 . for undefined flow of a utility (steam or cooling water)

89

Card

Variable Card Format Description

2nd Card

STPAR (2, J)

STPAR (3, J)

STPAR (4, J)

STPAR (5, J)

STPAR (6, J)

STPAR (7, J)

STPAR (8, J)

STPAR (9, J)

STPAR (10, J)

STPAR (11, J)

STPAR (12, J)

STPAR (13, J)

STPAR (14, J)

The undefined flow is identified in two different ways because the costing of the streams is different in each case.

The cost of a process stream need be found once regardless of the number of units it passes through. A utility stream cost has to be determined at every heater or cooler that exists in which it is a utility.

Inlet temperature = -1. if undefined

Output temperature = -1. if undefined

= 0. Inlet pressure (Not used at present) .

= 0. Outlet pressure (Not used at present).

Inlet vapor fraction = -1. if the inlet temperature is undefined

Outlet vapor fraction = -1. if the outlet temperature is undefined

Liquid heat capacity

Vapor heat capacity

Heat of vaporization

Dew point temperature

(Must be at least greater than

the bubble point temperature)

Bubble point temperature

Liquid-side film heat transfer coefficient

Vapor-side film heat transfer coefficient

90

Card

Variable Card Format Description

3rd Card

STPAR (15, J) STPAR (16, J) STPAR (17, J)

Next Card

STPAR (18, J)

Al

4F16.8

A 2

Two phase film heat transfer coefficient

Cost coefficient ($/lb.* no. of operating hrs. per yr.)

Lower bound on flow. The lower bound must be set to quantity greater than zero (say 1% of total flow) if the stream is split. This helps avoid numerical dif- ficulties .

Upper bound on flows (Can be very large)

Step-size for Kuhn-Tucker test. Recommended value = 0.01 (change in scaled values for variables) .

Initial step-size in scaled variable values for the complex method. Recommended value =0.1

A3

A 4

Minimum allowable approach temperature in degrees

Stopping criterion for the optimization (change in objec- tive function) . Recommended value = 0.00001

Next Card

CA

3F16.8 Cost multiplier for an exchanger (heater or cooler) x annual rate of return.

EXPO

Exponent for the calculation of the cost of an exchanger, heater or cooler. Recommended value = 0.6.

CB

Modification in the cost function of an exchanger, heater or cooler. Recommended value = 10. (Aids in avoiding the creation of local minima. )

Cost of an exchanger, heater or cooler = CA*((Area + CB)**0.6 - CB**0.6)

91

Card

Variable

Card Format Descrii

Next Set of ARK(I) Cards I = 1.MN0DES

Optional Cards

(when INA / 0)

6F10.2 This vector contains the infor- mation whether area is specified for a given node.

= 0. if area is not specified = value of area, if specified 6 area entries per card. For mixers and splitters, a value of zero is specified.

KNA(I) 1114 Gives information about ex- I = 1,INA changers, heaters and coolers

that are to be related by areas

Structure of KNA vector Entry 1

Item 1: Number of nodes in entry (say, n,)

Items 2,3,4, . . .rij + 1

Node numbers in ascending order. Repeat for entry 2 etc. New entries do not start a new card.

Optional KNF(l) Cards I = l.INF (when INF $ 0)

Optional KNH(I) Cards I = l.INH (when INH t 0)

1114

Gives information about un- related segments which are to have equal flows. No segment flows are to be listed here as equal if they are already equal by the nature of the flowsheet.

Structure of KNF vector

Entry 1

Item 1: Number of stream seg- ments in the entry (say, n-i)

Item 2,3, .. .n + 1

Stream segment numbers in ascending order.

Repeat for entry 2 etc. New entries do not start a new card.

The description of this vector is the same as that of KNF with the exception that enthalpies are involved instead of flows.

92

Card

Variable Card Format Description

No. of Cards NARRAY(I,J) 1114

= MNODES J = 1,11

(No. of 1=1, MNODES

nodes)

One card for each node. Every card has 11 entries.

For node I which represents an exchanger heater or cooler N ARRAY (1,1)

NARRAY(I,2) NARRAY(I,3)

NARRAY (I, 4) NARRAY(I,5)

NARRAY(1,6) NARRAY (1,7)

N ARRAY (I, 8) NARRAY (I, 9)

NARRAY (I, 10) NARRAY (1,11)

Stream I.D. for the hot stream segments

hot input segment number

source node for hot input segment

hot output segment number

destination node for hot output segment

cold input segment number

source node for cold input segment

cold output segment number

destination node for cold output segment

Type of node

= 1 for a heat exchanger

= 2 for a heater

= 3 for a cooler

Stream I.D. for the cold stream segments

For node I which represents a splitter NARRAY (1,1)

NARRAY (I, 2)

Stream I.D. for the hot stream

segment

= 0 for a cold stream

hot input segment number = -1 for a cold stream

9 3

Card Variable Card Format Description

NARRAY(I,3) source node for hot input segment

= -1 for a cold stream

NARRAY(I,4) the first output segment number

NARRAY(I,5) destination node for the first

output segment

NARRAY(I,6) cold input segment number

= -1 for a hot stream

NARRAY(I,7) source node for cold input seg-

ment = -1 for a hot stream

NARRAY(I,8) the second output segment number

NARRAY(I,9) destination node for the second

output segment

NARRAY(I,10) Type of node

= 4 for a splitter

NARRAY(I,11) Stream I.D. for the cold stream

segments = 0 for a hot stream

Note: the order for the output segments can be arbitrary.

For node I representing a mixer

NARRAY(I,1) Stream I.D. for the hot stream

segments = 0 for a cold stream

NARRAY(I,2) NARRAY(I,3)

NARRAY(I,4)

NARRAY(I,5)

N ARRAY (I, 6) NARRAY(I,7)

the first input segment number

source node for the first in- put segment

hot output segment number = -1 for a cold stream

destination node for the hot

output segment

= -1 for a cold stream

second input segment number

source node for the second input segment

94

Card

Variable Card Format Description

NARRAY(I,8)

NARRAY(1,9)

NARRAY(i,10) NARRAY(I,11)

Optional

Cards (when ICON (I)

NSEGS + I = 1,NSEG

0)

Optional SEC0N(I,J)

Cards J = 1,2

(when NSECS I = 1, NSEGS 4 0)

1114

8F8.1

cold output segment number = -1 tor a hot stream

destination node for the cold

output segment

= -1 for a hot stream

type of node = 5 for a mixer

Stream I.D. for the cold stream

segments

= 0 for a hot stream

Note: the order for the input segments can be arbitrary.

This vector contains the segment numbers for which both the lower and upper bounds are to be specified for enthalpies.

SEC0N(1,1) contains the lower bounds on enthalpies correspond- ing to the segment specified at the same 1 location in ICON.

SEC0N(I,2) contains upper bounds.

8 entries per card with all the lower bounds specified first. Start with a new card for upper bounds .

Explanation About the Output From EROS The output provides the following information:

1) A printout of the input.

2) The progress of optimization (optional) .

3) Incidence matrix. The rows represent functions and columns represent variables.

4) Information about functions. The first column points to the row of the incidence matrix representing the function. The second column lists the node associated with the function. The third column indicates the type of equation involved.

95

TYPE = 1 Heat balance for an exchanger, heater or

cooler

TYPE = 2,3 Material balances for a splitter

TYPE = 4 Material balance for a mixer

TYPE = 5 Heat balance for a mixer

TYPE > 10, TYPE < 0 Type is an inequality constraint code. (See Table 1.)

5) Identification of unknown variables. The first column stands for the segment involved. If the flow, temperature, or the split fraction associated with this segment is an unknown variable, the entry indicates the column number in the incidence matrix. Several variables may have the same column number if the system discovers they must be equal by heat or material balance. If the variable

is known, a value of 0 is used.

6) Segment Information - Final values at optimal point.

7) Precedence order list - Together with 8, indicates how the equa- tions were solved during the last optimization step.

8) Decisions and tears. If a variable is a decision, the correspond- ing value for its Function and MLIST columns are -1 and 1 respec- tively. If a tear variable is involved, the function it is assigned to is indicated in the corresponding column.

MLIST = 2 represents explicit assignment. MLIST = 3 represents explicit assignment.

9) Objective function - Final value.

10) Exchanger Areas - FinaL values.

11) Information about time and number of iterations required.

96

O m

t

O <M

o o

3 O

o m

<

~

u

CM

a

u

>•

iy

^

D

'.•>

<

•—

U-

a

a

2

u.

■—

h-

s:

O LU

U

-j

l/l CO I O

c m o in

o o

o o

o

a 3

o

o n

o

■o

X. U.

o

00 O

o o o o

o o o o o o o o

o o o o O o o

OOTOOOO

O O O O 3 D O

00 U"> O •O 00 o -o

o o

.-I J>

o o o o O o

o

<A O

Q. O

H- O

1/0 H

"3 —I

O I

O rH

I

o o

-I o

97

O 3

O 3

o o

O O

o o o

o

O O

o

o

o

r-i

o

O CO

o o o o o

m

o

a

o

«:

"j

i )

a

o

o

o

o

o

o

o

o

o

o

o

o

o

CO

o

o

a.

o

o

X

o

O -J- ^> o -t ^

vr < w-* ir> eg cm

ro m o -< o c l

m m in h n <j

o o ro <n m

o o

o

~>

o

o o

o

o

o

■0 IT\

u>

m

^

o

o

o

in -r ^r o o a

o o o

:j

->

o

o

-1

.— <

O

-r

a

M Nfin O n o

*

<

o

u

3

O O D

o

">

~>

n

-i

n

3

o z> a

o

D

o

a

3

o

a

C3CM

lf\

-)

!\J

m

3

o

o

O H h M O ,T

o

a

O

.J

o

0^

--(

*"*

—1

O

o

o o

o o a

o

j

c

o

D

a

tn

o

HftJ((l >f N ffv

>-

■ft

ft ft

«■

*

•ft

s.u -ft

»

ft

i~ ft

■ft

*

L.J -ft

■ft

•«■

-1 -ft

«■

G. ft-

h-

•>»

>: ft

_>

*

i_) ft-

a

V

o ft

►—

*

*

::>

i<

i* *

a

*

u *

•ft

►-c tt

■«■

•ft

f- -ft

■ft

ft-

< #

*

•ft

M -ft

•K-

i- -ft

-ft

s: -ft

#

»-« ft-

ft

y- #

■ft

D. ft

ft

O *

■ft

ft

*

* *

•ft

# *

•ft

•ft V

--( O O -H DO

CNJ .1

y..<

u

UJ X)

rr-

0.

<1

L/-J

>

z

_<

O

c

2

3;

V

UJ

^:

1-

•»

00000000c

0

LL

lu f\i rn <

-1 sT

m -1 -1

m <\i

tyi

■>r

Q.

ITi CM

t—

000000000

0

►—

>

LL

-—

X

0

h-

0

•-<

*—

rH -1 3 O O O O O O

0

0

3C

<

ci.

"0

2 u

H

h-

OOO^OOO-nO

0

<t

0 -J

1/1

5:

OO-iOOOr-^oo

0

2

ILI ^ !\j

01 sf

<t lA «o

n ^

l~

2

0

0

.4

O O

Hi ..J

O O O ~H O ^1 D O O

0

-H

m

0

fNJ

0 0 -1 0 0 -< 0 0 0

_,

•4

u.

UJ

C\J

i-j

X.

0

>

Q

000 000 0 ~* 0

0

0

2

2

(—

U

0OO0OO-HO.H

0

a.

0 -* <^J en

vT LTA

0 1*- -X)

0^ 0

...j 0

O

*-' "

^L

^

~(

j.j i-j

-i

in in

O <J O "3 r-l 1 O 3 O

O -4 O -1 -H ~< O O O

.— 0 "1 0 1 ' 0 0 0

0 0 0

■K

Li.

*

99

srcooooooocorjooo

"n! r\i eo im -J- <T -J- in

-i o o o m m o o o c o

<i O O O CO O "DOo^O

h- O O O >-< IN SOOOODOOO ZOOO^tMTO O C O T> O O O

HJ U 2 'O :•! sf sf ■J fl -r -O r\) in i^ »-j

-3 O0 0 0000000">00 "5

U- o o o o o o

O O O O "3

OOOOOOOOOOOOOOOO

I/IOOOOOOOOOOOOO

^OOOOOOOOOOTOO

OlOOOOOOOOOOOOOO

COOOr-O-OQOOOCOOQO^O

Q-OOOrO'-nOOOOOOOO"3 SOOQCOmJOOOoOOOO "J UJ

i— o o o <~* r\i ooooooooo

oooo>tMOoooooct)o xi 35 ~0 -1 <r sj- o -o o ^ M win m

O ■-« <NI < f\l >'*! -J- if in in O O O o o o

:s O m m .n m toq-joooot

_!•••••

O t in J- m -j o O O o o d

o -n o ii o n m in o o o n

O N rg s r^J j (*l N 3 O O O

'N"! -t ifl >ON JOOvO--<rjnsJ-

JJ •fr 1/1

100

o o

o o o c

o o o o

o o o o

o o o o

o o o o

o o o o

o o

LU

o o

Q

a

X

o c

c

o o

o o

LU

o o

o

« -I

a:

iU o

a ?

a- n o m h m m o 't xjooo

o

o

in

a

o

_l

o

1

S\

o

o

r\J

3

1

X)

-3

2

TO

o

.0

LTl

O

o

o

cr-

-r

N

et-

^-i

og

CM ,-0 -4" -A -O

■it a: <r co o

O (M i<1 N

101

>• IT\ ^~i O

l^- C3 f\j

;u vj- (\> - 1 o

s: r-i n r-j

D C

Q '.'J

LU O

u u

a k

..r a

c_

~^

a ►- uj

f- T

h- 3 c

3JH

_J "3

1) -O -0

oo :j

ii- o

ll CJ iL

LLl

3

T

U") <

i

15 -< _j

H-

^T .. ) „/

i >- U

_J

f- —I U

■-1

»-- ^r oo

►—

.li :z »-i

u

io <r i:

t~

o ■-

APPENDIX B DESCRIPTION OF THE PROGRAM

An abbreviated block, diagram of the program is illustrated in Figure 23. Only the subroutines performing important functions are shown. A typical run of EROS takes place in the following manner. The main program makes a call to the subroutine EXEC. EXEC reads in the input data. Next, the routine START is called to perform an initialization wherein all the undefined parameters are set to a value of zero. Once this has been accomplished, EXEC performs the task of identifying all the unknown variables and numbering them sequentially by using the routines FLOCTS, HCNTS , KNOWN and CLEAR. EXEC issues directives to find the first solution procedure for the system. With the aid of FMATRX, an incidence matrix is created with rows representing model equations and columns representing the unknown variables. PRECED uses this mati ix to find a solution procedure. At this point the control is transferred from EXEC to USPONT, a subroutine coordinating the two functions, optimization and creation of all subsequent solution procedures .

Every time a new solution procedure is created, USPONT trans- fers control to the optimization routine USOPT. USOPT makes use of the complex method represented by OPT, and the initialization for the optimization is performed by ICOPT. OPT hands back different sets of

102

103

Fig. 23. Description of the Program EROS

104

decision variable values to USOPT. For each set of decision variable values, model equations are solved and the objective function found. USOPT invokes the use of ANALYZ in order to solve the model equations. The convergence of the iteration variables in ANALYZ is aided by the Harwell Library subroutine VA05AD. Constraint violations are checked for in SUBANZ. If no constraints are violated, USOPT requests for the total system cost via the routine COST. If constraint violations occur, control is transferred back to USPONT. A decision regarding which inequality constraints are to be present as equalities in the equation set is made in POINT, and then a new incidence matrix and consequently a new solution procedure is found in USPONT. Optimiza- tion is started once again, using USOPT.

When the stopping criteria for optimization are satisfied, control is transferred to EXEC from USOPT through USPONT. An output is requested by a call to PRINT and the run terminated.

A brief description of all the subroutines and function subprograms used in EROS is presented next. The modules are presented in an alphabetical order and unless they are specified explicitly as function subprograms, they represent subroutines.

ACYCLIC

This routine helps in finding a solution procedure. It consists of the acyclic algorithm.

ADDER

When a new solution procedure is found, constraints in the equation set corresponding to slack variables whose values are zero, are held tight.

AHEI P

Using the area of a heat-exchanger zone, and the user specified constants, cost is calculated in this subroutine.

105

ANALYZ

Groups of equations that can be solved without iterating and calculations involving an iteration loop are identified so that the model equations may be solved.

Subroutines used: LOOP INIT1 VA05AD SUBANZ FTLLX

AREA

Areas are calculated for different phase zones and subsequently the cost for an exchanger is evaluated.

Subroutine used: AHELP

BUBPT

This is a function subprogram that discovers the bubble-point temperature for a stream segment.

CALFUN

This routine is called by VA05AD to provide the value of the error function.

Subroutine used: SUBANZ

CENTRE

A centroid is found for the points generated by the complex method .

CLEAR

The unknown variables are numbered sequentially.

Subroutine used: CLEAR1

CLEAR1

An aid to the routine CLEAR.

C0LOC

This subroutine is used to find the value of a slack variable from the current best point.

C0N0DE

The unknown variable involved in a constraint present as an equality is calculated by this routine.

Subroutines used: FILLUP ENTHAL ENSLAK TEMP COLOC

106

Function Subprograms Used: DEWPT

CONSTR

A check is made to see if any constraints are violated. If none are violated the slack values for all the constraints are stored.

Subroutines used: ENTHAL TEMP ENSLAK

Function Subprograms used: DEWPT

BUBPT

CONVRT

In this routine, an array that provides information about slack variables associated with constraints in the equation set, is created.

COST

Once all the model equations are solved, the costs associated with exchangers and the utility streams are added together in this subroutine to provide the value of the objective function.

Subroutine used: AREA

DEWPT

This is a function subprogram that discovers the dew-point temperature for a stream segment.

ENBALH

During the setting up of an incidence matrix, this routine helps in creating a row for the heat-balance of an exchanger.

ENSLAK

This routine helps in treating the temperature constraints in terms of enthalpies

Subroutines used: ENTHAL TEMP

ENTHAL

Used for calculating the enthalpy and vapor fraction of a segment given its temperature. For a pure component enthalpy is calculated given both temperature and vapor fraction.

Function Subprograms used: BUBPT

DEWPT

EQS

Helps relate flows, enthalpies or areas for reliability analysis.

EXEC

This is an executive routine to which all the input data are provided. Calls are made to several subroutines for the execution of

107

the program. The directive for providing the final output is also

issued by EXEC.

Subroutines used: START

FLOCTS

HCNTS

KNOWN

CLEAR

FMATRX

SETUP

PRECED

LINK

ANALYZ

COST

USPONT

PRINT

FILLUP

Once an unknown variable is calculated, its value is stored

for all the segments it occurs in.

FILLX

The value of the decision variable is stored for all the

segments this variable occurs in.

Subroutine used: TEMP

FLOCTS

All the segments having a common flow-rate are identified

and characterized by a unique number in this routine.

Subroutine used:

EQS

FMATRX

An incidence matrix is created in which the rows represent the heat and material balances and inequality constraints converted to equalities. The columns represent the unknown variables.

Subroutine used: SETUP

FPASS

This routine is used when a new solution procedure is to be created by replacing one of the constraints present in the equation set by the most recently violated constraint.

HCNTS

All the segments having a common enthalpy are characterized by a unique number in this routine.

Subroutine used;

EQS

108

HTEX

Any unknown variable in the heat-balance equation of the heat-exchanger is calculated by this subroutine. The error function associated with the heat-balance equation is also calculated.

Subroutine used: FILLUP TEMP

HTTC

This function subprogram is used to calculate the overall heat-transfer coefficient based on the film heat-transfer coefficients of the streams involved.

ICOPT

Values for decision variables and other parameters involved in optimization are initialized.

Subroutines used: C0L0C SORT

INIT1

Initializes parameters for the use of VA05AD.

KNOWN

In this routine the known values for flows and enthalpies are taken into account to help discover what the unknown variables are.

Subroutine used: ENTHAL

LINK

An array is created with entries that keep track of the segments that have the same flow or enthalpy.

LOOP

Identifies all the iteration loops for ANALYZ .

MB HAD

A Harwell Library subroutine called by VA05AD.

MIXER

The unknown variables involved in the heat and material balances of a mixer and the error functions are calculated by this subroutine.

Subroutines used: TEMP

FILLUP

OPT

This routine consists of the modified complex algorithm for optimization.

Subroutine used: CENTRE

109

POINT

In this routine a decision is made regarding what constraints are to be incorporated into the equation set to obtain a new solution procedure.

PRECED

A solution procedure is discovered for the given set of equations represented in the matrix form. The decisions and tear variables are established.

Subroutine used: ACYCLIC

PRINT

Provides an output.

RECOG

An array is created in which information concerning the un- known variables (whether they represent flows, enthalpies, or split fractions) is stored.

RELEAS

Slack variables corresponding to constraints in the equation set are identified if they are to be treated as search coordinates.

SAFE

The value of the objective function corresponding to the best current point is stored.

SETUP

Creates an incidence matrix with rows represented only by the heat and material balance equations.

Subroutine used: ENBALH

SORT

A routine that creates an array containing information about slack variables that are to be used as search coordinates.

SPLITR

Any unknown variables in the material balance equations of a splitter, and the error functions involved, are calculated by this subroutine.

Subroutine used: FILLUP

START

Initializes all the unspecified parameters at the start of execution.

Subroutine used: EQS

110

SUBANZ

For the calculation of an unknown variable, a call is made to the unit model routines associated with the variable. After all the calculations have been completed, CONSTR is called to check for constraint violations.

Subroutines used: HTEX

SPLITR MIXER C0N0DE CONSTR

TEMP

The temperature and vapor fraction of a segment are calcu- lated given its enthalpy.

USOPT

Optimization is performed using the strategy followed in this study.

Subroutines called: CONVRT ADDER RELEAS 1C0PT OPT

ANALYZ COST

USPONT

The algorithm for finding a new solution procedure is co- ordinated with the optimization strategy.

Subroutines used: SETUP FMATRX PRECED LINK RECOG USOPT FPASS POINT PRINT

VA05AD

A Harwell Library subroutine that performs a least-square fit on a set of non-linear equations.

Subroutines used: MB11AD

CALFUN

In addition, a system subroutine (CPUTIM) on IBM 360/67 ar Carnegie- Mellon University was used. This routine provided the elapsed CPU time in milliseconds. It was called by the following subroutines:

EXEC

ANALYZ

USPONT

LITERATURE CITED

Avriel, M., and A.C. Williams, "An Extension of Geometric Programming with Applications in Engineering Optimization," J. of Engr . Math., _5, 187 (1971).

Boas, A.H., "Optimization via Linear and Dynamic Programming," Chem. Eng., 2P_, 85 (1963).

Bragin, M.S., "Optimization of Multistage Heat Exchanger Systems," Ph.D. dissertation, New York University (1966).

Brosilow, C. and L. Lasdon, "A Two Level Optimization Technique for Recycle Processes," AIChE-IChemE Symp. Ser. No. 4, 75 (1965).

deBrosse, C.J., and A.W. Westerberg, "A Feasible-Point Algorithm for Structured Design Systems in Chemical Engineering," AIChE J., 19, 251 (1973).

Director, S.W., Hachtel, CD. and L.M. Vidigal, "Computer Efficient Yield Estimation Procedure Based on Simplicial Approximation," IEEE Trans. Circuits and Systems, to be published (1978).

Fan, L.T., and C.S. Wang, "The Discrete Maximum Principle," Wiley, N.Y. (1964).

Geoffrion, A.M., "Elements of Large-Scale Mathematical Programming, 1" the Rand Corporation, R-481-PR, Santa Monica, Calif., November (1969).

Grossman, I.E., and R.W.H. Sargent, a personal communication (1977).

Guthrie, K.M. , "Capital Cost Estimating," Chem. Eng., pp 114-142, March 24 (1969) .

Hadley, G., "Linear Programming, " Addison-Wesley, Reading, Massachusetts, pp 158-162 (1963) .

Henley, E.J., and R.A. Williams, "Graph Theory in Modern Engineering," Academic Press, N.Y. (1973).

Himmelblau, D.M., "Optimal Design via Structural Parameters and Non- linear Programming," U.S. -Japan Joint Seminar on Application of Process Systems Engineering to Chemical Technology Assessment, Kyoto, Japan, June 23-27, 1975.

Ill

112

Hutchison, H.P., and C.F. Shewchuk, "Computational Method for Multiple Distillation Towers," Trans. Instu. Chem. Eng. , 52 (4) , p 325 (1974).

Hwa, C.S., "Mathematical Formulation and Optimization of Heat Exchanger Networks Using Separable Programming," Symp . Series No. 4, pp 101-106, AIChE-IChemE Joint Meeting, London (1965).

Ichikawa, A., and L.T. Fan, "Optimal Synthesis of Process Systems. Necessary Condition for Optimal System and its Use in Synthesis of Systems," Chem. Eng. Sci., _28, 357 (1973).

Kubicek, M. , V. Hlavacek and F. Prochaska, "Global Modular Newton- Raphson Technique for Simulation of an Interconnected Plant Applied to Complex Rectification Columns," Chem. Engr. Sci., 31, 277 (1976).

Kuhn, H.W., and A.W. Tucker, "Non-Linear Programming," in Proc. 2d Berkeley Symp. on Math. Statistics Prob., 481, Univ. of Calif. Press, Berkeley (1951).

Lasdon, L.A., "Optimization Theory for Large Systems," Macmillan Co., New York (1970) .

Lee, W. , J.H. Christensen and D.F. Rudd, "Design Variable Selection to Simplify Process Calculations," AIChE J., J_2, 1104 (1966).

Lee, K.F., A.H. Masso and D.F. Rudd, "Branch and Bound Synthesis of Integrated Process Designs," Ind. Eng. Chem. Fundamentals, % 48 (1970).

Leigh, M.J., CD. Jackson and R.W.H. Sargent, "SPEED-UP A Computer- Based System for the Design of Chemical Processes," paper presented at CAD-74, Imperial College, London, England, Sept. 24-27, 1974.

Masso, A.M., and D.F. Rudd, "The Synthesis of System Designs - II Heuristic Structuring," AIChE J., L5_, 10 (1969).

McGalliard, R.L., and A.W. Westerberg, "Structural Sensitivity Analysis in Design Synthesis," Chem. Eng. J., 4 (4), 127 (1972).

Mishra, P.N., L.T. Fan and L.E. Erickson, "Biological Wastewater Treatment System Design," Can. J. Chem. Eng., 51_, 694 (1973).

Nishida, N., Y.A. Liu and L. Lapidus, "Studies in Chemical Process Design and Synthesis: III. A Simple and Practical Approach to the Optimal Synthesis of Heat Exchanger Networks," AIChE J., 23, 77 (1977).

Osakada, K. , and L.T. Fan, "Synthesis of an Optimal Large-Scale Inter- connected System by Structural Parameter Method Coupled with Multi- level Technique," Can. J. Chem. Eng., 51, 94 (1973).

Perry, R.H., and C.H. Chilton, Chemical Engineering Handbook, 5th Edition, McGraw-Hill, New York, pp 10-39 to 10-42 (1973).

113

Takamatsu, T., I. Hashimoto, H. Nishitani and S. Tomita, "The Optimal Design of Large Complex Chemical Processes - Develop- ment of Max-Sensitive Method," Chem. Engng. Sci., 31, 705 (1976).

Takamatsu, T. , I. Hashimoto and H. Ohno, "Optimal Design of a Langle Complex System from the View Point of Sensitivity Analysis," Ind. Engng. Chem. Proc. Des. and Dev., 9, 368 (1970)

Umeda, T. , A. Hirai and A. Ichikawa, "Synthesis of Optimal Processing System by an Integrated Approach," Chem. Eng . Sci., 27, 795 (1972).

Umeda, T., and A. Ichikawa, "A Modified Complex Method for Optimization," Ind. Engng. Chem. Proc. Des. and Dev., 1_0, 229 (1971).

Westbrook, G.T., "Use This Method to Size Each Stage for Best Operation," Hydrocarbon Processing, 40, 201 (1961).

Westerberg, A.W. , and C.J. deBrosse, "An Optimization Algorithm for Structured Design Systems," AIChE J., 1_9, 335 (1973).

BIOGRAPHICAL SKETCH

Jigar Shah, the eldest son of Hernlata and Vinubhai Shah, was born on December 27, 1951, in Ahmedabad, India. He graduated from St. Peter's Boys' High School in Panchgani in December 1967. From July 1968 to May 1973 he studied chemical engineering at Indian Institute of Technology, Madras. After the receipt of the B.Tech. degree, he was accepted as a graduate student at the University of Florida. He completed his M.S. in chemical engineering in December 1974 and proceeded to work for a doctoral degree. While working on doctoral research he accompanied his advisor, Dr. A. Westerberg, to Computer-Aided Design Centre, Cambridge, U.K., from January 1975 to June 1975, and to Carnegie-Mellon University, Pittsburgh, from September 1976 to January 1978. Jigar Shah is cur- rently a member of the American Institute of Chemical Engineers.

114

I certify that I have read this study and that in my opinion it conforms to acceptable standards of scholarly presentation and is fully adequate, in scope and quality, as a dissertation for the degree of Doctor of Philosophy.

;ki- ■(■

VI t

(/

/__ty

Arthur W. Westerberg, Chairman Professor of Chemical Engineering

1 certify that I have read this study and that in my opinion it conforms to acceptable standards of scholarly presentation and is fully adequate, in scope and quality, as a dissertation for the degree of Doctor of Philosophy.

An f <-0i-.-v..ct: 1

John P. O'Connell

Professor of Chemical Engineering

I certify that I have read this study and that in my opinion it conforms to acceptable standards of scholarly presentation and is fully adequate, in scope and quality, as a dissertation for the degree of Doctor of Philosophy.

Hugb/T). Rati iff Professor of Industrial ^and Systems Engineering

This dissertation was submitted to the Craduate Faculty of the College of Engineering and to the Graduate Council, and was accepted as partial fulfillment of the requirements for the degree of Doctor of Philosophy.

March 1978

lULta

Dean, College of Engineering

Dean, Graduate School

UNIVERSITY OF FLORIDA

3 1262 08666 281 3

I