Professional Documents
Culture Documents
Jeff Linderoth
ISE Department Lehigh University jtl3@lehigh.edu
MINLP
New Math
MI
MINLP
New Math
MI +
NLP
MINLP
New Math
MI +
NLP =
MINLP
MINLP
MINLP
MINLP
MINLP
MINLP
MINLP
MINLP
MINLP
f, c smooth (convex) functions X, Y polyhedral sets, e.g. Y = {y [0, 1]p | Ay b} y Y integer hard problem
MINLP
f, c smooth (convex) functions X, Y polyhedral sets, e.g. Y = {y [0, 1]p | Ay b} y Y integer hard problem f, c not convex very hard problem
MINLP
Why the N?
An anecdote: July, 1948. A young and frightened George Dantzig, presents his newfangled linear programming to a meeting of the Econometric Society of Wisconsin, attended by distinguished scientists like Hotelling, Koopmans, and Von Neumann. Following the lecture, Hotellinga pronounced to the audience:
MINLP
Why the N?
An anecdote: July, 1948. A young and frightened George Dantzig, presents his newfangled linear programming to a meeting of the Econometric Society of Wisconsin, attended by distinguished scientists like Hotelling, Koopmans, and Von Neumann. Following the lecture, Hotellinga pronounced to the audience: But we all know the world is nonlinear!
in Dantzigs words a huge whale of a man
a
MINLP
Why the N?
An anecdote: July, 1948. A young and frightened George Dantzig, presents his newfangled linear programming to a meeting of the Econometric Society of Wisconsin, attended by distinguished scientists like Hotelling, Koopmans, and Von Neumann. Following the lecture, Hotellinga pronounced to the audience: But we all know the world is nonlinear!
in Dantzigs words a huge whale of a man
a
MINLP
Why the N?
An anecdote: July, 1948. A young and frightened George Dantzig, presents his newfangled linear programming to a meeting of the Econometric Society of Wisconsin, attended by distinguished scientists like Hotelling, Koopmans, and Von Neumann. Following the lecture, Hotellinga pronounced to the audience: But we all know the world is nonlinear!
in Dantzigs words a huge whale of a man
a
and Properties
Equilibrium Enthalpy
MINLP
Why the N?
An anecdote: July, 1948. A young and frightened George Dantzig, presents his newfangled linear programming to a meeting of the Econometric Society of Wisconsin, attended by distinguished scientists like Hotelling, Koopmans, and Von Neumann. Following the lecture, Hotellinga pronounced to the audience: But we all know the world is nonlinear!
in Dantzigs words a huge whale of a man
a
and Properties
Equilibrium Enthalpy
MINLP
MINLP
MINLP
MINLP
1. Convince the user that he or she does not wish to solve a mixed integer nonlinear programming problem at all!
MINLP
1. Convince the user that he or she does not wish to solve a mixed integer nonlinear programming problem at all! 2. Otherwise, solve the continuous relaxation (N LP ) and round o the minimizer to the nearest integer.
MINLP
1. Convince the user that he or she does not wish to solve a mixed integer nonlinear programming problem at all! 2. Otherwise, solve the continuous relaxation (N LP ) and round o the minimizer to the nearest integer.
Sometimes a continuous approximation to the discrete
continuous approximation to the discrete decision is not accurate enough for practical purposes.
Conclusion: MINLP methods must be studied!
Leyer & Linderoth MINLP
MINLP
MINLP
MINLP
xilm = 1
l=1 m=1
i I
www.mcs.anl.gov/~leyffer/MacMINLP/
MINLP
MINLP
MINLP
: Friction Factor
MINLP
MINLP
cj sj
subject to fij
j|(i,j)A j|(j,i)A
fji = si =
i N
MINLP
MINLP
MINLP
This trick only works because 1. p2 terms appear only in the bound constraints i 2. Also fij 0 (i, j) Aa
2 This model is nonconvex: sign(fij )fij is a nonconvex function
Leyer & Linderoth MINLP
zij
Note that
1 fij 0 0 fij 0
sign(fij ) = 2zij 1
Write constraint as
2 (2zij 1)fij ij (i j ) = 0.
MINLP
fij < 0
2 fij ij (j i ) 2 fij ij (j i )
2 m fij (i j ) M
2 l fij (j i ) L
MINLP
fij < 0
2 fij ij (j i ) 2 fij ij (j i )
2 m fij (i j ) M
2 l fij (j i ) L
Example
2 fij > 0 zij = 1 fij (i j )
MINLP
fij < 0
2 fij ij (j i ) 2 fij ij (j i )
2 m fij (i j ) M
2 l fij (j i ) L
Example
2 fij > 0 zij = 1 fij (i j )
fij F zij
MINLP
fij < 0
2 fij ij (j i ) 2 fij ij (j i )
2 m fij (i j ) M
2 l fij (j i ) L
Example
2 fij > 0 zij = 1 fij (i j )
fij F zij
2 fij + M zij M + ij (i j )
Leyer & Linderoth MINLP
is positive
yij {0, 1}: Indicator if
ow is negative
fij fij zij + yij 2 fij + M zij 2 fij + mzij 2 fij + Lyij 2 fij + lyij
F zij F yij 1 M + ij (i j ) m + ij (i j ) L + ij (j i ) l + ij (j i )
MINLP
MINLP
MINLP
nonlinear function by piecewise linear segments, but searching for the globally optimal solution: Special Ordered Sets of Type 2
If the multidimensional nonlinearity cannot be removed,
Portfolio Management
N : Universe of asset to purchase xi : Amount of asset i to hold B: Budget
min
xR+
|N |
u(x) |
iN
xi = B
MINLP
Portfolio Management
N : Universe of asset to purchase xi : Amount of asset i to hold B: Budget
min
xR+
|N |
u(x) |
iN
xi = B
Markowitz: u(x) = T x + xT Qx : Expected returns Q: Variance-covariance matrix of expected returns : Risk aversion parameter
Leyer & Linderoth MINLP
def
MINLP
iN
def
i N
yi K
Leyer & Linderoth MINLP
MINLP
MINLP
iN ci ti 2 iN i ti in
in objective objective
MINLP
Making Plays
Suppose that the stocks are partitioned into sectors
S1 N, S2 N, . . . SK N The Fund Manager wants to invest all money into one sector play
iSk
xi > 0
jN \Sk
xj = 0
Modeling Choices
Aggregated : xi Bzk k
iSk jN \Sk
MINLP
Making Plays
Suppose that the stocks are partitioned into sectors
S1 N, S2 N, . . . SK N
The Fund Manager wants to invest all money into one sector
play
iSk
xi > 0
jN \Sk
xj = 0
Modeling Choices
Disaggregated : xi ui zi i N zi = 1 invest in asset i xj + uj zi uj j | i Sk , j Sk
MINLP
Making Plays
Suppose that the stocks are partitioned into sectors
S1 N, S2 N, . . . SK N
The Fund Manager wants to invest all money into one sector
play
iSk
xi > 0
jN \Sk
xj = 0
Modeling Choices
Disaggregated : xi ui zi i N zi = 1 invest in asset i xj + uj zi uj j | i Sk , j Sk
(Kocis and
M : Batch Processing Stages N : Dierent Products H: Horizon Time Qi : Required quantity of product i tij : Processing time product i stage j Sij : Size Factor product i stage j
MINLP
(Kocis and
M : Batch Processing Stages N : Dierent Products H: Horizon Time Qi : Required quantity of product i tij : Processing time product i stage j Sij : Size Factor product i stage j Bi : Batch size of product i N Vj : Stage j size: Vj Sij Bi i, j Nj : Number of machines at stage j Ci : Longest stage time for product i: Ci tij /Nj i, j
Leyer & Linderoth MINLP
min
jM
j Nj Vj
Modeling Trick #2
Horizon Time and Objective Function Nonconvex. :-(
MINLP
Modeling Trick #2
Horizon Time and Objective Function Nonconvex. :-( Sometimes variable transformations work!
MINLP
Modeling Trick #2
Horizon Time and Objective Function Nonconvex. :-( Sometimes variable transformations work!
j eNj +j Vj
0 i N, j M ln(ij ) i N, j M H
MINLP
1 Nj N j
j M
Ykj =
K
nj
k=1
ln(k)Ykj
K
= 0 = 1
j M j M
Ykj
k=1
~leyffer/macminlp/problems/batch.mod
Leyer & Linderoth MINLP
forms convex.
Key: If y {0, 1}, then y = y 2 , so add a large enough
0.
MINLP
MINLP
MINLP
Branch-and-Bound
Solve relaxed NLP (0 y 1 continuous relaxation) . . . solution value provides lower bound
integer feasible etc.
Branch on yi non-integral Solve NLPs & branch until 1. Node infeasible ... 2. Node integer feasible ... get upper bound (U ) 3. Lower bound U ...
yi = 1 yi = 0 infeasible
MINLP
Convergence of Branch-and-Bound
x
y*=2.4
c(x)=0
y*
MINLP
Convergence of Branch-and-Bound
x
y*=2.4
c(x)=0
y* y<2 y>3
All NLP problems solved globally & nite number of NLPs on tree Branch-and-Bound converges
MINLP
Convergence of Branch-and-Bound
x
y*=2.4
c(x)=0
y* y<2 y>3
All NLP problems solved globally & nite number of NLPs on tree Branch-and-Bound converges complete enumeration at worst
MINLP
MINLP
... nd yi closest to
1 2
MINLP
MINLP
... nd yi , whose expected change of objective is largest ... estimate e+ , e by keeping track of i i e+ = i where fi
+/
fi+ f f f and e = i i 1 yi yi
MINLP
x x
MINLP
2. best lower bound choose node with least value of parent node fp(n)
minimizes number of NLPs solved
MINLP
= pseudo-costs
MINLP
NLP subproblem yj xed: minimize f (x, yj ) x NLP(yj ) subject to c(x, yj ) 0 xX Main Assumption: f , c are convex
Leyer & Linderoth MINLP
MILP
NLP(y j)
let (xj , yj ) solve NLP(yj ) linearize f , c about (xj , yj ) =: zj new objective variable f (x, y) MINLP (P ) MILP (M )
f(x)
No
... because yi yi = 0 Now sum with (1, i ) optimal multipliers of NLP(yi ) x fi + T ci + ( x fi + x ci i )T ( xi ) i ... KKT conditions: x fi + x ci i = 0 & T ci = 0 i fi contradicts < U fi upper bound each yi Y generated at most once Refs: (Duran and Grossmann, 1986; Fletcher and Leyer, 1994)
Leyer & Linderoth MINLP
1. each yi Y generated at most once & |Y | < nite termination 2. convexity outer approximation convergence to global min
f(x)
Convexity important!!!
MINLP
cj j )T (z zj )
x cj j
=0
& T cj = 0 j
y cj j
multiplier of y = yj in NLP(yj )
MINLP
MINLP
Replace NLP(yi ) solve in OA by linearization about solution of (Mj ) get cutting plane for violated constraint no NLP(yj ) solves ... ... Kelleys cutting plane method instead slow nonlinear convergence: > 1 evaluation per y
f(x)
MINLP
minimize subject to
(y 21 )2 n y {0, 21 , . . . 1} n
Second order master (MIQP): (Fletcher and Leyer, 1994): add Hessian term to MILP (Mi ) becomes MIQP: minimize 1 + (z zi )T W (z zi ) subject to . . . 2
Leyer & Linderoth MINLP
MINLP
MINLP
MINLP
MINLP
exploit good MILP (branch-cut-price) solver (Akrotirianakis et al., 2001) use Gomory cuts in tree-search
no commercial implementation of this idea preliminary results: order of magnitude faster than OA
MINLP
fk +
T fk d + 1 dT Hk d 2
subject to ck + cT d 0 k xk + dx X yk + d y Y .
fk +
T fk d + 1 dT Hk d 2
converge for convex MINLP NB: (QPk ) inconsistent and trust-region active do not fathom
Leyer & Linderoth MINLP
MINLP
MINLP
1. Formulations
Relaxations Good formulations: big M s and disaggregation
2. Cutting Planes
Cuts from relaxations and special structures Cuts from integrality
3. Handling Nonconvexity
Envelopes Methods
MINLP
Relaxations
z(S) = minxS f (x) z(T ) = minxT f (x) Independent of f, S, T :
def def
z(T ) z(S)
S
MINLP
Relaxations
z(S) = minxS f (x) z(T ) = minxT f (x) Independent of f, S, T :
def def
z(T ) z(S)
If x = arg minxT f (x) T
S
And x S, then T
MINLP
Relaxations
z(S) = minxS f (x) z(T ) = minxT f (x) Independent of f, S, T :
def def
z(T ) z(S)
If x = arg minxT f (x) T
S
MINLP
S = {x Zn : Ax b} +
S = {(x1 , x2 ) Z2 : 6x1 + x2 15, + 5x1 + 8x2 20, x2 2} = {(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0)}
MINLP
MINLP
MINLP
P
M
P = {x R+ , z {0, 1} : x M z, x u}
Leyer & Linderoth MINLP
LP Versus Conv
M
LP (P ) = {x R+ , z [0, 1] : x M z, x u}
x 0 M 1 z
MINLP
min
jJ
fj xj +
iI jJ
fij yij
yij
jN
= 1
i I j J i I, j J (1) (2)
yij
iI
|I|xj xj
OR yij
MINLP
min
jJ
fj xj +
iI jJ
fij yij
yij
jN
= 1
i I j J i I, j J (1) (2)
yij
iI
|I|xj xj
OR yij
MINLP
min
jJ
fj xj +
iI jJ
fij yij
yij
jN
= 1
i I j J i I, j J (1) (2)
yij
iI
|I|xj xj
OR yij
MINLP
min
jJ
fj xj +
iI jJ
fij yij
yij
jN
= 1
i I j J i I, j J (1) (2)
yij
iI
|I|xj xj
OR yij
Which formulation is to be preferred? I = J = 40. Costs random. Formulation 1. 53,121 seconds, optimal solution. Formulation 2. 2 seconds, optimal solution.
Leyer & Linderoth MINLP
Valid Inequalities
Sometimes we can get a better formulation by dynamically
improving it.
An inequality T x 0 is a valid inequality for S if
T x 0 x S
Alternatively: maxxS { T x} 0
MINLP
Valid Inequalities
Sometimes we can get a better formulation by dynamically
improving it.
An inequality T x 0 is a valid inequality for S if
T x 0 x S
Alternatively: maxxS { T x} 0 Thm: (Hahn-Banach). Let
S Rn be a closed, convex set, and let x S. Then there exists Rn such that T x > max{ T x}
xS
Leyer & Linderoth
Tx =
0
S
MINLP
Nonlinear Branch-and-Cut
Consider MINLP T T minimize fx x + fy y x,y subject to c(x, y) 0 y {0, 1}p , 0 x U
Note the Linear objective This is WLOG:
min f (x, y)
MINLP
but without a linear objective function, the solution to the relaxation might occur in the interior. No Separating Hyperplane! :-(
y2
(1 , y2 ) y y1
Leyer & Linderoth MINLP
but without a linear objective function, the solution to the relaxation might occur in the interior. No Separating Hyperplane! :-(
y2
(1 , y2 ) y y1
x
0
T x =
MINLP
Simple Relaxations
MINLP
Simple Relaxations
Idea: Consider one row relaxations If P = {x {0, 1}n | Ax b}, then for any row i,
MINLP
Simple Relaxations
Idea: Consider one row relaxations If P = {x {0, 1}n | Ax b}, then for any row i,
MINLP
Simple Relaxations
Idea: Consider one row relaxations If P = {x {0, 1}n | Ax b}, then for any row i,
MINLP
Simple Relaxations
Idea: Consider one row relaxations If P = {x {0, 1}n | Ax b}, then for any row i,
MINLP
Knapsack Covers
K = {x {0, 1}n | aT x b}
A set C N is a cover if
jC
aj > b
MINLP
Knapsack Covers
K = {x {0, 1}n | aT x b}
A set C N is a cover if
jC
aj > b
A cover C is a minimal cover if C \ j is not a cover j C If C N is a cover, then the cover inequality
xj |C| 1
jC
MINLP
Example
K = {x {0, 1}7 | 11x1 + 6x2 + 6x3 + 5x4 + 5x5 + 4x6 + x7 19} LP (K) = {x [0, 1]7 | 11x1 +6x2 +6x3 +5x4 +5x5 +4x6 +x7 19}
(1, 1, 1/3, 0, 0, 0, 0) LP (K) CHOPPED OFF BY x1 + x2 + x3 2 (0, 0, 1, 1, 1, 3/4, 0) LP (K) CHOPPED OFF BY x3 + x4 + x5 + x6 3
MINLP
Other Substructures
Single node ow: (Padberg et al., 1985)
|N | S = x R+ , y {0, 1}|N | |
xj b, xj uj yj j N
jN
S = x R+ , y {0, 1}|N | |
jN
aj yj b + x
integer programs
MINLP
integer programs
Let the columns of A Rmn be denoted by {a1 , a2 , . . . an }
MINLP
integer programs
Let the columns of A Rmn be denoted by {a1 , a2 , . . . an } S = {y Zn | Ay b}. +
MINLP
integer programs
Let the columns of A Rmn be denoted by {a1 , a2 , . . . an } S = {y Zn | Ay b}. + 1. Choose nonnegative multipliers u Rm +
MINLP
integer programs
Let the columns of A Rmn be denoted by {a1 , a2 , . . . an } S = {y Zn | Ay b}. + 1. Choose nonnegative multipliers u Rm + 2. uT Ay uT b is a valid inequality ( jN uT aj yj uT b).
MINLP
integer programs
Let the columns of A Rmn be denoted by {a1 , a2 , . . . an } S = {y Zn | Ay b}. + 1. Choose nonnegative multipliers u Rm + 2. uT Ay uT b is a valid inequality ( jN uT aj yj uT b). T T 3. jN u aj yj u b (Since y 0).
MINLP
integer programs
Let the columns of A Rmn be denoted by {a1 , a2 , . . . an } S = {y Zn | Ay b}. + 1. Choose nonnegative multipliers u Rm + 2. uT Ay uT b is a valid inequality ( jN uT aj yj uT b). T T 3. jN u aj yj u b (Since y 0). T T T 4. jN u aj yj u b is valid for S since u aj yj is an integer
MINLP
integer programs
Let the columns of A Rmn be denoted by {a1 , a2 , . . . an } S = {y Zn | Ay b}. + 1. Choose nonnegative multipliers u Rm + 2. uT Ay uT b is a valid inequality ( jN uT aj yj uT b). T T 3. jN u aj yj u b (Since y 0). T T T 4. jN u aj yj u b is valid for S since u aj yj is an integer Simply Amazing: This simple procedure suces to generate
MINLP
Extension to MINLP
minimize def
z = (x,y)
fT z
y (x y) K
MINLP
Gomory On Cones
LP: Kl = Rn +
MINLP
Gomory On Cones
LP: Kl = Rn +
SOCP: Kq = {(x0 , x) | x0 x } SDP: Ks = {x = vec(X) | X = X T , X p.s.d} Dual Cone: K = {u | uT z 0 z K} Extension is clear from the following equivalence:
def
Az
uT Az uT b u
MINLP
Gomory On Cones
LP: Kl = Rn +
SOCP: Kq = {(x0 , x) | x0 x } SDP: Ks = {x = vec(X) | X = X T , X p.s.d} Dual Cone: K = {u | uT z 0 z K} Extension is clear from the following equivalence:
def
Az
uT Az uT b u
b or Ax
Ks
b
MINLP
MINLP
MINLP
MINLP
1f
is a valid
floor(b)
inequality for X
MINLP
Extension of MIR
X2 = (x+ , x , y) R2 Z|N | | +
The inequality
aj yj + x+ b + x
jN
(aj ) +
jN
(fj f )+ 1f
yj b +
x 1f
is valid for X2
fj = aj aj , (t)+ = max(t, 0) X2 is a one-row relaxation of a general mixed integer program Continuous variables aggregated into two: x+ , x
Leyer & Linderoth MINLP
def
def
P = {(x, y) R2 Z|N | | + aj yj +
jN1 jN2
aj yy b + x +
jN2
(1 fj )yj }
MINLP
P = {(x, y) R2 Z|N | | + aj yj +
jN1 jN2
aj yy b + x +
jN2
(1 fj )yj }
1. Show X2 P 2. Show simple (2-variable) MIR inequality is valid for P (with an appropriate variable substitution). 3. Collect the terms
Leyer & Linderoth MINLP
)
+
(x , x , y0 , y)
R2 +
|N | Z+
| y0 +
X
jN
aj yj + x x = b
fj yj + x+ +
jN1
f x + 1f
(fj
jN2
fj f )yj f 1f
MINLP
MINLP
MINLP
Akrotirianakis et al. (2001) shows modest improvements Research Question: Other cut classes? Research Question: Exploit outer approximation property?
Leyer & Linderoth MINLP
Extension of Disjunctive Cuts for MILP: (Balas, 1979; Balas et al., 1993) Continuous relaxation (z = (x, y))
C = {z|c(z) 0, 0 y 1, 0 x U }
def def
continuous relaxation y
MINLP
Extension of Disjunctive Cuts for MILP: (Balas, 1979; Balas et al., 1993) Continuous relaxation (z = (x, y))
C = {z|c(z) 0, 0 y 1, 0 x U } C = conv({x C | y {0, 1}p })
def def def
convex hull y
MINLP
Extension of Disjunctive Cuts for MILP: (Balas, 1979; Balas et al., 1993) Continuous relaxation (z = (x, y))
C = {z|c(z) 0, 0 y 1, 0 x U } C = conv({x C | y {0, 1}p }) Cj
0/1 def def def def
= {z C|yj = 0/1}
z = 0 u 0 + 1 u 1 def 0 + 1 = 1, 0 , 1 0 let Mj (C) = 0 1 u0 Cj , u1 Cj Pj (C) := projection of Mj (C) onto z Pj (C) = conv (C yj {0, 1}) and P1...p (C) = C
Leyer & Linderoth MINLP
0 Cj
minimize
z
zz
subject to z Pj (C)
z = (, y ) x
Leyer & Linderoth MINLP
0 Cj
= z = 1 0 0.66 1 1.47 1
z = (, y ) x
MINLP
0 Cj
= z = 1 0 0.66 1 1.47 1
z = (, y ) x
MINLP
0 Cj
= z = 1 0 0.66 1 1.47 1
z = (, y ) x
MINLP
0 Cj
z = (, y ) x
NONCONVEX
Leyer & Linderoth MINLP
What to do?
P(c(), ) = c(/) z z
Think of z = z
MINLP
What to do?
P(c(), ) = c(/) z z
Think of z = z
MINLP
1 Cj y
y x
MINLP
Example, cont.
0 Cj = {(z, ) | yj = 0} 1 Cj = {(z, ) | yj = }
MINLP
Example, cont.
0 Cj = {(z, ) | yj = 0}
Take v0 0 u0 v1 1 u1
1 Cj = {(z, ) | yj = }
0 Cj
Example, Cont.
1 Cj
0.19 8x
=
+ 0. 061y = 0.03 2
z
2x + 0.5 2y 0.75
z = (, y ) x
MINLP
Nonlinear Branch-and-Cut
Can do this at all nodes of the branch-and-bound tree Generalize disjunctive approach from MILP solve one convex NLP per cut Generalizes Sherali and Adams (1990) and Lovsz and a
Schrijver (1991)
tighten cuts by adding semi-denite constraint
convex quadratic inequalities, but computational results are not that promising
MINLP
(Raman and
Consider disjunctive NLP fi + f (x) minimize x,Y Yi Yi ci (x) 0 Bi x = 0 i I subject to fi = i fi = 0 0 x U, (Y ) = true, Y {true, false}p Application: process synthesis Yi represents presence/absence of units Bi x = 0 eliminates variables if unit absent Exploit disjunctive structure special branching ... OA/GBD algorithms
Leyer & Linderoth MINLP
(Raman and
Consider disjunctive NLP fi + f (x) minimize x,Y Yi Yi ci (x) 0 Bi x = 0 i I subject to fi = i fi = 0 0 x U, (Y ) = true, Y {true, false}p Big-M formulation (notoriously bad), M > 0: ci (x) M (1 yi ) M yi Bi x M yi fi = yi i (Y ) converted to linear inequalities
MINLP
(Raman and
Consider disjunctive NLP fi + f (x) minimize x,Y Yi Yi ci (x) 0 Bi x = 0 i I subject to fi = i fi = 0 0 x U, (Y ) = true, Y {true, false}p convex hull representation ... x = vi1 + vi0 , i1 + i0 = 1 i1 ci (vi1 /i1 ) 0, Bi vi0 = 0 0 vij ij U, 0 ij 1,
fi = i1 i
MINLP
x2 1
(x1
4)2
convex hull
(x1
2)2
MINLP
bigM
Functional nonconvexity
MINLP
Functional nonconvexity
MINLP
Functional nonconvexity
then branch
MINLP
If nonconvexity in
constraints, may need to overestimate and underestimate the function to get a convex region
MINLP
Envelopes
f :R
Convex Envelope (vex (f )):
MINLP
Envelopes
f :R
Convex Envelope (vex (f )):
individually
MINLP
individually
a region [l, u] overpowering the function with a quadratic function that is 0 on the region of interest
n
L(x) = f (x) +
i=1
i (li xi )(ui xi )
Refs: (McCormick, 1976; Adjiman et al., 1998; Tawarmalani and Sahinidis, 2002)
Leyer & Linderoth MINLP
Bilinear Terms
The convex and concave envelopes of the bilinear function xy over a rectangular region R = {(x, y) R2 | lx x ux , ly y uy } are given by the expressions vexxyR (x, y) = max{ly x + lx y lx ly , uy x + ux y ux uy } cavxyR (x, y) = min{uy x + lx y lx uy , ly x + ux y ux ly }
def
MINLP
MINLP
MINLP
MINLP
Disaggregation
Consider convex problem with bilinear objective minimize w n ci xi i=1 w,x1 ,...,xn subject to (w, x) P Polyhedron 0wv 0xu Formulation #1 min z s.t. (w, x) P 0 z
n
Formulation #2
n
min
i=1
zi
(
i=1
ci ui )w + v(
i=1 n
ci xi ) ci ui ) 0
i=1
Leyer & Linderoth
v(
Disaggregation
Consider convex problem with bilinear objective minimize w n ci xi i=1 w,x1 ,...,xn subject to (w, x) P Polyhedron 0wv 0xu Formulation #2
n
Formulation #2 is better!
min
i=1
zi
Summary
MINLP: Good relaxations are important Relaxations can be improved Statically: Better formulation/preprocessing Dynamically: Cutting planes Nonconvex MINLP: Methods exist, again based on relaxations Tight relaxations is an active area of research Lots of empirical questions remain
MINLP
Special Ordered Sets Parallel BB and Grid Computing Implementation & Software Issues
MINLP
Special Ordered Sets Parallel BB and Grid Computing Implementation & Software Issues
1. Special Ordered Sets 2. Parallel BB and Grid Computing 3. Implementation & Software Issues
MINLP
Special Ordered Sets Parallel BB and Grid Computing Implementation & Software Issues
Special Ordered Sets of Type 1 Special Ordered Sets of Type 2 Special Ordered Sets of Type 3
. . . d is convex combination with coecients i Example 2: nonlinear function c(y) of single integer y= ii and c = c(i)i and {1 , . . . , p } is SOS1
References: (Beale, 1979; Nemhauser, G.L. and Wolsey, L.A., 1988; Williams, 1993) . . .
Leyer & Linderoth MINLP
Special Ordered Sets Parallel BB and Grid Computing Implementation & Software Issues
Special Ordered Sets of Type 1 Special Ordered Sets of Type 2 Special Ordered Sets of Type 3
SOS1:
a < at
a > a t+1
MINLP
Special Ordered Sets Parallel BB and Grid Computing Implementation & Software Issues
Special Ordered Sets of Type 1 Special Ordered Sets of Type 2 Special Ordered Sets of Type 3
SOS1:
Branching on SOS1 1. reference row a1 < . . . < ap e.g. diameters 2. fractionality: a := ai i 3. nd t : at < a at+1 4. branch: {t+1 , . . . , p } = 0 or {1 , . . . , t } = 0
a < at a > a t+1
MINLP
Special Ordered Sets Parallel BB and Grid Computing Implementation & Software Issues
Special Ordered Sets of Type 1 Special Ordered Sets of Type 2 Special Ordered Sets of Type 3
z(x)
MINLP
Special Ordered Sets Parallel BB and Grid Computing Implementation & Software Issues
Special Ordered Sets of Type 1 Special Ordered Sets of Type 2 Special Ordered Sets of Type 3
z(x)
i xi i zi
{1 , . . . , p } is SOS2
Special Ordered Sets Parallel BB and Grid Computing Implementation & Software Issues
Special Ordered Sets of Type 1 Special Ordered Sets of Type 2 Special Ordered Sets of Type 3
SOS2:
x < at
x > at
MINLP
Special Ordered Sets Parallel BB and Grid Computing Implementation & Software Issues
Special Ordered Sets of Type 1 Special Ordered Sets of Type 2 Special Ordered Sets of Type 3
SOS2:
Branching on SOS2 1. reference row a1 < . . . < ap e.g. ai = xi 2. fractionality: a := ai i 3. nd t : at < a at+1 4. branch: {t+1 , . . . , p } = 0 or {1 , . . . , t1 }
x < at
x > at
MINLP
Special Ordered Sets Parallel BB and Grid Computing Implementation & Software Issues
Special Ordered Sets of Type 1 Special Ordered Sets of Type 2 Special Ordered Sets of Type 3
MINLP
Special Ordered Sets Parallel BB and Grid Computing Implementation & Software Issues
Special Ordered Sets of Type 1 Special Ordered Sets of Type 2 Special Ordered Sets of Type 3
ij vi ij wj ij uij
v
MINLP
Special Ordered Sets Parallel BB and Grid Computing Implementation & Software Issues
Special Ordered Sets of Type 1 Special Ordered Sets of Type 2 Special Ordered Sets of Type 3
ij vi ij wj ij uij
v
1=
ij is SOS3 . . .
Leyer & Linderoth MINLP
Special Ordered Sets Parallel BB and Grid Computing Implementation & Software Issues
Special Ordered Sets of Type 1 Special Ordered Sets of Type 2 Special Ordered Sets of Type 3
1. v = 2. w = 3. u =
MINLP
Special Ordered Sets Parallel BB and Grid Computing Implementation & Software Issues
Special Ordered Sets of Type 1 Special Ordered Sets of Type 2 Special Ordered Sets of Type 3
Branching on SOS3
violates set condition
compute centers:
w
v= w=
ij vi & ij wi
nd s, t such that
MINLP
Special Ordered Sets Parallel BB and Grid Computing Implementation & Software Issues
Special Ordered Sets of Type 1 Special Ordered Sets of Type 2 Special Ordered Sets of Type 3
Branching on SOS3
violates set condition
compute centers:
v= w=
ij vi & ij wi
nd s, t such that
vertical branching:
L
ij = 1
R
ij = 1
MINLP
Special Ordered Sets Parallel BB and Grid Computing Implementation & Software Issues
Special Ordered Sets of Type 1 Special Ordered Sets of Type 2 Special Ordered Sets of Type 3
Branching on SOS3
violates set condition
compute centers:
v= w=
ij vi & ij wi
nd s, t such that
horizontal branching:
T
ij = 1
B
ij = 1
MINLP
Special Ordered Sets Parallel BB and Grid Computing Implementation & Software Issues
Special Ordered Sets of Type 1 Special Ordered Sets of Type 2 Special Ordered Sets of Type 3
Branching on SOS3
Example: gas network from rst lecture . . .
pressure loss p across pipe is related to ow rate f as
p2 + 1 sign(f )f 2 out
MINLP
Special Ordered Sets Parallel BB and Grid Computing Implementation & Software Issues
Parallel Branch-and-Bound
meta-computing platforms:
set of distributed heterogeneous computers, e.g.
MINLP
Special Ordered Sets Parallel BB and Grid Computing Implementation & Software Issues
Parallel Branch-and-Bound
Master Worker Paradigm (MWdriver) Object oriented C++ library on top of Condor-PVM
CondorPVM Universe
Master
GLOBAL DATA
Task Pool
T1 T2 T3 T4 T5 T6
Wid
1
Wid
4
Wid W1
2
Wid
3
W4
W2
PVM comm
W3
CondorWorkers
Special Ordered Sets Parallel BB and Grid Computing Implementation & Software Issues
Parallel Branch-and-Bound
First Strategy: 1 worker 1 NLP grain-size too small ... NLPs solve in seconds New Strategy: 1 worker 1 subtree (MINLP) ... streamers running down tree Important: workers remove small tasks ... before returning tree to master
Worker 1
Worker 2
Worker 3
MINLP
Special Ordered Sets Parallel BB and Grid Computing Implementation & Software Issues
Parallel Branch-and-Bound
Trimloss optimization with 56 general integers solve 96,408 MINLPs on 62.7 workers 600,518,018 NLPs
Wall clock time = 15.5 hours Cumulative worker CPU time = 752.7 hours eciency :=
31 days
MINLP
Special Ordered Sets Parallel BB and Grid Computing Implementation & Software Issues
MINLP
Special Ordered Sets Parallel BB and Grid Computing Implementation & Software Issues
Detecting Infeasibility
NLP node inconsistent (BB, OA, GBD) NLP solver must prove infeasibility solve feasibility problem: restoration minimize (F )
x,y
c+ (x, y)
If solution (, y ) such that c+ (, y ) > 0 x x no feasible point (if convex) in neighborhood (if nonconvex)
MINLP
Special Ordered Sets Parallel BB and Grid Computing Implementation & Software Issues
xx yy
c where
norm:
i = 1, and 0 i ci c+
norm: 0 i 1 i c
Special Ordered Sets Parallel BB and Grid Computing Implementation & Software Issues
feasible y=1 x
y = 3 infeasible
MINLP
Special Ordered Sets Parallel BB and Grid Computing Implementation & Software Issues
feasible y=1 x
solution to feasibility problem
MINLP
Special Ordered Sets Parallel BB and Grid Computing Implementation & Software Issues
feasible y=1 x
feasibility cuts for OA
MINLP
Special Ordered Sets Parallel BB and Grid Computing Implementation & Software Issues
Infeasibility in Branch-and-Bound
FilterSQP restoration phase
satisable constraints: J := {j : cj (, y ) 0} x violated constraints J (complement of J)
minimize x,y
cj (x, y)
jJ
subject to cj (x, y) 0 x X, y Y
lter SQP algorithm on c+ and c+ J J
j J
but i 1
MINLP
Special Ordered Sets Parallel BB and Grid Computing Implementation & Software Issues
dual active set method; (, y ) dual feasible x fast re-optimization (MIQP 2-3 pivots!) MILP exploit factorization of constraint basis no re-factorization, just updates . . . also works for MIQP (KKT matrix factorization) interior-point methods not competitive ... how to check i > 0 for SOS branching ??? ... how to warm-start IPMs ???
MINLP
Special Ordered Sets Parallel BB and Grid Computing Implementation & Software Issues
Snag:
c(x, y),
2L
MINLP
Special Ordered Sets Parallel BB and Grid Computing Implementation & Software Issues
Snag:
c(x, y),
2L
MINLP
Special Ordered Sets Parallel BB and Grid Computing Implementation & Software Issues
Snag:
c(x, y),
2L
(, y ) = (xk+1 , y k+1 ) = (xk + dx , y k + dy ) x but KKT system at (xk+1 , y k+1 ) never factorized . . . SQP methods take 2-3 iterations (good active set) Outer Approximation et al. no good warm start (y changes too much) interior-point methods or SQP can be used
Leyer & Linderoth MINLP
Special Ordered Sets Parallel BB and Grid Computing Implementation & Software Issues
MINLP
Special Ordered Sets Parallel BB and Grid Computing Implementation & Software Issues
Special Ordered Sets Parallel BB and Grid Computing Implementation & Software Issues
MINLP
Special Ordered Sets Parallel BB and Grid Computing Implementation & Software Issues
Features:
AMPL branch-and-bound solver variable types: integer, binary, SOS1 variable selection: integrality, priorities node selection: depth-rst & best bound after infeasible node NLP solver: lterSQP feasibility restoration CUTEr interface available
MINLP
Special Ordered Sets Parallel BB and Grid Computing Implementation & Software Issues
MINLP
Special Ordered Sets Parallel BB and Grid Computing Implementation & Software Issues
Online Tools
Model Libraries
MINLP World www.gamsworld.org/minlp/
MINLP
Special Ordered Sets Parallel BB and Grid Computing Implementation & Software Issues
COIN-OR
http://www.coin-or.org
COmputational INfrastructure for Operations Research A library of (interoperable) software tools for optimization A development platform for open source projects in the OR
community
Possibly Relevant Modules: OSI: Open Solver Interface CGL: Cut Generation Library CLP: Coin Linear Programming Toolkit CBC: Coin Branch and Cut IPOPT: Interior Point OPTimizer for NLP NLPAPI: NonLinear Programming API
MINLP
Special Ordered Sets Parallel BB and Grid Computing Implementation & Software Issues
Conclusions
MINLP rich modeling paradigm most popular solver on NEOS Algorithms for MINLP: Branch-and-bound (branch-and-cut) Outer approximation et al.
MINLP
Special Ordered Sets Parallel BB and Grid Computing Implementation & Software Issues
Conclusions
MINLP rich modeling paradigm most popular solver on NEOS Algorithms for MINLP: Branch-and-bound (branch-and-cut) Outer approximation et al. MINLP solvers lag 15 years behind MIP solvers many research opportunities!!!
MINLP
Part V References
MINLP
References
C. Adjiman, S. Dallwig, C. A. Floudas, and A. Neumaier. A global optimization method, aBB, for general twice-dierentiable constrained NLPs - I. Theoretical advances. Computers and Chemical Engineering, 22:11371158, 1998. I. Akrotirianakis, I. Maros, and B. Rustem. An outer approximation based branch-and-cut algorithm for convex 0-1 MINLP problems. Optimization Methods and Software, 16:2147, 2001. E. Balas. Disjunctive programming. In Annals of Discrete Mathematics 5: Discrete Optimization, pages 351. North Holland, 1979. E. Balas, S. Ceria, and G. Corneujols. A lift-and-project cutting plane algorithm for mixed 0-1 programs. Mathematical Programming, 58:295324, 1993. E. M. L. Beale. Branch-and-bound methods for mathematical programming systems. Annals of Discrete Mathematics, 5:201219, 1979. B. Borchers and J. E. Mitchell. An improved branch and bound algorithm for Mixed Integer Nonlinear Programming. Computers and Operations Research, 21(4): 359367, 1994. R. Borndrfer and R. Weismantel. Set packing relaxations of some integer programs. o Mathematical Programming, 88:425 450, 2000. M. R. Bussieck and A. Drud. SBB: A new solver for mixed integer nonlinear programming. In Recent Advances in Nonlinear Mixed Integer Optimization. INFORMS Fall, 2000. Invited talk. M. T. Cezik and G. Iyengar. Cuts for mixed 0-1 conic programming. Mathematical Programming, 2005. to appear.
Leyer & Linderoth MINLP
References
H. Crowder, E. L. Johnson, and M. W. Padberg. Solving large scale zero-one linear programming problems. Operations Research, 31:803834, 1983. D. De Wolf and Y. Smeers. The gas transmission problem solved by an extension of the simplex algorithm. Management Science, 46:14541465, 2000. M. Duran and I. E. Grossmann. An outer-approximation algorithm for a class of mixedinteger nonlinear programs. Mathematical Programming, 36:307339, 1986. R. Fletcher and S. Leyer. Solving mixed integer nonlinear programs by outer approximation. Mathematical Programming, 66:327349, 1994. R. Fletcher and S. Leyer. Numerical experience with lower bounds for MIQP branchandbound. SIAM Journal on Optimization, 8(2):604616, 1998. A. M. Georion. Generalized Benders decomposition. Journal of Optimization Theory and Applications, 10:237260, 1972. I. E. Grossmann and R. W. H. Sargent. Optimal design of multipurpose batch plants. Ind. Engng. Chem. Process Des. Dev., 18:343348, 1979. Harjunkoski, I., Westerlund, T., Prn, R. and Skrifvars, H. Dierent transformations o for solving non-convex trim-loss problems by MINLP. European Journal of Opertational Research, 105:594603, 1998. Jain, V. and Grossmann, I.E. Cyclic scheduling of continuous parallel-process units with decaying performance. AIChE Journal, 44:16231636, 1998. G. R. Kocis and I. E. Grossmann. Global optimization of nonconvex mixedinteger nonlinear programming (MINLP) problems in process synthesis. Industrial Engineering Chemistry Research, 27:14071421, 1988.
Leyer & Linderoth MINLP
References
G. R. Kocis and I. E. Grossmann. Computational experience with DICOPT solving MINLP problems in process systems engineering. Computers and Chemical Engineering, 13(3):307315, 1989. S. Lee and I. Grossmann. New algorithms for nonlinear disjunctive programming. Computers and Chemical Engineering, 24:21252141, 2000. S. Leyer. User manual for MINLP BB. University of Dundee, 1998. S. Leyer. Integrating SQP and branch-and-bound for mixed integer nonlinear programming. Computational Optimization & Applications, 18:295309, 2001. L. Lovsz and A. Schrijver. Cones of matrices and setfunctions, and 0-1 optimization. a SIAM Journal on Optimization, 1, 1991. H. Marchand and L. Wolsey. The 0-1 knapsack problem with a single continuous variable. Mathematical Programming, 85:1533, 1999. A. Martin, M. Mller, and S. Moritz. Mixed integer models for the stationary case of o gas network optimization. Technical report, Darmstadt University of Technology, 2005. G. P. McCormick. Computability of global solutions to factorable nonconvex programs: Part IConvex underestimating problems. Mathematical Programming, 10:147175, 1976. Nemhauser, G.L. and Wolsey, L.A. Integer and Combinatorial Optimization. John Wiley, New York, 1988. M. Padberg, T. J. Van Roy, and L. Wolsey. Valid linear inequalities for xed charge problems. Operations Research, 33:842861, 1985.
Leyer & Linderoth MINLP
References
I. Quesada and I. E. Grossmann. An LP/NLP based branchandbound algorithm for convex MINLP optimization problems. Computers and Chemical Engineering, 16: 937947, 1992. Quist, A.J. Application of Mathematical Optimization Techniques to Nuclear Reactor Reload Pattern Design. PhD thesis, Technische Universiteit Delft, Thomas Stieltjes Institute for Mathematics, The Netherlands, 2000. R. Raman and I. E. Grossmann. Modeling and computational techniques for logic based integer programming. Computers and Chemical Engineering, 18:563578, 1994. N. V. Sahinidis. BARON: Branch and reduce optimization navigator. Technical report, University of Illinois at Urbana-Champaign, Department of Chemical Engineering, 2000. C. A. Schweiger and C. A. Floudas. MINOPT: A modeling language and algorithmic framework for linear, mixed-integer, nonlinear, dynamic, and mixed-integer nonlinear optimization. Technical report, Department of Chemical Engineering, Princeton University, 1998. H. D. Sherali and W. P. Adams. A hierarchy of relaxations between the continuous and convex hull representations for zero-one programming problems. SIAM Journal on Discrete Mathematics, 3:411430, 1990. O. Sigmund. A 99 line topology optimization code written in matlab. Structural Multidisciplinary Optimization, 21:120127, 2001. R. Stubbs and S. Mehrohtra. Generating convex polynomial inequalities for mixed 0-1 programs. Journal of Global Optimization, 24:311332, 2002.
Leyer & Linderoth MINLP
References
R. A. Stubbs and S. Mehrotra. A branchandcut method for 01 mixed convex programming. Mathematical Programming, 86:515532, 1999. M. Tawarmalani, S. Ahmed, and N. Sahinidis. Product disaggregation in global optimization and relaxations of rational programs. Optimization and Engineering, 3:281303, 2002. M. Tawarmalani and N. V. Sahinidis. Convexication and Global Optimization in Continuous and Mixed-Integer Nonlinear Programming: Theory, Algorithms, Software, and Applications. Kluwer Academic Publishers, Boston MA, 2002. J. Viswanathan and I. E. Grossmann. Optimal feed location and number of trays for distillation columns with multiple feeds. I&EC Research, 32:29422949, 1993. Westerlund, T. and Pettersson, F. An extended cutting plane method for solving convex MINLP problems. Computers and Chemical Engineering Supplement, 19: S131S136, 1995. ESCAPE95. Westerlund, T., Isaksson, J. and Harjunkoski, I. Solving a production optimization problem in the paper industry. Report 95146A, Department of Chemical Engineering, Abo Akademi, Abo, Finland, 1995. Westerlund, T., Pettersson, F. and Grossmann, I.E. Optimization of pump congurations as MINLP problem. Computers & Chemical Engineering, 18(9): 845858, 1994. H. P. Williams. Model Solving in Mathematical Programming. John Wiley & Sons Ltd., Chichester, 1993.
Leyer & Linderoth MINLP