Beruflich Dokumente
Kultur Dokumente
May 2018
Outline
4 Nonlinear Branch-and-Bound
minimize f (x)
x
subject to c(x) ≤ 0
x ∈X
xi ∈ Z for all i ∈ I
minimize f (x)
x
subject to c(x) ≤ 0
x ∈X
xi ∈ Z for all i ∈ I
Complexity of MINLP
MINLP is NP-hard: includes MILP, which are NP-hard
[Kannan and Monma, 1978]
Worse: MINLP are undecidable [Jeroslow, 1973]:
quadratically constrained IP for which no computing device
can compute the optimum for all problems in this class
... but we’re OK if X is compact!
Notation
If X = {x ∈ Zp : l ≤ x ≤ u} and l ∈ Zp , u ∈ Zp ,
then conv(X ) = [l, u]p
Finding convex hull is hard, even for polyhedral X .
Convex hull important for MILP ...
Theorem
MILP can be solved as LP over the convex hull of feasible set.
MILP 6= MINLP
Important difference between MINLP and MILP
n
X
minimize (xi − 12 )2 , subject to xi ∈ {0, 1}
x
i=1
minimize η, x2
η,x
subject to f (x) ≤ η,
c(x) ≤ 0,
x ∈ X,
xi ∈ Z, ∀i ∈ I . (x̂1 , x̂2 )
Nonlinear Branch-and-Bound
Relaxation
Used to compute a lower bound on the optimum
Obtained by enlarging feasible set; e.g. ignore constraints
Typically much easier to solve than MINLP
Constraint Enforcement
Exclude solutions from relaxations not feasible in MINLP
Refine or tighten of relaxation; e.g. add valid inequalities
Upper Bounds
Obtained from any feasible point; e.g. solve NLP for fixed xI
Relaxations of Integrality
Definition (Relaxation)
Optimization problem min{f˘(x) : x ∈ R} is a relaxation of
min{f (x) : x ∈ F}, iff R ⊃ F and f˘(x) ≤ f (x) for all x ∈ F.
Relaxing Integrality
Relax Integrality xi ∈ Z to xi ∈ R for all i ∈ I
Gives nonlinear relaxation of MINLP, or NLP:
minimize
x
f (x),
subject to c(x) ≤ 0,
x ∈ X , continuous
cuts off x.
ˆ
Used in Benders decomposition and outer approximation.
MILP: cuts are basis for branch-and-cut techniques.
19 / 73
Constraint Enforcement: Branching
Eliminate current x̂ solution by branch on integer variables:
1 Select fractional x̂i for some i ∈ I
2 Create two new relaxations by adding
Tree after 360 s CPU time has more than 10,000 nodes
Constraint Enforcement: Spatial Branching
Enforcement for relaxed nonconvex constraints
Combine branching and relaxation refinement
Branch on continuous variable and split domain in two parts.
Create new relaxation over (reduced) sub-domains.
Generates tree similar to integer branching.
Mix with interval techniques to eliminate sub-domains.
Nonconvex MINLPs combine all 3 enforcement techniques.
Outline
5 Course Outline
q(x) = x T Wx + g T x,
Warning
Never model on/off constraints by multiplying by a binary variable.
c(x1 ) = − ln(sin(x1 )) ≤ 0,
Reformulate equivalently as
N nodes in network
S source nodes
A: arcs in the network
Design of Water Distribution Networks
Applications:
reactor core reload operation
power grid operation & design
buildings co-generation
optimal oil-spill response
gas transmission networks
Application: Distillation Column Design
minimize f (x)
x
subject to c(x) ≤ 0
x ∈X
xi ∈ Z for all i ∈ I
Assumptions
A1 X is a bounded polyhedral set.
A2 f and c are twice continuously differentiable convex
functions.
A3 MINLP satisfies a constraint qualification.
Nonlinear branch-and-bound
LP/NLP-based branch-and-bound
Nonlinear branch-and-cut
... build and search a single tree
2 Multi-tree methods; e.g.
Outer approximation
Benders decomposition
Extended cutting plane method
... alternate between NLP and MILP solves
Multi-tree methods only evaluate functions at integer points
Branch on yi non-integral
Solve NLPs & branch until
1
2
Node infeasible:•
Node integer feasible:
⇒ get upper bound (U)
3 Lower bound ≥ U:
Search until no unexplored nodes
Software:
GAMS-SBB, MINLPBB [L]
BARON [Sahinidis] global
Couenne [Belotti] global
Nonlinear Branch-and-Bound
Proof.
(A1-A3) ⇒ every NLP solved globally
Boundedness of X ⇒ tree is finite
⇒ convergence, see e.g. Theorem 24.1 of [Schrijver, 1986].
Nonlinear Branch-and-Bound
2 Nonlinear Branch-and-Bound
4 Multi-Tree Methods
Degradation-Based Branching
Branch on variable i0 with largest integer violation:
i0 = argmax {si }
i∈Ic
fi + − fp
pi+ = + pi+ , ni+ = ni+ + 1 or pi− = ... ni− = ...
dxi e − xi
pi+ − pi−
Di+ = (dxi e − xi ) and D = (xi − bxi c) .
ni+ i
ni−
Popular strategies:
1 Depth-first search
2 Best-bound search
3 Hybrid schemes
Advanced Nonlinear BnB: Depth-First Search
Depth-First Search
Select deepest node in tree (or last node added to heap H)
Advantages:
Easy to implement (Sven likes that ;-)
Keeps list of open nodes, H, as small as possible
Minimizes the change to next NLP (NLP(l, u)):
... only single bound changes ⇒ better hot-starts
Disadvantages:
poor performance if no upper bound is found:
⇒ explores nodes with a lower bound larger than solution
Advanced Nonlinear BnB: Best-Bound Search
Best-Bound Search
Select node with best lower bound
Advantages:
Minimizes number of nodes for fixed sequence of branching
decisions, because all explored nodes would have been
explored independent of upper bound
Disadvantages:
Requires more memory to store open problems
Less opportunity for warm-starts of NLPs
Tends to find integer solutions at the end
Advanced Nonlinear BnB: Best-Bound Search
pi+ − pi−
bp+ = fp + (dxi e − xi ) and b p = f p + (xi − bx i c) .
ni+ ni−
p+ p−
X
ep = fp + min (dxi e − xi ) i+ , (xi − bxi c) i− ,
i:x fractional
ni ni
i
Multi-Tree Methods
Outer approximation [Duran and Grossmann, 1986]
Benders decomposition [Geoffrion, 1972]
Extended cutting plane method
[Westerlund and Pettersson, 1995]
... solve a sequence of MILP (and NLP) problems
c(x) ≤ 0,
x ∈ X,
xi ∈ Z, ∀i ∈ I .
(j)
NLP subproblem for fixed integers xI :
minimize
x
f (x)
(j)
NLP(xI ) subject to c(x) ≤ 0
(j)
x ∈ X and xI = xI ,
(j)
If (NLP(xI )) infeasible then solve feasibility problem ...
Outer Approximation
Mixed-Integer Nonlinear Program (MINLP)
(j)
NLP feasibility problem for fixed integers xI :
X
wi ci+ (x)
minimize
x
(j) i∈J ⊥
F(xI )
subject to ci (x) ≤ 0, i ∈ J
(j)
x ∈ X and xI = xI ,
minimize η,
η,x
subject to η ≥ f (j) + ∇f (j)T (x − x (j) ), ∀x (j) ∈ X
T
0 ≥ c (j) + ∇c (j) (x − x (j) ), ∀x (j) ∈ X
x ∈ X,
xi ∈ Z, ∀i ∈ I .
Outer Approximation
minimize η,
η,x
subject to η ≤ U k −
T
η ≥ f (j) + ∇f (j) (x − x (j) ), ∀x (j) ∈ X k
M(X k ) T
0 ≥ c (j) + ∇c (j) (x − x (j) ), ∀x (j) ∈ X k
x ∈ X,
xi ∈ Z, ∀i ∈ I .
Outer approximation
Given x (0) , choose tol > 0, set U −1 = ∞, set k = 0, and
X −1 = ∅.
repeat
(j) (j)
Solve (NLP(xI )) or (F(xI )); solution x (j) .
(j)
if (NLP(xI )) feasible & f (j) < U k−1 then
Update best point: x ∗ = x (j) and U k = f (j) .
else
Set U k = U k−1 .
Linearize f and c about x (j) and set X k = X k−1 ∪ {j}.
Solve (M(X k )), let solution be x (k+1) & set k = k + 1.
until MILP (M(X k )) is infeasible
57 / 66
Outer Approximation Algorithm
Alternate between solve NLP(yj ) and MILP relaxation
Outline of Proof.
(j)
Optimality of x (j) in (NLP(xI ))
⇒ η ≥ f (j) for feasible point of (M(X k ))
... ensures finiteness, since X compact
Convexity ⇒ linearizations are supporting hyperplanes
... ensures optimality
Worst Case Example of Outer Approximation
[Hijazi et al., 2010] construct infeasible MINLP:
minimize 0
y
n
1 2 n−1
X
subject to yi − ≤
2 4
i=1
y ∈ {0, 1}n
√
n−1
Intersection of ball of radius 2
with unit hypercube.
Lemma
OA cannot cut more than one vertex of the hypercube
MILP master problem feasible for any k < 2n OA cuts
Theorem
OA visits all 2n vertices
Benders Decomposition
Benders Decomposition
Can derive Benders cut from outer approximation:
(j)
Take optimal multipliers λ(j) of (NLP(xI ))
Sum outer approximations
T
η≥ f (j) + ∇f (j) (x − x (j) )
T T
+ λ(j) c (j) + ∇c (j) (x − x (j) )
0≥
T (j)
η≥ f (j) + ∇I L(j) (xI − xI )
ECP is variation of OA
Does not solve any NLPs
Linearize f , c around solution of MILP, x (k) :
If x (k) feasible in linearization, then solved MINLP
Otherwise, pick linearization violated by x (k) and add to MILP
Properties of ECP
Convergence follows from OA & Kelley’s cutting plane method
NLP convergence rate is linear
Can visit same integer more than once ...
... single-tree methods use ECP cuts to speed up convergence
Summary of Multi-Tree Methods
Three Classes of Multi-Tree Methods
1 Outer approximation based on first-order expansion
2 Benders decomposition linear combination of OA cuts
3 Extended cutting plane method: avoids NLP solves
Slides adapted, modified and extended based on the mateiral from the Graduate School in Systems, Optimization, Control and Networks at Université
catholique de Louvain, February 2013