Upload
ibm-decision-optimization
View
119
Download
2
Tags:
Embed Size (px)
Citation preview
© 2015 IBM Corporation
Recent Developments in
IBM CPLEX Optimizer
Xavier Nodet, Program Manager, CPLEX Optimization Studio
EURO 2015, Glasgow, 2015-07-13
© 2015 IBM Corporation3
Agenda
CPLEX Optimization Studio 12.6.2
Beyond Linear Programming
Problem types in CPLEX
(MI)SOCP
Algorithms for MISOCP
SOCP branch-and-bound
Outer Approximation
OA branch-and-cut
Recent progress
Propagation of quadratic objective/constraints (12.6.1)
Cone disaggregation (12.6.2)
Lift-and-Project cuts for MISOCP (12.6.2)
Other improvements in 12.6.2
© 2015 IBM Corporation4
CPLEX Optimization Studio 12.6.2
Available since June 2015
The OPL IDE can use the DOcloud service
Performance improvements for CPO
Performance improvements for CPLEX
© 2015 IBM Corporation6
Everything CPLEX can handle
Convex Nonconvex
All variables
continuous
LP
Convex QP
Convex QCP
Nonconvex QP
Some or all
variables
Integer
MIP
Convex MIQP
Convex MIQCP
Nonconvex MIQP
Quadratic objective
Quadratic constraints
Main focus for today
© 2015 IBM Corporation7
Beyond Linear Programming
CPLEX 9.0 (2003): convex Quadratically Constrained Problems
All such problems transformed
using Second-Order Cones
00,0
00
1010
2
2
0
2
0
1
2
cxxxxxc
cxxxc
psdQbxaQxx
n
j
jj
n
j
jj
TT
0,:R,: 0
2
0
1
21d
0 xxxxxLd
i
i
d
0,0 QxxxpsdQ T
© 2015 IBM Corporation8
Convex programs
Continuous relaxation is convex
Local optimum is also a global optimum
(Relatively) easy to solve, using Interior Point methods (aka Barrier algorithm)
© 2015 IBM Corporation9
Examples of SOCPs
From Lobo, Vandenberghe, Boyd, Lebret (1998)
Portfolio optimization with loss-risk constraints
Minimize out-of-beam sensitivity of an array of antennas
Gentlest grasp of a solid by a robot hand
Stiffest truss subject to weight constraints
© 2015 IBM Corporation10
Examples of MISOCPs
From Benson, Saglam (2005):
Portfolio optimization, with transaction costs, conditional value-at-risk constraints,
diversification-by-sector constraints, buy-in-thresholds
Minimizing delays in communication networks
Coordinated Multi-point Transmission in Cellular Networks.
Clustering around balls (Euclidian k-center)
Power distribution systems
Facility location and inventory management, with random demands, and possibly inventory
capacities and costs
Minimizing fuel consumption of vessels approaching berths, with fuel consumption
approximated with hyperbolic inequalities
© 2015 IBM Corporation12
Algorithms for MISOCP:
SOCP branch-and-bound
Relax integrality constraints
Branch on fractional variables
Very similar to MILP
But no good warm starting of SOCP solves,
And reusing MILP techniques, such as cuts
and strong branching is difficult.kxi 1 kxi
socp
socp socp
© 2015 IBM Corporation13
Algorithms for MISOCP:
Outer Approximation
Let’s build an MILP relaxation of the MISOCP
© 2015 IBM Corporation14
Algorithms for MISOCP:
Outer Approximation
Let’s build an MILP relaxation of the MISOCP:
Start from optimal solution of (continuous) SOCP: x0
© 2015 IBM Corporation15
Algorithms for MISOCP:
Outer Approximation
Let’s build an MILP relaxation of the MISOCP:
Start from optimal solution of (continuous) SOCP: x0
Add linear outer approximation of the nonlinear constraints
© 2015 IBM Corporation16
Algorithms for MISOCP:
Outer Approximation
Let’s build an MILP relaxation of the MISOCP:
Start from optimal solution of (continuous) SOCP: x0
Add linear outer approximation of the nonlinear constraints
Compute MIP solution: y0
© 2015 IBM Corporation17
Algorithms for MISOCP:
Outer Approximation
Let’s build an MILP relaxation of the MISOCP:
Start from optimal solution of (continuous) SOCP: x0
Add linear outer approximation of the nonlinear constraints
Compute MIP solution: y0
In the SOCP, fix all integer variables to their values at y0
© 2015 IBM Corporation18
Algorithms for MISOCP:
Outer Approximation
Let’s build an MILP relaxation of the MISOCP:
Start from optimal solution of (continuous) SOCP: x0
Add linear outer approximation of the nonlinear constraints
Compute MIP solution: y0
In the SOCP, fix all integer variables to their values at y0
Solve the fixed SOCP: x1
© 2015 IBM Corporation19
Algorithms for MISOCP:
Outer Approximation
Let’s build an MILP relaxation of the MISOCP:
Start from optimal solution of (continuous) SOCP: x0
Add linear outer approximation of the nonlinear constraints
Compute MIP solution: y0
In the SOCP, fix all integer variables to their values at y0
Solve the fixed SOCP: x1
Add to the MIP approximations computed from x1
© 2015 IBM Corporation20
Algorithms for MISOCP:
Outer Approximation
Let’s build an MILP relaxation of the MISOCP:
Start from optimal solution of (continuous) SOCP: x0
Add linear outer approximation of the nonlinear constraints
Compute MIP solution: y0
In the SOCP, fix all integer variables to their values at y0
Solve the fixed SOCP: x1
Add to the MIP approximations computed from x1
Iterate…
© 2015 IBM Corporation21
Algorithms for MISOCP:
Outer Approximation
Let’s build an MILP relaxation of the MISOCP:
Start from optimal solution of (continuous) SOCP: x0
Add linear outer approximation of the nonlinear constraints
Compute MIP solution: y0
In the SOCP, fix all integer variables to their values at y0
Solve the fixed SOCP: x1
Add to the MIP approximations computed from x1
Iterate…
Eventually, this converges
But we can do better…
© 2015 IBM Corporation22
Algorithms for MISOCP:
Outer Approximation Branch & Cut
Let’s combine OA with a MIP tree
© 2015 IBM Corporation23
Algorithms for MISOCP:
Outer Approximation Branch & Cut
Let’s combine OA with a MIP tree
Build first round of OA, to get a MIP
mip
socp
oa
© 2015 IBM Corporation24
Algorithms for MISOCP:
Outer Approximation Branch & Cut
Let’s combine OA with a MIP tree
Build first round of OA, to get a MIP
Start solving it by Branch & Cut
lp
lp
© 2015 IBM Corporation25
Algorithms for MISOCP:
Outer Approximation Branch & Cut
Let’s combine OA with a MIP tree
Build first round of OA, to get a MIP
Start solving it by Branch & Cut
At each integer feasible nodelp
Integer
feasible
© 2015 IBM Corporation26
Algorithms for MISOCP:
Outer Approximation Branch & Cut
Let’s combine OA with a MIP tree
Build first round of OA, to get a MIP
Start solving it by Branch & Cut
At each integer feasible node:
Solve the SOCP with all integer variables
fixed to their values at the node
lpsocp Integer
feasible
© 2015 IBM Corporation27
Algorithms for MISOCP:
Outer Approximation Branch & Cut
Let’s combine OA with a MIP tree
Build first round of OA, to get a MIP
Start solving it by Branch & Cut
At each integer feasible node:
Solve the SOCP with all integer variables
fixed to their values at the node
Generate linear approximations
lpsocp
oa
Integer
feasible
© 2015 IBM Corporation28
Algorithms for MISOCP:
Outer Approximation Branch & Cut
Let’s combine OA with a MIP tree
Build first round of OA, to get a MIP
Start solving it by Branch & Cut
At each integer feasible node:
Solve the SOCP with all integer variables
fixed to their values at the node
Generate linear approximations
Resolve the LP with these new approximations
lpsocp
oa
Integer
feasible
© 2015 IBM Corporation29
Algorithms for MISOCP:
Outer Approximation Branch & Cut
Let’s combine OA with a MIP tree
Build first round of OA, to get a MIP
Start solving it by Branch & Cut
At each integer feasible node:
Solve the SOCP with all integer variables
fixed to their values at the node
Generate linear approximations
Resolve the LP with these new approximations
Iterate until the node is not integer feasible
lpsocp
oa
© 2015 IBM Corporation30
Algorithms for MISOCP:
Outer Approximation Branch & Cut
Let’s combine OA with a MIP tree
Build first round of OA, to get a MIP
Start solving it by Branch & Cut
At each integer feasible node:
Solve the SOCP with all integer variables
fixed to their values at the node
Generate linear approximations
Resolve the LP with these new approximations
Iterate until the node is not integer feasible
Remarks:
OA constraints are valid for the whole tree
A large number of MIP techniques can be applied
Usually the fastest algorithm in CPLEX
lpsocp
oa
© 2015 IBM Corporation31
Choosing the MISOCP algorithm
CPLEX has a heuristic to choose the algorithm
User can control the choice with CPXPARAM_MIP_Strategy_MIQCPStrat
0: let CPLEX choose (default)
1: SOCP branch and bound
2: OA branch and cut
© 2015 IBM Corporation33
Propagation of Quadratic constraints and objective (12.6.1)
Isolate a single variable x, with bounds L and U, in a quadratic constraint.
This gives
02 cbxax
© 2015 IBM Corporation34
Propagation of Quadratic constraints and objective (12.6.1)
Isolate a single variable x, with bounds L and U, in a quadratic constraint.
This gives
Compute the two roots of this polynomial, R- and R+, with R- < R+
If a > 0, then R- and R+ are valid bounds for the variable x, possibly improving L and U
02 cbxax
© 2015 IBM Corporation35
Propagation of Quadratic constraints and objective (12.6.1)
Isolate a single variable x, with bounds L and U, in a quadratic constraint.
This gives
Compute the two roots of this polynomial, R- and R+, with R- < R+
If a > 0, then R- and R+ are valid bounds for the variable x, possibly improving L and U
If a < 0, then:
If R- < L, R+ is a lower bound
If R+ > U, R- is an upper bound
If both, then the problem is infeasible (as R- < R+)
02 cbxax
© 2015 IBM Corporation36
Propagation of Quadratic constraints and objective (12.6.1)
Isolate a single variable x, with bounds L and U, in a quadratic constraint or objective.
This gives
Compute the two roots of this polynomial, R- and R+, with R- < R+
If a > 0, then R- and R+ are valid bounds for the variable x, possibly improving L and U
If a < 0, then:
If R- < L, R+ is a lower bound
If R+ > U, R- is an upper bound
If both, then the problem is infeasible (as R- < R+)
Gave 12-20% speedup on convex MIQCPs (57% of models affected).
02 cbxax
© 2015 IBM Corporation37
Cone disaggregation (12.6.2)
We implemented one idea from Vielma, Dunning, Huchette, Lubin (2015)
Consider a cone
Divide both sides of the constraint by
Introduce linearization variables
And linking constraints
More variables and constraints, but shorter cones
Less OA constraints needed
Automatically applied during presolve when using OA branch and cut
0,:R,: 0
2
0
1
21d
0 xxxxxLd
i
i
d
djy
x
djxyx
xy
j
jj
d
j
j
,,1,0
,0
,,1,
,
0
0
2
0
1
0x
jy
© 2015 IBM Corporation38
Cuts for MIPs
Cuts are an essential component of MIP
Root cut loop:
Solve the LP, giving optimal solution
Try to find a cut
Add it to the LP
x̂
© 2015 IBM Corporation39
Cuts for MIPs
Cuts are an essential component of MIP
Root cut loop:
Solve the LP, giving optimal solution
Try to find a cut
Add it to the LP
Lift-and-Project cuts (Balas et al., 1993)
Choose a split disjunction
on a fractional variable
Generate and solve a large
Cut Generating LP
x̂ x̂
© 2015 IBM Corporation40
Cuts for MIPs
Cuts are an essential component of MIP
Root cut loop:
Solve the LP, giving optimal solution
Try to find a cut
Add it to the LP
Lift-and-Project cuts (Balas et al., 1993)
Choose a split disjunction
on a fractional variable
Generate and solve a large
Cut Generating LP
Either this LP has a solution -> cut
x̂ x̂
© 2015 IBM Corporation41
Cuts for MIPs
Cuts are an essential component of MIP
Root cut loop:
Solve the LP, giving optimal solution
Try to find a cut
Add it to the LP
Lift-and-Project cuts (Balas et al., 1993)
Choose a split disjunction
on a fractional variable
Generate and solve a large
Cut Generating LP
Either this LP has a solution -> cut
Or you have a pair
such that
x̂
10 , xx
10 ,ˆ xxx
0x 1xx̂
© 2015 IBM Corporation42
MIP cuts can be applied to OA from an MISOCP, but…
How can we use more directly the nonlinear constraints to generate the cuts?
Lift-and-Project cuts for MISOCP (12.6.2)
© 2015 IBM Corporation43
MIP cuts can be applied to OA from an MISOCP, but…
How can we use more directly the nonlinear constraints to generate the cuts?
Penalize the nonlinear constraints (Bonami, 2011)
Lift-and-Project cuts for MISOCP (12.6.2)
© 2015 IBM Corporation44
MIP cuts can be applied to OA from an MISOCP, but…
How can we use more directly the nonlinear constraints to generate the cuts?
Penalize the nonlinear constraints (Bonami, 2011)
From , derive OA
This gives a MIP
Lift-and-Project cuts for MISOCP (12.6.2)
x̂
© 2015 IBM Corporation45
MIP cuts can be applied to OA from an MISOCP, but…
How can we use more directly the nonlinear constraints to generate the cuts?
Penalize the nonlinear constraints (Bonami, 2011)
From , derive OA
This gives a MIP
Use the smaller MLP (Bonami, 2012) to derive
Lift-and-Project cuts for MISOCP (12.6.2)
x̂
10 , xx
© 2015 IBM Corporation46
MIP cuts can be applied to OA from an MISOCP, but…
How can we use more directly the nonlinear constraints to generate the cuts?
Penalize the nonlinear constraints (Bonami, 2011)
From , derive OA
This gives a MIP
Use the smaller MLP (Bonami, 2012) to derive
Build OA from those points (Kilinc et al, 2011)
Lift-and-Project cuts for MISOCP (12.6.2)
x̂
10 , xx
© 2015 IBM Corporation47
MIP cuts can be applied to OA from an MISOCP, but…
How can we use more directly the nonlinear constraints to generate the cuts?
Penalize the nonlinear constraints (Bonami, 2011)
From , derive OA
This gives a MIP
Use the smaller MLP (Bonami, 2012) to derive
Build OA from those points (Kilinc et al, 2011)
Only done in OA based algorithm
Use CPXPARAM_MIP_Cuts_LiftProj if needed
Lift-and-Project cuts for MISOCP (12.6.2)
x̂
10 , xx
© 2015 IBM Corporation49
Other improvements in 12.6.2
Improvements for large SOCP models
Symmetries in LPs
CPU binding: when not using all the cores
Objective offsets, adding or removing a constant
© 2015 IBM Corporation51
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 Optimizer, CPLEX Optimization Studio are trademarks of International Business Machines
Corporation in the United States, other countries, or both. Unyte is a trademark of WebDialogs, Inc., in the United States,
other countries, or both.
• If you reference Intel® and/or any of the following Intel products in the text, please mark the first use and include those that
you use as follows; otherwise delete:
Intel, Intel Centrino, Celeron, Intel Xeon, Intel SpeedStep, Itanium, and Pentium are trademarks or registered trademarks
of Intel Corporation or its subsidiaries in the United States and other countries.