Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
zminlp = min
x
subject to gi (x) 0, i = 1, . . . , m
f (x)
x X, xI Z|I |
NP-Super-Hard
Combines challenges of handling nonlinearities
with combinatorial explosion of integer variables
Introduction
Optimization 101
Know the convexity properties of your instance!
Specializations
Aside MISOCP
The feasible regions of surprisingly many MINLP problems can be
expressed as MISOCP:
MINLP Tree
MINLP
MI-
Polynomial
Polynomial MISOCP SOCP
Opt.
Opt.
MILP LP
Introduction
Convex Nonconvex
Problem Class (X ) # Var (Y ) Problem Class (X ) # Var (Y )
MINLP 500 MINLP 100
NLP 5 104 NLP 100
MISOCP 1000 MIPP 150
SOCP 105 PP 150
MIQP 1000 MIQP 300
QP 5 105 QP 300
MILP 2 104
LP 5 107
Introduction Software Tools and Online Resources
(Convex) MIQP
CPLEX, GUROBI, MOSEK, XPRESS
(Nonconvex) MIQP
GLOMIQO
Try em on NEOS
http://www.neos-server.org/neos/solvers/index.html
Introduction Basic Concepts
Simple Example
x2
x1
Doubly NP-Hard!
Feasible region is not convex for two reasonsIntegrality of x2 and
nonconvexity of constraint
Introduction Basic Concepts
Q: What to Do?!
Relax!
Natural Relaxation
x2
Natural relaxation is to
remove constraints xi Z i I
But this still leaves a nonconvex
NLP relaxation
x1
Introduction Basic Concepts
Relax More
x2
We need a mechanism for
relaxing the nonconvex
constraints.
Secant underestimator for
concave functions
Easy to get polyhedral
outerapproximation of
nonconvex constraints
Ideally, we would like to get the
convex hull of the feasible points
x1
Introduction Basic Concepts
(x1 , x2 )
(x1 1/2)2 + (x2 1/2)2
x1
Algorithm Ingredients
1 Relaxation
Used to compute a lower bound on
the optimum value
Obtained by enlarging feasible set; e.g.
ignore constraints
Should be tractable and tight
2 Constraint Enforcement
Exclude solutions from relaxations not feasible to MINLP
Refine or tighten of relaxationBranching and Cutting
3 Upper Bounds
Obtained from any feasible point; e.g. solve NLP for fixed xI .
(NLP(xI )).
Other heuristic techniques have been developed
Modeling and Applications
More Complexity
Tradeoff between physical accuracy and mathematical tractability
Convex reformulations? Linearize expressions?
Luedtke Theorem
97.5% of all practical MINLPs have integer variables for one of two
purposes...
1 Binary variables to make a multiple choice selection
2 Binary indicator variables that turn on/off continuous variables
and/or constraints.
Modeling and Applications Supply Chain
M: Facility
N: Customer
xij : percentage of customer j N demand met by facility i M
zi = 1 facility i M is built
Fixed cost for opening facility i M
Quadratic cost for meeting demand j N from facility i M
Modeling and Applications Supply Chain
def
X XX
z = min ci zi + qij xij2
iM iM jN
subject to
xij zi i M, j N
X
xij = 1 j N
iM
xij 0 i M, j N
zi {0, 1} i M
Modeling and Applications Supply Chain
z = 0 x = 0, y 0
z = 1 x u, y x 2 z
z =1
Deep Insights
conv(R) line connecting (0, 0, 0) to y = x 2 in the z = 1 plane
Modeling and Applications Supply Chain
Deep Theorem #1
n o
R = (x, y , z) R2 B | y x 2 , 0 x uz
conv(R) = (x, y , z) R3 | yz x 2 , 0 x uz, 0 z 1, y 0
x 2 yz, y, z 0
zi f (x/zi ) 0
def
X XX
z = min ci zi + qij xij2 yij
iM iM jN
Steps
xij zi i M, j N
1 Make Objective
X Linear
xij = 1 j N 2 Apply
iM
Perspective
xij 0 i M, j N
3 Make Giant
zi {0, 1} i M
Profit
xij2 zi yij 0 i M, j N
Modeling and Applications Supply Chain
Strength of Relaxations
Cheers!
|M| |N| zR zGLW zP z
10 30 140.6 326.4 346.5 348.7
15 50 141.3 312.2 380.0 384.1
20 65 122.5 248.7 288.9 289.3
25 80 121.3 260.1 314.8 315.8
30 100 128.0 327.0 391.7 393.2
Modeling and Applications Supply Chain
Impact of SOCP
m = 30, n = 100
Convex MINLP, Original: 16697 CPU seconds, 45901 nodes
Convex MINLP, w/GLW Ineq.: 21206 CPU seconds, 29277 nodes
MISOCP, Perspective, 23 CPU seconds, 44 B&B nodes
Larger Instances
m n T N
30 200 141.9 63
40 100 76.4 54 Poifect
40 200 101.3 45
50 100 61.6 49
50 200 140.4 47
Modeling and Applications Water Network Design
Sets
N nodes in network
S source nodes
A: arcs in the network
K: Pipe diameters
Modeling and Applications Water Network Design
Constraints
Conservation of flow
X X
qij qji = Di , i N \ S.
(i,j)A (j,i)A
Another trick: disaggregate flow into flow variables for each pipe size:
X
qij = qijk
kK
(Vmax aij )yijk qijk (Vmax aij )yijk
Modeling and Applications Water Network Design
Why On Earth?
B0 B1 B2 q
Introduce New Variables B3 B4
wi : = q if q [Bi1 , Bi ]
bi : = 1 if q [Bi1 , Bi ]
t f (q)
n
X Bi1 bi wi Bi bi i 1, . . . , n
q= wi ,
n
i=1 X
n 1= bi
X
t= (mi wi + ci bi ) i=1
i=1 B0 y q Bn y
Modeling and Applications Water Network Design
A Simple Trick
Model it as
n
X
y= bi
i=1
Pooling Problem
Basic variables
xij : Flow of input i to pool j
xik : Flow of input i to product k
xjk : Flow from pool j to product k
Key Parameters
i : Concentration of attribute in feed i
`k , k : Bounds on attribute concentration in product k
Ci , Cj , Ck : Capacities on feeds, pools, and outputs
Uij , Uik , Ukj : Flow capacities (some may be zero)
P-formulation
(For example) Input capacity:
X X
xi` + xij Ci i I
`L jJ
Flow Balance: X X
xi` = x`j ` L
iI jJ
Pool Quality: X X
i xi` = p` xi` ` L
iI iI
Product Quality:
!
X X X X
p` x`j + i xij = pj x`j + xij j J
`L iI `L iI
`j pj j j J
Modeling and Applications Pooling
On The Horror!
Never multiply a binary variable by a
bounded continuous variable
You can linearize this:
0 w Uz
U(1 z) x w U(1 z)
Modeling and Applications Pooling
Algorithms for convex MINLP are very similar to those for MILP
NLP-based branch-and-bound
Solve NLP relaxation at each node
Cutting plane based algorithms:
Use linear inequalities to outer approximate continuous relaxation
Solve LP relaxations instead of NLP relaxations
Update LP relaxations by adding cuts
Benders decomposition [Geoffrion, 1972], Outer approximation
[Duran and Grossmann, 1986], LP/NLP branch-and-bound
[Quesada and Grossmann, 1992], Extended cutting plane
[Westerlund and Pettersson, 1995], Algorithmic refinements, e.g.
[Abhishek et al., 2010, Bonami et al., 2008]
Algorithms Convex
Factorable Functions
g (x) is factorable if it can be expressed as a combination of functions
from finite set of operators O = {+, , /,, sin, cos, exp, log, | |} whose
arguments are variables, constants, or other factorable functions.
Rx
Excludes integrals =x0 h()d and black-box functions
Represented as expression trees
Algorithms Nonconvex Constructing Relaxations of Nonconvex Constraints
* ^
x1 log x2 3
x2
min x1 + x1 x22
s.t. x1 x2 + sin x2 4,
x1 [4, 4] Z,
x2 [0, 10] Z.
Reformulation
min x7
s.t. x3 = sin x2 4 x1 4 0 x5 45
x4 = x1 x2 0 x2 10 400 x6 400
x5 = 4 x3 x4 1 x3 1 404 x7 404
x6 = x2 x4 40 x4 40
x7 = x1 + x6 x1 , x2 , x4 , x6 , x7 Z.
k = {x Rn+q : xk = k (x), x X , l x u, xi Z, i I }
minimize xn+q
x
subject to x R(k )
k = n + 1, n + 2, . . . , n + q
li xi ui i = 1, 2, . . . , n + q
x X.
... convex relaxation ... only look at simple sets!
Algorithms Nonconvex Constructing Relaxations of Nonconvex Constraints
Examples of Relaxations
Construct relaxation for each operator O{+, , /,, sin, cos, exp, log}
Odd-degree monomials, xk = xi2p+1 , see
[Liberti and Pantelides, 2003]
Bilinear functions xk = xi xj , [McCormick, 1976]
Let x = (xi , xj ), L = (li , lj ), U = (ui , uj )
get convex hull of k = {(x, xk ) : xk = xi xj , L x U}:
xk lj xi + li xj li lj xk lj xi + ui xj ui lj
xk uj xi + ui xj ui uj xk uj xi + li xj li uj
Important!
Tightness of convex hull depends on bounds li , lj , ui , uj
Algorithms Nonconvex Constructing Relaxations of Nonconvex Constraints
Examples of Relaxations
li xi
ui
xj
xi
Algorithms Nonconvex Constructing Relaxations of Nonconvex Constraints
Examples of Relaxations
xk xk
xi xi
li ui li ui
... if xi Z then add inequalities violated at xi0 6 Z
Algorithms Nonconvex Spatial Branch-and-Bound
Lower bounding problem at node with bounds (l, u), e.g. LP(l, u)
minimize xn+q
x
subject to x R(k ) k = n + 1, n + 2, . . . , n + q
li xi ui i = 1, 2, . . . , n + q
x X.
Algorithms Nonconvex Spatial Branch-and-Bound
xj xj
xi xi
li ui li b ui
Algorithms Nonconvex Spatial Branch-and-Bound
Branching based on xi b xi b
Good performance depends on good choice of i and b
Goal: Increase both bounds LP(l , u ) and LP(l + , u + )
Strong branching, pseudocost branching, and reliability branching
generalized from convex MINLP
Other techniques (e.g., violation transfer) specific to nonconvex
MINLP
Convex hull: x1 + x2 1
Best possible factorable relaxation:
x3 = x12 (1/2)x3 x1
x4 = x22 (1/2)x4 x2
x3 + x4 1
x1 + x2 (1/2)(x3 + x4 ) 1/2
minimize Q0 X + c0T x,
x,X
subject to Qk X + ckT x bk , k = 1, . . . , q
Ax b,
0 x u, xi Z, i I ,
X = xx T ,
P P
where X = [Xij ] matrix, Qk X = ij [Qk ]ij Xij = ij [Qk ]ij xi xj .
Semidefinite Programming
1 xT
X xx T 0 0
xX
3 Improve by adding Xii = xi for binary xi {0, 1}
4 Additional constraints by squaring & linearizing constraints
... here H 0 means H positive semidefinite (x T Hx 0, x)
Both RLT and SDP provide good relaxations ... can also combine them
The Future of MINLP?
Dantzig, G. B. (1960).
On the significance of solving linear programming problems with some
integer variables.
Econometrica, 28:3044.
Dey, S. S. and Moran R., D. A. (2012).
Some properties of convex hulls of integer points contained in general
convex sets.
Mathematical Programming, pages 1 20.
Drewes, S. (2009).
Mixed Integer Second Order Cone Programming.
PhD thesis, Technische Universitat Darmstadt.
Duran, M. A. and Grossmann, I. (1986).
An outer-approximation algorithm for a class of mixed-integer
nonlinear programs.
Mathematical Programming, 36:307339.
Geoffrion, A. M. (1972).
The Future of MINLP?