...

Some Recent Advances in Mixed Integer Nonlinear Optimization IBM Analytics

by user

on
Category: Documents
16

views

Report

Comments

Transcript

Some Recent Advances in Mixed Integer Nonlinear Optimization IBM Analytics
IBM Analytics
Pierre Bonami (and many co-authors)
IBM ILOG CPLEX
CORS INFORMS 2015 - Montreal - June 17 2015
Some Recent Advances in Mixed Integer Nonlinear
Optimization
1
©2015 IBM Corporation
IBM Analytics
The mother of all deterministic optimization problems
[Lee, 2008]
2
min f (x)
s.t. gi (x) ≤ 0
x ∈X
xj ∈ Z
lj ≤ xj ≤ uj
1
i = 1, . . . , m
−2
(MINLP)
2
−1
j = 1, . . . , p
j = 1, . . . , p
−2
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
n
X ⊆ R polyhedral.
f and gi : X → R, i = 1, . . . , m,
continuous, differentiable.
2
1
−1
©2015 IBM Corporation
IBM Analytics
"Well solved" subproblems
Nonlinear Programming (NLP)
p = 0 : local optima.
+ f and gi convex ⇒ global optima.
Mixed-Integer linear programming (MILP)
f linear, m = 0, p > 0
3
©2015 IBM Corporation
IBM Analytics
MINLP
2
1
min
s.t.
f (x)
gi (x) ≤ 0
x ∈X
xj ∈ Z
lj ≤ xj ≤ uj
−2
i = 1, . . . , m
2
−1
(PNLM)
−2
j = 1, . . . , p
j = 1, . . . , p
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
To be solvable in general, lj , uj finite.
4
1
−1
©2015 IBM Corporation
IBM Analytics
Two main classes of MINLP
Mixed Integer Convex Program
Assume that the continuous relaxation is a convex optimization problem.
f is a convex function.
gi are convex functions.
Mixed Integer Nonlinear Program
Don’t assume any convexity on f or gi .
Continuous relaxation is NP-hard to solve in general.
Remark: if lj and uj are finite integers, variable xj can be seen as a
continuous variable satisfying:
(xj − lj )(xj − lj − 1)....(xj − uj ) = 0
5
©2015 IBM Corporation
IBM Analytics
A special class of convex MINLP: MISOCP
Second order cone constraints
Ld defines the (d + 1)-dimensional second order cone:
Ld := {(x, x0 ) ∈ Rd+1 :
d
X
xi2 ≤ x02 , x0 ≥ 0}
i=1
Through basic transformation can be used to model any convex quadratic
constraint. (note Ld describes a convex region)
MISOCP
MINLP’s where all nonlinear constraints are SOC.
Continuous relaxation solved efficiently by interior points.
convex MINLP algorithms work with some added technicality due to
non-differentiability [Drewes, 2009, Drewes and Ulbrich, 2012].
Supported by most commercial MIP solvers (CPLEX in particular).
6
©2015 IBM Corporation
IBM Analytics
Agenda
The convex case
Main algorithmic approaches
Glimpse of computations
Exploiting separability, disaggregations
Lift-and-project cuts
Application in CPLEX 12.6.2
A step into nonconvexity.
MIQP in CPLEX 12.6.
Basic setup of a spatial branch-and-bound.
BQP cuts.
Computational results CPLEX 12.6.2.
7
©2015 IBM Corporation
IBM Analytics
The mixed integer convex program
min c T x
s.t. gi (x) ≤ 0 i = 1, . . . , m
x ∈X
xj ∈ Z
j = 1, . . . , p
(MICP)
gi : X → R, i = 1, . . . , m, convex, differentiable.
Assume linear objective. If necessary, add var α ∈ R and min α with
f (x) ≤ α a constraint.
8
©2015 IBM Corporation
IBM Analytics
Main Algorithms for solving (MICP)
z
x
y
Fundamental property is convexity of the continuous relaxation, which can be
efficiently solved.
1 NLP Branch-and-bound [Gupta and Ravindran, 1985].
9
2
Outer Approximation Algorithm [Duran and Grossmann, 1986]. Builds an
MILP equivalent of (MICP)
3
LP/NLP branch-and-cut [Quesada and Grossmann, 1992].
©2015 IBM Corporation
IBM Analytics
NLP based branch-and-bound
Straightforward generalization of main MILP
algorithm:
solve an NLP at each node of the tree.
10
©2015 IBM Corporation
IBM Analytics
NLP based branch-and-bound
Straightforward generalization of main MILP
algorithm:
solve an NLP at each node of the tree.
Branch on variables with fractional value.
integer
feasible
infeasible
10
fathomed
by
bound
©2015
IBM Corporation
IBM Analytics
NLP based branch-and-bound
Straightforward generalization of main MILP
algorithm:
solve an NLP at each node of the tree.
Branch on variables with fractional value.
Prune by infeasibility, bounds and integer
feasibility.
integer
feasible
infeasible
10
fathomed
by
bound
©2015
IBM Corporation
IBM Analytics
NLP based branch-and-bound
Straightforward generalization of main MILP
algorithm:
solve an NLP at each node of the tree.
Branch on variables with fractional value.
Prune by infeasibility, bounds and integer
feasibility.
Main issues
integer
feasible
infeasible
Warm-starting of NLP solves.
Difficulty of reusing MILP technologies.
10
fathomed
by
bound
©2015
IBM Corporation
IBM Analytics
Outer Approximation [Duran and Grossmann, 1986]
min c T x
s.t.
gi (x) ≤ 0
i = 1, . . . , m,
xj ∈ Z,
j = 1, . . . , p.
Idea: Take first-order approximations of constraints at different points and
build an equivalent MILP.
11
©2015 IBM Corporation
IBM Analytics
Outer Approximation [Duran and Grossmann, 1986]
min c T x
s.t.
gi (x) ≤ 0
i = 1, . . . , m,
xj ∈ Z,
j = 1, . . . , p.
Idea: Take first-order approximations of constraints at different points and
build an equivalent MILP.
min
s.t.
cT x
gi (x k ) + ∇gi (x k )T (x − x k ) ≤ 0
xj ∈ Z,
11
i = 1, . . . , m, k = 1, . . . , K
j = 1, . . . , p.
©2015 IBM Corporation
IBM Analytics
Subproblems
Given x̂ ∈ Rp :
fixed NLP (NLP(x̂))
min c T x
s.t.
fixed feasibility subproblem
min
m
X
wi max{0, gi (x)}
i=1
gi (x) ≤ 0,
x ∈ X;
i = 1, . . . , m
(NLP(x̂))
s.t.
x ∈ X,
xj = x̂j ,
j = 1, . . . , p.
xj = x̂j , j = 1, . . . , p
(NLPF(x̂))
If x̂ ∈ Zp , and feasible: gives an upper
bound.
12
©2015 IBM Corporation
IBM Analytics
Subproblems
Given x̂ ∈ Rp :
fixed NLP (NLP(x̂))
min c T x
s.t.
fixed feasibility subproblem
min
m
X
wi max{0, gi (x)}
i=1
gi (x) ≤ 0,
x ∈ X;
i = 1, . . . , m
(NLP(x̂))
s.t.
x ∈ X,
xj = x̂j ,
j = 1, . . . , p.
xj = x̂j , j = 1, . . . , p
(NLPF(x̂))
If x̂ ∈ Zp , and feasible: gives an upper
bound.
Remark If (NLP(x̂)) is infeasible, NLP software will typically return a solution
to (NLPF(x̂)). By abuse, always say solution to (NLP(x̂))
12
©2015 IBM Corporation
IBM Analytics
Equivalent MILP formulation of convex MINLP
For each x̂ k ∈ K = Proj1,...,p (X ) ∩ Zp , let x k be an optimal solution to
(NLP(x̂)).
Theorem ([Duran and Grossmann, 1986])
If X 6= ∅, f and g are convex, continuously differentiable, and a constraint
qualification holds for each x k then
min
cT x
gi (x k ) + ∇gi (x k )T (x − x k ) ≤ 0 i = 1, . . . , m, x̂ k ∈ K ,
x ∈ X , xj ∈ Z, j = 1, . . . , p.
has the same optimal value as (MICP).
13
©2015 IBM Corporation
IBM Analytics
OA decomposition
Generate MILP equivalent by constraint generation.
Initialize with one set of linearizations.
min
cT x
s.t.
gi (x 0 ) + ∇gi (x 0 )T (x − x 0 ) ≤ 0,
i = 1, . . . , m,
,
(OA(K))
x ∈ X , xj ∈ Z, j = 1, . . . , p.
Where x 0 is the solution to the continuous relaxation:
min{c T x : x ∈ X , gi (x) ≤ 0, i = 1, . . . , m}
14
©2015 IBM Corporation
IBM Analytics
OA decomposition
Generate MILP equivalent by constraint generation.
Initialize with one set of linearizations.
Enrich iteratively the set of linearizations K.
min
cT x
s.t.
gi (x k ) + ∇gi (x k )T (x − x k ) ≤ 0,
i = 1, . . . , m,
,
x̂ k ∈ K
(OA(K))
x ∈ X , xj ∈ Z, j = 1, . . . , p.
Where x̂ k is a solution to (OA(K)) and, for k = 1, . . . , |K|, x k is the solution
to (NLP(x̂)).
14
©2015 IBM Corporation
IBM Analytics
OA decomposition
Generate MILP equivalent by constraint generation.
Initialize with one set of linearizations.
Enrich iteratively the set of linearizations K.
Convergence
At each iteration:
(OA(K)) gives a lower bound,
If feasible, (NLP(x̂)) gives an upper bound.
The OA Theorem guarantees that the two bounds converge in finite # of
iterations.
14
©2015 IBM Corporation
IBM Analytics
LP/NLP Branch-and-bound
OA can be embedded in a single tree search.
Start solving the same initial MILP by
branch-and-bound.
At each integer feasible node:
integer
feasible
15
©2015 IBM Corporation
IBM Analytics
LP/NLP Branch-and-bound
OA can be embedded in a single tree search.
Start solving the same initial MILP by
branch-and-bound.
At each integer feasible node:
1
2
3
15
solve (NLP(x̂)), and enrich the set of
linearizations.
Resolve the LP relaxation of the node with the
new cuts.
Repeat as long as node is integer feasible.
integer
feasible
©2015 IBM Corporation
IBM Analytics
LP/NLP Branch-and-bound
OA can be embedded in a single tree search.
Start solving the same initial MILP by
branch-and-bound.
At each integer feasible node:
1
2
3
solve (NLP(x̂)), and enrich the set of
linearizations.
Resolve the LP relaxation of the node with the
new cuts.
Repeat as long as node is integer feasible.
Never prune by integer feasibility.
15
integer
feasible
©2015 IBM Corporation
IBM Analytics
Solvers for Mixed Integer Convex Programs
Solver
Dicopt
MINLP_BB
SBB
α-ECP
Bonmin
FilMINT
KNITRO
SCIP
16
Reference
[Leyffer, 1998]
[Bussieck and Drud, 2001]
[Westerlund and Lundqvist, 2005]
[Bonami et al., 2008]
[Abhishek et al., 2010]
[Byrd et al., 2006]
[Vigerske, 2012]
Algorithm(s)
OA
NLP BB
NLP BB
ECP (variant of OA)
NLP BB, OA, LP/NLP
LP/NLP
NLP BB, LP/NLP
LP/NLP
©2015 IBM Corporation
IBM Analytics
Comparison of solvers in GAMS [Vigerske, 2013]
100
90
% of model solved
80
70
60
50
40
alpha-ECP
Bonmin BB
Bonmin Hyb
Bonmin OA/CPLEX
Bonmin OA/CBC
SBB
SCIP
30
20
10
0
1
17
10
100
time factor
1000
10000
©2015 IBM Corporation
IBM Analytics
Comparison of solvers in GAMS [Vigerske, 2013]
100
90
% of model solved
80
70
60
5 Best Algorithms are OA based
50
40
alpha-ECP
Bonmin BB
Bonmin Hyb
Bonmin OA/CPLEX
Bonmin OA/CBC
SBB
SCIP
30
20
10
0
1
17
10
100
time factor
1000
10000
©2015 IBM Corporation
IBM Analytics
Notes on results with Bonmin
Bonmin’s OA using CPLEX seems the best algorithm overall.
It is also the simplest: a loop calling CPLEX (MILP) and Ipopt (NLP)
alternatively as black boxes.
Improves with CPLEX.
Bonmin’s Hyb is in the pack of relatively good solvers
own variant of LP/NLP BB.
Reuse CBC infrastructure, LP solver, Cuts, MIP presolve.
Improves at a slower pace.
Bonmin’s BB clearly behind.
pure NLP based branch-and-bound. Doesn’t reuse much from Cbc.
Everything specifically tailored.
Better implementation exists that should be on par with Hyb.
Bonmin’s OA using CBC seems the worst algorithm overall.
18
©2015 IBM Corporation
IBM Analytics
Notes on results with Bonmin
Bonmin’s OA using CPLEX seems the best algorithm overall.
It is also the simplest: a loop calling CPLEX (MILP) and Ipopt (NLP)
alternatively as black boxes.
Improves with CPLEX.
Bonmin’s Hyb is in the pack of relatively good solvers
own variant of LP/NLP BB.
Reuse CBC infrastructure, LP solver, Cuts, MIP presolve.
Improves at a slower pace.
Bonmin’s BB clearly behind.
pure NLP based branch-and-bound. Doesn’t reuse much from Cbc.
Everything specifically tailored.
Better implementation exists that should be on par with Hyb.
Bonmin’s OA using CBC seems the worst algorithm overall.
18
©2015 IBM Corporation
IBM Analytics
The MIQCP/MISOCP solver in CPLEX
Implements the two main algorithms:
A branch-and-bound based on the continuous SOCP solver (barrier).
An outer approximation branch-and-cut algorithm.
Choice is controled by the parameter CPXPARAM_MIP_Strategy_MIQCPStrat.
Default is trying to decide which of the two algorithms to run in a “clever” way.
History of MIQCP with CPLEX
class
Convex QCP
convex MIQCP
–
19
p
0
>0
–
algorithm
barrier
barrier based B&B
Outer approximation B&C
V. (Year)
9.0 (2003)
9.0 (2003)
11.0 (2007)
©2015 IBM Corporation
IBM Analytics
A comparison of OA and SOCP-BB in CPLEX 12.6.1
1
Default strategy picked
100
OA 113 times
SOCP-BB 46 times
% model solved
80
56 models identical with
both
To be perfect should have
picked
14 more models with OA
60
40
20
1261_miqcpstrat_0
1261_miqcpstrat_1
1261_miqcpstrat_2
0
1
1 225
20
10
100
1000
time factor
10000
100000
36 more models with
SOCP-BB
models solved by at least one method and failed by none.
©2015 IBM Corporation
IBM Analytics
How bad can outer approximation be?
Consider the following convex MINLP:
min
s.t.
cT x
Pn
i=1
x ∈Z
xi −
n
1 2
2
≤
n−1
4
(1)
z
(1) is infeasible:
The ball is too small to contain
integer points.
It is large enough to touch every
edge of the hypercube.
x
21
y
©2015 IBM Corporation
IBM Analytics
Solving (1) with OA cuts
z
No OA constraint can cut 2
vertices of the hypercube.
If an inequality cuts two
vertices, it cuts the segment
joining them. This can not be:
the ball has non-empty
intersection with any such
segment.
22
x
y
©2015 IBM Corporation
IBM Analytics
Solving (1) with OA cuts
z
No OA constraint can cut 2
vertices of the hypercube.
If an inequality cuts two
vertices, it cuts the segment
joining them. This can not be:
the ball has non-empty
intersection with any such
segment.
OA decomposition takes at least
2n iterations (each iteration
requires solving a MILP).
22
x
y
©2015 IBM Corporation
IBM Analytics
Solving (1) with OA cuts
z
No OA constraint can cut 2
vertices of the hypercube.
If an inequality cuts two
vertices, it cuts the segment
joining them. This can not be:
the ball has non-empty
intersection with any such
segment.
OA decomposition takes at least
2n iterations (each iteration
requires solving a MILP).
An OA Based branch-and-cut
would take at least 2n nodes.
22
x
y
©2015 IBM Corporation
IBM Analytics
Solving (1) with OA cuts
z
No OA constraint can cut 2
vertices of the hypercube.
If an inequality cuts two
vertices, it cuts the segment
joining them. This can not be:
the ball has non-empty
intersection with any such
segment.
OA decomposition takes at least
2n iterations (each iteration
requires solving a MILP).
An OA Based branch-and-cut
would take at least 2n nodes.
22
x
y
Note: A basic NLP
branch-and-bound also
enumerates at least 2n integer
sols.
©2015 IBM Corporation
IBM Analytics
Experimental illustration
n
2n
CPLEX 12.4
nodes
SCIP 2.1
nodes
B-OA
OA it.
B-Hyb
nodes
IBM Analytics
Experimental illustration
n
10
2n
1,024
CPLEX 12.4
nodes
2,047
SCIP 2.1
nodes
720
B-OA
OA it.
1,105
B-Hyb
nodes
11,156
IBM Analytics
Experimental illustration
n
10
15
2n
1,024
32,768
CPLEX 12.4
nodes
2,047
65,535
SCIP 2.1
nodes
720
31,993
B-OA
OA it.
1,105
...
B-Hyb
nodes
11,156
947,014
IBM Analytics
Experimental illustration
n
10
15
20
23
2n
1,024
32,768
1,048,576
CPLEX 12.4
nodes
2,047
65,535
2,097,151
SCIP 2.1
nodes
720
31,993
1,216,354
B-OA
OA it.
1,105
...
...
B-Hyb
nodes
11,156
947,014
...
©2015 IBM Corporation
IBM Analytics
Experimental illustration
n
10
15
20
2n
1,024
32,768
1,048,576
CPLEX 12.4
nodes
2,047
65,535
2,097,151
SCIP 2.1
nodes
720
31,993
1,216,354
B-OA
OA it.
1,105
...
...
B-Hyb
nodes
11,156
947,014
...
Remark
Problem is simple for CPLEX/SCIP if variables are 0 − 1: replace xi2 by
xi , the contradiction n4 ≤ n−1
4 follows.
23
©2015 IBM Corporation
IBM Analytics
Experimental illustration
n
10
15
20
2n
1,024
32,768
1,048,576
CPLEX 12.4
nodes
2,047
65,535
2,097,151
SCIP 2.1
nodes
720
31,993
1,216,354
B-OA
OA it.
1,105
...
...
B-Hyb
nodes
11,156
947,014
...
Remark
Problem is simple for CPLEX/SCIP if variables are 0 − 1: replace xi2 by
xi , the contradiction n4 ≤ n−1
4 follows.
SCIP ≥ 3.0 and CPLEX ≥ 12.6.1 solve it in a blink.
23
©2015 IBM Corporation
IBM Analytics
Separable mixed integer convex programs
min c T x
s.t. gi (x) ≤ 0
x ∈X
xj ∈ Z
l ≤x ≤u
i = 1, . . . , m
(sMINLP)
j = 1, . . . , p
For i = 1, . . . , m, gi : X → R are convex separable:
gi (x) =
n
X
gij (xj )
j=1
with gij : [lj , uj ] → R convex.
24
©2015 IBM Corporation
IBM Analytics
Disaggregated formulation
Introduce one variable yij for each elementary function:
min c T x
n
P
s.t.
yij ≤ 0
i = 1, . . . , m,
x ∈ X,
xi ∈ Z
l ≤ x ≤ u.
i = 1, . . . , p,
j=1
gij (xj ) ≤ yij
25
i = 1, . . . , m,
j = 1, . . . , n,
(sMINLP∗ )
©2015 IBM Corporation
IBM Analytics
Application to (1) [Hijazi et al., 14]
z
Extended formulation of (1)
min c T x
n
X
yi ≤ (n − 1)/4
s.t.
i=1
2
(xi − 0.5) ≤ yi
x ∈ Zn .
i = 1, . . . , n
Its outer approximation
x
y
(2)
min c T x
n
X
yi ≤ (n − 1)/4
s.t.
i=1
2
2 x ki − 0.5 (xi − x ki ) + x ki − 0.5 ≤ yi
26
x ∈ Zn
i = 1, . . . , n
k = 1, . . . , K
©2015 IBM Corporation
IBM Analytics
Application to (1) [Hijazi et al., 14]
Extended formulation of (1)
min c T x
n
X
yi ≤ (n − 1)/4
s.t.
i=1
2
(xi − 0.5) ≤ yi
x ∈ Zn .
i = 1, . . . , n
(2)
Its outer approximation
min c T x
n
X
yi ≤ (n − 1)/4
s.t.
i=1
26
2
2 x ki − 0.5 (xi − x ki ) + x ki − 0.5 ≤ yi
x ∈ Zn
i = 1, . . . , n
k = 1, . . . , K
©2015 IBM Corporation
IBM Analytics
Application to (1) [Hijazi et al., 14]
Extended formulation of (1)
2 points suffice to make it infeasible x 1 = 0 and x 2 = 1:
T
min c x
n
− xi + 0.25 ≤ yi
i = 1, . . . , n
X
yi ≤ (n − 1)/4
s.t.
xi − 0.75+ ≤ yi
i = 1, . . . , n
i=1
2
(xi − 0.5) ≤ yi
x ∈ Zn .
i = 1, . . . , n
(2)
Its outer approximation
min c T x
n
X
yi ≤ (n − 1)/4
s.t.
i=1
26
2
2 x ki − 0.5 (xi − x ki ) + x ki − 0.5 ≤ yi
x ∈ Zn
i = 1, . . . , n
k = 1, . . . , K
©2015 IBM Corporation
IBM Analytics
Experimental Illustration
In the standard benchmark for MICP, out of > 100 instances, 8 are not
directly separable.
Constructing separated formulations on a subset of 47 instances gives a
3x speed up: [Hijazi et al., 14].
90
% of model solved
80
70
60
50
40
30
20
27
10
Sepa
Original
1
10
©2015
100 IBM Corporation
IBM Analytics
Cutting planes for MICP
Cuts are an essential component of MILP solvers.
Of course one can always apply MILP cuts to a linear OA of MICP.
How can we generate cut that also exploit nonlinear constraints?
Can we generate better cuts by looking directly at nonlinear functions?
A partial answer: as long as the cut generated is linear it could also have
been obtained from a linear outer approximation.
In the past three years, tremendous activity towards conic cuts for conic
programming but no general method yet, and no striking computational
results.
28
©2015 IBM Corporation
IBM Analytics
Cutting planes for MICP
Cuts are an essential component of MILP solvers.
Of course one can always apply MILP cuts to a linear OA of MICP.
How can we generate cut that also exploit nonlinear constraints?
Can we generate better cuts by looking directly at nonlinear functions?
A partial answer: as long as the cut generated is linear it could also have
been obtained from a linear outer approximation.
In the past three years, tremendous activity towards conic cuts for conic
programming but no general method yet, and no striking computational
results.
28
©2015 IBM Corporation
IBM Analytics
Split Relaxation
x2
Consider C and M := C ∩ (Zp × Rn−p ).
Let π ∈ Zp × {0}n−p , π0 ∈ Z and
(π,π0 )
C
:= conv C∩ x : π T x ≤ π0 ∪
.
x : π x ≥ π0 + 1
M
C
T
(clearly M ⊆ C(π,π0 ) ⊆ C).
x1
x1 = 0
29
x1 = 1
©2015 IBM Corporation
IBM Analytics
Split Relaxation
Consider C and M := C ∩ (Zp × Rn−p ).
Let π ∈ Zp × {0}n−p , π0 ∈ Z and
(π,π0 )
C
:= conv C∩ x : π T x ≤ π0 ∪
.
x : π x ≥ π0 + 1
T
(clearly M ⊆ C(π,π0 ) ⊆ C).
π T x ≤ π0
29
π T x ≥ π0 + 1
©2015 IBM Corporation
IBM Analytics
Split Relaxation
Consider C and M := C ∩ (Zp × Rn−p ).
Let π ∈ Zp × {0}n−p , π0 ∈ Z and
(π,π0 )
C
:= conv C∩ x : π T x ≤ π0 ∪
.
x : π x ≥ π0 + 1
C (π,π0 )
T
(clearly M ⊆ C(π,π0 ) ⊆ C).
π T x ≤ π0
29
π T x ≥ π0 + 1
©2015 IBM Corporation
IBM Analytics
Split Relaxation
Consider C and M := C ∩ (Zp × Rn−p ).
Let π ∈ Zp × {0}n−p , π0 ∈ Z and
(π,π0 )
C
:= conv C∩ x : π T x ≤ π0 ∪
.
x : π x ≥ π0 + 1
T
αT x = β
x̂
C (π,π0 )
(clearly M ⊆ C(π,π0 ) ⊆ C).
In the remainder, x̂ is the point to separate,
π = ek , x̂k ∈]0, 1[ (k ≤ p), and π0 = 0
29
©2015 IBM Corporation
IBM Analytics
MILP case
Consider a polyhedron P := {x : Ax = b, x ≥ 0}
Cut Generation LP [Balas, 1979, Balas et al., 1993]
x̂ ∈ P is separated from P (ek ,0) using the LP:
min αT x̂ − β
s.t. :
α = u T A − u 0 ek ,
α = v T A + v0 ek ,
(CGLP)
β = u T b,
β = v T b + v0 ,
n
m
α ∈ R , β ∈ R, u, v ∈ R , u0 , v0 ∈ R+
If x̂ 6∈ P (ek ,0) , αT x ≥ β cuts x̂; otherwise produces certificate that x̂ ∈ P (ek ,0)
with x 0 ∈ P ∩ {xk = 0}, x 1 ∈ P ∩ {xk = 1} such that x̂ = x̂k x 1 + (1 − x̂k )x 0 .
30
©2015 IBM Corporation
IBM Analytics
MILP case (primal view)
Membership LP [Bonami, 2012]
x̂ ∈ P wih 0 < x̂k < 1 also in P (ek ,0) if ∃ x 0 ∈ P ∩ {xk = 0} and
x 1 ∈ P ∩ {xk = 1} with x̂ = x̂k x 1 + (1 − x̂k )x 0 , or if
max yk
s.t.
Ay = bx̂k
(MLP)
0 ≤ y ≤ x̂,
y ∈ Rn .
has a solution with yk = x̂k otherwise can deduce a cut from dual optimal
solution.
x̂−y
is x 0 ).
(Hint x̂yk is x 1 , 1−x̂
k
31
©2015 IBM Corporation
IBM Analytics
Generalization to MICP: Two competing approaches
Goal: build a linear OA from which a "best" cut can be deduced using CGLP.
Using only LP [Kılınc et al., 2011].
Using NLP [Bonami, 2011]
1 Start with any linear OA of C
1 Solve a single NMLP that tells if
2 Solve CGLP. If a cut is found
x̂ is in the split relaxation.
STOP otherwise
2 If not, deduce from solution two
3 Deduce from dual of CGLP two
points such that
points such that
x̂ = λx 1 + (1 − λ)x 0 and closest
x̂ = λx 1 + (1 − λ)x 0 and
to the disjunction.
satisfying the disjunction.
3 Build OA around these two points.
4 If point(s) not in C generate new
4 Solve MLP and get the cut.
OA and goto 2, otherwise there is
no cut, STOP.
32
©2015 IBM Corporation
IBM Analytics
Generalization: Two competing approaches in pictures
Goal: build a linear OA from which a "best" cut can be deduced using CGLP.
x̂
π T x ≤ π0
33
x̂
π T x ≥ π0 + 1
π T x ≤ π0
π T x ≥ π0 + 1
©2015 IBM Corporation
IBM Analytics
Generalization: Two competing approaches in pictures
Goal: build a linear OA from which a "best" cut can be deduced using CGLP.
x̂
π T x ≤ π0
33
x̂
π T x ≥ π0 + 1
π T x ≤ π0
π T x ≥ π0 + 1
©2015 IBM Corporation
IBM Analytics
Generalization: Two competing approaches in pictures
Goal: build a linear OA from which a "best" cut can be deduced using CGLP.
x0
π T x ≤ π0
33
x̂
x1
π T x ≥ π0 + 1
x0
π T x ≤ π0
x̂
x1
π T x ≥ π0 + 1
©2015 IBM Corporation
IBM Analytics
Generalization: Two competing approaches in pictures
Goal: build a linear OA from which a "best" cut can be deduced using CGLP.
x0
π T x ≤ π0
33
x̂
x1
π T x ≥ π0 + 1
x0
π T x ≤ π0
x̂
x1
π T x ≥ π0 + 1
©2015 IBM Corporation
IBM Analytics
Generalization: Two competing approaches in pictures
Goal: build a linear OA from which a "best" cut can be deduced using CGLP.
x̂
π T x ≤ π0
33
x̂
π T x ≥ π0 + 1
π T x ≤ π0
π T x ≥ π0 + 1
©2015 IBM Corporation
IBM Analytics
Generalization: Two competing approaches in pictures
Goal: build a linear OA from which a "best" cut can be deduced using CGLP.
x̂
π T x ≤ π0
33
x̂
π T x ≥ π0 + 1
π T x ≤ π0
π T x ≥ π0 + 1
©2015 IBM Corporation
IBM Analytics
Snapshot of results
[Kılınc et al., 2011], report a speedup of 3 on a set of "hard" instances
with the NLP/LP Filimint.
[Bonami, 2011], report a speedup of 24 % on nontrivial instances with
NLP BB.
In both case, some instances not solved without these cuts are solved
within seconds.
Combination with disaggregation[Kılınç, 2011]
Even better results are obtained by combining the extended formulation trick
for separability and these cuts.
Batch
Markowitz
SLay
uflquad
34
n
10
10
14
15
Original
root gap
sol time
58.40
376.2
0.00 > 10 800
68.50
36
10.85
784
Extended
root gap sol time
68.77
58.7
98.07
1 262
86.08
5.0
96.25
145
©2015 IBM Corporation
IBM Analytics
New in CPLEX 12.6.2
Cone disaggregation for MISOCP
Lift-and-project cuts for MISOCP
Redesigned heuristic choice of most promising algorithm
Propagation of conic constraints (12.6.1).
Updated history of MIQCP with CPLEX
class
Convex QCP
convex MIQCP
–
—
–
35
p
0
>0
–
—
–
algorithm
barrier
barrier based B&B
Outer approximation B&C
Cone propagations
Major improvements
V. (Year)
9.0 (2003)
9.0 (2003)
11.0 (2007)
12.6.1 (2014)
12.6.2 (June 2015)
©2015 IBM Corporation
IBM Analytics
Cone disaggregation for MISOCP
In standard form the nonlinear constraint describing the second order cone is
not convex separable:
n
X
xi2 ≤ x02
i=1
Trick [Vielma et al., 2015], divide the constraint by x0 ≥ 0 to get a convex
separable constraint:
n
X
xi2
≤ x0 .
x0
i=1
Now introduce y1 , . . . , yn and rewrite as:
n
X
yi ≤ x0
i=1
xi2 ≤
36
x0 yi
©2015 IBM Corporation
IBM Analytics
Lift-and-project for MISOCP
Hybridizing the approaches of [Kılınc et al., 2011] and
[Bonami, 2011]
From [Kılınc et al., 2011]
x̂
Pure LP approach,
Dynamic generation of additional OA
constraints.
From [Bonami, 2011]
compact formulation using MLP,
penalization of the non-linear constraints.
37
π T x ≤ π0
π T x ≥ π0 + 1
©2015 IBM Corporation
IBM Analytics
Lift-and-project for MISOCP
Hybridizing the approaches of [Kılınc et al., 2011] and
[Bonami, 2011]
From [Kılınc et al., 2011]
x̂
Pure LP approach,
Dynamic generation of additional OA
constraints.
From [Bonami, 2011]
compact formulation using MLP,
penalization of the non-linear constraints.
37
π T x ≤ π0
π T x ≥ π0 + 1
©2015 IBM Corporation
IBM Analytics
Lift-and-project for MISOCP
Hybridizing the approaches of [Kılınc et al., 2011] and
[Bonami, 2011]
From [Kılınc et al., 2011]
Pure LP approach,
Dynamic generation of additional OA
constraints.
x1
x̂
x0
From [Bonami, 2011]
compact formulation using MLP,
penalization of the non-linear constraints.
37
π T x ≤ π0
π T x ≥ π0 + 1
©2015 IBM Corporation
IBM Analytics
Lift-and-project for MISOCP
Hybridizing the approaches of [Kılınc et al., 2011] and
[Bonami, 2011]
From [Kılınc et al., 2011]
Pure LP approach,
Dynamic generation of additional OA
constraints.
x1
x̂
x0
From [Bonami, 2011]
compact formulation using MLP,
penalization of the non-linear constraints.
37
π T x ≤ π0
π T x ≥ π0 + 1
©2015 IBM Corporation
IBM Analytics
Lift-and-project for MISOCP
Hybridizing the approaches of [Kılınc et al., 2011] and
[Bonami, 2011]
From [Kılınc et al., 2011]
Pure LP approach,
Dynamic generation of additional OA
constraints.
x1
x̂
x0
From [Bonami, 2011]
compact formulation using MLP,
penalization of the non-linear constraints.
37
π T x ≤ π0
π T x ≥ π0 + 1
©2015 IBM Corporation
IBM Analytics
Remarks
Cone disaggregation
Automatically applied by default during presolve,
Only interesting (and done):
1
2
If using the OA based algorithm,
If cones are long enough.
Lift-and-project
Also only done in OA based algorithm.
Still an expensive algorithm (may not speed up every “easy” model).
Also...
Redesigned heuristic to choose algorithm to apply in view of these changes.
38
©2015 IBM Corporation
IBM Analytics
Computational experiments MISOCP 12.6.22
Test bed
Cplex internal MIQCP test bed: 296 models
Benchmarks test set of CBLIB ( http://cblib.zib.de): 80 models
Root node experiments
Impact of combining cone disaggregation and L&P cuts by measuring the integrality
gap closed at the root node:
%gap = 100
Cut − Rel
,
Opt − Rel
Branch-and-bound results
Compare the new release Cplex 12.6.2 against Cplex 12.6.1: geo. mean of
branch-and-bound computing times.
2 All tests are carried on Linux machines: Intel X5650 @ 2.67 GHz, 24 GB RAM, 12
threads, deterministic.
39
©2015 IBM Corporation
IBM Analytics
Root node experiments in CPLEX 12.6.23
L&P cuts with all other CPLEX cuts at default
L&P cut level
Off
Default
3 All
40
Cplex test bed
No disag. Cone disag.
28.47
31.59
36.59
40.07
CBLIB
No disag. Cone disag.
12.64
23.19
34.78
45.30
entries in the table are arithmetic means of %gap closed at the root node.
©2015 IBM Corporation
IBM Analytics
Root node experiments in CPLEX 12.6.23
L&P cuts with all other CPLEX cuts at default
L&P cut level
Off
Default
Cplex test bed
No disag. Cone disag.
28.47
31.59
36.59
40.07
CBLIB
No disag. Cone disag.
12.64
23.19
34.78
45.30
L&P cuts with all other CPLEX cuts disabled
L&P cut level
Default
Aggressive
Very agg.
3 All
40
Cplex test bed
No disag. Cone disag.
23.64
26.49
32.59
34.97
36.74
39.02
CBLIB
No disag. Cone
33.47
39.92
40.70
disag.
43.13
48.96
49.47
entries in the table are arithmetic means of %gap closed at the root node.
©2015 IBM Corporation
IBM Analytics
CPLEX 12.6.1 vs 12.6.2
1.0
0.8
0.6
0.4
0.2
0
1.0
0.8
0.6
0.4
0.2
0
41
×2.86
×5.0
CPLEX test bed
CPLEX 12.6.1: 62 time limits
CPLEX 12.6.2: 38 time limits
> 0 sec
> 1 sec
231 Models 149 Models
×3.57
×6.25
CBLIB
CPLEX 12.6.1: 17 time limits
CPLEX 12.6.2: 8 time limits
> 0 sec
66 Models
> 1 sec
46 Models
©2015 IBM Corporation
IBM Analytics
A comparison of OA and SOCP-BB in CPLEX 12.6.2
4
Default strategy picked
100
OA 186 times
SOCP-BB 4 times
% model solved
80
55 models identical with
both
To be perfect should have
picked
2 more models with OA
60
40
20
1262_miqcpstrat_0
1262_miqcpstrat_1
1262_miqcpstrat_2
0
1
4 245
42
10
100
1000
time factor
10000
100000
9 more models with
SOCP-BB
models solved by at least one method and failed by none.
©2015 IBM Corporation
IBM Analytics
Reminder of CPLEX 12.6.1
5
Default strategy picked
100
OA 113 times
SOCP-BB 46 times
% model solved
80
56 models identical with
both
To be perfect should have
picked
14 more models with OA
60
40
20
1261_miqcpstrat_0
1261_miqcpstrat_1
1261_miqcpstrat_2
0
1
5 225
43
10
100
1000
time factor
10000
100000
36 more models with
SOCP-BB
models solved by at least one method and failed by none.
©2015 IBM Corporation
IBM Analytics
(MI)QP
min
1 T
x Qx + c T x
2
s.t.
Ax = b
xj ∈ Z
(MIQP)
j = 1, . . . , p
l ≤x ≤u
(with Q symmetric),
44
©2015 IBM Corporation
IBM Analytics
(MI)QP
min
1 T
x Qx + c T x
2
s.t.
(MIQP)
Ax = b
xj ∈ Z
j = 1, . . . , p
l ≤x ≤u
(with Q symmetric),
History of MIQP with CPLEX
class
Convex QP
–
convex MIQP
nonconvex QP
–
nonconvex MIQP
44
p
0
–
>0
0
–
>0
Q
0
–
0
6 0
–
6 0
algorithm
barrier
QP simplex
B&B
barrier (local)
spatial B&B (global)
spatial B&B (global)
V. (Year)
4.0 (1995)
8.0 (2002)
8.0 (2002)
12.3 (2011)
12.6 (2013)
12.6 (2013)
©2015 IBM Corporation
IBM Analytics
Example
Let G = (N, E ) be a graph and Q be the incidence matrix of G . The optimal
value of:
1
max x T Qx
2
s.t.
X
xj = 1
x ≥ 0.
1
where χ(G ) is the clique number of G [Motzkin and Straus,
is 21 1 − χ(G
)
1965],
⇒ QP is NP-hard
More generally QPs on the simplex (general Q) can be solved by a
nonlinear maximum clique algorithm [Scozzari and Tardella, 2008].
45
©2015 IBM Corporation
IBM Analytics
Local solver of nonconvex QP
Primal Dual Interior Point Algorithm.
Available since IBM CPLEX 12.3.
Not enabled by default, if Q is indefinite CPLEX will return
CPXERR_Q_NOT_POS_DEF.
Activated by setting the option optimality target to 2 (or
CPX_OPTIMALITYTARGET_FIRSTORDER).
Approach used by Ipopt but no need for
Feasibility restoration
Second order correction
Filter
Own implementation of indefinite factorization.
46
©2015 IBM Corporation
IBM Analytics
Global (MI)QP
Activated by setting optimality target to 3 (or
CPX_OPTIMALITYTARGET_OPTIMALGLOBAL ).
Note: previous versions could already solve some nonconvex MIQPs (pure
0-1 QPs, convex after presolve...)
Notes on complexity
Checking if a feasible solution is not a local minimum is coNP-Complete.
Checking if a nonconvex QP is unbounded is NP-complete.
Spatial B&B
Establish a convex (easily solvable) relaxation.
Establish branching rules on solutions of this relaxation.
47
©2015 IBM Corporation
IBM Analytics
Elementary relaxations: Secant Approximation
The convex hull relaxations of a a square x12
y
x1 = l1
x1 = u1
{y ≤ x12 }
x1
48
©2015 IBM Corporation
IBM Analytics
Elementary relaxations: Secant Approximation
The convex hull relaxations of a a square x12
x1 = u1
x1 = l1
Secant approximation
48
©2015 IBM Corporation
IBM Analytics
Elementary relaxations: Secant Approximation
The convex hull relaxations of a a square x12
x12 ≤ yii+ := (l1 + u1 )x1 − l1 u1
48
©2015 IBM Corporation
IBM Analytics
Elementary relaxations: McCormick formulas
The convex hull relaxations of a single product x1 x2 [McCormick, 1976]
x1 x2
x2
x1
49
©2015 IBM Corporation
IBM Analytics
Elementary relaxations: McCormick formulas
The convex hull relaxations of a single product x1 x2 [McCormick, 1976]
x1 x2
(
)
u2 x1 + u1 x2 − u1 u2
x2
−
x1 x2 ≥ y12
:= max
l2 x1 + l1 x2 − l1 l2
x1
+
x1 x2 ≤ y12
:= min
49
(
u2 x1 + l1 x2 − l1 u2
l2 x1 + u1 x2 − u1 l2
)
©2015 IBM Corporation
IBM Analytics
Elementary relaxations: McCormick formulas
The convex hull relaxations of a single product x1 x2 [McCormick, 1976]
x1 x2
(
)
u2 x1 + u1 x2 − u1 u2
x2
−
x1 x2 ≥ y12
:= max
l2 x1 + l1 x2 − l1 l2
x1
+
x1 x2 ≤ y12
:= min
(
u2 x1 + l1 x2 − l1 u2
l2 x1 + u1 x2 − u1 l2
)
Depending on the sign of qij we only need y + or y − .
For simplicity, we assume we put all in the remainder.
49
©2015 IBM Corporation
IBM Analytics
Q-space reformulation and relaxation
Let Q = P + Q̃ with P the diagonal psd matrix containing qii > 0.
min
1 T
1
x Px + x T Q̃x + c T x
2
2
s.t.
(MIQP)
Ax = b
xj ∈ Z
j = 1, . . . , p
l ≤x ≤u
50
©2015 IBM Corporation
IBM Analytics
Q-space reformulation and relaxation
Let Q = P + Q̃ with P the diagonal psd matrix containing qii > 0.
Add one yij = xi xj variable for each non-zero entry qij of Q̃.
min
1 T
1
x Px + hQ̃, Y i + c T x
2
2
s.t.
Ax = b
xj ∈ Z
(MIQP)
j = 1, . . . , p
Y = xx T
l ≤x ≤u
( hQ, Y i =
50
P
i,j
qij yij )
©2015 IBM Corporation
IBM Analytics
Q-space reformulation and relaxation
Let Q = P + Q̃ with P the diagonal psd matrix containing qii > 0.
Add one yij = xi xj variable for each non-zero entry qij of Q̃.
Relax yij = xi xj using McCormick and Secant approximations.
min
1
1 T
x Px + hQ̃, Y i + c T x
2
2
s.t.
Ax = b
xj ∈ Z
j = 1, . . . , p
(q-MIQP)
yij− ≤ yij ≤ yij+
yii ≤ yii+
l ≤x ≤u
50
©2015 IBM Corporation
IBM Analytics
Factorizations of Q
Our block indefinite decomposition: M and B such that M 2-block
triangular and B 2-blocks diagonal with Q = M T BM
Reformulate x T Qx using additional variables z so that z T Dz = x T Bx
and D diagonal. Let L, D give the spectral decomposition of B, z = Lζ,
ζ = Mx.
(For simplicity assume z = Lx gives the system we want)
51
©2015 IBM Corporation
IBM Analytics
Factorized Eigenvector space reformulation and
relaxation
Use a decomposition to get z = Lx and z T Dz = x T Qx and do the same steps
as before (but more simple)....
min
1 T
z Dz + c T x
2
s.t.
Ax = b, Lx = z
xj ∈ Z
(MIQP)
j = 1, . . . , p
l ≤x ≤u
52
©2015 IBM Corporation
IBM Analytics
Factorized Eigenvector space reformulation and
relaxation
Use a decomposition to get z = Lx and z T Dz = x T Qx and do the same steps
as before (but more simple)....
Let D = D + − D − with D ± diagonal psd matrices.
min
1 T +
(z D z − z T D − z) + c T x
2
s.t.
Ax = b, Lx = z
xj ∈ Z
(MIQP)
j = 1, . . . , p
l ≤x ≤u
52
©2015 IBM Corporation
IBM Analytics
Factorized Eigenvector space reformulation and
relaxation
Use a decomposition to get z = Lx and z T Dz = x T Qx and do the same steps
as before (but more simple)....
Let D = D + − D − with D ± diagonal psd matrices.
Add yii ≤ z 2 variable for each non-zero of D − .
n
min
X dii
1 T +
z D z−
yii + c T x
2
2
i=1
s.t.
(MIQP)
Ax = b, Lx = z
xj ∈ Z
yii ≤
j = 1, . . . , p
zi2
l ≤x ≤u
52
©2015 IBM Corporation
IBM Analytics
Factorized Eigenvector space reformulation and
relaxation
Use a decomposition to get z = Lx and z T Dz = x T Qx and do the same steps
as before (but more simple)....
Let D = D + − D − with D ± diagonal psd matrices.
Add yii ≤ z 2 variable for each non-zero of D − .
Infer finite bounds, l z , u z for z and relax yii ≤ zi2 using Secant
approximations.
n
min
X dii
1 T +
z D z−
yii + c T x
2
2
i=1
s.t.
(ev-MIQP)
Ax = b, Lx = z
xj ∈ Z
j = 1, . . . , p
yii+
yii ≤
l ≤ x ≤ u, l z ≤ z ≤ u z
52
©2015 IBM Corporation
IBM Analytics
Notes on the two relaxations
The steps are almost the same.
If Q is diagonal the two relaxations are identical.
In general they are not comparable.
If Q 0, EV-space is better it preserves convexity.
Q-space gives a surpisingly good approximation [Luedtke et al., 2012]
show that, if Q has a 0 diagonal, for the box QP:
min{x T Qx : 0 ≤ x ≤ 1}:
if Q ≥ 0 the approximation is within a factor 2:
if Q 6≥ 0 the approximation is within a factor of # nnz in Q (conjecture it
is better)
Many ways to do different splittings of Q for eg. with SDP [Billionnet
et al., 2012].
CPLEX current strategy
By default, uses EV-space if problem looks almost convex.
Can be controled with parameter.
53
©2015 IBM Corporation
IBM Analytics
Branching
Let (x, y ) be the solution of the chosen QP relaxation after
presolve/cutting. And assume xj ∈ Z, j = 1, . . . , p.
If ∃y ij 6= x i x j , (x, y ) is not a solution of the problem and we need to
branch.
i
Pick such an index i, choose a value θ between li +u
and x i .
2
Branch by changing the bound to θ and updating all Secant and
McCormick approximations involving this bound.
x1 x2
x2
x1
54
©2015 IBM Corporation
IBM Analytics
Branching
Let (x, y ) be the solution of the chosen QP relaxation after
presolve/cutting. And assume xj ∈ Z, j = 1, . . . , p.
If ∃y ij 6= x i x j , (x, y ) is not a solution of the problem and we need to
branch.
i
Pick such an index i, choose a value θ between li +u
and x i .
2
Branch by changing the bound to θ and updating all Secant and
McCormick approximations involving this bound.
54
©2015 IBM Corporation
IBM Analytics
Branching
Let (x, y ) be the solution of the chosen QP relaxation after
presolve/cutting. And assume xj ∈ Z, j = 1, . . . , p.
If ∃y ij 6= x i x j , (x, y ) is not a solution of the problem and we need to
branch.
i
Pick such an index i, choose a value θ between li +u
and x i .
2
Branch by changing the bound to θ and updating all Secant and
McCormick approximations involving this bound.
x1 = θ
xi = θ
54
©2015 IBM Corporation
IBM Analytics
Branching
Let (x, y ) be the solution of the chosen QP relaxation after
presolve/cutting. And assume xj ∈ Z, j = 1, . . . , p.
If ∃y ij 6= x i x j , (x, y ) is not a solution of the problem and we need to
branch.
i
Pick such an index i, choose a value θ between li +u
and x i .
2
Branch by changing the bound to θ and updating all Secant and
McCormick approximations involving this bound.
x1 = θ
xi = θ
54
©2015 IBM Corporation
IBM Analytics
Notes on unbounded problems
Try to bound all auxiliary variables with a basic presolve.
If not possible, do it by solving LPs.
If there is an unbounded direction r look at its cost r T Qr :
If r T Qr < 0: problem is unbounded,
If r T Qr ≥ 0: relaxation is unbounded but can’t conclude on problem
status, return RELAXATION_UNBOUNDED.
(Very easy to construct examples where can’t conclude).
[Hu et al., 2012]
Propose a KKT system that detects unbounded problems correctly.
Use a combinatorial benders approach to solve it.
55
©2015 IBM Corporation
IBM Analytics
Other ingredients
Convex QP relaxation solved by a QP simplex.
Interior point solver for improving incumbents.
Bound strengthening based on the KKT system.
Linearize completely parts of the problem involving binary variables.
Heuristic detection of unbounded problems.
Multi-threaded.
BQP cuts (new in CPLEX 12.6.2)
56
©2015 IBM Corporation
IBM Analytics
Box QP
We consider the box constrained QP:
1
min x T Qx + c T x
2
s.t.
0≤x ≤1
(box-QP)
Bounds 0 and 1 are without loss of generality (every box QP can be
scaled to those bounds).
Still NP-Hard.
Has some academic interest [Vandenbussche and Nemhauser, 2005, Burer
and Vandenbussche, 2009, Chen and Burer, 2012]
Also some applications [Moré and Toraldo, 1989] (usually huge size).
57
©2015 IBM Corporation
IBM Analytics
Box QP and Boolean Quadratic Optimization
Proposition ([Burer and Letchford, 2009])
Assume that Q is without diagonal term (Qii = 0, i = 1, . . . , n).
Let Y Q be the set where variables y represent the products in Q:
Y Q = {(x, Y ) : yij = xi xj , ∀i, j such that i 6= j and qij 6= 0}.
We have
conv (x, Y ) ∈ Y Q : x ∈ [0, 1]
n
= conv (x, Y ) ∈ Y Q : x ∈ {0, 1}
n
.
Corollary
This set is the Boolean Quadratic Polytope (BQP) [Padberg, 1989]. BQP
gives a relaxation of box-QP. Every valid cut for BQP is valid for the box-QP.
58
©2015 IBM Corporation
IBM Analytics
Using BQP for nonconvex QPs [O. Günlük et al., 2015]
Boolean Quadratic Optimization in CPLEX
CPLEX has a lot of technology available to optimize over BQP.
In particular the 0 − 1/2 Chvátal Gomory cut separator finds strong
cutting planes for this polytope.
When used in the context of a non-convex QP we call these BQP-cuts.
Remarks
By scaling and shifting separation can always been reduced to 0 − 1 case.
In particular, after branching, rescaling using tighter bounds leads to
tighter local cuts.
BQP cuts arise from Box QP but can be used to strengthen any
non-convex QP.
Then the efficiency depends on how much the side constraints already
put (x, Y ) in BQP.
59
©2015 IBM Corporation
IBM Analytics
Related approaches
Separation of cuts for the box-QP (without BQP) have been developed in
Global Optimization
The McCormick formula gives the exact hull for 2 variable sets.
[Meyer and Floudas, 2005] give closed form formula for 3 variables sets.
Many approximation results on the McCormick Q-space formulation
[Coppersmith et al., 1999, Meyer and Floudas, 2005, Luedtke et al., 2012]
Exploit closed form formula for set with up to 6 variables [Misener and
Floudas, 2013].
60
©2015 IBM Corporation
IBM Analytics
Computational experiments global QP-MIQP 12.6.26
Test set
Internal nonconvex MIQP (with three variant original, 50% integer
relaxed, 100 % relaxed).
GAMS Globallib
minlp.org, Box-QP, Tardella instances...
CUTEr problems with flipped objective
Experiments
Compare CPLEX 12.6.1 to CPLEX 12.6.2.
Time limit of 3 hours, shifted geo means of computing time.
6 All tests are carried on Linux machines: Intel X5650 @ 2.67 GHz, 24 GB RAM, 12
threads, deterministic.
61
©2015 IBM Corporation
IBM Analytics
Nonconvex (MI)QP CPLEX 12.6.1 vs 12.6.2
1.0
0.8
0.6
0.4
0.2
0
1.0
0.8
0.6
0.4
0.2
0
62
×1.47
×2.33
CPLEX test bed
CPLEX 12.6.1: 270 time limits
CPLEX 12.6.2: 262 time limits
> 0 sec
> 1 sec
395 Models 134 Models
×68
×152
Box QP
CPLEX 12.6.1: 55 time limits
CPLEX 12.6.2: 19 time limits
> 0 sec
79 Models
> 1 sec
152 Models
©2015 IBM Corporation
IBM Analytics
Conclusion
CPLEX 12.6.2 is out with many good improvements for quadratic problems.
Nonconvex (MI)QP
MIQCP
1.0
0.8
0.6
0.4
0.2
0
×2.86
×5.0
> 0 sec
> 1 sec
231 Models 149 Models
1.0
0.8
0.6
0.4
0.2
0
×1.47
×2.33
> 0 sec
> 1 sec
395 Models 134 Models
We are looking for more new challenging MISOCPs and MIQPs.
63
©2015 IBM Corporation
IBM Analytics
Legal Disclaimer
© IBM Corporation 2015. All Rights Reserved.
The information contained in this publication is provided for informational purposes only. While efforts were
made to verify the completeness and accuracy of the information contained in this publication, it is provided AS
IS without warranty of any kind, express or implied. In addition, this information is based on IBM’s current
product plans and strategy, which are subject to change by IBM without notice. IBM shall not be responsible for
any damages arising out of the use of, or otherwise related to, this publication or any other materials. Nothing
contained in this publication is intended to, nor shall have the effect of, creating any warranties or
representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable
license agreement governing the use of IBM software.
References in this presentation to IBM products, programs, or services do not imply that they will be available in
all countries in which IBM operates. Product release dates and/or capabilities referenced in this presentation
may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not
intended to be a commitment to future product or feature availability in any way. Nothing contained in these
materials is intended to, nor shall have the effect of, stating or implying that any activities undertaken by you
will result in any specific sales, revenue growth or other results.
Performance is based on measurements and projections using standard IBM benchmarks in a controlled
environment. The actual throughput or performance that any user will experience will vary depending upon
many factors, including considerations such as the amount of multiprogramming in the user’s job stream, the
I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given
that an individual user will achieve results similar to those stated here.
IBM, the IBM logo, CPLEX and SPSS are trademarks of International Business Machines Corporation in the
United States, other countries, or both.
Intel, Intel Xeon are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United
States and other countries.
Linux is a registered trademark of Linus Torvalds in the United States, other countries, or both. Other company,
product, or service names may be trademarks or service marks of others.
65
©2015 IBM Corporation
IBM Analytics
References I
K. Abhishek, S. Leyffer, and J. T. Linderoth. FilMINT: An outer-approximation-based solver for convex mixed-integer
nonlinear programs. INFORMS Journal on Computing, 2010. To appear, DOI: 10.1287/ijoc.1090.0373.
E. Balas. Disjunctive programming. Annals of Discrete Mathematics, 5:3–51, 1979.
E. Balas, S. Ceria, and G. Cornuéjols. A lift-and-project cutting plane algorithm for mixed 0-1 programs. Math.
Programming, 58:295–324, 1993.
A. Billionnet, S. Elloumi, and A. Lambert. Extending the qcr method to general mixed-integer programs. Mathematical
Programming, 131(1-2):381–401, 2012. doi: 10.1007/s10107-010-0381-7.
Bonami. On optimizing over lift-and-project closures. Mathematical Programming Computation, 4(2):151–179, 2012.
ISSN 1867-2949. doi: 10.1007/s12532-012-0037-0. URL http://dx.doi.org/10.1007/s12532-012-0037-0.
P. Bonami. Lift-and-project cuts for mixed integer convex programs. In IPCO, pages 52–64, 2011.
P. Bonami, L. T. Biegler, A. R. Conn, G. Cornuéjols, I. E. Grossmann, C. D. Laird, J. Lee, A. Lodi, F. Margot,
N. Sawaya, and A. Wächter. An algorithmic framework for convex mixed integer nonlinear programs. Discrete
Optimization, 5(2):186–204, 2008.
S. Burer and A. N. Letchford. On nonconvex quadratic programming with box constraints. SIAM Journal on
Optimization, 20(2):1073–1089, 2009. doi: 10.1137/080729529.
S. Burer and D. Vandenbussche. Globally solving box-constrained nonconvex quadratic programs with semidefinite-based
finite branch-and-bound. Comput Optim Appl, 43:181–195, 2009.
M. R. Bussieck and A. Drud. Sbb: A new solver for mixed integer nonlinear programming. Talk, OR 2001, Section
"Continuous Optimization", 2001.
R. H. Byrd, J. Nocedal, and R. A. Waltz. KNITRO: An integrated package for nonlinear optimization. In Large Scale
Nonlinear Optimization, 35–59, 2006, pages 35–59. Springer Verlag, 2006.
J. Chen and S. Burer. Globally solving nonconvex quadratic programming problems via completely positive programming.
Mathematical Programming Computation, 4(1):33–52, 2012.
66
©2015 IBM Corporation
IBM Analytics
References II
D. Coppersmith, O. Günlük, J. Lee, and J. Leung. A polyhedron for products of linear functions in 0/1 variables.
Technical Report RC21568, IBM Research Division, September 1999. Revised and published in: "Mixed Integer
Nonlinear Programming", S. Leyffer and J. Lee, Eds., The IMA Volumes in Mathematics and its Applications, Vol.
154. 1st Edition, 2012, pp. 513-529.
S. Drewes. Mixed Integer Second Order Cone Programming. PhD thesis, Technische Universität Darmstadt, 2009.
S. Drewes and S. Ulbrich. Subgradient based outer approximation for mixed integer second order cone programming. In
J. Lee and S. Leyffer, editors, Mixed Integer Nonlinear Programming, volume 154 of The IMA Volumes in
Mathematics and its Applications, pages 41–59. Springer New York, 2012. ISBN 978-1-4614-1926-6. doi:
10.1007/978-1-4614-1927-3_2. URL http://dx.doi.org/10.1007/978-1-4614-1927-3_2.
M. A. Duran and I. Grossmann. An outer-approximation algorithm for a class of mixed-integer nonlinear programs.
Mathematical Programming, 36:307–339, 1986.
O. K. Gupta and A. Ravindran. Branch and bound experiments in convex nonlinear integer programming. Management
Science, 31:1533–1546, 1985.
H. Hijazi, P. Bonami, and A. Ouorou. An outer-inner approximation for separable mixed-integer nonlinear programs.
INFORMS Journal on Computing, 26(1):null, 14. doi: 10.1287/ijoc.1120.0545.
J. Hu, J. E. Mitchell, and J.-S. Pang. An lpcc approach to nonconvex quadratic programs. Math. Program., 133(1-2):
243–277, 2012.
M. Kılınc, J. Linderoth, and J. Luedtke. Effective separation of disjunctive cuts for convex mixed integer nonlinear
programs. Technical Report 1681, 2011.
M. R. Kılınç. Disjunctive Cutting Planes ann Algorithms for Convex Mixed Integer Nonlinear Programming. PhD thesis,
University of Wisconsin-Madison, 2011.
J. Lee. How we participate in open source agreements, 2008. URL http://ibm.co/1nPMkAM.
S. Leyffer. Integrating SQP and branch-and-bound for mixed integer nonlinear programming. Technical report, University
of Dundee, 1998.
J. Luedtke, M. Namazifar, and J. Linderoth. Some results on the strength of relaxations of multilinear functions. Math.
Program., 136(2):325–351, 2012.
67
©2015 IBM Corporation
IBM Analytics
References III
G. P. McCormick. Computability of global solutions to factorable nonconvex programs: Part I—Convex underestimating
problems. Mathematical Programming, 10:147–175, 1976.
C. A. Meyer and C. A. Floudas. Convex envelopes for edge-concave functions. Math. Program., 103(2):207–224, 2005.
R. Misener and C. A. Floudas. GloMIQO: Global Mixed-Integer Quadratic Optimizer. J. Glob. Optim., 57:3–30, 2013.
J. Moré and G. Toraldo. Algorithms for bound constrained quadratic programming problems. Numerische Mathematik, 55
(4):377–400, 1989. ISSN 0029-599X. doi: 10.1007/BF01396045. URL http://dx.doi.org/10.1007/BF01396045.
T. S. Motzkin and E. G. Straus. Maxima for graphs and a new proof of a theorem of turán. Canadian Journal of
Mathematics, 17:533–540, 1965.
O. Günlük, J. Linderoth, and P. Bonami. In preparation, 2015.
M. Padberg. The boolean quadric polytope: Some characteristics, facets and relatives. Mathematical Programming, 45
(1-3):139–172, 1989. ISSN 0025-5610. doi: 10.1007/BF01589101. URL http://dx.doi.org/10.1007/BF01589101.
I. Quesada and I. E. Grossmann. An LP/NLP based branch–and–bound algorithm for convex MINLP optimization
problems. Computers and Chemical Engineering, 16:937–947, 1992.
A. Scozzari and F. Tardella. A clique algorithm for standard quadratic programming. Discrete Applied Mathematics, 156
(13):2439–2448, 2008.
D. Vandenbussche and G. L. Nemhauser. A polyhedral study of nonconvex quadratic programs with box constraints.
Mathematical Programming, 2005. to appear.
J. P. Vielma, I. Dunning, J. Huchette, and M. Lubin. Extended Formulations in Mixed Integer Conic Quadratic
Programming. Research Report, 2015.
S. Vigerske. Decomposition in multistage stochastic programming and a constraint integer programming approach to
mixed-integer nonlinear programming. PhD thesis, 2012.
S. Vigerske. Gams minlp benchmarks, 2013. URL http://bit.ly/1ftcys8.
T. Westerlund and K. Lundqvist. Alpha-ECP, version 5.101. an interactive minlp-solver based on the extended cutting
plane method. In Updated version of Report 01-178-A, Process Design Laboratory, Abo Akademi Univeristy, 2005.
68
©2015 IBM Corporation
Fly UP