Ignacio E. Grossmann
Center for Advanced Process Decision-making
Carnegie Mellon University
Pittsburgh, PA 15213, U.S.A.
Mixed-integer and Disjunctive Programming
University of Alicante
January 15, 2019
2
Outline
1. Introduction Mathematical Programming
2. Mixed-integer Linear Programming (MILP)
3. Propositional Logic and Disjunctions
4. Mixed-integer Nonlinear Programming (MINLP)
5. Generalized Disjunctive Programming (GDP)
6. Global optimization
Examples in Process Synthesis
3
• Discrete/Continuous Optimization
 Nonlinear models
 0-1 and continuous decisions
• Optimization Models
 Mixed-Integer Linear Programming (MILP)
 Mixed-Integer Nonlinear Programming (MINLP)
Motivation
• Challenges
 How to develop “best” model?
 How to improve relaxation?
 How to solve nonconvex GDP problems to global optimality?
 How to overcome computational complexity?
Alternative approaches:
 Logic-based: Generalized Disjunctive Programming (GDP)
 Constraint Programming (CP)
4
Mathematical Programming
min f(x, y) Cost
s.t. h(x, y) = 0 Process equations
g(x, y)  0 Specifications
x X Continuous variables
y {0,1} Discrete variables
Continuous optimization
Linear programming: LP
Nonlinear programming: NLP
Discrete optimization
Mixed-integer linear programming: MILP
Mixed-integer nonlinear programming: MINLP
5
Modeling systems
Mathematical Programming
GAMS (Meeraus et al, 1997)
AMPL (Fourer et al., 1995)
AIMSS (Bisschop et al. 2000)
Recent: PYOMO (Hart et al. 2017, JuMP (Dunning et al, 2017)
1. Algebraic modeling systems => pure equation models
2. Indexing capability => large-scale problems
3. Automatic differentiation => no derivatives by user
4. Automatic interface with
LP/MILP/NLP/MINLP solvers
Constraint Programming
OPL (ILOG), CHIP (Cosytech), Eclipse
6
$TITLE Test Problem
* Assignment problem for heat exchangers from pp.409-410 in
* "Optimization of Chemical Processes" by Edgar and Himmelblau
SETS
I streams / A, B, C, D /
J exchangers / 1*4 / ;
TABLE C(I,J) Cost of assigning stream i to exchanger j
1 2 3 4
A 94 1 54 68
B 74 10 88 82
C 73 88 8 76
D 11 74 81 21 ;
VARIABLES X(I,J), Z ;
BINARY VARIABLES X(I,J);
EQUATIONS ASSI(J), ASSJ(I), OBJ;
OBJ.. Z =E= SUM( (I,J), C(I,J)*X(I,J) ) ;
ASSI(J).. SUM( I, X(I,J) ) =E= 1;
ASSJ(I).. SUM( J, X(I,J) ) =E= 1;
MODEL HEAT / ALL / ;
SOLVE HEAT USING MIP MINIMIZING Z;
Input file GAMS
7
LP: Algorithms:
Simplex (Dantzig, 1949; Kantorovich, 1938)
Interior Point (Karmarkar, 1988, Marsten at al, 1990)
Major codes:
CPLEX (ILOG) (Bixby I)
GUROBI (Bixby II)
XPRESS (Dash Optimization) (Beale, Daniel)
Simplex: up to 500,000 rows (constraints), 1,000,000 vars
Interior Point:
up to 5,000,000 rows (constraints), 5,000,000 vars
typically 20-40 Newton iterations regardless size
Only limitation very large problems >500,000 constr
Linear Programming
8
Transshipment LP Model for Minimizing the
Utility Cost in a Heat Exchanger Network
StreamFcp (kW/K) Tin(K) Tout(K)
H1 20 700 420
H2 40 600 310
H3 70 460 310
H4 94 360 310
C1 50 350 650
C2 180 300 400
Utility Temperature (K) Cost ($/KW-yr) Maximum available (kW)
Fuel 750 160 ∞
HP steam 510 120 1000
LP steam 410 90 500
Cooling water 300-325 25 ∞
Minimum utility cost for Heat Recovery Approach Temperature (HRAT) of 10K ?
Papoulias, Grossmann (1983)
Aggregated LP Model
9
Interval Thot Tcold Heat Contents
H1 H2 H3 H4 C1 C2
700 690
1 2000 - - - 3000 -
600 590
2 1800 3600 - - 4500 -
510 500
3 1000 2000 - - 2500 -
460 450
4 800 2000 3500 - 2500 -
410 400
5 - 2000 3500 - 2500 9000
360 350
6 - 2000 3500 4700 - 9000
310 300
Heat content by Temperature Intervals
Notes: 1. Intervals are determined by INLET temperatures of hot and cold streams
2. Intervals have a 10K (HRAT) difference between hot and cold
3. Heat content of hot: SUPPLIERS OF HEAT
4. Heat content of cold: SINKS OF HEAT
10
1
2
3
4
5
6
H1
H2
H3
H4
C2
C1
QFuel
R
1
R
2
R
3
R
4
R
5
Q LP
Q HP
2000
1800
1000
800
3600
2000
2000
3500
2000
2000
3500
3500
4700
9000
9000
2500
2500
2500
4500
3000
14500
18000
Q CW
4700
10500
11600
5600
Transshipment Model for Heat Flows
Unknowns:
a) Utility loads
QFuel, QHP, QLP, QCW
b) Heat residuals:
R1,…R5
11
Known parameters: heat contents of hot stream i and cold stream j in interval k
cm, cn unit costs of hot utility m and cold utility n
Variables: heat loads of hot utility m and cold utility n
Rk heat residual exiting interval k
,H C
ik jkQ Q
,S W
m nQ Q
H
ikQ C
jkQ
S
mQ W
nQ
Rk-1
Rk
Interval k
LP transshipment model
1
1
min
0, 0, 0
0
k k k k
S W
m m n n
m S n W
S W H C
k k m n ik jk
m S n W i H j C
S W
k m n
K
C c Q c Q
st R R Q Q Q Q
R Q Q
R R
 

   
 
    
  
 
 
   
LP
Note: If Rk=0  pinch point
12
Positive variables R1, R2, R3, R4, R5, QF, QHP,
QLP, QCW;
Variable COST;
Equations OBJ, C1, C2, C3, C4, C5, C6;
OBJ.. COST =e= 160*QF + 120*QHP + 90*QLP +
25*QCW;
C1.. R1 - QF =e= -1000;
C2.. R2 - R1 =e= 900;
C3.. R3 - R2 - QHP =e= 500;
C4.. R4 - R3 =e= 3800;
C5.. R5 - R4 - QLP =e= -6000;
C6.. QCW - R5 =e= 1200;
QHP.UP= 1000;
QLP.UP = 500;
MODEL HEAT/ALL/;
OPTION LIMCOL=0;
OPTION LIMROW=0;
SOLVE HEAT MINIMIZING COST USING LP;
DISPLAY COST.L;
DISPLAY QF.L, QHP.L, QLP.L, QCW.L;
DISPLAY R1.L, R2.L, R3.L, R4.L, R5.L;
R1 = 0  Pinch 600-590 K
R5 = 0  Pinch 360-350 K
GAMS INPUT FILE
IF NO LIMIT of LOWP STEAM
COST = $262,000/yr
---- VARIABLE COST.L = 271000.000
---- VARIABLE QF.L = 1000.000
VARIABLE QHP.L = 300.000
VARIABLE QLP.L = 500.000
VARIABLE QCW.L = 1200.000
---- VARIABLE R1.L = 0.000
VARIABLE R2.L = 900.000
VARIABLE R3.L = 1700.000
VARIABLE R4.L = 5500.000
VARIABLE R5.L = 0.000
COST = $271,000/yr
GAMS OUTPUT FILE
13
MILP
Branch and Bound Beale (1958), Balas (1962), Dakin (1965)
Cutting planes Gomory (1959), Balas et al (1993)
Branch and cut Johnson, Nemhauser & Savelsbergh (2000)
"Good" formulation crucial! => Small LP relaxation gap
Drawback: exponential complexity
0,}1,0{
min



xy
dBxAyst
xbyaZ
m
TT
Theory for Convexification
Lovacz & Schrijver (1989), Sherali & Adams (1990),
Balas, Ceria, Cornuejols (1993)
Objective function
Constraints
LP (simplex) based
Major codes: CPLEX, GUROBI, XPRESS
SCIP (non-commercial)
14
Modeling with MILP Note: linear constraints
3. Integer numbers
1. Multiple choice
At least one
Exactly one
At most one
1
1
i
i I
i
i I
y
y






1i
i I
y


2. Implication
If select i then select k
Select i if and only if select k
0
0
i k
i k
y y
y y
 
 
 

N
k
k
N
k
k ykyn
11
1, also 

M
k
k
k
yn
0
2 Fewer 0-1 variables
15
 Ly  x  Uy
y = 0, 1
MIXED-INTEGER MODEL
MIXED-INTEGER MODEL
Discontinuous Functions/Domains

C =  y + β x
0  x  U y
y = 0, 1
0 L y = 1 U
y = 0






1IF
0IF0
yUxL
y
x
a) Domain
b) Function






1IF
0IF0
yx
y
C

y = 1

y = 0
0 x
C
16
Simple Minded Approaches
Exhaustive Enumeration
SOLVE LP’S FOR ALL 0-1 COMBINATIONS (2m)
IF m = 5 32 COMBINATIONS
IF m = 100 1030 COMBINATIONS
IF m = 10,000 103000 COMBINATIONS
Relaxation and Rounding
SOLVE MILP WITH 0  y  1
If solution not integer round closest
RELAXATION
Only special cases yield integer optimum (Assignment Problem)
Relaxed LP provides LOWER BOUND to MILP solution
Difference: Relaxation gap
17
ROUNDING
May yield infeasible or suboptimal solution
y2
1
Integer Optimum
INFEASIBLE !
Rounded Infeasible
0 0.5 1
0.5
Relaxed optimum (0.2, 0.3)
Rounded feasible
y2
1
Integer Optimum
SUBOPTIMAL !
0 0.5 1
0.5
Relaxed optimum (0.6, 0.1)
y1
y1
18
Convert MIP into a Continuous NLP
Example: Min Z = y1 + 2y2
s.t. 2y1 + y2  1
y1 = 0, 1 y2 = 0, 1
replace 0 – 1 conditions by
0  y1  1, y1 (1-y1)  0
0  y2  1 y2 (1-y2)  0
Nonlinear
Nonconvex!
=>
y1
y2
only feasible pts.
(1,0)
(0,1)
(1,1)
Using CONOPT2
st. point y1 = 0, y2 = 0 = > infeasible
st. pt. y1 = 0.5, y2 = 0.5 = > y1 = 0 y2 = 1
Z = 2 suboptimal
correct solution y1 = 1, y2 = 0 Z = 1
Z=2
Z=1
0
1
1
19
Branch and Bound
y1
y2
Tree Enumeration
Solve LP At Each Node
Min y1 + 2y2
s.t. 2y1 + y2  1 (P)
y1 = 0, 1 y2 = 0, 1
Solve MILP with LP relaxation
0  y1  1 y1 = 0.5 Z = 0.5 Lower Bound
0  y2  1 y2 = 0
Fix y1 = 1
y2 = 0 Z = 1
OPTIMUM
1
32
Fix y1 = 0
y2 = 1 Z = 2
Z=2
Z=1
20
Major Solution Approaches MILP
I. Enumeration
Branch and bound
Land,Doig (1960) Dakin (1965)
Basic idea: partition successively integer space to determine whether subregions
can be eliminated by solving relaxed LP problems
II. Convexification
Cutting planes
Gomory (1958) Crowder, Johnson, Padberg (1983), Balas, Ceria, Cornjuelos (1993)
Basic idea: solve sequence relaxed LP subproblems by adding valid inequalities
that cut-off previous solutions
Remark
- Branch and bound most widely used
- Recent trend to integrate it with cutting planes
BRANCH-AND-CUT
21
Branch and Bound
Partitioning Integer Space Performed with Binary Tree
Note: 15 nodes for 23=8 0-1 combinations
y1=1y1=0
y2=1y2=0
y3=0
y3=1
y2=0 y2=1
y3=0 y3=0 y3=0
y3=1 y3=1 y3=1
Root Node (LP Relaxation)
3,2,1,10  iyi
Node 
Node k
Node k descendent node 
22
NODE k: LP min Z = cTx + bTy
s.t. Ax + By  d
x  0 0  y  1
yi = 0 or 1 i  Ik
Since node k descendent of node 
1. IF LP INFEASIBLE THEN LPk INFEASIBLE
2. IF LPk FEASIBLE Z   Zk
monotone increase objective
Z  : LOWER BOUND
3. IF LPk INTEGER Zk ≥ Z*
Zk : UPPER BOUND
FATHOMING RULES: If node is infeasible
If Lower Bound exceeds Upper Bound

23
Mixed-integer Linear Programming
x1
x2
0 1 2 3
1
0
max 3x1 + 4x2
4x1+3x2  10
x1{0,1,2,3}, x2{0,1}
BRANCH AND BOUND
x11 x12
(1, 1)-INT
ZLP=7.0
(2, 0.3)
ZLP=7.2
(x1,x2)=(1.75, 1)
ZLP=9.25
x21
INFEASIBLE
x20
(2, 0)-INT
ZLP=6
 Well known & widely applied
 Efficient algorithms for moderately sized problems
 Search is based on solution of relaxed problems
Optimum!
Note: upper bounds from relaxation
for maximization case
24
x1
x2
0 1 2 3
1
0
zLP(1)
(1)
zLP(2)
(2)
Add cut (C1) and resolve
(C1)
Add cut (C2) and resolve
(C2)
(3)
zLP(3): OPTIMAL
 Well known & widely applied
 Efficient algorithms for moderately sized problems
 Search is based on solution of relaxed problems
 Solve entire problem at each node
 Exploit optimization information at each node
x1 + x2  2
CUTTING PLANES
max 3x1 + 4x2
4x1+3x2  10
x1{0,1,2,3}, x2{0,1}
Mixed-integer Linear Programming
Convex Hull
25
Example of MILP model for 4 component mixture
Separate mixture of A(lightest),B,C,D (heaviest) into pure
components using sharp separators
A
B
C
D
A
B
C
D
A
B
C
D
A
B
C
D
B
C
D
B
C
D
A
B
C
A
B
C
C
D
B
C
A
B
1
2
3
4
5
6
7
8
9
10
F
F
F
F
F
F
F
F
F
F
1
3
8
9
10
4
5
2
6
7
y
y
y
y
y
y
y
y
y
y
Fi flows, yi existence columns
Network superstructure for 4 component example.
Synthesis of Distillation Sequences
26
Data for example problem
a) Initial field
FTOT = 1000 kgmol/hr
Composition (mole fraction)
A 0.15
B 0.3
C 0.35
D 0.2
b) Economic data and heat duty coefficients
Investment cost Heat duty
k Separator k, fixed, k, variable coefficients,
Kk
1 A/BCD 145 0.42 0.028
2 AB/CD 52 0.12 0.042
3 ABC/D 76 0.25 0.054
4 A/BC 25 0.78 0.024
5 AB/C 44 0.11 0.039
6 B/CD 38 0.14 0.040
7 BC/D 66 0.21 0.047
8 A/B 112 0.39 0.022
9 B/C 37 0.08 0.036
10 C/D 58 0.19 0.044
Cost of utilities:
Cooling water CC = 1.3 (103$hr/106kJyr)
Steam CH = 34 (103$hr/106kJyr)
27
Split fractions in superstructure (using initial compositions)
1
A
= 0.15 6
A
= 0.188
1
BCD
= 0.85 6
BC
= 0.812
2
A B
= 0.45 7
A B
= 0.5625
2
CD
= 0.55 7
C
= 0.44
3
A BC
= 0.8 8
C
= 0.636
3
D
= 0.2 8
D
= 0.364
4
B
= 0.353 9
B
= 0.462
4
CD
= 0.647 9
C
= 0.538
5
BC
= 0.765 1 0
A
= 0.333
5
D
= 0.235 1 0
B
= 0.667
Assume perfect recoveries
28
MILP model
Initial node in network
F1 + F2 + F3 = 1000 (1)
For the remaining nodes in the network, mass balances for each
intermediate product. Based on the recovery fractions, the mass balance
for each intermediate product is as follows:
a) Intermediate (BCD) which is produced in column 1, and directed
to columns 4 and 5,
F4 + F5 - 0.85 F1 = 0 (2)
b) Intermediate (ABC) which is produced in column 3, and directed
to columns 6 and 7,
F6 + F7 -0.8 F3 = 0 (3)
c) Intermediate (AB) which is produced in columns 2 and 7, and
directed to column 10,
F10 - 0.45 F2 - 0.563 F7 = 0 (4)
d) Intermediate (BC) which is produced in columns 5 and 6, and
directed to column 9,
F9 - 0.765 F5 - 0.812 F6 = 0 (5)
e) Intermediate (CD) which is produced in columns 2 and 4, and
directed to column 8,
F8 - 0.55 F2 - 0.647 F4 = 0 (6)
29
Relating flows to the binary variables y:
Fk - 1000 yk ≤ 0 ,
Fk ≥ 0 , yk = 0,1 , k = 1,...10 (7)
Heat duties of condensers and reboliers, continuous variables Qk , k = 1, ...10,
Qk = Kk Fk , k = 1,...10 (8)
where the parameters Kk are given in Table.
Objective function, minimization of the sum of the costs in the 10
columns.

min C = (
ky
k + 
kF
k) + (34 + 1.3)Σ
k=1
10
Q
kΣ
k=1
10
cost coefficients k , k , are given in Table.
30
Optimal separation sequence
A
B
C
D C
D
A
BA
B
C
D
1000
450
550
$3,308,000/yr
Second best solution. Make y2 = y8 = y10 = 1 infeasible
y2 + y8 + y10 ? 2
Second best sequence
A
B
C
D
B
C
D
C
D
A
B
C
D
1000
850 550 $3,927,000/yr

31
General MILP model for distillation sequences
Sets
a) IP = { m  m is an intermediate product}
e.g. IP ={(ABC), (BCD), (AB), (BC), (CD)}
b) COL = { k  k is a column in the superstructure}
e.g. COL = {1,2,...,9,10}
c) FSF = {columns k that have as feed the initial mixture}
e.g. FSF = {1,2,3}
d) FSm = {columns k that have as feed intermediate m}
e.g. for m = (BCD), FSm = {4,5}
e) PSm = {columns k that produce intermediate m}
e.g. for m = (CD), PSm = {2,4}
32
min C = kyk + kFk) + (CH + CC) QkΣ
k COL
s.t . Fk = FTOTΣ
kFSF
(16)
 Fk - k Fk = 0 m IPΣ
k PSm
Σ
kFSm

Qk – Kk Fk = 0 k  COL
Fk – U y k
 0 k  COL
Fk , Qk
 0 , y k = 0,1 k  COL
where FTOT is the flowrate of the initial mixture,

k
m
are the recoveries of intermediate m
in column k, and U is an upper bound for the flowrates which for simplicity we can select
as FTOT .
MILP Model
33
“If sufficient care is exercised, it is now possible to solve MILP
models of size approaching ‘large’ LP’s. Note, however, that
‘sufficient care’ is the operative phrase”. JOHN TOMLIN (1983)
Modeling of Integer Programs
HOW TO MODEL INTEGER CONSTRAINTS?
Propositional Logic
Disjunctions
Although MILP has come a long way since 1983, good formulations
are still crucial for large-scale problems
34
Mathematical Modeling of Boolean Expressions
Williams (1988)
LITERAL IN PROPOSITIONAL LOGIC Pi TRUE
NEGATION  Pi FALSE
Example Pi: select unit i, execute task j
PROPOSITION: set of literals Pi separated by OR, AND, IMPLICATION
Representation Linear 0-1 Inequalities
ASSIGN binary yi to Pi (1 – yi) to  Pi
OR P1  P2  …  Pr y1 + y2 + .. + yr  1
AND P1  P2  …  Pr y1  1, y2  1, …yr  1
IMPLICATION P1  P2
EQUIVALENT TO  P1  P2 1 – y1 + y2  1
OR y2  y1
How to model integer constraints?
Propositional Logic and Disjunctions
35
EQUIVALENCE P1  P2
(P1  P2)  (P2  P1)
EQUIVALENT TO ( P1  P2)  ( P2  P1)
1 – y1 + y2  1 1 – y2 + y1  1
OR y1 = y2
36
Systematic Procedure to Derive Linear
Inequalities for Logic Propositions
Goal is to Convert Logical Expression into
Conjunctive Normal Form (CNF)
Q1  Q2  . . .  Qs
where clause Qi : P1  P2  . . .  Pr (Note: all OR)
3. RECURSIVELY DISTRIBUTE OR OVER AND
(P1  P2)  P3  (P1  P3)  (P2  P3)
BASIC STEPS
1. REPLACE IMPLICATION BY DISJUNCTION
P1  P2   P1  P2
2. MOVE NEGATION INWARD APPLYING DE MORGAN’S THEOREM
 (P1  P2)   P1   P2
 (P1  P2)   P1   P2
37
Example
If prod A or prod B implies reactor 3 or reactor 4
P1 P2 P3 P4
P1  P2  P3  P4
1. Remove implication
(P1  P2)  (P3  P4)
2. Apply De Morgan’s
( P1   P2 ) (P3  P4)
3. Distribute OR over AND
( P1  P3  P4)  ( P2  P3  P4) => CNF !
clause 1 clause 2
from clause 1 from clause 2
1 – y1 + y3 + y4  1 1 – y2 + y3 + y4  1
y3 + y4  y1
y3 + y4  y2
38
EXAMPLE
flash  dist  abs
memb  not abs  comp
PF  PD  PA (1)
PM   PA  PC (2)
(1)  PF  PD  PA remove implication
1 – yF + yD + yA  1
yD + yA  yF
(2)  PM  ( PA  Pc) remove implication
1 – yM + 1 – yA  1 1 – yM + yC  1
yM + yA  1 yc  yM
Verify: yF = 1 yD + yA  1 yF = 0 yD + yA  0
yM = 1  yA = 0 yC = 1
yD + yA  yF
yM + yA  1
yC  yM
( PM   PA)  ( PM  Pc) distribute OR over AND => CNF!
39
EXAMPLE
if x = 1 and y = 1 then z = 1
if x = 0 and y = 0 then z = 1
if x = 1 and y = 0 then z = 0
if x = 0 and y = 1 then z = 0
1. x  y  z
2.  x   y  z
3. x   y   z
4.  x  y   z
1) x  y  z   (x  y)  z   x   y  z
1 – x + 1 – y + z  1
40
2)  x   y  z   ( x   y)  z  x  y  z
x + y + z 1
3) x   y   z   (x   y)   z   x  y   z
1 – x + y + 1 – z  1
4)  x  y   z   ( x  y)   z  x   y   z
x + 1 – y + 1 – z  1
z  x + y – 1
z 1 – x – y
z  1 – x + y
z  1 + x – y
41
EXAMPLE
Integer Cut
Constraint that is infeasible for integer point
yi = 1 i  B yi = 0 i  N
and feasible for all other integer points
1
1)1(
)()(
)]()[(













B
Ni
i
Bi
i
Ni
ii
Bi
i
Ni
i
Bi
i
Ni
i
Bi
yy
yy
yy
yy

Balas andJeroslow (1968)
42
Example: Multiperiod Problems
“If Task yi is performed in any time period i = 1, ..n select Unit z”
Intuitive Approach
y1 + y2 + . . . + yn  n*z (1)
Logic Based Approach
y1  y2  . . .  yn  z
Inequalities in (2) are stronger
than inequalities in (1)
(y1  y2  . . .  yn)  z
( y1  z)  ( y2  z)  . . .  ( yn  z)
1 – y1 + z  1 1 – y2 + z  1 1 – yn + z  1

yn  z
y1  z
y2  z (2)
(y1  y2  . . .  yn)  z
43
1
1
1
y1
y2
z
Geometrical interpretation
y1  z
y2  z
All extreme points in hypercube
are integer!
44
1
1
1
y1
y2
z
0.5
0.5
Geometrical interpretation
y1 + y2  2z
Non-integer extreme points
Weaker relaxation!
45
Modeling of Disjunctions
i i
i D
A x b

   one inequality must hold
Example: A before B OR B before A
A B B AA B
pt ptTS TS TS TS       
   
Big M Formulation
Ai x  bi + Mi ( 1 – yi) iD
1
Di
iy
Difficulty: Parameter Mi
Must be sufficiently large to render inequality redundant
Large value yields poor relaxation
46
Convex-hull Formulation (Balas, 1985)
disaggregation vars.i
i D
x z

 
Ai zi  bi yi iD
1
Di
iy
0  zi  Uyi iD (may be removed)
yi = 0, 1
Derivation
Ai x yi  bi yi iD (B)
1
Di
iy
nonlinear disj. equiv.
47
Let zi = x yi disaggregated variable
1
Di
iy
i i i
i D i D i D
z xy x y
  
   
(A)
to ensure zi = 0 if yi = 0
0  zi  Uyi
(C)
(A)  i
i D
x z

 
subst. (B) Ai zi  bi yi iD
1
Di
iy
(C)  0  zi  Uyi iD
i
i D
z x

since =>
48
x1
x2Convex Hull






 0)(
1
xg
Y






 0)(
2
xh
Y
Geometric Interpretation Convex Hull
Big-M
49
Remark
For special cases disaggregated variables can be eliminated
0
Y Y
L x U x
   
        
Example
x0 L U
w-MIP representable (Raman, G, 1994)
See also John Hooker EWO Seminar
Tour Modeling Techniques
Convex hull formulation
1,0
)1(*02
1
21




y
yz
UyzLy
zzx
Since z2 = 0  UyxLy 
50
Example
[x1 – x2  - 1]  [-x1 + x2  -1]
0  x1, x2  4
x2
x1
big M x1 – x2  - 1 + M (1 – y1)
-x1 + x2  - 1 + M (1 – y2)
y1 + y2 = 1 M = 10 possible choice
4
4
1
1
Convex hull
1 2
1 11
1 2
2 22
x z z
x z z
 
 
1 1 2 2
1 2 1 21 2
y yz z z z    
1 2
1
1 1
2
1 2
1
2 1
2
2 2
1
0
0
0
0
4
4
4
4
y y
yz
yz
yz
yz
 
 
 
 
 
51
NLP: Algorithms (variants of Newton's method)
Sucessive quadratic programming (SQP) (Han 1976; Powell
Reduced gradient
Interior Point Methods
Major codes:
MINOS (Murtagh, Saunders, 1978, 1982)
CONOPT (Drud, 1994)
SQP: SNOPT (Murray, 1996) OPT (Biegler, 1998)
KNITRO (Nocedal, 2000)
IP: IPOPT (Wächter, Biegler, 2002) www.coin-or.org
Typical sizes: 100,000 vars, 100,000 constr. (unstructured)
1,000,000 vars (few degrees freedom)
Convergence: Good initial guess essential (Newton's)
Nonconvexities: Local optima, non-convergence
Nonlinear Programming
52
MINLP
 f(x,y) and g(x,y) - assumed to be convex and bounded over X.
 f(x,y) and g(x,y) commonly linear in y
},}1,0{|{
},,|{
,
0),(..
),(min
aAyyyY
bBxxxxRxxX
YyXx
yxgts
yxfZ
m
ULn





• Mixed-Integer Nonlinear Programming
Objective Function
Inequality Constraints
http://www.minlp.org
53
Branch and Bound method (BB)
Ravindran and Gupta (1985) Leyffer and Fletcher (2001)
Branch and cut: Stubbs and Mehrotra (1999)
Generalized Benders Decomposition (GBD)
Geoffrion (1972)
Outer-Approximation (OA)
Duran & Grossmann (1986), Yuan et al. (1988), Fletcher & Leyffer (1994)
LP/NLP based Branch and Bound
Quesada and Grossmann (1992)
Extended Cutting Plane (ECP)
Westerlund and Pettersson (1995)
Solution Algorithms
54
Basic NLP subproblems
a) NLP Relaxation Lower bound
k
FU
k
ii
k
FL
k
ii
R
j
k
LB
Iiy
Iiy
YyXx
Jjyxgts
yxfZ







(NLP1),
0),(..
),(min
b) NLP Fixed ykUpper bound
Xx
Jjyxgts
yxfZ
k
j
kk
U



0),(..
),(min
(NLP2)
c) Feasibility subproblem for fixed yk.
1
,
),(..
min
RuXx
Jjuyxgts
u
k
j


(NLPF)
Infinity-norm
55
Cutting plane MILP master
(Duran and Grossmann, 1986)
Based on solution of K subproblems (xk, yk) k=1,...K
Lower Bound
M-MIP
YyXx
Kk
Jj
yy
xx
yxgyxg
yy
xx
yxfyxfst
Z
k
k
Tkk
j
kk
j
k
k
Tkkkk
K
L

































,
,...1
0),(),(
),(),(
min


Notes:
a) Point (xk, yk) k=1,...K normally from NLP2
b) Linearizations accumulated as iterations K increase
c) Non-decreasing sequence lower bounds
56
X
f(x)
x
x
1
2
x
1
x2
Linearizations and Cutting Planes
Underestimate Objective Function
Overestimate Feasible Region
Convex
Objective
Convex
Feasible
Region
XX
1 2
57
Branch and Bound
NLP1: min ZLB
k
= f(x,y)
Tree Enumeration s.t. g j(x,y) < 0 jJ
xX , yYR
yi < i
k
iIFL
k
yi > i
k
iIFU
k
Successive solution of NLP1 subproblems
Advantage:
Tight formulation may require one NLP1 (IFL=IFU=
Disadvantage:
Potentially many NLP subproblems
Convergence global optimum:
Uniqueness solution NLP1 (sufficient condition)
Less stringent than other methods
min ( , )
. . ( , ) 0
,
k
LB
j
R
k k
i i FL
k k
i i FU
Z f x y
s t g x y j J
x X y Y
y i I
y i I



 
 
 
 
58
Outer-Approximation
Alternate solution of NLP and MIP problems:
NLP2
M-MIP
NLP2: min ZU
k
= f(x,y
k
)
s.t. g j(x,yk
) < 0 jJ
xX
M-MIP: min ZL
K
= 

s.t  > f xk
,yk
+ f xk
,yk T x–xk
y–yk
g xk
,yk
+ gj xk
,yk T x–xk
y–yk
< 0 jJk
k=1..K
x X, yY ,  R1
Property. Trivially converges in one iteration if f(x,y) and g(
- If infeasible NLP solution of feasibility NLP-F required to
guarantee convergence.
Xx
Jjyxgts
yxfZ
k
j
kk
U



0),(..
),(min
min
( , ) ( , )
1,...
( , ) ( , ) 0
,
K
L
k
k k k k T
k
k
k k k k T k
j j k
Z
x x
st f x y f x y
y y
k K
x x
g x y g x y j J
y y
x X y Y



 
   
   

  
    
    
 
x,y) are linear
Upper bound
Lower bound
59
MIP Master problem need not be solved to optimality
Find new yk+1 such that predicted objetive lies below
current upper bound UBK :
(M-MIPF)

min Z
K
= 0 

s.t.  < UB
K
– 

 > f xk,yk +  f xk,yk
T
x–xk
y–yk
g xk,yk + g xk,yk
T
x–xk
y–yk
< 0
k=1..K

xX, yY,  R
1
Remark.
M-MIPF will tend to increase number of iterations
min 0
. .
( , ) ( , )
1,..
( , ) ( , ) 0
,
K
L
K
k
k k k k T
k
k
k k k k T
j j k
Z
s t UB
x x
f x y f x y
y y
k K
x x
g x y g x y j J
y y
x X y Y

 


 
 
   
   

  
    
    
 
60
Generalized Benders Decomposition
Benders (1962), Geoffrion (1972)
Particular case of Outer-Approximation as applied to (P1)
1. Consider Outer-Approximation at (xk, yk)

 > f xk
,yk
+ f xk
,yk T x–xk
y–yk
g xk
,yk
+ gj xk
,yk T x–xk
y–yk
< 0 jJk
(1)
2. Obtain linear combination of (1) using Karush-Kuhn-
Tucker multipliers k and eliminating x variables

 > f xk
,yk
+ yf xk
,yk T
y–yk
(2)

+ k T
g xk
,yk
+ yg xk
,yk T
y–yk
Lagrangian cut
Remark. Cut for infeasible subproblems can be derived in
a similar way.

k T
g xk
,yk
+ yg xk
,yk T
y–yk
< 0
61
Generalized Benders Decomposition
Alternate solution of NLP and MIP problems:
NLP2
M-GBD
NLP2: min ZU
k
= f(x,y
k
)
s.t. g j( x,yk
) < 0 jJ
xX
M-GBD: min ZL
K
= 
s.t.  > f xk,yk + y f xk,yk T
y–yk
+ k T
g xk,yk + yg xk,yk T
y–yk kKFS

k T
g xk,yk + yg xk,yk T
y–yk < 0 kKIS
yY ,  R1
Property 1. If problem (P1) has zero integrality gap,
Generalized Benders Decomposition converges in one
iteration when optimal (xk, yk) are found.
=> Also applies to Outer-Approximation
Xx
Jjyxgts
yxfZ
k
j
kk
U



0),(..
),(min
 
   
min
( , ) ( , )
( , ) ( , )
K
L
k k k k T k
y
T
k k k k k T k
y
Z
st f x y f x y y y
g x y g x y y y k KFS




  
    
 
   
1
( , ) ( , ) 0
,
T
k k k k k T k
yg x y g x y y y k KIS
y Y R


    
 
 
Sahinidis, Grossmann (1991)
Upper bound
Lower bound
62
Extended Cutting Plane
Westerlund and Pettersson (1992)
M-MIP'
Evaluate
Add linearization most violated constraint to M-MIP

Jk
= { j j arg{ maxjJ
g j(xk,yk) }}
Remarks.
- Can also add full set of linearizations for M-MIP
- Successive M-MIP's produce non-decreasing sequence
lower bounds
- Simultaneously optimize xk, yk with M-MIP
= > Convergence may be slow
)},(max{argˆ{ kk
j
Jj
k
yxgjJ


No NLP !
(1995)
63
LP/NLP Based Branch and Bound
Quesada and Grossmann (1992)
Integrate NLP and M-MIP problems
NLP2M-MIP
M-MIP
LP1
LP2
LP3
LP4 LP5 = > Integer
Solve NLP and update
bounds open nodes
Remark.
Fewer number branch and bound nodes for LP subproblems
May increase number of NLP subproblems
(Branch & Cut)
64
Numerical Example
min Z = y1 + 1.5y2 + 0.5y3 + x12 + x22
s.t. (x1 - 2) 2 - x2 < 0
x1 - 2y 1 > 0
x1 - x2 - 4(1-y2) < 0
x1 - (1 - y1) > 0
x2 - y2 > 0 (MIP-EX)
x1 + x2 > 3y3
y1 + y2 + y3 > 1
0 < x1 < 4, 0 < x2 < 4
y1, y2, y3 = 0, 1
Optimum solution: y1=0, y2 = 1, y3 = 0, x1 = 1, x2 = 1, Z = 3.5.
65
Starting point y1= y2 = y3 = 1.
Iterations
Objective function
Lower bound
GBD
Upper bound
GBD
Lower
bound
OA
Upper
bound
OA
Summary of Computational Results
Method Subproblems Master problems (LP's solved)
BB 5 (NLP1)
OA 3 (NLP2) 3 (M-MIP) (19 LP's)
GBD 4 (NLP2) 4 (M-GBD) (10 LP's)
ECP - 5 (M-MIP) (18 LP's)
66
Example: Process Network with Fixed Charges
• Duran and Grossmann (1986)
 Network superstructure
1
2
6
7
4
3
5 8
x1
x4
x6
x21
x19
x13
x14
x11
x7
x8
x12
x15
x9
x16 x17
x25
x18
x10
x20
x23x22 x24x5
x3x2
A
B
C
D
F
E
67
Example (Duran and Grossmann, 1986)
Algebraic MINLP: linear in y, convex in x
8 0-1 variables, 25 continuous, 31 constraints (5 nonlinear)
NLP MIP
Branch and Bound (F-L) 20 -
Outer-Approximation: 3 3
Generalized-Benders 10 10
Extended Cutting Plane - 15
LP/NLP based 3 7 LP's vs 13 LP's OAA
68
Effects of Nonconvexities
1. NLP supbroblems may have local optima
2. MILP master may cut-off global optimumObjective
Multiple minima
0 1
y
x
Global optimum
Cut off!
Handling of Nonconvexities
1. Rigorous approach (global optimization):
Replace nonconvex terms by underestimtors/convex envelopes
Solve convex MINLP within spatial branch and bound
2. Heuristic approach:
Add slacks to linearizations
Search until no imprvement in NLP
69
Handling nonlinear equations
h(x,y) = 0
1. In branch and bound no special provision-simply add to NLPs
2. In GBD no special provision- cancels in Lagrangean cut
3. In OA equality relaxation
Lower bounds may not be valid
Rigorous if eqtn relaxes as h(x,y)  0 h(x,y) is convex
 
1 0
, 1 0
0 0
( , ) 0
k
i
k k k k
ii ii i
k
i
k
k k k T
k
if
T t t if
if
x x
T h x y
y y




   

 
  
 





70
MIP-Master Augmented Penalty
Viswanathan and Grossmann, 1990
Slacks: pk, qk with weights wk

min Z
K
=  + w p
k
pk
+ wq
k
qk
k=1
K
(M-APER)

s.t.  > f xk
,yk
+  f xk
,yk
T
x–xk
y–y
k
T
k
h xk
,yk
T
x–xk
y–yk
< pk
g x
k
,y
k
+ g x
k
,y
k
T
x–xk
y–y
k
< q
k
k=1..K
 yi
i  B
k
– yi
i  N
k
 B
k
– 1 k = 1,...K

xX , yY , R
1
, pk
, qk
> 0
If convex MINLP then slacks take value of zero
=> reduces to OA/ER
Basis DICOPT (nonconvex version)
1. Solve relaxed MINLP
2. Iterate between MIP-APER and NLP subproblem
until no improvement in NLP
Kk
q
yy
xx
yxgyxg
p
yy
xx
yxhT
yy
xx
yxfyxfts
k
k
k
Tkkkk
k
k
k
Tkkk
k
k
Tkkkk
,...1
),(),(
),(
),(),(..















































71
MINLP:
Algorithms
Branch and Bound (BB) Leyffer (2001), Bussieck, Drud (2003)
Generalized Benders Decomposition (GBD) Geoffrion (1972)
Outer-Approximation (OA) Duran and Grossmann (1986)
Extended Cutting Plane(ECP) Westerlund and Pettersson (1992)
Codes:
SBB GAMS simple B&B
MINLP-BB (AMPL)Fletcher and Leyffer (1999)
Bonmin (COIN-OR) Bonami et al (2006)
FilMINT Linderoth and Leyffer (2006)
DICOPT (GAMS) Viswanathan and Grossman (1990)
AOA (AIMSS)
ECP Westerlund and Peterssson (1996)
MINOPT Schweiger and Floudas (1998)
BARON Sahinidis et al. (1998) Global
Couenne Belotti & Margot (2008) Global
SCIP ZIB (2012) Global
GLOMIQO, ANTIGONE Floudas and Meisner (2011) Global
Mixed-integer Nonlinear Programming
Note: MIQPs can be solved with CPLEX, GUROBI
72
http://www.minlp.org
73
Parameter Estimation FTIR-Spectroscopy
Brink and Westerlund (1995)
Given multicomponent mixture n components (i=1,..n)
which N data are given (k=1,..N) at different wave num
j=1,..q:
ci
k
concentration component i, run k
aj
k
absorbence of mixture wave number j, run k
Find number and values of parameters pij for linear
correlation:
ci  pij
j1
q
 aj i  1,..n
74
Derivation of Model
Error: ei
k
 ci
k
 pij
j 1
q
 aj
k
i  1,..n k 1,.. N
Akaike information criterion
min AIC  2nL  2P
P number of parameters pij
L likelihood function

nL  
N
2
nn(2) 
N
2
n( R1
) 
1
2
ek
T
R1
ek
k1
N

R covariance matrix
Let yij 
1 if pij
L
 pij  pij
U
0 if pij  0



75
MINLP Model
minZ ei
kT
R
1
ei
k
i1
n
k1
N
 2 yij
j=1
q
i=1
n

s.t. ei
k
 ci
k
 pij
j1
q
 aj
k
i 1,..n k 1,..N
pij
L
yij  pij  pij
U
yij i 1,..n j 1,..q
yij  0,1 pij  0
(MIQP)
76
Results
35 spectra for CO, NO, CO2 mixture
Range spectra: 800-2200 cm-1
Resolution 28 cm-1 (100 subintervals)
MINLP: 300 0-1 vars. 3800 cont vars.
4100 constraints
Outer-Approximation: 60 CPU-sec (DEC-3000)
5 selected parameters
pCO,87  714.782016.2 2030.3 pCO,97  65.072157. 6  2171. 7
pNO, 83  315.571959.61973.7
pCO2 ,10  22.47927.3941.4 pCO2 , 20  25.011068. 7  1082. 8
MIQP can be solved with CPLEX
77
MINLP Model for Superstructure Optimization of Heat
Exchanger Network Synthesis Yee and Grossmann (1990)
H1
H1-C1
H2
H1-C1
H1-C2
H2-C1
H2-C2
H1-C2
H2-C1
H2-C2
Stage k=1 Stage k=2
C1
C2
temperature
location
k=1
temperature
location
k=2
temperature
location
k=3
H1,1t
H1,2t
C1,1t
C1,2t
C1,3t
H1,3t
H2,1t
H2,2t
C2,1t C2,2t C2,3t
H2,3
t
S1
S1
CW
CW
Two-stage superstructure
Parameters
TIN = inlet temperature of stream TOUT = outlet temperature of stream
F = heat capacity flow rate U = overall heat transfer coefficient
CCU = unit cost for cold utility CHU = unit cost of hot utility
CF = fixed charge for exchangers C = area cost coefficient
B = exponent for area cost NOK = total number of stages
 = upper bound for heat exchange  = upper bound for temperature difference
Variables
dtijk = temperature approach for match (i,j) at temperature location k
dtcui = temperature approach for the match of hot stream i and cold utility
dthuj = temperature approach for the match of cold stream j and hot utility
qijk = heat exchanged between hot process stream i and cold process stream j in stage k
qcui = heat exchanged between hot stream i and cold utility
qhuj = heat exchanged between hot utility and cold stream j
ti,k = temperature of hot stream i at hot end of stage k
tj,k = temperature of cold stream j at hot end of stage k
zijk = binary variable to denote existence of match (i,j) in stage k
zcui = binary variable to denote that cold utility exchanges heat with stream i
zhuj = binary variable to denote that hot utility exchanges heat with stream j
78
Assumption
Isothermal mixing => linear constraints
tik tik+1
qijk
zijk=0,1
Procedure
1. Solve MINLP assuming isothermal mixing
2. If splitting streams, solve NLP on reduced final configuration
Rigorous if no stream splits
No. stages: max {no. hot, no. cold}
79
Overall heat balance for each stream
j j j ijk j
k ST i HP
(TOUT - TIN ) F = q +qhu j CP
 
 
i i i ijk i
k ST j CP
(TIN - TOUT ) F = q +qcu i HP
 
 
Heat balance at each stage
,i,k i,k+1 i ijk
j CP
(t - t ) F = q i HP k ST

 
,j,k j,k+1 j ijk
j HP
(t - t ) F = q j CP k ST

 
Feasibility of temperatures
ti,k  ti,k+1 kST, iHP
tj,k  tji,k+1 kST, jCP
TOUTi  ti,NOK+1 iHP
TOUTj  tj,1 jCP
Hot and cold utility load
(ti,NOK+1 - TOUTi) Fi = qcui iHP
(TOUTj - tj,1) Fj = qhuj jCP
80
Logical constraints
qijk -  zijk  0iHP, jCP, kST
qcui -  zcui  0 iHP
qhuj -  zhuj  0 jCP
zijk, zcui, zhuj = 0,1
Calculation of approach temperatures
dtijk  ti,k - tj,k +  (1 - zijk) kST, iHP, jCP
dtijk+1  ti,k+1 - tj,k+1 +  (1 - zijk) kST, iHP, jCP
dtcui  ti,NOK+1 - TOUTCU +  (1 - zcui) iHP
dthui  TOUTHU - tj,1 +  (1 - zhuj) jCP
dtijk  EMAT
Objective function
Chen approximation (1987)
LMTD ~ [(dtl*dt2)*(dtl+dt2)/2]1/3
, ,
1/3
1 1
min
... .
[( )( )( ) / 2)]
i j
i HP j CP
ij ijk i CU i i HU j
i HP j CP k ST i HP j CP
ij ijk
i HP j CP k ST ijk ijk ijk ijk ijk
Z CCUqcu CHUqhu
CF z CF zcu CF zhu
C q
etc
U dt dt dt dt
 
    
    
 
  
 

 
    
  
SYNHEAT: http://newton.cheme.cmu.edu/interfaces
81
*PROCESS STREAMS
*
*HOT:
TIIN.FX('1') = 480.00;
TIOUT.FX('1') = 340.00;
FCI('1') = 1.50;
CFI('1') = 1.00;
TIIN.FX('2') = 420.00;
TIOUT.FX('2') = 330.00;
FCI('2') = 2.00;
CFI('2') = 1.00;
*COLD:
TJIN.FX('1') = 320.00;
TJOUT.FX('1') = 410.00;
FCJ('1') = 1.00;
CFJ('1') = 1.00;
TJIN.FX('2') = 350.00;
TJOUT.FX('2') = 460.00;
FCJ('2') = 2.00;
CFJ('2') = 1.00;
TMAPP = 10.00;
*UTILITIES
*
CFHU = 1.00;
THUIN = 500.00;
THUOUT = 500.00;
CFCU = 1.00;
TCUIN = 300.00;
TCUOUT = 300.00;
*
*COSTS
*
*UTILITIES
HUCOST = 80.00;
CUCOST = 20.00;
UNITC = 1000.00;
ACOEFF = 20.00;
HUCOEFF = 20.00;
CUCOEFF = 20.00;
82
480.0 340.0
420.0 330.0
1.5
2.0
420.0 360.0
360.0
H 1
H 2
90.0 kW 90.0 kW
120.0 kW
11.0 m2
8.3 m2
23.9 m2
W
W
S
30.0 kW
60.0 kW
10.0 kW
320.0410.0
350.0460.0
1.0
2.0
455.0 410.0
C 1
C 2
Total Network Cost ($/yr) = 8962.60
83
320
340
360
380
400
420
440
460
480
0 50 100 150 200 250 300 350 400 450
T(K)
Q (kW)
SYNHEAT: T-Q CURVE
84
Table: Problem Data Example 2
Stream
Tin
(C)
Tout
(C)
F
( )kW C1
h
( )kW m 2 1C
Cost
($ )kW yr 1 1
H1 159 77 2.285 0.10 -
H2 267 80 0.204 0.04 -
H3 343 90 0.538 0.50 -
C1 26 127 0.933 0.01 -
C2 118 265 1.961 0.50 -
S1 300 300 - 0.05 110
W1 20 60 - 0.20 10
Cost of heat exchangers ($ yr1) = 7400 + 80 [Area(m2 )]
85
Example 2
C1
H1
H3
C2
H2
1 5 9
6 0
2 0
7 7
2 6
1 59 1 5 9
261 2 71 2 7
2 6 7 2 6 7 2 6 7 8 0
2 0
6 0
1 181 1 81 181 3 9 .3 62 6 5
3 0 0
30 0
34 3 2 6 5 .1 5 9 0 9 0
H3
C1
C2
H2
267
343
118
26
265
127
90
80
139.357
36.033
1 2
55.412 0.955
95.093
8.573
265.154
H1
159 77
C1
C2
H2
Exchanger Heat Load (kW) AMTD Area (m2 ) LMTD Area (m2 )
3-1-2 94.23 95.09 99.74
3-2-1 41.88 0.96 0.96
CU-1 187.37 36.03 36.94
CU-2 38.15 8.57 9.64
HU-2 246.39 55.41 65.47
86
Superstructure for Utility Plant
Bruno et al. (1998)
87
Problem Statement for Utility Plant
Min Material costs (syngas, cooling water, demineralized water)
(energy requirement like heating and electricity are met internally)
s. t.
Logic constraints
Rigorous material and energy balances
 Electricity demand met by gas turbine, HP steam turbine or both
 Mechanical demands met either by electricity or by coupling with turbine shaft
 If mechanical demand is met by turbine, exactly one turbine can be used.
 Each turbine can contribute exactly one demand
Kamath (2012)
88
Salient features of utility model
 Only operating (material and energy) costs are considered.
 Rigorous mass and energy balances are incorporated.
 Streams classified on the basis of pressure (HP, MP, LP, CondP,VacP) and
state (sub-cooled liquid, saturated liquid, saturated vapor, superheated vapor).
 Exit streams from steam turbines can be wet, saturated or superheated.
 Binary variables used for existence of turbine modes, state of streams,
and in logic constraints.
 Electricity demand can be met by gas turbine, HP steam turbine or both.
 Every mechanical demand can be met either by electricity or by coupling
with turbine shaft (both HP and MP are allowed).
 If mechanical demand is satisfied by coupling with turbine, exactly one
turbine can be used.
 Every turbine can contribute only one demand (in case of HP, electricity
or mechanical and in case of MP, just mechanical)
Logic constraints
STEAM http://newton.cheme.cmu.edu/interfaces/steam/main.html
89
Numerical Example for Utility model
Electricity: 500 MW
Mechanical Power No 1: 5 MW
Mechanical Power No 2: 15 MW
HP Heating: 5 MW
MP Heating: 20 MW
LP Heating: 50 MW
Demands
Pressure of Steam Headers
HP: 45 bar
MP: 20 bar
LP: 7 bar
62 process streams
3 HP turbines (7 modes)
2 MP turbines (3 modes)
5 Headers (HP, MP, LP, Cond, Vac)
1 Gas turbine (compressor, expander)
3 Boilers (HP, MP, HRSG)
4 Combustors (GT, Boilers)
5 Liquid pumps
2 Air blowers
1 Deaerator
Superstructure
Non-convex MINLP problem
Binary variables: 44
Continuous variables: 1275
Constraints: 1309
Modeled and solved using GAMS
(Intel Core 2 Duo 2.4 GHz with 2 GB
RAM)
Logic constraints
1 turbine  Max 1 demand (mechanical or power)
Mechanical demand  Either electricity or turbine
MP turbine can’t contribute power
90
Optimal Solution for Example Utility Plant
Operating cost = $307.27 Million/yr
91
Input
Feed
Ethane C2H6
Propane C3H8
Butane C4H10
Naphtha C8~C12
RXN System
Pyrolysis
Furnaces
Components
Mixture
Hydrogen H2
Fuel gas CH4
Acetylene C2H2
Ethylene C2H4
Ethane C2H6
MAPD C3H4
Propylene C3H6
Propane C3H8
C4 Mixture
C5 Mixture
C6+ Mixture
Separation
Separation
Tasks
Recycle
Ethane C2H6
Propane C3H8
Output
Hydrogen H2
Fuel gas CH4
C5 Mixture
Ethylene C2H4
Propylene C3H6
C4 Mixture
C6+ Mixture
Olefin Separation System (BP)
Goal: Synthesize optimal separation system
(Lee, Foral, Logsdon, Grossmann, 2003)
92
Process Superstructure
A/BCDEFGH
ABCDEFGH
STATES TASKS
AB/CDEFGH
ABCD/CDEFGH
ABCDEF/CDEFGH
ABCDEF/EFGH
ABCD/EFGH
ABCDEF/GH
ABCDEFG/H
ABCDEFG
BCDEFGH
NON-SHARP
A/BCDEFG
AB/CDEFG
ABCD/CDEFG
ABCDEF/CDEFG
ABCDEF/EFG
ABCD/EFG
ABCDEF/G
B/CDEFGH
BCD/EFGH
BCD/CDEFGH
BCDEF/CDEFGH
BCDEF/EFGH
BCDEF/GH
BCDEFG/H
ABCDEF
BCDEFG
CDEFGH
A/BCDEF
AB/CDEF
ABCD/CDEF
ABCD/EF
BCDEF/G
B/CDEFG
BCD/CDEFG
BCDEF/CDEFG
BCDEF/EFG
BCD/EFG
CDEFG/H
CD/EFGH
CDEF/EFGH
CDEF/GH
BCDEF
CDEFG
ABCD
AB
BCD
EFG
CDEF
EFGH
GH
EF
CD
A
B
C
D
F
E
G
H
CD/EFG
CDEF/EFG
CDEF/G
B/CDEF
BCD/CDEF
BCD/EF
A/BCD
AB/CD
CD/EF
EF/GH
EFG/H
B/CD
EF/G
G/H
E/F
C/D
A/B
H2
CH4
C2H4
C3H6
C2H6
C3H8
C4
C5
25 states
53 separation task
Feed
93
MINLP Model
• GDP reformulated as a MINLP
• Problem Size
 No. of 0-1 variables = 5,800
 No. of variables = 24,500
 No. of constraints = 52,700
• GAMS/DICOPT
 NLP solver: CONOPT2/ MIP solver: CPLEX
 CPU time ~ 3 hrs on Pentium III PC
• Verification: ASPENPLUS model
 Fixed process configuration is simulated/optimized
94
Total cost: 110.82 M$/yr
ABCDEFGH
AB
CDEFGH
EF
CD
B
A
D
C
E
F
H
G
A/B
CH4
C2H4
C3H6
C2H6
C3H8
C4
C5
H2
EFGH
Cold Box
Deethanizer
Dephlegmator
100F
480Psig
83F
160Psig
-141F
900Psig
-41F
160Psig
84F
190Psig
169F
160Psig
D
E
E
F
C
D
123F
140Psig
99F
140Psig
GH
G
H
Depropanizer
C3
Splitter
226F
160Psig
compressor
heater
cooler
valve
480Psig
74F
170Psig
72F
140Psig
480Psig
-31F
140Psig
-51F
140Psig
214F
170Psig
109F
140Psig
F
G
Debutanizer
236F
140Psig
238F
140Psig
AB
CD
900Psig
Chemical
Absorber
410 Mkwh/yr
valve
compressor
pump
pump
MINLP optimal solution
Dephlegmator first process
7 separation units
20M$/yr cost saving
1 dephlegmator
1 absorber
4 distillation columns
1 cold box
1 heat exchange
95
Logic-based Optimization
Motivation
1. Facilitate modeling of discrete/continuous optimization
problems through use symbolic expressions
2. Reduce combinatorial search effort
3. Improve handling nonlinearities
Emerging techniques
1. Constraint Programming Van Hentenryck (1989)
2. Generalized Disjunctive Programming Raman and Grossmann (1994)
3. Mixed-Logic Linear Programming Hooker and Osorio (1999)
96
Generalized Disjunctive Programming (GDP)
 
 
Ω
,0)(
0)(
)(min
1
falsetrue,Y
Rc,Rx
trueY
Kk
γc
xg
Y
Jj
xs.t. r
xfcZ
jk
k
n
jkk
jk
jk
k
k
k


















 

• Raman and Grossmann (1994) (Extension Balas, 1979)
Objective Function
Common Constraints
Continuous Variables
Boolean Variables
Logic Propositions
OR operator
Disjunction
Fixed Charges
Constraints
Multiple Terms / Disjunctions
New implementation in EMP/GAMS
97
Generalized Disjunctive Programming (GDP)
 
 
Ω
,0)(
0)(
)(min
1
falsetrue,Y
Rc,Rx
trueY
Kk
γc
xg
Y
Jj
xs.t. r
xfcZ
jk
k
n
jkk
jk
jk
k
k
k


















 

• Raman and Grossmann (1994)
Objective Function
Common Constraints
Disjunction
Fixed Charges
Continuous Variables
Boolean Variables
Logic Propositions
OR operator Constraints
Relaxation?
98
Big-M MINLP (BM)
• MINLP reformulation of GDP
min ( )
. . ( ) 0
( ) (1 ) , ,
1,
0, {0,1}
k
k
jk jk
k K j J
jk jk jk k
jk
j J
jk
Z f x
st r x
g x M j J k K
k K
A a
x
 




 

 

   
 

 


Big-M Parameter
Logic constraints
NLP Relaxation 0 1jk 
99
Nonlinear Convex Hull Relaxation
• Disjunction (x  F1)  (x  F2)
F1
F2
Feasible region of GDP Convex Hull
F1
F2How obtain
best relaxation?
Assumption: Convexity of constraints
Convex Hull: Set of points given by all linear combination
of points in F1 and F2.
100
Convex Hull Formulation
• Consider Disjunction k  K
( ) 0
k
jk
jk
j J
jk
Y
g x
c 

 
 
 
 
  

 Theorem: Convex Hull of Disjunction k (Lee, Grossmann, 2000)
 Disaggregated variables  jk
 jk - weights for linear combination
},0)/(
1,0,1
,0
,,|),{(
k
jk
jk
jkjk
jk
Jj
jk
k
jkjk
jk
Jj
jkjk
Jj
jk
Jjvg
JjUv
cvxcx
k
k










Convex Constraints
- Generalization of Stubbs and Mehrotra (1999)
=>
k
101
Remarks Perspective Function
0, ( )( (0)) (0) 0 0jk jk jkif g g      
1, ((1)( ( / (1)) (0)(0) (1) ( / (1)) 0jk jk jk jk jk jkif g g g       
a. Exact approximation of the original constraints as ε → 0.
c. The LHS of the new constraint is convex.
b. The constraints are exact at jk = 0 and at jk = 1 regardless of value of ε.
Replace by:( / ) 0jk jk jk jkg    0 jk jkU  where
((1 ) )( ( / ((1 ) ))) (0)(1 ) 0jk jk jk jk jk jkg g              
Furman, Sawaya & Grossmann (2009)
( / ) 0jk jk jk jkg   How to implement for zero ?jk
)/(),(  vgvh  If g(x) is a bounded convex function,
is a bounded convex function
Hiriart-Urruty and Lemaréchal (1993)
),( vh
0)0,( h for bounded g(x)
102
Convex Relaxation Problem (CRP)
 Property: The NLP (CRP) yields a lower bound to optimum of (GDP).
Logic constraints
,,10,0,
,,0)/(
,1
,,0
,
0)(..
)(min
KkJjx
aA
KkJjg
Kk
KkJjU
Kkx
xrts
xfZ
kjk
jk
kjk
jk
jkjk
Jj
jk
kjkjk
jk
Jj
jk
Kk Jj
jkjk
k
k
k







 


 






ν
ν
ν
ν
Convex Hull
Formulation
CRP:
103
Big-M MINLP (BM)
 Theorem: The relaxation of (CRP) yields a lower bound that is greater than or
equal to the lower bound that is obtained from the relaxation of problem (BM):
min ( )
. . ( ) 0
( ) (1 ) ,
1,
0, 0 1
k
k
jk jk
k K j J
jk jk jk k
jk
j J
jk
Z f x
st r x
g x M j J k K
k K
A a
x
 




 

 

   
 

  


RBM:
104
GDP
Logic based methods
Branch and bound
(Lee & Grossmann, 2000)
Decomposition
Outer-Approximation
Generalized Benders
(Turkay & Grossmann, 1997)
Reformulation MINLP
Outer-Approximation
Generalized Benders
Extended Cutting Plane
Methods Generalized Disjunctive Programming
Key: relaxation
Convex-hull Big-M
Cutting plane
(Sawaya & Grossmann, 2004)
105
MINLP Reformulation
,1,0,0,
,,0)/(
,1
,,0
,
0)(..
)(min
KkJjx
aA
KkJjg
Kk
KkJjU
Kkx
xrts
xfZ
kjk
jk
kjk
jk
jkjk
Jj
jk
kjkjk
jk
Jj
jk
Kk Jj
jkjk
k
k
k







 


 






ν
ν
ν
ν
Specify in CRP as 0-1 variables
106
Hierarchy Relaxations
Generalized Disjunctive Programming
Min Z = + hTx Objective Function
s.t. Bx  b Common Constraints
Ω(Y) = True Logic Constraints
x Rn, Yjk {True, False}, ck R
j Jk , k K
jkk
jkjk
jk
c
axA
Y


 kJj
Kk
kc
k  K
GDP Model:
OR
Operator
Boolean
Variables
Disjunctive Constraints
Sawaya, Grossmann (2004)
107
Reformulations as MILP
Min Z = + hTx
s.t. Bx  b
Ajk x - ajk  Mjk (1-λjk) j Jk , k K (BM)
= 1 k K
Dλ  d
x Rn, λjk {0,1} j Jk , k K
jk
Kk Jj
jk
k
 
 kJj
jk
Big-M parameters
Min Z = + hTx
s.t. Bx  b
Ajk x - ajk  Mjk (1-λjk) j Jk , k K (BM)
= 1 k K
Dλ  d
x Rn, λjk {0,1} j Jk , k K
jk
Kk Jj
jk
k
 
 kJj
jk
Big-M parameters
Big-M
Min Z = + hTx
s.t. Bx  b
Ajk νjk - ajk λjk  0 j Jk , k K
x = νjk k K
0  νjk  λjk Ujk j Jk , k K
= 1 k K
Dλ  d
x Rn, νjk Rn
+ , λjk {0,1} j Jk , k K
jk
Kk Jj
jk
k
 
 kJj
jk
 kJj
Disaggregated variables
Convex Hull (CH)
10
8
2
Traditional (BM) Proposed BM
x2
x1
F:
⊻ ⊻
x2
x1
F:
⊻ ⊻
0 	 1
0 	 1
0 	 1
0
0
0
Note: Improving(BM) using more than one bigM-parameter
Trespalacios, Grossmann (2015)
Carnegie Mellon
109
Reformulating LGDP into Disjunctive
Programming Formulation
1
. .
( )
, ,
jk
k
jk
k
T
k
k K
jk jk
j J
k jk
j J
L U
jk k
k
Min Z c d x
s t Bx b
Y
A x a k K
c
Y k K
Y True
x x x
Y True False j J k K
c




 

 
 
  
 
 
 
 
 
   



R k K
LGDP
1
. .
1
1
0 1 ,
jk
k
k
T
k
k K
jk jk
j J
k jk
jk
j J
L U
jk k
k
Min Z c d x
s t Bx b
A x a k K
c
k K
H h
x x x
j J k K
c








 

 
 
  
 
 
 

 
   
 



R k K  
LDP => Integrality  guaranteed
Proposition. LGDP and LDP have equivalent solutions.
Sawaya, Grossmann (2008)
Carnegie Mellon
110
Equivalent Forms in DP Through Basic Steps
t
t T
F S

 
,t T , a polyhedron, .
t
t i i t
i Q
S P P i Q

  
Thus the RF is:
where for
There are many forms between CNF and DNF that are equivalent
Regular Form (RF): form represented by intersection of unions of polyhedra
Proposition 1 (Theorem 2.1 in Balas (1979)). Let F be a disjunctive set in RF. Then F
can be brought to DNF by | | 1T  recursive applications of the following basic steps,
which preserve regularity:
For some , , ,r s T r s  bring r sS S to DNF, by replacing it with:
( ).
r
s
rs i t
i Q
t Q
S P P


  
111
Example: Basic Steps
1 2 3F S S S  
1 11 21( )S P P  2 12 22( )S P P  3 13 23( )S P P 
12 11 12 11 22 21 12 21 22( ) ( ) ( ) ( )S P P P P P P P P       
11 12 13 11 22 13 21 12 13 21 22 13
123
11 12 23 11 22 23 21 12 23 21 22 23
( ) ( ) ( ) ( )
( ) ( ) ( ) ( )
P P P P P P P P P P P P
S
P P P P P P P P P P P P
           
  
            
Then F can be brought to DNF through 2 basic steps.
which is its equivalent DNF
(Disjunctive Normal Form)
1 2 3F S S S  
We can then rewrite
12 3as F S S 
1 2 11 21 12 22( ) ( )S S P P P P    
Apply Basic Step to:
12 3 11 12 11 22 21 12 21 22 13 23(( ) ( ) ( ) ( )) ( )S S P P P P P P P P P P          
Apply Basic Step to:
12 3F S S  123as F S
We can then rewrite
Carnegie Mellon
112
Illustrative Example:
Hierarchy of Relaxations
1 2
1 2
1 1
2 2
0.5 0
1 0
0 1
0 1 0 1
x x
x x
x x
x x
  
   
    
         
1 2 1 2
1 2 1 2
1 1
2 2
0.5 0 0.5 0
1 0 1 0
0 1
0 1 0 1
x x x x
x x x x
x x
x x
        
             
    
   
      
Application of
2 Basic Steps
Convex Hull of disjunction
Convex Hull of disjunction
1x
2x
Tighter
Relaxation!
LP Relaxation
113
A Branch and Bound Algorithm for GDP
• Tree Search
 NLP subproblem at each node
• Solve CRP of GDP
 lower bound
CRP
+ fix a term in
disjunction
CRPCRP
+ convex hull
of remaining
terms
• Branching Rule
Set the largest j as 1 or 0
Dichotomy rule
• Logic inference
CNF unit resolution (Raman & Grosmann, 1993)
• Depth first search
When all the terms are fixed
upper bound
• Repeat Branching until ZL > ZU.
114
GDP Example
Global Optimum
(3.293,1.707)
Z* = 1.172
Contour of f (x)
Local solutions
x1
x2
(0,0)
S3
S2S1
 Find x  0, (x  S1)(x  S2)(x  S3) to minimize Z = (x1 - 3)2 + (x2 - 2)2 + c
 Objective Function = continuous function + fixed charge
(discontinuous).
115
x1
x2
Convex hull = conv(USj)
Example : convex hull
S3
S2
S1
116
x1
x2
(0,0)
Convex hull
optimum, ZL = 1.154
xL = (3.159,1.797)
S3
S2
S1
Convex combination
of zj
Convex hull = conv(USj)
zj = vj/j
1= 0.016
2= 0.955
3= 0.029
Local solution
point
Example: CRP solution
x*
Infeasible to GDP
Weight
117
Example : branch and bound
First Node: S2
Optimal solution: ZU = 1.172
x1
x2
(0,0)
S3
S1
Optimal Solution
(3.293,1.707)
Z* = 1.172
S2
118
Example : branch and bound
Second Node: conv(S1 U S3)
Optimal solution: ZL = 3.327
x1
x2
(0,0)
S3
S2S1
Upper Bound
ZU = 1.172
Lower Bound
ZL = 3.327
119
• Branching Rule: j - the weight of disaggregated variable
 Fix Yj as true: fix j as 1.
Y2
Root Node
Convex hull of all Si
Z = 1.154
 = [0.016,0.955,0.029]
First Node
Fix 2 = 1, Z = 1.172
[x1 ,x2] = [3.293,1.707]
 = [0,1,0]
Second Node
Convex hull of S1 and S3
Z = 3.327
 = [ 0.337,0,0.623]
¬ Y2
ZU = 1.172
Backtrack
ZL = 1.154
Branch on Y2
ZL = 3.327 > ZU
Stop
Example: Search Tree
120
Process Network with Fixed Charges
• Türkay and Grossmann (1997)
 Superstructure of the process
1
2
6
7
4
3
5 8
x1
x4
x6
x21
x19
x13
x14
x11
x7
x8
x12
x15
x9
x16 x17
x25
x18
x10
x20
x23x22 x24x5
x3x2
A
B
: Unitj
Y1  Y2
Y6  Y7
Y4  Y5
C
D
F
E
Yi  Yj
Specifications
121
 Minimum Cost: $ 68.01M/year
2
6
4
8
x1
x4
x19
x13
x14
x11
x12
x18
x20
x23 x24x5
A
B
: Unitj
D
F
E
Raw
Material ProductsReactor Reactor
Optimal solution
x7
x6
x10
x17
x25
x8
122
Proposed BB Method
ZL = 62.48
 = [0.31,0.69,0.03,1.0,1,0,1]
ZU = 68.01 = Z*
 = [0,1,0,0,1.0,1,0,1]
Optimal Solution
ZU = 71.79
 = [0,1,1,1.0,1,0,1]
Feasible Solution
ZL = 75.01 > ZU
 = [1,0,0.022,1.0,1,0,1]
ZL = 65.92
 = [0,1,0.022,1.0,1,0,1]
0
32
41
Fix 2 = 1
Fix 3 = 1 Fix 3 = 0
Fix 2 = 0
Stop
 5 nodes vs. 17 nodes of Standard BB (lower bound = 15.08)
 CPU time : 2.578 vs. 3.383 of Standard BB (300MHz Pentium II PC)
Proposed BB
0
ZL = 15.08 Standard BB
1 2
43
1413 5 6
812111615 7
10*9
Y4 = 0 Y4 = 1
Y6 = 0 Y6 = 1
Y8 = 0
Y8 = 1
Y1 = 0 Y1 = 1
Y8 = 0 Y8 = 1
Y2 = 0 Y2 = 1 Y1 = 1
Y3 = 0 Y3 = 1
123
Logic-based Outer Approximation
Main point: avoids solving MINLP in full space
Turkay, Grossmann (1997)
SDkiiDifalseYfor
c
xB
SDkDitrueYfor
c
xh
xgts
xfcZ
kik
k
i
kki
ikk
ik
SDk
k













 
,ˆ,
0
0
,ˆ
0)(
0)(..
)(min
ˆ

(NLPD)
x  Rn, ci  Rm,
NLP Subproblem:
(reduced)
 k
kcZMin
(MGDP)1,...,=
0)()()(
)()()(..
L
xxxgxg
xxxfxfts
T
T
llll
lll






SDk
c
L
xxxhxh
Y
ikk
ik
T
ikik
ik
Di k




















l
lll
0)()()(

 (Y) = True
 R, x  Rn, c  Rm, Y  {true, false}m
Master Problem:
Proceed as OA. Requires initialization several NLPs to cover all disjunctions
Redundant constraints
are eliminated with false
values
Master problem solved with
disjunctive branch and bound or
with MILP reformulation
124
Structural Optimization of Vinyl Chloride Plant
Major options:
Direct Chlorination vs. Oxychlorination
Air vs. Oxygen
Pressure Pyrolisis
Separation sequence
Optimization with discontinuous cost models:
- Multiple size regions
- Pressure, temperature factors
Cost
Size
125
Superstructure Vinyl Chloride Monomer (Turkay & Grossmann, 1997)
Oxygen
Air
Ethylene
Chlorine
Vinyl Chloride
Hydrogen
Chloride
Ethylene Dichloride
Ethylene
Dichloride
Water
Flash
Direct
Chlorination
Oxychlorination
Low P
High P
Purge
Hydrogen
Chloride
Direct chlorination: C2H4 + Cl2  C2H4Cl2
Oxychlorination: C2H4 + 2HCl + 1/2 O2  C2H4Cl2 + H2O
Pyrolisis: H4Cl2  C2H3Cl + HCl
Process Flowsheet Synthesis
126
Optimal Solution (CPU-time: 3.8min)
Oxygen
Ethylene
Chlorine
Vinyl Chloride
Hydrogen
Chloride
Ethylene Dichloride
Water
Flash
Direct
Chlorination
Oxychlorination
High P
Purge
Profit=$75.3 million/yr
Item Flowsheet 1 Flowsheet 2 Master Pr. 1 Flowsheet 3 Master Pr. 2
Binary var. 162 168 259 168 259
Continuous var. 879 883 1715 883 1822
Constraints 699 703 1750 703 1858
Profit ($M/yr) 27.678 75.283 82.763 71.809 65.262
Major Iterations 3 3 N/A 3 N/A
CPU time (sec) 88.00 64.99 8.24 53.76 13.21
127
Optimal Feedtray Location
Sargent & Gaminibandara (1976)
NLP Formulation
Min cost
st MESH eqtns
Ff
LOCi
i 
NLP VMP: Variable-Metric Projection
if
128
1
.
.
L1 V2
L2 V3
L3 V4
LN-1
1
2
3
N
N-1
N-2
VN
VN-1LN-
2
VN-2
LN-
3
B
D
1
.
.
L1 V2
L2 V3
L3 V4
LN-1
1
2
3
N
N-1
N-2
VN
VN-1LN-
2
VN-2
LN-
3
B
D
LOCiz
LOCizFf
Ff
z
i
ii
LOCi
i
LOCi
i








1,0
0-
1
if
Optimal Feedtray Location (Cont)
MINLP Formulation
Min cost
st MESH eqtns
Viswanathan & Grossmann (1990)
MINLP DICOPT: AP-Outer Approximation-ER
F
Remark: MINLP solves as relaxed NLP!
Feed tray composition tends to
match composition of feed
iz
129
Optimization of Number of Trays
Discrete variables: Number of trays, feed tray location.
Continuous variables: reflux ratio, heat loads, exchanger areas, column diameter.
No liquid on tray
No vapor on tray
Existing trays
Vapor Flow
Liquid Flow
Viswanathan & Grossmann (1993)
Zero flows- Discontinuities appear, convergence difficulties.
Redundant equations are solved- Increases CPU time.
Non-existing tray
Non-existing tray
1=mzr
1=nzb
1,0=izb
MINLP =>
Number
trays
1,0=izr
130
Disjunctive Programming Model
Permanent trays:
Feed, reboiler, condenser
Conditional trays:
Intermediate trays might
be selected or not.
Conditional
trays
Permanent
trays
Trays not allowed to “disappear” from column:
VLE mass transfer if selected.
No VLE, trivial mass/energy balance if not selected
-OR-VLE NOT VLE
(tray bypass)
Disjunction
Yeomans & Grossmann (2000)
131
Condenser Tray
(permanent)
Rectification Trays
(conditional)
Feed Tray
(permanent)
Stripping Trays
(conditional)
Reboiler Tray
(permanent)Heavy Product
Feed
Light
Product
}
-OR-
-OR-
-OR-
-OR-
}
Vapor Flow
Liquid Flow
Equilibrium Stage
Non-equilibrium Stage
Single Column GDP Model
•Permanent and conditional trays:
MESH equations for condenser,
reboiler and feed trays
Mass & energy balances for
rectification and stripping trays.
•Conditional trays only:
Apply VLE constraints (Yn=True)
or not (Yn=False)
Use disjunctions as modeling tool.
132
Logic-based OA Algorithm
Master Problem
(MILP)
Subproblem
(NLP)
Selection of
Disjunctions
Converge?
Solution
Initial
Subproblems
(NLP)
Linearization
of Nonlinear
Equations
Big-M form
of linear
disjunctions
Pre-
Processing
MILP form of
Disjunctive
equations
Continuous
variables for
Initialization
Discrete variables
Selected Equations
YES
NO
Initialization
OAAlgorithm
Data flow Algorithm cycle
Implemented in GAMS CPLEX/CONOPT
Turkay, Grossmann (1996)
133
Example GDP
GDP Formulation
Mixture: Methanol/Ethanol/water
Feed Flow= 10 mol/sec
Feed composition= 0.2/0.2/0.6
P = 1.01 bar
Product Specification:
products composition reversible model
Upper bound No. Trays: 60
Methanol/ethanol/water - GDP: fixed tray location
Preprocessing Phase: NLP tray-by-tray Models
Continuous Variables 1597
Constraints 1544
Total CPU time (s) 1.12
Model Description
Continuous Variables 2933
Binary Variables 60
Constraints 2862
Nonlinear nonzero elements 5656
Number of iterations 10
NLP CPU time (s) 9.14
MILP CPU time (s) 16.97
Total CPU time (s) 401
Optimal Solution
Total number of trays 41
Feed tray 20
Column diameter (m) 0.51
Condenser duty (KJ/s) 387.4
Reboiler duty (KJ/s) 386.5
Objective value ($/yr) 117,600
GAMS PIII, 667 MHz. with 256 MB of RAM.
CONOPT2 NLP subproblems/ CPLEX MILP subproblems.
134
Global Optimization Algorithms
• Most algorithms are based on spatial branch and bound
method (Horst & Tuy, 1996)
•Nonconvex NLP/MINLP
BB (Adjiman, Androulakis & Floudas, 1997; 2000)
BARON (Branch and Reduce) (Ryoo & Sahinidis, 1995, Tawarmalani and
Sahinidis (2002))
OA for nonconvex MINLP (Kesavan et al., 2004)
Branch and Contract (Zamora & Grossmann, 1999)
Couenne (COIN-OR) (Belotti & Margot, 2008)
•Nonconvex GDP
Two-level Branch and Bound (Lee & Grossmann, 2001)
Bilinear/Concave (Ruiz, Grossmann, 2010)
135
Spatial Branch and Bound to
obtain the Global Optimum
► Guaranteed to converge to global optimum given a certain tolerance between
lower and upper bounds
136
Objective
Multiple minima
Lower bound
LB
LB
LB
UB = Upper bound
LB < UB
LB > UB LB < UB
Global optimum search Branch and bound tree
137
Nonconvex GDP
 
 
Ω
,0)(
0)(
)(min
1
falsetrue,Y
Rc,Rx
trueY
Kk
γc
xg
Y
Jj
xs.t. r
xfcZ
jk
k
n
jkk
jk
jk
k
k
k


















 

Objective Function
Common Constraints
Disjunctions
Logic Propositions
OR operator
f, g and r: nonconvex
138
• Introducing convex underestimators
Convex Underestimator GDP (R)
 
 
convexgandrf
falsetrue,Y
Rc,Rx
trueY
Kk
γc
xg
Y
J
xrs.t.
xfcZ
jk
k
n
jkk
jk
jk
k
k
k
j
:,
Ω
,0)(
0)(
)(min
1

















 


Convex underestimators
Bilinear: Linear
McCormick (1976), Al-Khayyal (1992)
Linear fractional: Convex nonlinear
Quesada and Grossmann (1995)
Concave separable: Linear secant
Problem (R) yields a valid lower bound to Problem (GDP)
139
Convex envelopes
Concave function
xba
Secant g(x)
[ ( ) ( )]
( ) ( ) ( )
f b f a
g x f a x a
b a

  

f(x)
140
Bilinear
w = xy
L U L U
x x x y y y   
( ) 0, ( ) 0L L
x x y y   
( )*( ) 0L L
x x y y  
L L L L
w xy x y y x x y    Valid underestimator
Convex envelope
L L L L
U U U U
L U L U
U L U L
w x y y x x y
w x y y x x y
w x y y x x y
w x y y x x y
  
  
  
  
McCormick convex envelopes
141
LULU
ULUL
UUUU
iLLiLL
yxxyyxw
yxxyyxw
yxxyyxw
yxxyyxw




Convex envelopes
bilinear term
ULUL
yyyxxxxyw  ,
Bilinear terms w=xy
McCormick (1976) under/over estimators
Underestimators
Overestimators
x
y
For other convex envelopes/underestimators see:
Tawarmalani, M. and N. V. Sahinidis, Convexification and Global Optimization in Continuous and Mixed-Integer
Nonlinear Programming: Theory, Algorithms, Software, and Applications, Vol. 65, Nonconvex Optimization And Its
Applications series, Kluwer Academic Publishers, Dordrecht, 2002
142
Synthesis of Integrated Process Water Systems
WATER → One of MOST IMPORTANT resources used in process industry
How to synthesize a network involving water reuse and
decentralized water treatment that will:
a) Reduce consumption of freshwater
b) Minimize cost
=> Global Optimization Problem
PU1
PU2
PU3
TU1 TU2
Freshwater
Freshwater
Freshwater
40 ton/hr
50 ton/hr
60 ton/hr
150 ton/hr 150 ton/hr
150 ton/hr
(1 ppm A,
1.16 ppm B)
Conventional water network: centralized
Freshwater consumed: 150 ton/hr
Process units
Treatment units
Karuppiah, Grossmann (2006)
143
Superstructure for integrating
Water Using/Treating Units
S1
PU1
PU2
S2
S3
TU1
TU2
S4
S5
Freshwater
M1
M2
M3
M4
M5
Discharge
S1
PU1
PU2
S2
S3
TU1
TU2
S4
S5
Freshwater
M1
M2
M3
M4
M5
Discharge
S1
PU1
PU2
S2
S3
TU1
TU2
S4
S5
Freshwater
M1
M2
M3
M4
M5
Discharge
Integrated Water Network with reuse and recycle flows is proposed
S1
PU1
PU2
S2
S3
TU1
TU2
S4
S5
Freshwater
M1
M2
M3
M4
M5
Discharge
PU
 Superstructure consists of 1. Mixers (MU)
2. Splitters (SU)
3. Process Units (PU)
4. Treatment Units (TU)
TU
M
S
144
Superstructure of Integrated Water System
S1
PU1
PU2
PU3
S2
S3
S4
TU1
TU2
TU3
S5
S6
S7
Freshwater
M1
M2
M3
M5
M6
M7
M4
To
M
1
ToM2
To
M
1
To
M
1
To
M
3
To M2
To
M
3
To M6
To
M
3
To M4
ToM2
 Superstructure is formulated as a Non-Linear Programming (NLP) problem (Bilinear)
and solved with novel global optimization algorithm
Example : 3 Process Unit - 3 Treatment Unit system
Discharged
into environment
 Generalize superstructure development to system with arbitrary number
of Process / Treatment Units
145
Mixer Units
Overall Material Balance
(2)
Contaminant Balance
(3)
out
i
mi
k
mkMUmFF
in
 
,
Bilinearities
out
mi
i
j
ik
j
k
mkMUmjCFCF
in
 
,,
  





outout ti
TUt
it
ti
TUt
it
FW FOCHFICARFWHC

H = Hours of operation of plant per annum (hrs)
CFW = Cost of freshwater ($/ ton)
ICt ( Fi ) = Investment cost of a treatment unit t ($)
OCt Fi = Operating cost of a treatment unit t ($/ hr)
AR = Annualized factor for investment on treatment units
Min
Objective Function
Min 



outti
TUt
i
FFW
FW = Freshwater intake into the system ( ton/ hr)
.
.
.
i min
k moutMixer Unit
m MU


(1)
Model Equations
146
Splitter Units
Total flow Balance
(4)
Composition Balance
(5)
Process Units
Flow Balance
(6)
Contaminant Balance
(7)
Treatment Units
Flow Balance
(8)
Contaminant Balance
(9)
in
si
ik
skSUsFF
out
 
,
inout
k
j
i
j sksiSUsjCC  ,,,
outin
pik
pkpiPUpPFF  ,,
outin
k
j
pp
j
i
j
p
pkpiPUpjCPLCP  ,,,103
inout
ik
tktiTUtFF  ,,
inout
k
j
t
j
i
j tktiTUtjCC  ,,,
100
(%)unit tinjpollutantforRatioRemoval
1k
j
Contaminants
Contaminants
Splitter Unit
s SU
k sin
.
.
.
i sout



Process Unit
p PU
k pout
i pin

 
Treatment Unit
t TU
i tout
k tin

 
Model Equations
147
( Quesada & Grossmann, 1995)
 NLP is non-convex due to presence of Bilinearities (F*C) and Concave Costs
− May have multiple local optima
Can in principle apply BARON
Problem: weak lower bounds
Optimization of the Superstructure
  jffL out
j
tk
TUt
k
j
t
j
PUp
p
j
in
 


110 3
Valid Cuts
Overall mass balance of each component
Greatly strengthens lower bound
WATER http://newton.cheme.cmu.edu/interfaces
148
Synthesis of Integrated water system with 4 Process Units and 2 Treatment Units
Process Unit data Treatment Unit data
Environmental discharge limit for both contaminants = 10 ppm
Unit
Flowrate
(ton/hr)
Discharge
Load
(Kg/hr)
A B
Max
Inlet
Conc
(ppm)
A B
PU1 40 1 1.5 0 0
PU2 50 1 1 50 50
PU3 60 1 1 50 50
PU4 70 2 2 50 50
Annualized factor for investment (AR) = 0.1
Hours of operation of plant per annum (H) = 8000 hrs
Cost of Freshwater ( CFW ) = 1 $ / ton
Unit
Removal
ratio (%)
A B
IC
(Inv.
Cost
Coeff)
OC
(Op.
Cost
Coeff)

TU1 95 0 16800 1 0.7
TU2 0 90 12600 0.0067 0.7
Numerical Example
149Objective Function value for the Conventional Network = $ 2,796,094/yr
Conventional Network
Integrated Network
GLOBAL OPTIMUM = $874,057/yr vs LOCAL OPTIMUM = $948,749/yr
SU1
PU2
PU3
SU3
SU4
TU2
SU6
60
50
60
72.38
50
36.57
Freshwater
PU4
PU1 SU2
SU5
TU1
SU7
40
40
70
40
70
61.85 61.85
2.0372.38
70
15.45
44.55
6
1
.8
5
2
.3
8
MU1
MU2
MU3
MU4
MU5
MU6
MU7
Discharge10.66
39.6
35.56
9.44
15.84
2.81
0.3
0.06
0.34
1.4
5.39
PU1
PU2
PU3
TU1 TU2
Freshwater
Freshwater
Freshwater
40 ton/hr
50 ton/hr
60 ton/hr
118.33 ton/hr
118.33 ton/hr
PU470 ton/hr
Freshwater
(9.05 ppm A,
10.0 ppm B)
40 ton/hr
41.67 ton/hr
60 ton/hr
70 ton/hr
8.33 ton/hr
40 ton/h 40 ton/h
220 ton/h
Optimal Design of Water Network
NLP: 159 variables, 138 constraints
1 nodes, 0.9secs vs > 40,000 secs (BARON no cuts)8% cheaper
150
- Global optimization techniques find
the global optimum by sequentially
approximating the non-convex problem
with a convex relaxation
Global
Optimum
- Tighter formulations lead to more
efficient algorithms
Convex
Relaxation
Tighter
Relaxation Finding strong relaxations
is a key element in
1. Global Optimization
2. Efficient solution
of convex MINLP problems
Lower
Bound
Global Optimization of MINLP
Carnegie Mellon
151
Generalized Disjunctive Programs (Bilinear/Concave)
Raman & Grossmann (1994)


Kk
kcxfZ )(
Ω(Y)= True
Disjunctions
Logic Propositions
Objective Function
0)( xg
kDi













)(
0)(
xc
xr
Y
ikk
ik
ik

Min
s.t. Global Constraints
k K
e}{True,Fals,YR,cRx ikk
n
 1
i Dk , k K
Non Convex
Bilinear
Concave
- Combination of algebraic equations, disjunctions and logic propositions
- “Natural” representation of engineering problems
Goal :
Develop efficient algorithms for bilinear and concave GDP with
improved relaxations => stronger lower bounds global optimum
Carnegie Mellon
152
Proposed framework to obtain
stronger relaxations for nonconvex GDP
(Bilinear and Concave GDP)
The framework consists of two main phases:
1- Generate a valid Linear Generalized Disjunctive
Program relaxation for the nonconvex GDP problem (e.g.
bilinear and concave).*
2- Strengthen the continuous relaxation of the linear GDP
obtained in phase 1 by applying a set of basic steps
Basic idea:
Based on relaxation of the nonconvex GDP as a linear GDP exploit
the theory behind DP to obtain stronger relaxations.
The hierarchy of relaxations obtained by the application of basic steps
is valid for the original nonconvex GDP problem
Ruiz, Grossmann (2010)
*For nonlinear convex envelopes generate valid Convex GDP
Carnegie Mellon
153
Proposed Framework (Phase 1)
Tawarmalani &
Sahinidis, 2002
GDPRLP is a valid Linear GDP relaxation for GDPNC
Linear GDP RelaxationNonconvex GDP
Polyhedral Relaxation
(e.g. McCormick convex
Envelopes, secant)
154
Hence applying Theorem 4.3 (Balas, 1979)
Equivalence in LGDP
representations
Inclusion of nonconvex
GDP in LGDP
Proposed Framework (Phase 2)
Valid Hierarchy of Relaxations
Valid Hierarchy of Relaxations for GDPNC
Carnegie Mellon
155
0
F
X0 1
Demand















1
11
11
11
CpCP
XXX
XF
Y
UPLO

















2
22
22
21
CpCP
XXX
XF
Y
UPLO

Min Z = -qFX + gF + CP
CP,X,F
FLO ≤ F ≤ FUP
Y11, ,Y21 {True, False}
FX ≤ d
Y11  Y21 = True
R

s.t.
I
II Conversion
Feasible
Region
F: Flow
X: Conversion
Demand
constraint
Selection Reactor
Objective
Function
(- Profit)
Illustrative Example: Optimal reactor selection I
GDP Formulation
8
Optimum Z* = -1.01
A B
Carnegie Mellon
156
P ≤ d
Max Z = qP - gF – CP
F
X
8
0
0 1















1
11
11
11
CpCP
XXX
XF
Y
UPLO

















2
22
22
21
CpCP
XXX
XF
Y
UPLO



Min Z = -qFX + gF + CP
CP,X,F
FLO ≤ F ≤ FUP
Y11, ,Y21 {True, False}
FX ≤ d
Y11  Y21 = True
R
s.t.
P ≤ F.XLO + FUP.X - FUP.XLO
P ≤ F.XUP + FLO.X – FLO.XUP
P ≥ F.XLO + FLO.X – FLO.XLO
P ≥ F.XUP + FUP.X – FUP.XUP
s.t.
Relaxation
(No Basic Steps)
I
II
Bilinear Terms
Convex
Envelopes
Convex
Hull Relaxation
Illustrative Example: Optimal reactor selection I
Lee & Grossmann (2003) Relaxation
Lower bound Z* = -1.28 < -1.01
Carnegie Mellon
157
Convex
Hull
Relaxation




































2
22
22
21
...
...
...
...
CpCP
XXX
XF
XFXFXFP
XFXFXFP
XFXFXFP
XFXFXFP
dP
Y
UPLO
UPUPUPUP
LOLOLOLO
LOUPUPLO
UPLOLOUP

FX ≤ d




































1
11
11
11
...
...
...
...
CpCP
XXX
XF
XFXFXFP
XFXFXFP
XFXFXFP
XFXFXFP
dP
Y
UPLO
UPUPUPUP
LOLOLOLO
LOUPUPLO
UPLOLOUP

P ≤ d
Min Z = -P F + CP
F
X
8
0
0 1















1
11
11
11
CpCP
XXX
XF
Y
UPLO

















2
22
22
21
CpCP
XXX
XF
Y
UPLO



Min Z = -FX F + CP
CP,X,F
FLO ≤ F ≤ FUP
Y11, ,Y21 {True, False}
Y11  Y21 = True
R
s.t.
P ≤ F.XLO + FUP.X - FUP.XLO
P ≤ F.XUP + FLO.X – FLO.XUP
P ≥ F.XLO + FLO.X – FLO.XLO
P ≥ F.XUP + FUP.X – FUP.XUP
s.t.

Relaxation
(Basic Steps)
I
II
Bilinear Terms
Convex
Envelopes
Basic
Step
Illustrative Example: Optimal reactor selection I
Proposed Relaxation
Lower bound Z* = -1.1 < -1.01 and tighter than -1.28!
Carnegie Mellon
158
F
X
8
0
0 1
Actual
Feasible
Region
Relaxation
(No Basic Steps)
Relaxation
(Basic Steps)
The application of basic step prior to the discrete relaxation
leads to a tighter relaxed feasible region = > stronger lower bounds
Illustrative Example: Optimal reactor selection I
Comparison of Relaxations
Carnegie Mellon
159
Dimensions of Test Problems
Bilinear Terms Concave Functions Discrete Variables Continuous Variables
Example 1 1 0 2 3
Example 2 0 2 2 5
Example 3 4 9 9 8
Example 4 36 0 9 114
Example 5 24 0 9 76
1- Optimal Reactor selection I
2- Optimal Reactor selection II
3- HEN with investment cost - multiple size Regions (Turkay & Grossmann, 1996)
4- Water Treatment Network Design problem (Galan & Grossmann, 1998)
5- Pooling Network Design problem (Lee & Grossmann, 2003)
Examples
Carnegie Mellon
160
R1
R2
Superstructure of Reactor Network
No. of cont. vars. : 3
No. of disc. vars. : 2
No. of bilinear terms: 1
No. of concave functions: 0
Optimal selection
R2
Generalized Disjunctive Program
Example 1: Optimal Reactor selection I
)( CPFFXZMin  
dFXts ..















1
11
11
11
CpCP
XXX
XF
Y
uplo
 















2
22
22
21
CpCP
XXX
XF
Y
uplo

2111 YY 
},{,,,,, 2111
1
FalseTrueYYFFFRCPFX uplo

Z* = -1.01
Bilinear GDP
Carnegie Mellon
161
R1
R2
CpZMin 
21 FcFcFa ..ts















11
1
7.0
1
11
1
UPLO
FaFaFa
FaCp
FbFa
Y

 















22
2
7.0
2
22
2
UPLO
FaFaFa
FaCp
FbFa
Y


UPLO
DcFcDc 111 
UPLO
DcFcDc 222 
UPLO
FaFaFa 
Superstructure of Reactor Network
No. of cont. vars. : 5
No. of disc. vars. : 2
No. of bilinear terms: 0
No. of concave functions: 2
Optimal selection
R1
21 YY 
Generalized Disjunctive Program
Example 2: Optimal Reactor selection II
Z* = 6.31
Concave GDP
Carnegie Mellon
162
HX1 HX2
HX3
Heat Exchanger Network
huoutcccuouthh
i
i CTTFCPCTTFCPCPZMin )()( 21  
2
)()(
)( 12
111
incinh
inhh
TTTT
UATTFCP


2
)()(
)( 1
221
outcwouthincw
inhh
TTTT
UATTFCP


2
)()(
)( 2
332
outcss
outcc
TTTT
UATTFCP


)()( 21 inccinhh TTFCPTTFCP 












up
i
lo
iiii
i
AAA
ACP
Y
11
1
6.0
1
1













up
i
lo
iiii
i
AAA
ACP
Y
22
2
6.0
2
2













up
i
lo
iiii
i
AAA
ACP
Y
33
3
6.0
3
3

..ts
3,2,1iTrueYYY iii  321
uplo
TTT 222 
uplo
TTT 111 
No. of cont. vars. : 8
No. of disc. vars. : 9
No. of bilinear terms: 4
No. of concave functions: 9
Generalized Disjunctive Program
Optimal Objective
Example 3: Heat exchanger network design
Z* = 114384.78
Bilinear/Concave GDP
Carnegie Mellon
163
Process superstructure
Min Z = PUk
kCP


kMi
j
i
j
k ff j MUk 


kSi
j
k
j
i ff j SUk 


kSi
k
i 1 SUk 
j
k
k
i
j
i ff  j kSi  SUk 
j
k
j
i ff ,0  kji ,,
10 
k
i kj,
kDh PUk },{ falsetrueYP
h
k 
kCP0
s.t.



















kikk
k
j
j
ik
kk
j
i
jh
k
j
i
h
k
Dh
FCP
OPUifF
jIPUiOPUiff
YP
k ,
,',,'
PUk 
k
Generalized Disjunctive Program
A/B/C
G/H/I
S4
S5
S6
M1
M2
M3
S1
S2
S3
M4D/E/F
Optimal structure
Z* = 1214
A S4
S5
M1
M2
S1
S2
S3
M4D
No. of cont. vars. : 114
No. of disc. vars. : 9
No. of bilinear terms: 36
Bilinear GDP (bilinear outside disjunction)
Example 4: Water Treatment Network design
Carnegie Mellon
164































 
 


 
 
jj
Kk
k
j
Ii
ijw
k
jjkw
Kk Ii
ijwjkw
Ii Ww
ijw
lo
j
CP
KkWwff
Wwff
ff
YP



1
,,
,
             

Jj Ii Jj Ii Ww Kk Jj Ww
jkwkijwijij fdfcCSTCP
     

Kk Ww
jkw
Ii Ww
ijw ff Jj 
0  
k
Jj Ww
jkw Sf Kk 


Ww
ijwiwijw ff
'
' WwJjIi  ,,
    

Jj Jj Ww
jkwkwjkw fZf
'
' 0 WwKk  ,
Min Z =
s.t.














   
ii
Jj Ww
ijw
lo
i
CST
ff
YST














0
0
i
ijw
i
CST
f
YST
Ii





















jj
jkw
ijw
j
CP
WwKkf
WwIif
YP

,,0
,,0
Jj 
up
ijwjkw
k
j fff  ,0;10 
},{,;,0 falsetrueYPYSTCPCST jiji 
Generalized Disjunctive ProgramProcess superstructure
S1
S2
S3
S4
S5
P1
P2
P3
P4
1
2
3
Stream i Pool j Product k
Optimal structure
Z* = -4640
S1
S2
S5
P1
P3
1
2
3
Stream i Pool j Product k
No. of cont. vars. : 76
No. of disc. vars. : 9
No. of bilinear terms: 24
Example 5: Pooling network design
Bilinear GDP (bilinear inside disjunction)
Carnegie Mellon
165
Relaxation Results
Global
Optimum
Lower Bound
Hull Relaxation
Lower Bound
Basic Steps
DNF
Lower
Bound
Example 1 -1.01 -1.28 -1.10 -1.10
Example 2 6.31 5.65 6.08 6.08
Example 3 114384.78 91671.18 94925.77 97858.86
Example 4 1214.87 400.66 431.90 431.90
Example 5 -4640 -5515 -5468 -5241
Remarks
- Note in examples 1, 2 and 4 the lower bound is the same as the lower bound of the DNF
Often, it is not necessary to reach the DNF form to have good lower bounds.
-Proposed methodology leads to improvements in the lower bounds
=> 31% gap reduction
-The lower bound of the DNF is the best lower bound attainable for a given LGDP.
Carnegie Mellon
166
Global Optimization Methodology
GDP reformulation
Apply basic steps following
the rules presented
Bound Contraction
(Zamora & Grossmann, 1999)
Spatial Branch and Bound
(Lee & Grossmann, 2001)
Yj Yj
Disjunctive B&B
Spatial B&B
Feasible discrete
Carnegie Mellon
167
Computational Performance
Remarks
-Proposed relaxation led to a significant bound contraction at the root node.
- 44% reduction number of nodes, 23% reduction CPU time
tighter relaxation but increased size of proposed relaxation
Global Optimization Technique using
Hull Relaxation
Global Optimization Technique using
Proposed Relaxation
Global
Optimum Nodes
Bound
contract. (%
Avg)
CPU Time
(sec) Nodes
Bound
contract. (%
Avg)
CPU Time
(sec)
Example 1 -1.01 5 35 2.1 1 38 1.4
Example 2 6.31 1 33 1.0 1 33 1.0
Example 3 114384.78 13 85 11.0 1 99 6.0
Example 4 1214.87 450 8 217 227 16 139
Example 5 -4640 502 1 268 497 1 285
Size of the LP Relaxation
(Hull Relaxation)
Size of the LP Relaxation
(Proposed)
Constraints Variables Constraints Variables
Example 1 23 15 28 15
Example 2 24 14 31 18
Example 3 87 52 206 106
Example 4 544 346 3424 1210
Example 5 3336 1777 4237 1777

Mixed-integer and Disjunctive Programming - Ignacio E. Grossmann

  • 1.
    Ignacio E. Grossmann Centerfor Advanced Process Decision-making Carnegie Mellon University Pittsburgh, PA 15213, U.S.A. Mixed-integer and Disjunctive Programming University of Alicante January 15, 2019
  • 2.
    2 Outline 1. Introduction MathematicalProgramming 2. Mixed-integer Linear Programming (MILP) 3. Propositional Logic and Disjunctions 4. Mixed-integer Nonlinear Programming (MINLP) 5. Generalized Disjunctive Programming (GDP) 6. Global optimization Examples in Process Synthesis
  • 3.
    3 • Discrete/Continuous Optimization Nonlinear models  0-1 and continuous decisions • Optimization Models  Mixed-Integer Linear Programming (MILP)  Mixed-Integer Nonlinear Programming (MINLP) Motivation • Challenges  How to develop “best” model?  How to improve relaxation?  How to solve nonconvex GDP problems to global optimality?  How to overcome computational complexity? Alternative approaches:  Logic-based: Generalized Disjunctive Programming (GDP)  Constraint Programming (CP)
  • 4.
    4 Mathematical Programming min f(x,y) Cost s.t. h(x, y) = 0 Process equations g(x, y)  0 Specifications x X Continuous variables y {0,1} Discrete variables Continuous optimization Linear programming: LP Nonlinear programming: NLP Discrete optimization Mixed-integer linear programming: MILP Mixed-integer nonlinear programming: MINLP
  • 5.
    5 Modeling systems Mathematical Programming GAMS(Meeraus et al, 1997) AMPL (Fourer et al., 1995) AIMSS (Bisschop et al. 2000) Recent: PYOMO (Hart et al. 2017, JuMP (Dunning et al, 2017) 1. Algebraic modeling systems => pure equation models 2. Indexing capability => large-scale problems 3. Automatic differentiation => no derivatives by user 4. Automatic interface with LP/MILP/NLP/MINLP solvers Constraint Programming OPL (ILOG), CHIP (Cosytech), Eclipse
  • 6.
    6 $TITLE Test Problem *Assignment problem for heat exchangers from pp.409-410 in * "Optimization of Chemical Processes" by Edgar and Himmelblau SETS I streams / A, B, C, D / J exchangers / 1*4 / ; TABLE C(I,J) Cost of assigning stream i to exchanger j 1 2 3 4 A 94 1 54 68 B 74 10 88 82 C 73 88 8 76 D 11 74 81 21 ; VARIABLES X(I,J), Z ; BINARY VARIABLES X(I,J); EQUATIONS ASSI(J), ASSJ(I), OBJ; OBJ.. Z =E= SUM( (I,J), C(I,J)*X(I,J) ) ; ASSI(J).. SUM( I, X(I,J) ) =E= 1; ASSJ(I).. SUM( J, X(I,J) ) =E= 1; MODEL HEAT / ALL / ; SOLVE HEAT USING MIP MINIMIZING Z; Input file GAMS
  • 7.
    7 LP: Algorithms: Simplex (Dantzig,1949; Kantorovich, 1938) Interior Point (Karmarkar, 1988, Marsten at al, 1990) Major codes: CPLEX (ILOG) (Bixby I) GUROBI (Bixby II) XPRESS (Dash Optimization) (Beale, Daniel) Simplex: up to 500,000 rows (constraints), 1,000,000 vars Interior Point: up to 5,000,000 rows (constraints), 5,000,000 vars typically 20-40 Newton iterations regardless size Only limitation very large problems >500,000 constr Linear Programming
  • 8.
    8 Transshipment LP Modelfor Minimizing the Utility Cost in a Heat Exchanger Network StreamFcp (kW/K) Tin(K) Tout(K) H1 20 700 420 H2 40 600 310 H3 70 460 310 H4 94 360 310 C1 50 350 650 C2 180 300 400 Utility Temperature (K) Cost ($/KW-yr) Maximum available (kW) Fuel 750 160 ∞ HP steam 510 120 1000 LP steam 410 90 500 Cooling water 300-325 25 ∞ Minimum utility cost for Heat Recovery Approach Temperature (HRAT) of 10K ? Papoulias, Grossmann (1983) Aggregated LP Model
  • 9.
    9 Interval Thot TcoldHeat Contents H1 H2 H3 H4 C1 C2 700 690 1 2000 - - - 3000 - 600 590 2 1800 3600 - - 4500 - 510 500 3 1000 2000 - - 2500 - 460 450 4 800 2000 3500 - 2500 - 410 400 5 - 2000 3500 - 2500 9000 360 350 6 - 2000 3500 4700 - 9000 310 300 Heat content by Temperature Intervals Notes: 1. Intervals are determined by INLET temperatures of hot and cold streams 2. Intervals have a 10K (HRAT) difference between hot and cold 3. Heat content of hot: SUPPLIERS OF HEAT 4. Heat content of cold: SINKS OF HEAT
  • 10.
    10 1 2 3 4 5 6 H1 H2 H3 H4 C2 C1 QFuel R 1 R 2 R 3 R 4 R 5 Q LP Q HP 2000 1800 1000 800 3600 2000 2000 3500 2000 2000 3500 3500 4700 9000 9000 2500 2500 2500 4500 3000 14500 18000 QCW 4700 10500 11600 5600 Transshipment Model for Heat Flows Unknowns: a) Utility loads QFuel, QHP, QLP, QCW b) Heat residuals: R1,…R5
  • 11.
    11 Known parameters: heatcontents of hot stream i and cold stream j in interval k cm, cn unit costs of hot utility m and cold utility n Variables: heat loads of hot utility m and cold utility n Rk heat residual exiting interval k ,H C ik jkQ Q ,S W m nQ Q H ikQ C jkQ S mQ W nQ Rk-1 Rk Interval k LP transshipment model 1 1 min 0, 0, 0 0 k k k k S W m m n n m S n W S W H C k k m n ik jk m S n W i H j C S W k m n K C c Q c Q st R R Q Q Q Q R Q Q R R                          LP Note: If Rk=0  pinch point
  • 12.
    12 Positive variables R1,R2, R3, R4, R5, QF, QHP, QLP, QCW; Variable COST; Equations OBJ, C1, C2, C3, C4, C5, C6; OBJ.. COST =e= 160*QF + 120*QHP + 90*QLP + 25*QCW; C1.. R1 - QF =e= -1000; C2.. R2 - R1 =e= 900; C3.. R3 - R2 - QHP =e= 500; C4.. R4 - R3 =e= 3800; C5.. R5 - R4 - QLP =e= -6000; C6.. QCW - R5 =e= 1200; QHP.UP= 1000; QLP.UP = 500; MODEL HEAT/ALL/; OPTION LIMCOL=0; OPTION LIMROW=0; SOLVE HEAT MINIMIZING COST USING LP; DISPLAY COST.L; DISPLAY QF.L, QHP.L, QLP.L, QCW.L; DISPLAY R1.L, R2.L, R3.L, R4.L, R5.L; R1 = 0  Pinch 600-590 K R5 = 0  Pinch 360-350 K GAMS INPUT FILE IF NO LIMIT of LOWP STEAM COST = $262,000/yr ---- VARIABLE COST.L = 271000.000 ---- VARIABLE QF.L = 1000.000 VARIABLE QHP.L = 300.000 VARIABLE QLP.L = 500.000 VARIABLE QCW.L = 1200.000 ---- VARIABLE R1.L = 0.000 VARIABLE R2.L = 900.000 VARIABLE R3.L = 1700.000 VARIABLE R4.L = 5500.000 VARIABLE R5.L = 0.000 COST = $271,000/yr GAMS OUTPUT FILE
  • 13.
    13 MILP Branch and BoundBeale (1958), Balas (1962), Dakin (1965) Cutting planes Gomory (1959), Balas et al (1993) Branch and cut Johnson, Nemhauser & Savelsbergh (2000) "Good" formulation crucial! => Small LP relaxation gap Drawback: exponential complexity 0,}1,0{ min    xy dBxAyst xbyaZ m TT Theory for Convexification Lovacz & Schrijver (1989), Sherali & Adams (1990), Balas, Ceria, Cornuejols (1993) Objective function Constraints LP (simplex) based Major codes: CPLEX, GUROBI, XPRESS SCIP (non-commercial)
  • 14.
    14 Modeling with MILPNote: linear constraints 3. Integer numbers 1. Multiple choice At least one Exactly one At most one 1 1 i i I i i I y y       1i i I y   2. Implication If select i then select k Select i if and only if select k 0 0 i k i k y y y y        N k k N k k ykyn 11 1, also   M k k k yn 0 2 Fewer 0-1 variables
  • 15.
    15  Ly x  Uy y = 0, 1 MIXED-INTEGER MODEL MIXED-INTEGER MODEL Discontinuous Functions/Domains  C =  y + β x 0  x  U y y = 0, 1 0 L y = 1 U y = 0       1IF 0IF0 yUxL y x a) Domain b) Function       1IF 0IF0 yx y C  y = 1  y = 0 0 x C
  • 16.
    16 Simple Minded Approaches ExhaustiveEnumeration SOLVE LP’S FOR ALL 0-1 COMBINATIONS (2m) IF m = 5 32 COMBINATIONS IF m = 100 1030 COMBINATIONS IF m = 10,000 103000 COMBINATIONS Relaxation and Rounding SOLVE MILP WITH 0  y  1 If solution not integer round closest RELAXATION Only special cases yield integer optimum (Assignment Problem) Relaxed LP provides LOWER BOUND to MILP solution Difference: Relaxation gap
  • 17.
    17 ROUNDING May yield infeasibleor suboptimal solution y2 1 Integer Optimum INFEASIBLE ! Rounded Infeasible 0 0.5 1 0.5 Relaxed optimum (0.2, 0.3) Rounded feasible y2 1 Integer Optimum SUBOPTIMAL ! 0 0.5 1 0.5 Relaxed optimum (0.6, 0.1) y1 y1
  • 18.
    18 Convert MIP intoa Continuous NLP Example: Min Z = y1 + 2y2 s.t. 2y1 + y2  1 y1 = 0, 1 y2 = 0, 1 replace 0 – 1 conditions by 0  y1  1, y1 (1-y1)  0 0  y2  1 y2 (1-y2)  0 Nonlinear Nonconvex! => y1 y2 only feasible pts. (1,0) (0,1) (1,1) Using CONOPT2 st. point y1 = 0, y2 = 0 = > infeasible st. pt. y1 = 0.5, y2 = 0.5 = > y1 = 0 y2 = 1 Z = 2 suboptimal correct solution y1 = 1, y2 = 0 Z = 1 Z=2 Z=1 0 1 1
  • 19.
    19 Branch and Bound y1 y2 TreeEnumeration Solve LP At Each Node Min y1 + 2y2 s.t. 2y1 + y2  1 (P) y1 = 0, 1 y2 = 0, 1 Solve MILP with LP relaxation 0  y1  1 y1 = 0.5 Z = 0.5 Lower Bound 0  y2  1 y2 = 0 Fix y1 = 1 y2 = 0 Z = 1 OPTIMUM 1 32 Fix y1 = 0 y2 = 1 Z = 2 Z=2 Z=1
  • 20.
    20 Major Solution ApproachesMILP I. Enumeration Branch and bound Land,Doig (1960) Dakin (1965) Basic idea: partition successively integer space to determine whether subregions can be eliminated by solving relaxed LP problems II. Convexification Cutting planes Gomory (1958) Crowder, Johnson, Padberg (1983), Balas, Ceria, Cornjuelos (1993) Basic idea: solve sequence relaxed LP subproblems by adding valid inequalities that cut-off previous solutions Remark - Branch and bound most widely used - Recent trend to integrate it with cutting planes BRANCH-AND-CUT
  • 21.
    21 Branch and Bound PartitioningInteger Space Performed with Binary Tree Note: 15 nodes for 23=8 0-1 combinations y1=1y1=0 y2=1y2=0 y3=0 y3=1 y2=0 y2=1 y3=0 y3=0 y3=0 y3=1 y3=1 y3=1 Root Node (LP Relaxation) 3,2,1,10  iyi Node  Node k Node k descendent node 
  • 22.
    22 NODE k: LPmin Z = cTx + bTy s.t. Ax + By  d x  0 0  y  1 yi = 0 or 1 i  Ik Since node k descendent of node  1. IF LP INFEASIBLE THEN LPk INFEASIBLE 2. IF LPk FEASIBLE Z   Zk monotone increase objective Z  : LOWER BOUND 3. IF LPk INTEGER Zk ≥ Z* Zk : UPPER BOUND FATHOMING RULES: If node is infeasible If Lower Bound exceeds Upper Bound 
  • 23.
    23 Mixed-integer Linear Programming x1 x2 01 2 3 1 0 max 3x1 + 4x2 4x1+3x2  10 x1{0,1,2,3}, x2{0,1} BRANCH AND BOUND x11 x12 (1, 1)-INT ZLP=7.0 (2, 0.3) ZLP=7.2 (x1,x2)=(1.75, 1) ZLP=9.25 x21 INFEASIBLE x20 (2, 0)-INT ZLP=6  Well known & widely applied  Efficient algorithms for moderately sized problems  Search is based on solution of relaxed problems Optimum! Note: upper bounds from relaxation for maximization case
  • 24.
    24 x1 x2 0 1 23 1 0 zLP(1) (1) zLP(2) (2) Add cut (C1) and resolve (C1) Add cut (C2) and resolve (C2) (3) zLP(3): OPTIMAL  Well known & widely applied  Efficient algorithms for moderately sized problems  Search is based on solution of relaxed problems  Solve entire problem at each node  Exploit optimization information at each node x1 + x2  2 CUTTING PLANES max 3x1 + 4x2 4x1+3x2  10 x1{0,1,2,3}, x2{0,1} Mixed-integer Linear Programming Convex Hull
  • 25.
    25 Example of MILPmodel for 4 component mixture Separate mixture of A(lightest),B,C,D (heaviest) into pure components using sharp separators A B C D A B C D A B C D A B C D B C D B C D A B C A B C C D B C A B 1 2 3 4 5 6 7 8 9 10 F F F F F F F F F F 1 3 8 9 10 4 5 2 6 7 y y y y y y y y y y Fi flows, yi existence columns Network superstructure for 4 component example. Synthesis of Distillation Sequences
  • 26.
    26 Data for exampleproblem a) Initial field FTOT = 1000 kgmol/hr Composition (mole fraction) A 0.15 B 0.3 C 0.35 D 0.2 b) Economic data and heat duty coefficients Investment cost Heat duty k Separator k, fixed, k, variable coefficients, Kk 1 A/BCD 145 0.42 0.028 2 AB/CD 52 0.12 0.042 3 ABC/D 76 0.25 0.054 4 A/BC 25 0.78 0.024 5 AB/C 44 0.11 0.039 6 B/CD 38 0.14 0.040 7 BC/D 66 0.21 0.047 8 A/B 112 0.39 0.022 9 B/C 37 0.08 0.036 10 C/D 58 0.19 0.044 Cost of utilities: Cooling water CC = 1.3 (103$hr/106kJyr) Steam CH = 34 (103$hr/106kJyr)
  • 27.
    27 Split fractions insuperstructure (using initial compositions) 1 A = 0.15 6 A = 0.188 1 BCD = 0.85 6 BC = 0.812 2 A B = 0.45 7 A B = 0.5625 2 CD = 0.55 7 C = 0.44 3 A BC = 0.8 8 C = 0.636 3 D = 0.2 8 D = 0.364 4 B = 0.353 9 B = 0.462 4 CD = 0.647 9 C = 0.538 5 BC = 0.765 1 0 A = 0.333 5 D = 0.235 1 0 B = 0.667 Assume perfect recoveries
  • 28.
    28 MILP model Initial nodein network F1 + F2 + F3 = 1000 (1) For the remaining nodes in the network, mass balances for each intermediate product. Based on the recovery fractions, the mass balance for each intermediate product is as follows: a) Intermediate (BCD) which is produced in column 1, and directed to columns 4 and 5, F4 + F5 - 0.85 F1 = 0 (2) b) Intermediate (ABC) which is produced in column 3, and directed to columns 6 and 7, F6 + F7 -0.8 F3 = 0 (3) c) Intermediate (AB) which is produced in columns 2 and 7, and directed to column 10, F10 - 0.45 F2 - 0.563 F7 = 0 (4) d) Intermediate (BC) which is produced in columns 5 and 6, and directed to column 9, F9 - 0.765 F5 - 0.812 F6 = 0 (5) e) Intermediate (CD) which is produced in columns 2 and 4, and directed to column 8, F8 - 0.55 F2 - 0.647 F4 = 0 (6)
  • 29.
    29 Relating flows tothe binary variables y: Fk - 1000 yk ≤ 0 , Fk ≥ 0 , yk = 0,1 , k = 1,...10 (7) Heat duties of condensers and reboliers, continuous variables Qk , k = 1, ...10, Qk = Kk Fk , k = 1,...10 (8) where the parameters Kk are given in Table. Objective function, minimization of the sum of the costs in the 10 columns.  min C = ( ky k +  kF k) + (34 + 1.3)Σ k=1 10 Q kΣ k=1 10 cost coefficients k , k , are given in Table.
  • 30.
    30 Optimal separation sequence A B C DC D A BA B C D 1000 450 550 $3,308,000/yr Second best solution. Make y2 = y8 = y10 = 1 infeasible y2 + y8 + y10 ? 2 Second best sequence A B C D B C D C D A B C D 1000 850 550 $3,927,000/yr 
  • 31.
    31 General MILP modelfor distillation sequences Sets a) IP = { m  m is an intermediate product} e.g. IP ={(ABC), (BCD), (AB), (BC), (CD)} b) COL = { k  k is a column in the superstructure} e.g. COL = {1,2,...,9,10} c) FSF = {columns k that have as feed the initial mixture} e.g. FSF = {1,2,3} d) FSm = {columns k that have as feed intermediate m} e.g. for m = (BCD), FSm = {4,5} e) PSm = {columns k that produce intermediate m} e.g. for m = (CD), PSm = {2,4}
  • 32.
    32 min C =kyk + kFk) + (CH + CC) QkΣ k COL s.t . Fk = FTOTΣ kFSF (16)  Fk - k Fk = 0 m IPΣ k PSm Σ kFSm  Qk – Kk Fk = 0 k  COL Fk – U y k  0 k  COL Fk , Qk  0 , y k = 0,1 k  COL where FTOT is the flowrate of the initial mixture,  k m are the recoveries of intermediate m in column k, and U is an upper bound for the flowrates which for simplicity we can select as FTOT . MILP Model
  • 33.
    33 “If sufficient careis exercised, it is now possible to solve MILP models of size approaching ‘large’ LP’s. Note, however, that ‘sufficient care’ is the operative phrase”. JOHN TOMLIN (1983) Modeling of Integer Programs HOW TO MODEL INTEGER CONSTRAINTS? Propositional Logic Disjunctions Although MILP has come a long way since 1983, good formulations are still crucial for large-scale problems
  • 34.
    34 Mathematical Modeling ofBoolean Expressions Williams (1988) LITERAL IN PROPOSITIONAL LOGIC Pi TRUE NEGATION  Pi FALSE Example Pi: select unit i, execute task j PROPOSITION: set of literals Pi separated by OR, AND, IMPLICATION Representation Linear 0-1 Inequalities ASSIGN binary yi to Pi (1 – yi) to  Pi OR P1  P2  …  Pr y1 + y2 + .. + yr  1 AND P1  P2  …  Pr y1  1, y2  1, …yr  1 IMPLICATION P1  P2 EQUIVALENT TO  P1  P2 1 – y1 + y2  1 OR y2  y1 How to model integer constraints? Propositional Logic and Disjunctions
  • 35.
    35 EQUIVALENCE P1 P2 (P1  P2)  (P2  P1) EQUIVALENT TO ( P1  P2)  ( P2  P1) 1 – y1 + y2  1 1 – y2 + y1  1 OR y1 = y2
  • 36.
    36 Systematic Procedure toDerive Linear Inequalities for Logic Propositions Goal is to Convert Logical Expression into Conjunctive Normal Form (CNF) Q1  Q2  . . .  Qs where clause Qi : P1  P2  . . .  Pr (Note: all OR) 3. RECURSIVELY DISTRIBUTE OR OVER AND (P1  P2)  P3  (P1  P3)  (P2  P3) BASIC STEPS 1. REPLACE IMPLICATION BY DISJUNCTION P1  P2   P1  P2 2. MOVE NEGATION INWARD APPLYING DE MORGAN’S THEOREM  (P1  P2)   P1   P2  (P1  P2)   P1   P2
  • 37.
    37 Example If prod Aor prod B implies reactor 3 or reactor 4 P1 P2 P3 P4 P1  P2  P3  P4 1. Remove implication (P1  P2)  (P3  P4) 2. Apply De Morgan’s ( P1   P2 ) (P3  P4) 3. Distribute OR over AND ( P1  P3  P4)  ( P2  P3  P4) => CNF ! clause 1 clause 2 from clause 1 from clause 2 1 – y1 + y3 + y4  1 1 – y2 + y3 + y4  1 y3 + y4  y1 y3 + y4  y2
  • 38.
    38 EXAMPLE flash  dist abs memb  not abs  comp PF  PD  PA (1) PM   PA  PC (2) (1)  PF  PD  PA remove implication 1 – yF + yD + yA  1 yD + yA  yF (2)  PM  ( PA  Pc) remove implication 1 – yM + 1 – yA  1 1 – yM + yC  1 yM + yA  1 yc  yM Verify: yF = 1 yD + yA  1 yF = 0 yD + yA  0 yM = 1  yA = 0 yC = 1 yD + yA  yF yM + yA  1 yC  yM ( PM   PA)  ( PM  Pc) distribute OR over AND => CNF!
  • 39.
    39 EXAMPLE if x =1 and y = 1 then z = 1 if x = 0 and y = 0 then z = 1 if x = 1 and y = 0 then z = 0 if x = 0 and y = 1 then z = 0 1. x  y  z 2.  x   y  z 3. x   y   z 4.  x  y   z 1) x  y  z   (x  y)  z   x   y  z 1 – x + 1 – y + z  1
  • 40.
    40 2)  x  y  z   ( x   y)  z  x  y  z x + y + z 1 3) x   y   z   (x   y)   z   x  y   z 1 – x + y + 1 – z  1 4)  x  y   z   ( x  y)   z  x   y   z x + 1 – y + 1 – z  1 z  x + y – 1 z 1 – x – y z  1 – x + y z  1 + x – y
  • 41.
    41 EXAMPLE Integer Cut Constraint thatis infeasible for integer point yi = 1 i  B yi = 0 i  N and feasible for all other integer points 1 1)1( )()( )]()[(              B Ni i Bi i Ni ii Bi i Ni i Bi i Ni i Bi yy yy yy yy  Balas andJeroslow (1968)
  • 42.
    42 Example: Multiperiod Problems “IfTask yi is performed in any time period i = 1, ..n select Unit z” Intuitive Approach y1 + y2 + . . . + yn  n*z (1) Logic Based Approach y1  y2  . . .  yn  z Inequalities in (2) are stronger than inequalities in (1) (y1  y2  . . .  yn)  z ( y1  z)  ( y2  z)  . . .  ( yn  z) 1 – y1 + z  1 1 – y2 + z  1 1 – yn + z  1  yn  z y1  z y2  z (2) (y1  y2  . . .  yn)  z
  • 43.
    43 1 1 1 y1 y2 z Geometrical interpretation y1 z y2  z All extreme points in hypercube are integer!
  • 44.
    44 1 1 1 y1 y2 z 0.5 0.5 Geometrical interpretation y1 +y2  2z Non-integer extreme points Weaker relaxation!
  • 45.
    45 Modeling of Disjunctions ii i D A x b     one inequality must hold Example: A before B OR B before A A B B AA B pt ptTS TS TS TS            Big M Formulation Ai x  bi + Mi ( 1 – yi) iD 1 Di iy Difficulty: Parameter Mi Must be sufficiently large to render inequality redundant Large value yields poor relaxation
  • 46.
    46 Convex-hull Formulation (Balas,1985) disaggregation vars.i i D x z    Ai zi  bi yi iD 1 Di iy 0  zi  Uyi iD (may be removed) yi = 0, 1 Derivation Ai x yi  bi yi iD (B) 1 Di iy nonlinear disj. equiv.
  • 47.
    47 Let zi =x yi disaggregated variable 1 Di iy i i i i D i D i D z xy x y        (A) to ensure zi = 0 if yi = 0 0  zi  Uyi (C) (A)  i i D x z    subst. (B) Ai zi  bi yi iD 1 Di iy (C)  0  zi  Uyi iD i i D z x  since =>
  • 48.
  • 49.
    49 Remark For special casesdisaggregated variables can be eliminated 0 Y Y L x U x              Example x0 L U w-MIP representable (Raman, G, 1994) See also John Hooker EWO Seminar Tour Modeling Techniques Convex hull formulation 1,0 )1(*02 1 21     y yz UyzLy zzx Since z2 = 0  UyxLy 
  • 50.
    50 Example [x1 – x2 - 1]  [-x1 + x2  -1] 0  x1, x2  4 x2 x1 big M x1 – x2  - 1 + M (1 – y1) -x1 + x2  - 1 + M (1 – y2) y1 + y2 = 1 M = 10 possible choice 4 4 1 1 Convex hull 1 2 1 11 1 2 2 22 x z z x z z     1 1 2 2 1 2 1 21 2 y yz z z z     1 2 1 1 1 2 1 2 1 2 1 2 2 2 1 0 0 0 0 4 4 4 4 y y yz yz yz yz          
  • 51.
    51 NLP: Algorithms (variantsof Newton's method) Sucessive quadratic programming (SQP) (Han 1976; Powell Reduced gradient Interior Point Methods Major codes: MINOS (Murtagh, Saunders, 1978, 1982) CONOPT (Drud, 1994) SQP: SNOPT (Murray, 1996) OPT (Biegler, 1998) KNITRO (Nocedal, 2000) IP: IPOPT (Wächter, Biegler, 2002) www.coin-or.org Typical sizes: 100,000 vars, 100,000 constr. (unstructured) 1,000,000 vars (few degrees freedom) Convergence: Good initial guess essential (Newton's) Nonconvexities: Local optima, non-convergence Nonlinear Programming
  • 52.
    52 MINLP  f(x,y) andg(x,y) - assumed to be convex and bounded over X.  f(x,y) and g(x,y) commonly linear in y },}1,0{|{ },,|{ , 0),(.. ),(min aAyyyY bBxxxxRxxX YyXx yxgts yxfZ m ULn      • Mixed-Integer Nonlinear Programming Objective Function Inequality Constraints http://www.minlp.org
  • 53.
    53 Branch and Boundmethod (BB) Ravindran and Gupta (1985) Leyffer and Fletcher (2001) Branch and cut: Stubbs and Mehrotra (1999) Generalized Benders Decomposition (GBD) Geoffrion (1972) Outer-Approximation (OA) Duran & Grossmann (1986), Yuan et al. (1988), Fletcher & Leyffer (1994) LP/NLP based Branch and Bound Quesada and Grossmann (1992) Extended Cutting Plane (ECP) Westerlund and Pettersson (1995) Solution Algorithms
  • 54.
    54 Basic NLP subproblems a)NLP Relaxation Lower bound k FU k ii k FL k ii R j k LB Iiy Iiy YyXx Jjyxgts yxfZ        (NLP1), 0),(.. ),(min b) NLP Fixed ykUpper bound Xx Jjyxgts yxfZ k j kk U    0),(.. ),(min (NLP2) c) Feasibility subproblem for fixed yk. 1 , ),(.. min RuXx Jjuyxgts u k j   (NLPF) Infinity-norm
  • 55.
    55 Cutting plane MILPmaster (Duran and Grossmann, 1986) Based on solution of K subproblems (xk, yk) k=1,...K Lower Bound M-MIP YyXx Kk Jj yy xx yxgyxg yy xx yxfyxfst Z k k Tkk j kk j k k Tkkkk K L                                  , ,...1 0),(),( ),(),( min   Notes: a) Point (xk, yk) k=1,...K normally from NLP2 b) Linearizations accumulated as iterations K increase c) Non-decreasing sequence lower bounds
  • 56.
    56 X f(x) x x 1 2 x 1 x2 Linearizations and CuttingPlanes Underestimate Objective Function Overestimate Feasible Region Convex Objective Convex Feasible Region XX 1 2
  • 57.
    57 Branch and Bound NLP1:min ZLB k = f(x,y) Tree Enumeration s.t. g j(x,y) < 0 jJ xX , yYR yi < i k iIFL k yi > i k iIFU k Successive solution of NLP1 subproblems Advantage: Tight formulation may require one NLP1 (IFL=IFU= Disadvantage: Potentially many NLP subproblems Convergence global optimum: Uniqueness solution NLP1 (sufficient condition) Less stringent than other methods min ( , ) . . ( , ) 0 , k LB j R k k i i FL k k i i FU Z f x y s t g x y j J x X y Y y i I y i I           
  • 58.
    58 Outer-Approximation Alternate solution ofNLP and MIP problems: NLP2 M-MIP NLP2: min ZU k = f(x,y k ) s.t. g j(x,yk ) < 0 jJ xX M-MIP: min ZL K =   s.t  > f xk ,yk + f xk ,yk T x–xk y–yk g xk ,yk + gj xk ,yk T x–xk y–yk < 0 jJk k=1..K x X, yY ,  R1 Property. Trivially converges in one iteration if f(x,y) and g( - If infeasible NLP solution of feasibility NLP-F required to guarantee convergence. Xx Jjyxgts yxfZ k j kk U    0),(.. ),(min min ( , ) ( , ) 1,... ( , ) ( , ) 0 , K L k k k k k T k k k k k k T k j j k Z x x st f x y f x y y y k K x x g x y g x y j J y y x X y Y                              x,y) are linear Upper bound Lower bound
  • 59.
    59 MIP Master problemneed not be solved to optimality Find new yk+1 such that predicted objetive lies below current upper bound UBK : (M-MIPF)  min Z K = 0   s.t.  < UB K –    > f xk,yk +  f xk,yk T x–xk y–yk g xk,yk + g xk,yk T x–xk y–yk < 0 k=1..K  xX, yY,  R 1 Remark. M-MIPF will tend to increase number of iterations min 0 . . ( , ) ( , ) 1,.. ( , ) ( , ) 0 , K L K k k k k k T k k k k k k T j j k Z s t UB x x f x y f x y y y k K x x g x y g x y j J y y x X y Y                                 
  • 60.
    60 Generalized Benders Decomposition Benders(1962), Geoffrion (1972) Particular case of Outer-Approximation as applied to (P1) 1. Consider Outer-Approximation at (xk, yk)   > f xk ,yk + f xk ,yk T x–xk y–yk g xk ,yk + gj xk ,yk T x–xk y–yk < 0 jJk (1) 2. Obtain linear combination of (1) using Karush-Kuhn- Tucker multipliers k and eliminating x variables   > f xk ,yk + yf xk ,yk T y–yk (2)  + k T g xk ,yk + yg xk ,yk T y–yk Lagrangian cut Remark. Cut for infeasible subproblems can be derived in a similar way.  k T g xk ,yk + yg xk ,yk T y–yk < 0
  • 61.
    61 Generalized Benders Decomposition Alternatesolution of NLP and MIP problems: NLP2 M-GBD NLP2: min ZU k = f(x,y k ) s.t. g j( x,yk ) < 0 jJ xX M-GBD: min ZL K =  s.t.  > f xk,yk + y f xk,yk T y–yk + k T g xk,yk + yg xk,yk T y–yk kKFS  k T g xk,yk + yg xk,yk T y–yk < 0 kKIS yY ,  R1 Property 1. If problem (P1) has zero integrality gap, Generalized Benders Decomposition converges in one iteration when optimal (xk, yk) are found. => Also applies to Outer-Approximation Xx Jjyxgts yxfZ k j kk U    0),(.. ),(min       min ( , ) ( , ) ( , ) ( , ) K L k k k k T k y T k k k k k T k y Z st f x y f x y y y g x y g x y y y k KFS                   1 ( , ) ( , ) 0 , T k k k k k T k yg x y g x y y y k KIS y Y R            Sahinidis, Grossmann (1991) Upper bound Lower bound
  • 62.
    62 Extended Cutting Plane Westerlundand Pettersson (1992) M-MIP' Evaluate Add linearization most violated constraint to M-MIP  Jk = { j j arg{ maxjJ g j(xk,yk) }} Remarks. - Can also add full set of linearizations for M-MIP - Successive M-MIP's produce non-decreasing sequence lower bounds - Simultaneously optimize xk, yk with M-MIP = > Convergence may be slow )},(max{argˆ{ kk j Jj k yxgjJ   No NLP ! (1995)
  • 63.
    63 LP/NLP Based Branchand Bound Quesada and Grossmann (1992) Integrate NLP and M-MIP problems NLP2M-MIP M-MIP LP1 LP2 LP3 LP4 LP5 = > Integer Solve NLP and update bounds open nodes Remark. Fewer number branch and bound nodes for LP subproblems May increase number of NLP subproblems (Branch & Cut)
  • 64.
    64 Numerical Example min Z= y1 + 1.5y2 + 0.5y3 + x12 + x22 s.t. (x1 - 2) 2 - x2 < 0 x1 - 2y 1 > 0 x1 - x2 - 4(1-y2) < 0 x1 - (1 - y1) > 0 x2 - y2 > 0 (MIP-EX) x1 + x2 > 3y3 y1 + y2 + y3 > 1 0 < x1 < 4, 0 < x2 < 4 y1, y2, y3 = 0, 1 Optimum solution: y1=0, y2 = 1, y3 = 0, x1 = 1, x2 = 1, Z = 3.5.
  • 65.
    65 Starting point y1=y2 = y3 = 1. Iterations Objective function Lower bound GBD Upper bound GBD Lower bound OA Upper bound OA Summary of Computational Results Method Subproblems Master problems (LP's solved) BB 5 (NLP1) OA 3 (NLP2) 3 (M-MIP) (19 LP's) GBD 4 (NLP2) 4 (M-GBD) (10 LP's) ECP - 5 (M-MIP) (18 LP's)
  • 66.
    66 Example: Process Networkwith Fixed Charges • Duran and Grossmann (1986)  Network superstructure 1 2 6 7 4 3 5 8 x1 x4 x6 x21 x19 x13 x14 x11 x7 x8 x12 x15 x9 x16 x17 x25 x18 x10 x20 x23x22 x24x5 x3x2 A B C D F E
  • 67.
    67 Example (Duran andGrossmann, 1986) Algebraic MINLP: linear in y, convex in x 8 0-1 variables, 25 continuous, 31 constraints (5 nonlinear) NLP MIP Branch and Bound (F-L) 20 - Outer-Approximation: 3 3 Generalized-Benders 10 10 Extended Cutting Plane - 15 LP/NLP based 3 7 LP's vs 13 LP's OAA
  • 68.
    68 Effects of Nonconvexities 1.NLP supbroblems may have local optima 2. MILP master may cut-off global optimumObjective Multiple minima 0 1 y x Global optimum Cut off! Handling of Nonconvexities 1. Rigorous approach (global optimization): Replace nonconvex terms by underestimtors/convex envelopes Solve convex MINLP within spatial branch and bound 2. Heuristic approach: Add slacks to linearizations Search until no imprvement in NLP
  • 69.
    69 Handling nonlinear equations h(x,y)= 0 1. In branch and bound no special provision-simply add to NLPs 2. In GBD no special provision- cancels in Lagrangean cut 3. In OA equality relaxation Lower bounds may not be valid Rigorous if eqtn relaxes as h(x,y)  0 h(x,y) is convex   1 0 , 1 0 0 0 ( , ) 0 k i k k k k ii ii i k i k k k k T k if T t t if if x x T h x y y y                     
  • 70.
    70 MIP-Master Augmented Penalty Viswanathanand Grossmann, 1990 Slacks: pk, qk with weights wk  min Z K =  + w p k pk + wq k qk k=1 K (M-APER)  s.t.  > f xk ,yk +  f xk ,yk T x–xk y–y k T k h xk ,yk T x–xk y–yk < pk g x k ,y k + g x k ,y k T x–xk y–y k < q k k=1..K  yi i  B k – yi i  N k  B k – 1 k = 1,...K  xX , yY , R 1 , pk , qk > 0 If convex MINLP then slacks take value of zero => reduces to OA/ER Basis DICOPT (nonconvex version) 1. Solve relaxed MINLP 2. Iterate between MIP-APER and NLP subproblem until no improvement in NLP Kk q yy xx yxgyxg p yy xx yxhT yy xx yxfyxfts k k k Tkkkk k k k Tkkk k k Tkkkk ,...1 ),(),( ),( ),(),(..                                               
  • 71.
    71 MINLP: Algorithms Branch and Bound(BB) Leyffer (2001), Bussieck, Drud (2003) Generalized Benders Decomposition (GBD) Geoffrion (1972) Outer-Approximation (OA) Duran and Grossmann (1986) Extended Cutting Plane(ECP) Westerlund and Pettersson (1992) Codes: SBB GAMS simple B&B MINLP-BB (AMPL)Fletcher and Leyffer (1999) Bonmin (COIN-OR) Bonami et al (2006) FilMINT Linderoth and Leyffer (2006) DICOPT (GAMS) Viswanathan and Grossman (1990) AOA (AIMSS) ECP Westerlund and Peterssson (1996) MINOPT Schweiger and Floudas (1998) BARON Sahinidis et al. (1998) Global Couenne Belotti & Margot (2008) Global SCIP ZIB (2012) Global GLOMIQO, ANTIGONE Floudas and Meisner (2011) Global Mixed-integer Nonlinear Programming Note: MIQPs can be solved with CPLEX, GUROBI
  • 72.
  • 73.
    73 Parameter Estimation FTIR-Spectroscopy Brinkand Westerlund (1995) Given multicomponent mixture n components (i=1,..n) which N data are given (k=1,..N) at different wave num j=1,..q: ci k concentration component i, run k aj k absorbence of mixture wave number j, run k Find number and values of parameters pij for linear correlation: ci  pij j1 q  aj i  1,..n
  • 74.
    74 Derivation of Model Error:ei k  ci k  pij j 1 q  aj k i  1,..n k 1,.. N Akaike information criterion min AIC  2nL  2P P number of parameters pij L likelihood function  nL   N 2 nn(2)  N 2 n( R1 )  1 2 ek T R1 ek k1 N  R covariance matrix Let yij  1 if pij L  pij  pij U 0 if pij  0   
  • 75.
    75 MINLP Model minZ ei kT R 1 ei k i1 n k1 N 2 yij j=1 q i=1 n  s.t. ei k  ci k  pij j1 q  aj k i 1,..n k 1,..N pij L yij  pij  pij U yij i 1,..n j 1,..q yij  0,1 pij  0 (MIQP)
  • 76.
    76 Results 35 spectra forCO, NO, CO2 mixture Range spectra: 800-2200 cm-1 Resolution 28 cm-1 (100 subintervals) MINLP: 300 0-1 vars. 3800 cont vars. 4100 constraints Outer-Approximation: 60 CPU-sec (DEC-3000) 5 selected parameters pCO,87  714.782016.2 2030.3 pCO,97  65.072157. 6  2171. 7 pNO, 83  315.571959.61973.7 pCO2 ,10  22.47927.3941.4 pCO2 , 20  25.011068. 7  1082. 8 MIQP can be solved with CPLEX
  • 77.
    77 MINLP Model forSuperstructure Optimization of Heat Exchanger Network Synthesis Yee and Grossmann (1990) H1 H1-C1 H2 H1-C1 H1-C2 H2-C1 H2-C2 H1-C2 H2-C1 H2-C2 Stage k=1 Stage k=2 C1 C2 temperature location k=1 temperature location k=2 temperature location k=3 H1,1t H1,2t C1,1t C1,2t C1,3t H1,3t H2,1t H2,2t C2,1t C2,2t C2,3t H2,3 t S1 S1 CW CW Two-stage superstructure Parameters TIN = inlet temperature of stream TOUT = outlet temperature of stream F = heat capacity flow rate U = overall heat transfer coefficient CCU = unit cost for cold utility CHU = unit cost of hot utility CF = fixed charge for exchangers C = area cost coefficient B = exponent for area cost NOK = total number of stages  = upper bound for heat exchange  = upper bound for temperature difference Variables dtijk = temperature approach for match (i,j) at temperature location k dtcui = temperature approach for the match of hot stream i and cold utility dthuj = temperature approach for the match of cold stream j and hot utility qijk = heat exchanged between hot process stream i and cold process stream j in stage k qcui = heat exchanged between hot stream i and cold utility qhuj = heat exchanged between hot utility and cold stream j ti,k = temperature of hot stream i at hot end of stage k tj,k = temperature of cold stream j at hot end of stage k zijk = binary variable to denote existence of match (i,j) in stage k zcui = binary variable to denote that cold utility exchanges heat with stream i zhuj = binary variable to denote that hot utility exchanges heat with stream j
  • 78.
    78 Assumption Isothermal mixing =>linear constraints tik tik+1 qijk zijk=0,1 Procedure 1. Solve MINLP assuming isothermal mixing 2. If splitting streams, solve NLP on reduced final configuration Rigorous if no stream splits No. stages: max {no. hot, no. cold}
  • 79.
    79 Overall heat balancefor each stream j j j ijk j k ST i HP (TOUT - TIN ) F = q +qhu j CP     i i i ijk i k ST j CP (TIN - TOUT ) F = q +qcu i HP     Heat balance at each stage ,i,k i,k+1 i ijk j CP (t - t ) F = q i HP k ST    ,j,k j,k+1 j ijk j HP (t - t ) F = q j CP k ST    Feasibility of temperatures ti,k  ti,k+1 kST, iHP tj,k  tji,k+1 kST, jCP TOUTi  ti,NOK+1 iHP TOUTj  tj,1 jCP Hot and cold utility load (ti,NOK+1 - TOUTi) Fi = qcui iHP (TOUTj - tj,1) Fj = qhuj jCP
  • 80.
    80 Logical constraints qijk - zijk  0iHP, jCP, kST qcui -  zcui  0 iHP qhuj -  zhuj  0 jCP zijk, zcui, zhuj = 0,1 Calculation of approach temperatures dtijk  ti,k - tj,k +  (1 - zijk) kST, iHP, jCP dtijk+1  ti,k+1 - tj,k+1 +  (1 - zijk) kST, iHP, jCP dtcui  ti,NOK+1 - TOUTCU +  (1 - zcui) iHP dthui  TOUTHU - tj,1 +  (1 - zhuj) jCP dtijk  EMAT Objective function Chen approximation (1987) LMTD ~ [(dtl*dt2)*(dtl+dt2)/2]1/3 , , 1/3 1 1 min ... . [( )( )( ) / 2)] i j i HP j CP ij ijk i CU i i HU j i HP j CP k ST i HP j CP ij ijk i HP j CP k ST ijk ijk ijk ijk ijk Z CCUqcu CHUqhu CF z CF zcu CF zhu C q etc U dt dt dt dt                               SYNHEAT: http://newton.cheme.cmu.edu/interfaces
  • 81.
    81 *PROCESS STREAMS * *HOT: TIIN.FX('1') =480.00; TIOUT.FX('1') = 340.00; FCI('1') = 1.50; CFI('1') = 1.00; TIIN.FX('2') = 420.00; TIOUT.FX('2') = 330.00; FCI('2') = 2.00; CFI('2') = 1.00; *COLD: TJIN.FX('1') = 320.00; TJOUT.FX('1') = 410.00; FCJ('1') = 1.00; CFJ('1') = 1.00; TJIN.FX('2') = 350.00; TJOUT.FX('2') = 460.00; FCJ('2') = 2.00; CFJ('2') = 1.00; TMAPP = 10.00; *UTILITIES * CFHU = 1.00; THUIN = 500.00; THUOUT = 500.00; CFCU = 1.00; TCUIN = 300.00; TCUOUT = 300.00; * *COSTS * *UTILITIES HUCOST = 80.00; CUCOST = 20.00; UNITC = 1000.00; ACOEFF = 20.00; HUCOEFF = 20.00; CUCOEFF = 20.00;
  • 82.
    82 480.0 340.0 420.0 330.0 1.5 2.0 420.0360.0 360.0 H 1 H 2 90.0 kW 90.0 kW 120.0 kW 11.0 m2 8.3 m2 23.9 m2 W W S 30.0 kW 60.0 kW 10.0 kW 320.0410.0 350.0460.0 1.0 2.0 455.0 410.0 C 1 C 2 Total Network Cost ($/yr) = 8962.60
  • 83.
    83 320 340 360 380 400 420 440 460 480 0 50 100150 200 250 300 350 400 450 T(K) Q (kW) SYNHEAT: T-Q CURVE
  • 84.
    84 Table: Problem DataExample 2 Stream Tin (C) Tout (C) F ( )kW C1 h ( )kW m 2 1C Cost ($ )kW yr 1 1 H1 159 77 2.285 0.10 - H2 267 80 0.204 0.04 - H3 343 90 0.538 0.50 - C1 26 127 0.933 0.01 - C2 118 265 1.961 0.50 - S1 300 300 - 0.05 110 W1 20 60 - 0.20 10 Cost of heat exchangers ($ yr1) = 7400 + 80 [Area(m2 )]
  • 85.
    85 Example 2 C1 H1 H3 C2 H2 1 59 6 0 2 0 7 7 2 6 1 59 1 5 9 261 2 71 2 7 2 6 7 2 6 7 2 6 7 8 0 2 0 6 0 1 181 1 81 181 3 9 .3 62 6 5 3 0 0 30 0 34 3 2 6 5 .1 5 9 0 9 0 H3 C1 C2 H2 267 343 118 26 265 127 90 80 139.357 36.033 1 2 55.412 0.955 95.093 8.573 265.154 H1 159 77 C1 C2 H2 Exchanger Heat Load (kW) AMTD Area (m2 ) LMTD Area (m2 ) 3-1-2 94.23 95.09 99.74 3-2-1 41.88 0.96 0.96 CU-1 187.37 36.03 36.94 CU-2 38.15 8.57 9.64 HU-2 246.39 55.41 65.47
  • 86.
    86 Superstructure for UtilityPlant Bruno et al. (1998)
  • 87.
    87 Problem Statement forUtility Plant Min Material costs (syngas, cooling water, demineralized water) (energy requirement like heating and electricity are met internally) s. t. Logic constraints Rigorous material and energy balances  Electricity demand met by gas turbine, HP steam turbine or both  Mechanical demands met either by electricity or by coupling with turbine shaft  If mechanical demand is met by turbine, exactly one turbine can be used.  Each turbine can contribute exactly one demand Kamath (2012)
  • 88.
    88 Salient features ofutility model  Only operating (material and energy) costs are considered.  Rigorous mass and energy balances are incorporated.  Streams classified on the basis of pressure (HP, MP, LP, CondP,VacP) and state (sub-cooled liquid, saturated liquid, saturated vapor, superheated vapor).  Exit streams from steam turbines can be wet, saturated or superheated.  Binary variables used for existence of turbine modes, state of streams, and in logic constraints.  Electricity demand can be met by gas turbine, HP steam turbine or both.  Every mechanical demand can be met either by electricity or by coupling with turbine shaft (both HP and MP are allowed).  If mechanical demand is satisfied by coupling with turbine, exactly one turbine can be used.  Every turbine can contribute only one demand (in case of HP, electricity or mechanical and in case of MP, just mechanical) Logic constraints STEAM http://newton.cheme.cmu.edu/interfaces/steam/main.html
  • 89.
    89 Numerical Example forUtility model Electricity: 500 MW Mechanical Power No 1: 5 MW Mechanical Power No 2: 15 MW HP Heating: 5 MW MP Heating: 20 MW LP Heating: 50 MW Demands Pressure of Steam Headers HP: 45 bar MP: 20 bar LP: 7 bar 62 process streams 3 HP turbines (7 modes) 2 MP turbines (3 modes) 5 Headers (HP, MP, LP, Cond, Vac) 1 Gas turbine (compressor, expander) 3 Boilers (HP, MP, HRSG) 4 Combustors (GT, Boilers) 5 Liquid pumps 2 Air blowers 1 Deaerator Superstructure Non-convex MINLP problem Binary variables: 44 Continuous variables: 1275 Constraints: 1309 Modeled and solved using GAMS (Intel Core 2 Duo 2.4 GHz with 2 GB RAM) Logic constraints 1 turbine  Max 1 demand (mechanical or power) Mechanical demand  Either electricity or turbine MP turbine can’t contribute power
  • 90.
    90 Optimal Solution forExample Utility Plant Operating cost = $307.27 Million/yr
  • 91.
    91 Input Feed Ethane C2H6 Propane C3H8 ButaneC4H10 Naphtha C8~C12 RXN System Pyrolysis Furnaces Components Mixture Hydrogen H2 Fuel gas CH4 Acetylene C2H2 Ethylene C2H4 Ethane C2H6 MAPD C3H4 Propylene C3H6 Propane C3H8 C4 Mixture C5 Mixture C6+ Mixture Separation Separation Tasks Recycle Ethane C2H6 Propane C3H8 Output Hydrogen H2 Fuel gas CH4 C5 Mixture Ethylene C2H4 Propylene C3H6 C4 Mixture C6+ Mixture Olefin Separation System (BP) Goal: Synthesize optimal separation system (Lee, Foral, Logsdon, Grossmann, 2003)
  • 92.
  • 93.
    93 MINLP Model • GDPreformulated as a MINLP • Problem Size  No. of 0-1 variables = 5,800  No. of variables = 24,500  No. of constraints = 52,700 • GAMS/DICOPT  NLP solver: CONOPT2/ MIP solver: CPLEX  CPU time ~ 3 hrs on Pentium III PC • Verification: ASPENPLUS model  Fixed process configuration is simulated/optimized
  • 94.
    94 Total cost: 110.82M$/yr ABCDEFGH AB CDEFGH EF CD B A D C E F H G A/B CH4 C2H4 C3H6 C2H6 C3H8 C4 C5 H2 EFGH Cold Box Deethanizer Dephlegmator 100F 480Psig 83F 160Psig -141F 900Psig -41F 160Psig 84F 190Psig 169F 160Psig D E E F C D 123F 140Psig 99F 140Psig GH G H Depropanizer C3 Splitter 226F 160Psig compressor heater cooler valve 480Psig 74F 170Psig 72F 140Psig 480Psig -31F 140Psig -51F 140Psig 214F 170Psig 109F 140Psig F G Debutanizer 236F 140Psig 238F 140Psig AB CD 900Psig Chemical Absorber 410 Mkwh/yr valve compressor pump pump MINLP optimal solution Dephlegmator first process 7 separation units 20M$/yr cost saving 1 dephlegmator 1 absorber 4 distillation columns 1 cold box 1 heat exchange
  • 95.
    95 Logic-based Optimization Motivation 1. Facilitatemodeling of discrete/continuous optimization problems through use symbolic expressions 2. Reduce combinatorial search effort 3. Improve handling nonlinearities Emerging techniques 1. Constraint Programming Van Hentenryck (1989) 2. Generalized Disjunctive Programming Raman and Grossmann (1994) 3. Mixed-Logic Linear Programming Hooker and Osorio (1999)
  • 96.
    96 Generalized Disjunctive Programming(GDP)     Ω ,0)( 0)( )(min 1 falsetrue,Y Rc,Rx trueY Kk γc xg Y Jj xs.t. r xfcZ jk k n jkk jk jk k k k                      • Raman and Grossmann (1994) (Extension Balas, 1979) Objective Function Common Constraints Continuous Variables Boolean Variables Logic Propositions OR operator Disjunction Fixed Charges Constraints Multiple Terms / Disjunctions New implementation in EMP/GAMS
  • 97.
    97 Generalized Disjunctive Programming(GDP)     Ω ,0)( 0)( )(min 1 falsetrue,Y Rc,Rx trueY Kk γc xg Y Jj xs.t. r xfcZ jk k n jkk jk jk k k k                      • Raman and Grossmann (1994) Objective Function Common Constraints Disjunction Fixed Charges Continuous Variables Boolean Variables Logic Propositions OR operator Constraints Relaxation?
  • 98.
    98 Big-M MINLP (BM) •MINLP reformulation of GDP min ( ) . . ( ) 0 ( ) (1 ) , , 1, 0, {0,1} k k jk jk k K j J jk jk jk k jk j J jk Z f x st r x g x M j J k K k K A a x                        Big-M Parameter Logic constraints NLP Relaxation 0 1jk 
  • 99.
    99 Nonlinear Convex HullRelaxation • Disjunction (x  F1)  (x  F2) F1 F2 Feasible region of GDP Convex Hull F1 F2How obtain best relaxation? Assumption: Convexity of constraints Convex Hull: Set of points given by all linear combination of points in F1 and F2.
  • 100.
    100 Convex Hull Formulation •Consider Disjunction k  K ( ) 0 k jk jk j J jk Y g x c                Theorem: Convex Hull of Disjunction k (Lee, Grossmann, 2000)  Disaggregated variables  jk  jk - weights for linear combination },0)/( 1,0,1 ,0 ,,|),{( k jk jk jkjk jk Jj jk k jkjk jk Jj jkjk Jj jk Jjvg JjUv cvxcx k k           Convex Constraints - Generalization of Stubbs and Mehrotra (1999) => k
  • 101.
    101 Remarks Perspective Function 0,( )( (0)) (0) 0 0jk jk jkif g g       1, ((1)( ( / (1)) (0)(0) (1) ( / (1)) 0jk jk jk jk jk jkif g g g        a. Exact approximation of the original constraints as ε → 0. c. The LHS of the new constraint is convex. b. The constraints are exact at jk = 0 and at jk = 1 regardless of value of ε. Replace by:( / ) 0jk jk jk jkg    0 jk jkU  where ((1 ) )( ( / ((1 ) ))) (0)(1 ) 0jk jk jk jk jk jkg g               Furman, Sawaya & Grossmann (2009) ( / ) 0jk jk jk jkg   How to implement for zero ?jk )/(),(  vgvh  If g(x) is a bounded convex function, is a bounded convex function Hiriart-Urruty and Lemaréchal (1993) ),( vh 0)0,( h for bounded g(x)
  • 102.
    102 Convex Relaxation Problem(CRP)  Property: The NLP (CRP) yields a lower bound to optimum of (GDP). Logic constraints ,,10,0, ,,0)/( ,1 ,,0 , 0)(.. )(min KkJjx aA KkJjg Kk KkJjU Kkx xrts xfZ kjk jk kjk jk jkjk Jj jk kjkjk jk Jj jk Kk Jj jkjk k k k                    ν ν ν ν Convex Hull Formulation CRP:
  • 103.
    103 Big-M MINLP (BM) Theorem: The relaxation of (CRP) yields a lower bound that is greater than or equal to the lower bound that is obtained from the relaxation of problem (BM): min ( ) . . ( ) 0 ( ) (1 ) , 1, 0, 0 1 k k jk jk k K j J jk jk jk k jk j J jk Z f x st r x g x M j J k K k K A a x                         RBM:
  • 104.
    104 GDP Logic based methods Branchand bound (Lee & Grossmann, 2000) Decomposition Outer-Approximation Generalized Benders (Turkay & Grossmann, 1997) Reformulation MINLP Outer-Approximation Generalized Benders Extended Cutting Plane Methods Generalized Disjunctive Programming Key: relaxation Convex-hull Big-M Cutting plane (Sawaya & Grossmann, 2004)
  • 105.
  • 106.
    106 Hierarchy Relaxations Generalized DisjunctiveProgramming Min Z = + hTx Objective Function s.t. Bx  b Common Constraints Ω(Y) = True Logic Constraints x Rn, Yjk {True, False}, ck R j Jk , k K jkk jkjk jk c axA Y    kJj Kk kc k  K GDP Model: OR Operator Boolean Variables Disjunctive Constraints Sawaya, Grossmann (2004)
  • 107.
    107 Reformulations as MILP MinZ = + hTx s.t. Bx  b Ajk x - ajk  Mjk (1-λjk) j Jk , k K (BM) = 1 k K Dλ  d x Rn, λjk {0,1} j Jk , k K jk Kk Jj jk k    kJj jk Big-M parameters Min Z = + hTx s.t. Bx  b Ajk x - ajk  Mjk (1-λjk) j Jk , k K (BM) = 1 k K Dλ  d x Rn, λjk {0,1} j Jk , k K jk Kk Jj jk k    kJj jk Big-M parameters Big-M Min Z = + hTx s.t. Bx  b Ajk νjk - ajk λjk  0 j Jk , k K x = νjk k K 0  νjk  λjk Ujk j Jk , k K = 1 k K Dλ  d x Rn, νjk Rn + , λjk {0,1} j Jk , k K jk Kk Jj jk k    kJj jk  kJj Disaggregated variables Convex Hull (CH)
  • 108.
    10 8 2 Traditional (BM) ProposedBM x2 x1 F: ⊻ ⊻ x2 x1 F: ⊻ ⊻ 0 1 0 1 0 1 0 0 0 Note: Improving(BM) using more than one bigM-parameter Trespalacios, Grossmann (2015)
  • 109.
    Carnegie Mellon 109 Reformulating LGDPinto Disjunctive Programming Formulation 1 . . ( ) , , jk k jk k T k k K jk jk j J k jk j J L U jk k k Min Z c d x s t Bx b Y A x a k K c Y k K Y True x x x Y True False j J k K c                                R k K LGDP 1 . . 1 1 0 1 , jk k k T k k K jk jk j J k jk jk j J L U jk k k Min Z c d x s t Bx b A x a k K c k K H h x x x j J k K c                                     R k K   LDP => Integrality  guaranteed Proposition. LGDP and LDP have equivalent solutions. Sawaya, Grossmann (2008)
  • 110.
    Carnegie Mellon 110 Equivalent Formsin DP Through Basic Steps t t T F S    ,t T , a polyhedron, . t t i i t i Q S P P i Q     Thus the RF is: where for There are many forms between CNF and DNF that are equivalent Regular Form (RF): form represented by intersection of unions of polyhedra Proposition 1 (Theorem 2.1 in Balas (1979)). Let F be a disjunctive set in RF. Then F can be brought to DNF by | | 1T  recursive applications of the following basic steps, which preserve regularity: For some , , ,r s T r s  bring r sS S to DNF, by replacing it with: ( ). r s rs i t i Q t Q S P P     
  • 111.
    111 Example: Basic Steps 12 3F S S S   1 11 21( )S P P  2 12 22( )S P P  3 13 23( )S P P  12 11 12 11 22 21 12 21 22( ) ( ) ( ) ( )S P P P P P P P P        11 12 13 11 22 13 21 12 13 21 22 13 123 11 12 23 11 22 23 21 12 23 21 22 23 ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) P P P P P P P P P P P P S P P P P P P P P P P P P                             Then F can be brought to DNF through 2 basic steps. which is its equivalent DNF (Disjunctive Normal Form) 1 2 3F S S S   We can then rewrite 12 3as F S S  1 2 11 21 12 22( ) ( )S S P P P P     Apply Basic Step to: 12 3 11 12 11 22 21 12 21 22 13 23(( ) ( ) ( ) ( )) ( )S S P P P P P P P P P P           Apply Basic Step to: 12 3F S S  123as F S We can then rewrite
  • 112.
    Carnegie Mellon 112 Illustrative Example: Hierarchyof Relaxations 1 2 1 2 1 1 2 2 0.5 0 1 0 0 1 0 1 0 1 x x x x x x x x                       1 2 1 2 1 2 1 2 1 1 2 2 0.5 0 0.5 0 1 0 1 0 0 1 0 1 0 1 x x x x x x x x x x x x                                        Application of 2 Basic Steps Convex Hull of disjunction Convex Hull of disjunction 1x 2x Tighter Relaxation! LP Relaxation
  • 113.
    113 A Branch andBound Algorithm for GDP • Tree Search  NLP subproblem at each node • Solve CRP of GDP  lower bound CRP + fix a term in disjunction CRPCRP + convex hull of remaining terms • Branching Rule Set the largest j as 1 or 0 Dichotomy rule • Logic inference CNF unit resolution (Raman & Grosmann, 1993) • Depth first search When all the terms are fixed upper bound • Repeat Branching until ZL > ZU.
  • 114.
    114 GDP Example Global Optimum (3.293,1.707) Z*= 1.172 Contour of f (x) Local solutions x1 x2 (0,0) S3 S2S1  Find x  0, (x  S1)(x  S2)(x  S3) to minimize Z = (x1 - 3)2 + (x2 - 2)2 + c  Objective Function = continuous function + fixed charge (discontinuous).
  • 115.
    115 x1 x2 Convex hull =conv(USj) Example : convex hull S3 S2 S1
  • 116.
    116 x1 x2 (0,0) Convex hull optimum, ZL= 1.154 xL = (3.159,1.797) S3 S2 S1 Convex combination of zj Convex hull = conv(USj) zj = vj/j 1= 0.016 2= 0.955 3= 0.029 Local solution point Example: CRP solution x* Infeasible to GDP Weight
  • 117.
    117 Example : branchand bound First Node: S2 Optimal solution: ZU = 1.172 x1 x2 (0,0) S3 S1 Optimal Solution (3.293,1.707) Z* = 1.172 S2
  • 118.
    118 Example : branchand bound Second Node: conv(S1 U S3) Optimal solution: ZL = 3.327 x1 x2 (0,0) S3 S2S1 Upper Bound ZU = 1.172 Lower Bound ZL = 3.327
  • 119.
    119 • Branching Rule:j - the weight of disaggregated variable  Fix Yj as true: fix j as 1. Y2 Root Node Convex hull of all Si Z = 1.154  = [0.016,0.955,0.029] First Node Fix 2 = 1, Z = 1.172 [x1 ,x2] = [3.293,1.707]  = [0,1,0] Second Node Convex hull of S1 and S3 Z = 3.327  = [ 0.337,0,0.623] ¬ Y2 ZU = 1.172 Backtrack ZL = 1.154 Branch on Y2 ZL = 3.327 > ZU Stop Example: Search Tree
  • 120.
    120 Process Network withFixed Charges • Türkay and Grossmann (1997)  Superstructure of the process 1 2 6 7 4 3 5 8 x1 x4 x6 x21 x19 x13 x14 x11 x7 x8 x12 x15 x9 x16 x17 x25 x18 x10 x20 x23x22 x24x5 x3x2 A B : Unitj Y1  Y2 Y6  Y7 Y4  Y5 C D F E Yi  Yj Specifications
  • 121.
    121  Minimum Cost:$ 68.01M/year 2 6 4 8 x1 x4 x19 x13 x14 x11 x12 x18 x20 x23 x24x5 A B : Unitj D F E Raw Material ProductsReactor Reactor Optimal solution x7 x6 x10 x17 x25 x8
  • 122.
    122 Proposed BB Method ZL= 62.48  = [0.31,0.69,0.03,1.0,1,0,1] ZU = 68.01 = Z*  = [0,1,0,0,1.0,1,0,1] Optimal Solution ZU = 71.79  = [0,1,1,1.0,1,0,1] Feasible Solution ZL = 75.01 > ZU  = [1,0,0.022,1.0,1,0,1] ZL = 65.92  = [0,1,0.022,1.0,1,0,1] 0 32 41 Fix 2 = 1 Fix 3 = 1 Fix 3 = 0 Fix 2 = 0 Stop  5 nodes vs. 17 nodes of Standard BB (lower bound = 15.08)  CPU time : 2.578 vs. 3.383 of Standard BB (300MHz Pentium II PC) Proposed BB 0 ZL = 15.08 Standard BB 1 2 43 1413 5 6 812111615 7 10*9 Y4 = 0 Y4 = 1 Y6 = 0 Y6 = 1 Y8 = 0 Y8 = 1 Y1 = 0 Y1 = 1 Y8 = 0 Y8 = 1 Y2 = 0 Y2 = 1 Y1 = 1 Y3 = 0 Y3 = 1
  • 123.
    123 Logic-based Outer Approximation Mainpoint: avoids solving MINLP in full space Turkay, Grossmann (1997) SDkiiDifalseYfor c xB SDkDitrueYfor c xh xgts xfcZ kik k i kki ikk ik SDk k                ,ˆ, 0 0 ,ˆ 0)( 0)(.. )(min ˆ  (NLPD) x  Rn, ci  Rm, NLP Subproblem: (reduced)  k kcZMin (MGDP)1,...,= 0)()()( )()()(.. L xxxgxg xxxfxfts T T llll lll       SDk c L xxxhxh Y ikk ik T ikik ik Di k                     l lll 0)()()(   (Y) = True  R, x  Rn, c  Rm, Y  {true, false}m Master Problem: Proceed as OA. Requires initialization several NLPs to cover all disjunctions Redundant constraints are eliminated with false values Master problem solved with disjunctive branch and bound or with MILP reformulation
  • 124.
    124 Structural Optimization ofVinyl Chloride Plant Major options: Direct Chlorination vs. Oxychlorination Air vs. Oxygen Pressure Pyrolisis Separation sequence Optimization with discontinuous cost models: - Multiple size regions - Pressure, temperature factors Cost Size
  • 125.
    125 Superstructure Vinyl ChlorideMonomer (Turkay & Grossmann, 1997) Oxygen Air Ethylene Chlorine Vinyl Chloride Hydrogen Chloride Ethylene Dichloride Ethylene Dichloride Water Flash Direct Chlorination Oxychlorination Low P High P Purge Hydrogen Chloride Direct chlorination: C2H4 + Cl2  C2H4Cl2 Oxychlorination: C2H4 + 2HCl + 1/2 O2  C2H4Cl2 + H2O Pyrolisis: H4Cl2  C2H3Cl + HCl Process Flowsheet Synthesis
  • 126.
    126 Optimal Solution (CPU-time:3.8min) Oxygen Ethylene Chlorine Vinyl Chloride Hydrogen Chloride Ethylene Dichloride Water Flash Direct Chlorination Oxychlorination High P Purge Profit=$75.3 million/yr Item Flowsheet 1 Flowsheet 2 Master Pr. 1 Flowsheet 3 Master Pr. 2 Binary var. 162 168 259 168 259 Continuous var. 879 883 1715 883 1822 Constraints 699 703 1750 703 1858 Profit ($M/yr) 27.678 75.283 82.763 71.809 65.262 Major Iterations 3 3 N/A 3 N/A CPU time (sec) 88.00 64.99 8.24 53.76 13.21
  • 127.
    127 Optimal Feedtray Location Sargent& Gaminibandara (1976) NLP Formulation Min cost st MESH eqtns Ff LOCi i  NLP VMP: Variable-Metric Projection if
  • 128.
    128 1 . . L1 V2 L2 V3 L3V4 LN-1 1 2 3 N N-1 N-2 VN VN-1LN- 2 VN-2 LN- 3 B D 1 . . L1 V2 L2 V3 L3 V4 LN-1 1 2 3 N N-1 N-2 VN VN-1LN- 2 VN-2 LN- 3 B D LOCiz LOCizFf Ff z i ii LOCi i LOCi i         1,0 0- 1 if Optimal Feedtray Location (Cont) MINLP Formulation Min cost st MESH eqtns Viswanathan & Grossmann (1990) MINLP DICOPT: AP-Outer Approximation-ER F Remark: MINLP solves as relaxed NLP! Feed tray composition tends to match composition of feed iz
  • 129.
    129 Optimization of Numberof Trays Discrete variables: Number of trays, feed tray location. Continuous variables: reflux ratio, heat loads, exchanger areas, column diameter. No liquid on tray No vapor on tray Existing trays Vapor Flow Liquid Flow Viswanathan & Grossmann (1993) Zero flows- Discontinuities appear, convergence difficulties. Redundant equations are solved- Increases CPU time. Non-existing tray Non-existing tray 1=mzr 1=nzb 1,0=izb MINLP => Number trays 1,0=izr
  • 130.
    130 Disjunctive Programming Model Permanenttrays: Feed, reboiler, condenser Conditional trays: Intermediate trays might be selected or not. Conditional trays Permanent trays Trays not allowed to “disappear” from column: VLE mass transfer if selected. No VLE, trivial mass/energy balance if not selected -OR-VLE NOT VLE (tray bypass) Disjunction Yeomans & Grossmann (2000)
  • 131.
    131 Condenser Tray (permanent) Rectification Trays (conditional) FeedTray (permanent) Stripping Trays (conditional) Reboiler Tray (permanent)Heavy Product Feed Light Product } -OR- -OR- -OR- -OR- } Vapor Flow Liquid Flow Equilibrium Stage Non-equilibrium Stage Single Column GDP Model •Permanent and conditional trays: MESH equations for condenser, reboiler and feed trays Mass & energy balances for rectification and stripping trays. •Conditional trays only: Apply VLE constraints (Yn=True) or not (Yn=False) Use disjunctions as modeling tool.
  • 132.
    132 Logic-based OA Algorithm MasterProblem (MILP) Subproblem (NLP) Selection of Disjunctions Converge? Solution Initial Subproblems (NLP) Linearization of Nonlinear Equations Big-M form of linear disjunctions Pre- Processing MILP form of Disjunctive equations Continuous variables for Initialization Discrete variables Selected Equations YES NO Initialization OAAlgorithm Data flow Algorithm cycle Implemented in GAMS CPLEX/CONOPT Turkay, Grossmann (1996)
  • 133.
    133 Example GDP GDP Formulation Mixture:Methanol/Ethanol/water Feed Flow= 10 mol/sec Feed composition= 0.2/0.2/0.6 P = 1.01 bar Product Specification: products composition reversible model Upper bound No. Trays: 60 Methanol/ethanol/water - GDP: fixed tray location Preprocessing Phase: NLP tray-by-tray Models Continuous Variables 1597 Constraints 1544 Total CPU time (s) 1.12 Model Description Continuous Variables 2933 Binary Variables 60 Constraints 2862 Nonlinear nonzero elements 5656 Number of iterations 10 NLP CPU time (s) 9.14 MILP CPU time (s) 16.97 Total CPU time (s) 401 Optimal Solution Total number of trays 41 Feed tray 20 Column diameter (m) 0.51 Condenser duty (KJ/s) 387.4 Reboiler duty (KJ/s) 386.5 Objective value ($/yr) 117,600 GAMS PIII, 667 MHz. with 256 MB of RAM. CONOPT2 NLP subproblems/ CPLEX MILP subproblems.
  • 134.
    134 Global Optimization Algorithms •Most algorithms are based on spatial branch and bound method (Horst & Tuy, 1996) •Nonconvex NLP/MINLP BB (Adjiman, Androulakis & Floudas, 1997; 2000) BARON (Branch and Reduce) (Ryoo & Sahinidis, 1995, Tawarmalani and Sahinidis (2002)) OA for nonconvex MINLP (Kesavan et al., 2004) Branch and Contract (Zamora & Grossmann, 1999) Couenne (COIN-OR) (Belotti & Margot, 2008) •Nonconvex GDP Two-level Branch and Bound (Lee & Grossmann, 2001) Bilinear/Concave (Ruiz, Grossmann, 2010)
  • 135.
    135 Spatial Branch andBound to obtain the Global Optimum ► Guaranteed to converge to global optimum given a certain tolerance between lower and upper bounds
  • 136.
    136 Objective Multiple minima Lower bound LB LB LB UB= Upper bound LB < UB LB > UB LB < UB Global optimum search Branch and bound tree
  • 137.
    137 Nonconvex GDP    Ω ,0)( 0)( )(min 1 falsetrue,Y Rc,Rx trueY Kk γc xg Y Jj xs.t. r xfcZ jk k n jkk jk jk k k k                      Objective Function Common Constraints Disjunctions Logic Propositions OR operator f, g and r: nonconvex
  • 138.
    138 • Introducing convexunderestimators Convex Underestimator GDP (R)     convexgandrf falsetrue,Y Rc,Rx trueY Kk γc xg Y J xrs.t. xfcZ jk k n jkk jk jk k k k j :, Ω ,0)( 0)( )(min 1                      Convex underestimators Bilinear: Linear McCormick (1976), Al-Khayyal (1992) Linear fractional: Convex nonlinear Quesada and Grossmann (1995) Concave separable: Linear secant Problem (R) yields a valid lower bound to Problem (GDP)
  • 139.
    139 Convex envelopes Concave function xba Secantg(x) [ ( ) ( )] ( ) ( ) ( ) f b f a g x f a x a b a      f(x)
  • 140.
    140 Bilinear w = xy LU L U x x x y y y    ( ) 0, ( ) 0L L x x y y    ( )*( ) 0L L x x y y   L L L L w xy x y y x x y    Valid underestimator Convex envelope L L L L U U U U L U L U U L U L w x y y x x y w x y y x x y w x y y x x y w x y y x x y             McCormick convex envelopes
  • 141.
    141 LULU ULUL UUUU iLLiLL yxxyyxw yxxyyxw yxxyyxw yxxyyxw     Convex envelopes bilinear term ULUL yyyxxxxyw , Bilinear terms w=xy McCormick (1976) under/over estimators Underestimators Overestimators x y For other convex envelopes/underestimators see: Tawarmalani, M. and N. V. Sahinidis, Convexification and Global Optimization in Continuous and Mixed-Integer Nonlinear Programming: Theory, Algorithms, Software, and Applications, Vol. 65, Nonconvex Optimization And Its Applications series, Kluwer Academic Publishers, Dordrecht, 2002
  • 142.
    142 Synthesis of IntegratedProcess Water Systems WATER → One of MOST IMPORTANT resources used in process industry How to synthesize a network involving water reuse and decentralized water treatment that will: a) Reduce consumption of freshwater b) Minimize cost => Global Optimization Problem PU1 PU2 PU3 TU1 TU2 Freshwater Freshwater Freshwater 40 ton/hr 50 ton/hr 60 ton/hr 150 ton/hr 150 ton/hr 150 ton/hr (1 ppm A, 1.16 ppm B) Conventional water network: centralized Freshwater consumed: 150 ton/hr Process units Treatment units Karuppiah, Grossmann (2006)
  • 143.
    143 Superstructure for integrating WaterUsing/Treating Units S1 PU1 PU2 S2 S3 TU1 TU2 S4 S5 Freshwater M1 M2 M3 M4 M5 Discharge S1 PU1 PU2 S2 S3 TU1 TU2 S4 S5 Freshwater M1 M2 M3 M4 M5 Discharge S1 PU1 PU2 S2 S3 TU1 TU2 S4 S5 Freshwater M1 M2 M3 M4 M5 Discharge Integrated Water Network with reuse and recycle flows is proposed S1 PU1 PU2 S2 S3 TU1 TU2 S4 S5 Freshwater M1 M2 M3 M4 M5 Discharge PU  Superstructure consists of 1. Mixers (MU) 2. Splitters (SU) 3. Process Units (PU) 4. Treatment Units (TU) TU M S
  • 144.
    144 Superstructure of IntegratedWater System S1 PU1 PU2 PU3 S2 S3 S4 TU1 TU2 TU3 S5 S6 S7 Freshwater M1 M2 M3 M5 M6 M7 M4 To M 1 ToM2 To M 1 To M 1 To M 3 To M2 To M 3 To M6 To M 3 To M4 ToM2  Superstructure is formulated as a Non-Linear Programming (NLP) problem (Bilinear) and solved with novel global optimization algorithm Example : 3 Process Unit - 3 Treatment Unit system Discharged into environment  Generalize superstructure development to system with arbitrary number of Process / Treatment Units
  • 145.
    145 Mixer Units Overall MaterialBalance (2) Contaminant Balance (3) out i mi k mkMUmFF in   , Bilinearities out mi i j ik j k mkMUmjCFCF in   ,,         outout ti TUt it ti TUt it FW FOCHFICARFWHC  H = Hours of operation of plant per annum (hrs) CFW = Cost of freshwater ($/ ton) ICt ( Fi ) = Investment cost of a treatment unit t ($) OCt Fi = Operating cost of a treatment unit t ($/ hr) AR = Annualized factor for investment on treatment units Min Objective Function Min     outti TUt i FFW FW = Freshwater intake into the system ( ton/ hr) . . . i min k moutMixer Unit m MU   (1) Model Equations
  • 146.
    146 Splitter Units Total flowBalance (4) Composition Balance (5) Process Units Flow Balance (6) Contaminant Balance (7) Treatment Units Flow Balance (8) Contaminant Balance (9) in si ik skSUsFF out   , inout k j i j sksiSUsjCC  ,,, outin pik pkpiPUpPFF  ,, outin k j pp j i j p pkpiPUpjCPLCP  ,,,103 inout ik tktiTUtFF  ,, inout k j t j i j tktiTUtjCC  ,,, 100 (%)unit tinjpollutantforRatioRemoval 1k j Contaminants Contaminants Splitter Unit s SU k sin . . . i sout    Process Unit p PU k pout i pin    Treatment Unit t TU i tout k tin    Model Equations
  • 147.
    147 ( Quesada &Grossmann, 1995)  NLP is non-convex due to presence of Bilinearities (F*C) and Concave Costs − May have multiple local optima Can in principle apply BARON Problem: weak lower bounds Optimization of the Superstructure   jffL out j tk TUt k j t j PUp p j in     110 3 Valid Cuts Overall mass balance of each component Greatly strengthens lower bound WATER http://newton.cheme.cmu.edu/interfaces
  • 148.
    148 Synthesis of Integratedwater system with 4 Process Units and 2 Treatment Units Process Unit data Treatment Unit data Environmental discharge limit for both contaminants = 10 ppm Unit Flowrate (ton/hr) Discharge Load (Kg/hr) A B Max Inlet Conc (ppm) A B PU1 40 1 1.5 0 0 PU2 50 1 1 50 50 PU3 60 1 1 50 50 PU4 70 2 2 50 50 Annualized factor for investment (AR) = 0.1 Hours of operation of plant per annum (H) = 8000 hrs Cost of Freshwater ( CFW ) = 1 $ / ton Unit Removal ratio (%) A B IC (Inv. Cost Coeff) OC (Op. Cost Coeff)  TU1 95 0 16800 1 0.7 TU2 0 90 12600 0.0067 0.7 Numerical Example
  • 149.
    149Objective Function valuefor the Conventional Network = $ 2,796,094/yr Conventional Network Integrated Network GLOBAL OPTIMUM = $874,057/yr vs LOCAL OPTIMUM = $948,749/yr SU1 PU2 PU3 SU3 SU4 TU2 SU6 60 50 60 72.38 50 36.57 Freshwater PU4 PU1 SU2 SU5 TU1 SU7 40 40 70 40 70 61.85 61.85 2.0372.38 70 15.45 44.55 6 1 .8 5 2 .3 8 MU1 MU2 MU3 MU4 MU5 MU6 MU7 Discharge10.66 39.6 35.56 9.44 15.84 2.81 0.3 0.06 0.34 1.4 5.39 PU1 PU2 PU3 TU1 TU2 Freshwater Freshwater Freshwater 40 ton/hr 50 ton/hr 60 ton/hr 118.33 ton/hr 118.33 ton/hr PU470 ton/hr Freshwater (9.05 ppm A, 10.0 ppm B) 40 ton/hr 41.67 ton/hr 60 ton/hr 70 ton/hr 8.33 ton/hr 40 ton/h 40 ton/h 220 ton/h Optimal Design of Water Network NLP: 159 variables, 138 constraints 1 nodes, 0.9secs vs > 40,000 secs (BARON no cuts)8% cheaper
  • 150.
    150 - Global optimizationtechniques find the global optimum by sequentially approximating the non-convex problem with a convex relaxation Global Optimum - Tighter formulations lead to more efficient algorithms Convex Relaxation Tighter Relaxation Finding strong relaxations is a key element in 1. Global Optimization 2. Efficient solution of convex MINLP problems Lower Bound Global Optimization of MINLP
  • 151.
    Carnegie Mellon 151 Generalized DisjunctivePrograms (Bilinear/Concave) Raman & Grossmann (1994)   Kk kcxfZ )( Ω(Y)= True Disjunctions Logic Propositions Objective Function 0)( xg kDi              )( 0)( xc xr Y ikk ik ik  Min s.t. Global Constraints k K e}{True,Fals,YR,cRx ikk n  1 i Dk , k K Non Convex Bilinear Concave - Combination of algebraic equations, disjunctions and logic propositions - “Natural” representation of engineering problems Goal : Develop efficient algorithms for bilinear and concave GDP with improved relaxations => stronger lower bounds global optimum
  • 152.
    Carnegie Mellon 152 Proposed frameworkto obtain stronger relaxations for nonconvex GDP (Bilinear and Concave GDP) The framework consists of two main phases: 1- Generate a valid Linear Generalized Disjunctive Program relaxation for the nonconvex GDP problem (e.g. bilinear and concave).* 2- Strengthen the continuous relaxation of the linear GDP obtained in phase 1 by applying a set of basic steps Basic idea: Based on relaxation of the nonconvex GDP as a linear GDP exploit the theory behind DP to obtain stronger relaxations. The hierarchy of relaxations obtained by the application of basic steps is valid for the original nonconvex GDP problem Ruiz, Grossmann (2010) *For nonlinear convex envelopes generate valid Convex GDP
  • 153.
    Carnegie Mellon 153 Proposed Framework(Phase 1) Tawarmalani & Sahinidis, 2002 GDPRLP is a valid Linear GDP relaxation for GDPNC Linear GDP RelaxationNonconvex GDP Polyhedral Relaxation (e.g. McCormick convex Envelopes, secant)
  • 154.
    154 Hence applying Theorem4.3 (Balas, 1979) Equivalence in LGDP representations Inclusion of nonconvex GDP in LGDP Proposed Framework (Phase 2) Valid Hierarchy of Relaxations Valid Hierarchy of Relaxations for GDPNC
  • 155.
    Carnegie Mellon 155 0 F X0 1 Demand                1 11 11 11 CpCP XXX XF Y UPLO                  2 22 22 21 CpCP XXX XF Y UPLO  MinZ = -qFX + gF + CP CP,X,F FLO ≤ F ≤ FUP Y11, ,Y21 {True, False} FX ≤ d Y11  Y21 = True R  s.t. I II Conversion Feasible Region F: Flow X: Conversion Demand constraint Selection Reactor Objective Function (- Profit) Illustrative Example: Optimal reactor selection I GDP Formulation 8 Optimum Z* = -1.01 A B
  • 156.
    Carnegie Mellon 156 P ≤d Max Z = qP - gF – CP F X 8 0 0 1                1 11 11 11 CpCP XXX XF Y UPLO                  2 22 22 21 CpCP XXX XF Y UPLO    Min Z = -qFX + gF + CP CP,X,F FLO ≤ F ≤ FUP Y11, ,Y21 {True, False} FX ≤ d Y11  Y21 = True R s.t. P ≤ F.XLO + FUP.X - FUP.XLO P ≤ F.XUP + FLO.X – FLO.XUP P ≥ F.XLO + FLO.X – FLO.XLO P ≥ F.XUP + FUP.X – FUP.XUP s.t. Relaxation (No Basic Steps) I II Bilinear Terms Convex Envelopes Convex Hull Relaxation Illustrative Example: Optimal reactor selection I Lee & Grossmann (2003) Relaxation Lower bound Z* = -1.28 < -1.01
  • 157.
    Carnegie Mellon 157 Convex Hull Relaxation                                     2 22 22 21 ... ... ... ... CpCP XXX XF XFXFXFP XFXFXFP XFXFXFP XFXFXFP dP Y UPLO UPUPUPUP LOLOLOLO LOUPUPLO UPLOLOUP  FX ≤d                                     1 11 11 11 ... ... ... ... CpCP XXX XF XFXFXFP XFXFXFP XFXFXFP XFXFXFP dP Y UPLO UPUPUPUP LOLOLOLO LOUPUPLO UPLOLOUP  P ≤ d Min Z = -P F + CP F X 8 0 0 1                1 11 11 11 CpCP XXX XF Y UPLO                  2 22 22 21 CpCP XXX XF Y UPLO    Min Z = -FX F + CP CP,X,F FLO ≤ F ≤ FUP Y11, ,Y21 {True, False} Y11  Y21 = True R s.t. P ≤ F.XLO + FUP.X - FUP.XLO P ≤ F.XUP + FLO.X – FLO.XUP P ≥ F.XLO + FLO.X – FLO.XLO P ≥ F.XUP + FUP.X – FUP.XUP s.t.  Relaxation (Basic Steps) I II Bilinear Terms Convex Envelopes Basic Step Illustrative Example: Optimal reactor selection I Proposed Relaxation Lower bound Z* = -1.1 < -1.01 and tighter than -1.28!
  • 158.
    Carnegie Mellon 158 F X 8 0 0 1 Actual Feasible Region Relaxation (NoBasic Steps) Relaxation (Basic Steps) The application of basic step prior to the discrete relaxation leads to a tighter relaxed feasible region = > stronger lower bounds Illustrative Example: Optimal reactor selection I Comparison of Relaxations
  • 159.
    Carnegie Mellon 159 Dimensions ofTest Problems Bilinear Terms Concave Functions Discrete Variables Continuous Variables Example 1 1 0 2 3 Example 2 0 2 2 5 Example 3 4 9 9 8 Example 4 36 0 9 114 Example 5 24 0 9 76 1- Optimal Reactor selection I 2- Optimal Reactor selection II 3- HEN with investment cost - multiple size Regions (Turkay & Grossmann, 1996) 4- Water Treatment Network Design problem (Galan & Grossmann, 1998) 5- Pooling Network Design problem (Lee & Grossmann, 2003) Examples
  • 160.
    Carnegie Mellon 160 R1 R2 Superstructure ofReactor Network No. of cont. vars. : 3 No. of disc. vars. : 2 No. of bilinear terms: 1 No. of concave functions: 0 Optimal selection R2 Generalized Disjunctive Program Example 1: Optimal Reactor selection I )( CPFFXZMin   dFXts ..                1 11 11 11 CpCP XXX XF Y uplo                  2 22 22 21 CpCP XXX XF Y uplo  2111 YY  },{,,,,, 2111 1 FalseTrueYYFFFRCPFX uplo  Z* = -1.01 Bilinear GDP
  • 161.
    Carnegie Mellon 161 R1 R2 CpZMin  21FcFcFa ..ts                11 1 7.0 1 11 1 UPLO FaFaFa FaCp FbFa Y                   22 2 7.0 2 22 2 UPLO FaFaFa FaCp FbFa Y   UPLO DcFcDc 111  UPLO DcFcDc 222  UPLO FaFaFa  Superstructure of Reactor Network No. of cont. vars. : 5 No. of disc. vars. : 2 No. of bilinear terms: 0 No. of concave functions: 2 Optimal selection R1 21 YY  Generalized Disjunctive Program Example 2: Optimal Reactor selection II Z* = 6.31 Concave GDP
  • 162.
    Carnegie Mellon 162 HX1 HX2 HX3 HeatExchanger Network huoutcccuouthh i i CTTFCPCTTFCPCPZMin )()( 21   2 )()( )( 12 111 incinh inhh TTTT UATTFCP   2 )()( )( 1 221 outcwouthincw inhh TTTT UATTFCP   2 )()( )( 2 332 outcss outcc TTTT UATTFCP   )()( 21 inccinhh TTFCPTTFCP              up i lo iiii i AAA ACP Y 11 1 6.0 1 1              up i lo iiii i AAA ACP Y 22 2 6.0 2 2              up i lo iiii i AAA ACP Y 33 3 6.0 3 3  ..ts 3,2,1iTrueYYY iii  321 uplo TTT 222  uplo TTT 111  No. of cont. vars. : 8 No. of disc. vars. : 9 No. of bilinear terms: 4 No. of concave functions: 9 Generalized Disjunctive Program Optimal Objective Example 3: Heat exchanger network design Z* = 114384.78 Bilinear/Concave GDP
  • 163.
    Carnegie Mellon 163 Process superstructure MinZ = PUk kCP   kMi j i j k ff j MUk    kSi j k j i ff j SUk    kSi k i 1 SUk  j k k i j i ff  j kSi  SUk  j k j i ff ,0  kji ,, 10  k i kj, kDh PUk },{ falsetrueYP h k  kCP0 s.t.                    kikk k j j ik kk j i jh k j i h k Dh FCP OPUifF jIPUiOPUiff YP k , ,',,' PUk  k Generalized Disjunctive Program A/B/C G/H/I S4 S5 S6 M1 M2 M3 S1 S2 S3 M4D/E/F Optimal structure Z* = 1214 A S4 S5 M1 M2 S1 S2 S3 M4D No. of cont. vars. : 114 No. of disc. vars. : 9 No. of bilinear terms: 36 Bilinear GDP (bilinear outside disjunction) Example 4: Water Treatment Network design
  • 164.
    Carnegie Mellon 164                                         jj Kk k j Ii ijw k jjkw Kk Ii ijwjkw Ii Ww ijw lo j CP KkWwff Wwff ff YP    1 ,, ,                Jj Ii Jj Ii Ww Kk Jj Ww jkwkijwijij fdfcCSTCP        Kk Ww jkw Ii Ww ijw ff Jj  0   k Jj Ww jkw Sf Kk    Ww ijwiwijw ff ' ' WwJjIi  ,,       Jj Jj Ww jkwkwjkw fZf ' ' 0 WwKk  , Min Z = s.t.                   ii Jj Ww ijw lo i CST ff YST               0 0 i ijw i CST f YST Ii                      jj jkw ijw j CP WwKkf WwIif YP  ,,0 ,,0 Jj  up ijwjkw k j fff  ,0;10  },{,;,0 falsetrueYPYSTCPCST jiji  Generalized Disjunctive ProgramProcess superstructure S1 S2 S3 S4 S5 P1 P2 P3 P4 1 2 3 Stream i Pool j Product k Optimal structure Z* = -4640 S1 S2 S5 P1 P3 1 2 3 Stream i Pool j Product k No. of cont. vars. : 76 No. of disc. vars. : 9 No. of bilinear terms: 24 Example 5: Pooling network design Bilinear GDP (bilinear inside disjunction)
  • 165.
    Carnegie Mellon 165 Relaxation Results Global Optimum LowerBound Hull Relaxation Lower Bound Basic Steps DNF Lower Bound Example 1 -1.01 -1.28 -1.10 -1.10 Example 2 6.31 5.65 6.08 6.08 Example 3 114384.78 91671.18 94925.77 97858.86 Example 4 1214.87 400.66 431.90 431.90 Example 5 -4640 -5515 -5468 -5241 Remarks - Note in examples 1, 2 and 4 the lower bound is the same as the lower bound of the DNF Often, it is not necessary to reach the DNF form to have good lower bounds. -Proposed methodology leads to improvements in the lower bounds => 31% gap reduction -The lower bound of the DNF is the best lower bound attainable for a given LGDP.
  • 166.
    Carnegie Mellon 166 Global OptimizationMethodology GDP reformulation Apply basic steps following the rules presented Bound Contraction (Zamora & Grossmann, 1999) Spatial Branch and Bound (Lee & Grossmann, 2001) Yj Yj Disjunctive B&B Spatial B&B Feasible discrete
  • 167.
    Carnegie Mellon 167 Computational Performance Remarks -Proposedrelaxation led to a significant bound contraction at the root node. - 44% reduction number of nodes, 23% reduction CPU time tighter relaxation but increased size of proposed relaxation Global Optimization Technique using Hull Relaxation Global Optimization Technique using Proposed Relaxation Global Optimum Nodes Bound contract. (% Avg) CPU Time (sec) Nodes Bound contract. (% Avg) CPU Time (sec) Example 1 -1.01 5 35 2.1 1 38 1.4 Example 2 6.31 1 33 1.0 1 33 1.0 Example 3 114384.78 13 85 11.0 1 99 6.0 Example 4 1214.87 450 8 217 227 16 139 Example 5 -4640 502 1 268 497 1 285 Size of the LP Relaxation (Hull Relaxation) Size of the LP Relaxation (Proposed) Constraints Variables Constraints Variables Example 1 23 15 28 15 Example 2 24 14 31 18 Example 3 87 52 206 106 Example 4 544 346 3424 1210 Example 5 3336 1777 4237 1777