What's new in CPLEX 12.6?
Click here to load reader
-
Upload
xavier-nodet -
Category
Software
-
view
578 -
download
0
description
Transcript of What's new in CPLEX 12.6?
Decision Optimization
IFORS 2014 – CPLEX 12.6
IFORS 2014, Barcelona
What’s new in CPLEX 12.6
Xavier Nodet
Software Development Manager
IBM CPLEX Optimizer
© 2014 IBM Corporation
Decision Optimization
2 IFORS 2014 – CPLEX 12.6
Disclaimer
IBM’s statements regarding its plans, directions, and intent are subject to change or withdrawal without notice at IBM’s sole discretion. Information regarding potential future products is intended to outline our general product direction and it should not be relied on in making a purchasing decision. The information mentioned regarding potential future products is not a commitment, promise, or legal obligation to deliver any material, code or functionality. Information about potential future products may not be incorporated into any contract. The development, release, and timing of any future features or functionality described for our products remains at our sole discretion.
Performance is based on measurements and projections using standard IBM®benchmarks in a controlled environment. The actual throughput orperformance that any user will experience will vary depending upon manyfactors, including considerations such as the amount of multiprogramming inthe user's job stream, the I/O configuration, the storage configuration, and theworkload processed. Therefore, no assurance can be given that an individualuser will achieve results similar to those stated here.
© 2014 IBM Corporation
Decision Optimization
3 IFORS 2014 – CPLEX 12.6
Agenda
MIP performance
Distributed MIP
Nonconvex (MI)QP
© 2014 IBM Corporation
Decision Optimization
4 IFORS 2014 – CPLEX 12.6
Agenda
MIP performance
Distributed MIP
Nonconvex (MI)QP
© 2014 IBM Corporation
Decision Optimization
MIP performance
Continuous improvements in MIP performance with each release
Main ingredients since 12.5:– Concurrent root cut loop– Lift and Project cuts
With 12.6:– 5% on nontrivial models (more than 1 sec)– 15% on hard models (more than 100 sec)
5 IFORS 2014 – CPLEX 12.6
© 2014 IBM Corporation
Decision Optimization
0
50
100
150
200
250
0
200
400
600
800
1000
1200
1400
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
tota
l sp
eed
up
nu
mb
er o
f ti
meo
uts
x217Same hardware
3147 models
10 sec
100 sec
1000 sec
Date: 28 September 2013Testset: 3147 models (1792 in 10sec, 1554 in 100sec, 1384 in 1000sec)Machine: Intel X5650 @ 2.67GHz, 24 GB RAM, 12 threads (deterministic since CPLEX 11.0)Timelimit: 10,000 sec
v6.0
v6.5.3
v7.0v8.0
v9.0
v10.0
v11.0v12.1
v12.2v12.4
v12.5v12.6
© 2014 IBM Corporation
Decision Optimization
7 IFORS 2014 – CPLEX 12.6
Agenda
MIP performance
Distributed MIP
Nonconvex (MI)QP
© 2014 IBM Corporation
Decision Optimization
One master, several workers
Distributed MIP
8 IFORS 2014 – CPLEX 12.6
© 2014 IBM Corporation
Decision Optimization
One master, several workers
Racing rampup: – Each worker solves a copy of the problem using different settings
Distributed MIP
9 IFORS 2014 – CPLEX 12.6
© 2014 IBM Corporation
Decision Optimization
One master, several workers
Racing rampup: – Each worker solves a copy of the problem using different settings– The master gathers primal and dual bounds from the workers and redistributes them
Distributed MIP
10 IFORS 2014 – CPLEX 12.6
© 2014 IBM Corporation
Decision Optimization
One master, several workers
Racing rampup: – Each worker solves a copy of the problem using different settings– The master gathers primal and dual bounds from the workers and redistributes them– A winner is selected
Distributed MIP
11 IFORS 2014 – CPLEX 12.6
© 2014 IBM Corporation
Decision Optimization
One master, several workers
Racing rampup: – Each worker solves a copy of the problem using different settings– The master gathers primal and dual bounds from the workers and redistributes them– A winner is selected
Distributed B&B
Distributed MIP
12 IFORS 2014 – CPLEX 12.6
© 2014 IBM Corporation
Decision Optimization
One master, several workers
Racing rampup: – Each worker solves a copy of the problem using different settings– The master gathers primal and dual bounds from the workers and redistributes them– A winner is selected
Distributed B&B– The master distributes subtrees coming from the winner to all workers
Distributed MIP
13 IFORS 2014 – CPLEX 12.6
© 2014 IBM Corporation
Decision Optimization
One master, several workers
Racing rampup: – Each worker solves a copy of the problem using different settings– The master gathers primal and dual bounds from the workers and redistributes them– A winner is selected
Distributed B&B– The master distributes subtrees coming from the winner to all workers– And coordinates the exploration of the whole tree
Distributed MIP
14 IFORS 2014 – CPLEX 12.6
© 2014 IBM Corporation
Decision Optimization
Distributed MIP
Use infinite rampup (default) to exploit performance variability– 1.5x to 2x speed-up with 4 workers on non-trivial problems
Use Distributed B&B (set CPXPARAM_DistMIP_Rampup_Duration to 1) – for very hard problems, many nodes to enumerate
Hardware doesn’t need to be the same
But workers should be as similar as possible to facilitate load balancing
15 IFORS 2014 – CPLEX 12.6
© 2014 IBM Corporation
Decision Optimization
16 IFORS 2014 – CPLEX 12.6
Agenda
MIP performance
Distributed MIP
Nonconvex (MI)QP
© 2014 IBM Corporation
Decision Optimization
Evolution of CPLEX capabilities
17 IFORS 2014 – CPLEX 12.6
LP-Simplex
MIP-B&B
© 2014 IBM Corporation
Decision Optimization
Evolution of CPLEX capabilities
18 IFORS 2014 – CPLEX 12.6
LP-Simplex-Barrier
Convex QP
-QP Barrier
Nonconvex QP-Local: QP Barrier
MIP-B&B
© 2014 IBM Corporation
Decision Optimization
Evolution of CPLEX capabilities
19 IFORS 2014 – CPLEX 12.6
LP-Simplex-Barrier
Convex QP-QP Simplex-QP Barrier
Nonconvex QP-Local: QP Barrier
(convex) MI(Q)P-B&B
© 2014 IBM Corporation
Decision Optimization
Evolution of CPLEX capabilities
20 IFORS 2014 – CPLEX 12.6
LP-Simplex-Barrier
Convex QP-QP Simplex-QP Barrier
Nonconvex QP-Local: QP Barrier
Convex QCP-SOCP Barrier
(convex) MI(QC)P-B&B
© 2014 IBM Corporation
Decision Optimization
Evolution of CPLEX capabilities
21 IFORS 2014 – CPLEX 12.6
LP-Simplex-Barrier
Convex QP-QP Simplex-QP Barrier
Nonconvex QP-Local: QP Barrier-Global: Spatial B&B
Convex QCP-SOCP Barrier
(convex) MI(QC)P-B&B
Nonconvex MIQP-Global: Spatial B&B
© 2014 IBM Corporation
Decision Optimization
Solving a nonconvex (MI)QP
QP Simplex doesn’t handle nonconvex problems
QP Barrier only gives locally optimal solutions
Relax the problem into a convex QP
Loop:– Solve the relaxed model to optimality using QP simplex– Do we need to branch?– Choose a variable to branch on– Create the nodes, update the relaxations
22 IFORS 2014 – CPLEX 12.6
© 2014 IBM Corporation
Decision Optimization
Relaxing to convex QP
If we had only positive squares, the problem would be convex
23 IFORS 2014 – CPLEX 12.6
© 2014 IBM Corporation
Decision Optimization
Relaxing to convex QP
If we had only positive squares, the problem would be convex
Relax negative squares using Secant approximations
24 IFORS 2014 – CPLEX 12.6
......min 2 iiixq
© 2014 IBM Corporation
Decision Optimization
Relaxing to convex QP
If we had only positive squares, the problem would be convex
Relax negative squares using Secant approximations– Replace with new variable
25 IFORS 2014 – CPLEX 12.6
2
ix iy2
......min
ii
iii
xy
yq
© 2014 IBM Corporation
Decision Optimization
Relaxing to convex QP
If we had only positive squares, the problem would be convex
Relax negative squares using Secant approximations– Replace with new variable– Coef. is negative, no need for equality
26 IFORS 2014 – CPLEX 12.6
2
ix iy2
......min
ii
iii
xy
yq
© 2014 IBM Corporation
Decision Optimization
Relaxing to convex QP
If we had only positive squares, the problem would be convex
Relax negative squares using Secant approximations– Replace with new variable– Coef. is negative, no need for equality– Use secant instead of
27 IFORS 2014 – CPLEX 12.6
iiiiii
iii
ulxuly
yq
......min2
ix iy
2
ix
© 2014 IBM Corporation
Decision Optimization
Relaxing to convex QP
If we had only positive squares, the problem would be convex
Relax negative squares using Secant approximations– Replace with new variable– Coef. is negative, no need for equality– Use secant instead of – Tight bounds are important!
28 IFORS 2014 – CPLEX 12.6
iiiiii
iii
ulxuly
yq
......min2
ix iy
2
ix
© 2014 IBM Corporation
Decision Optimization
Relaxing to convex QP
If we had only positive squares, the problem would be convex
Relax negative squares using Secant approximations– Replace with new variable– Coef. is negative, no need for equality– Use secant instead of – Tight bounds are important!
Use McCormick formulas for products
29 IFORS 2014 – CPLEX 12.6
2
ix iy
2
ix
ji xx
© 2014 IBM Corporation
Decision Optimization
Relaxing to convex QP
If we had only positive squares, the problem would be convex
Relax negative squares using Secant approximations– Replace with new variable– Coef. is negative, no need for equality– Use secant instead of – Tight bounds are important!
Use McCormick formulas for products
Convex quadratic parts remain
Relaxed problem depends on the bounds!
30 IFORS 2014 – CPLEX 12.6
2
ix iy
2
ix
ji xx
© 2014 IBM Corporation
Decision Optimization
Branching
If not all integer variables have an integer value, we have to branch
Compute a solution for nonconvex QP. If its value is equal to optimal solution of convex relaxation, done.
Else there must be a pair of variables not equal to the artificial and we have to branch
Choose a variable to branch on
Choose a value to divide this variable’s domain
Update Secant / McCormick approximations
31 IFORS 2014 – CPLEX 12.6
ji xx ijy
© 2014 IBM Corporation
Decision Optimization
EigenValue factorization
CPLEX may decide to transform the nonconvex (MI)QP given by the user
32 IFORS 2014 – CPLEX 12.6
0
2
1:min
x
bAx
xcQxx
© 2014 IBM Corporation
Decision Optimization
EigenValue factorization
CPLEX may decide to transform the nonconvex (MI)QP given by the user
33 IFORS 2014 – CPLEX 12.6
0
2
1:min
x
yxL
bAx
xcByy
0
2
1:min
x
bAx
xcQxx
'LBLQ
© 2014 IBM Corporation
Decision Optimization
EigenValue factorization
CPLEX may decide to transform the nonconvex (MI)QP given by the user
34 IFORS 2014 – CPLEX 12.6
0
2
1:min
x
zyM
yxL
bAx
xcDzz
0
2
1:min
x
yxL
bAx
xcByy
MDM'=B
© 2014 IBM Corporation
Decision Optimization
EigenValue factorization
CPLEX may decide to transform the nonconvex (MI)QP given by the user
D being diagonal, there are only squares in the objective
Maybe only few of them are negative, and trigger branching
35 IFORS 2014 – CPLEX 12.6
0
2
1:min
x
zyM
yxL
bAx
xcDzz
© 2014 IBM Corporation
Decision Optimization
EigenValue factorization
CPLEX may decide to transform the nonconvex (MI)QP given by the user
D being diagonal, there are only squares in the objective
Maybe only few of them are negative, and trigger branching
But…
Problem is larger
Bounds on z are larger than bounds on x
36 IFORS 2014 – CPLEX 12.6
0
2
1:min
x
zyM
yxL
bAx
xcDzz
© 2014 IBM Corporation
Decision Optimization
Other ingredients…
Multi-threading in the tree
Branching decisions based on pseudocosts
Unboundedness of the problem may be diagnosed
Quadratic terms involving binaries are linearized
KKT system used to strengthen the bounds of the variables
…
Remember to set CPXPARAM_SolutionTarget to OPTIMALGLOBAL!
37 IFORS 2014 – CPLEX 12.6
© 2014 IBM Corporation
Decision Optimization
No other solver aimed specifically at nonconvex MIQP
Comparison with SCIP 3.0.1 and Couenne 0.4 using 1 thread
390 models (internal, or publicly available), time limit 3 hours
Computational testing
38 IFORS 2014 – CPLEX 12.6
no timeouts
0
0,2
0,4
0,6
0,8
1
1,2
[0,1) [1,10) [10,100) [100,1k) [1k,10k)
problem time
rela
tive t
ime
scip
couenne
no timeouts
0
0,2
0,4
0,6
0,8
1
1,2
[0,1) [1,10) [10,100) [100,1k) [1k,10k)
problem time
rela
tive t
ime
4thread
© 2014 IBM Corporation
Decision Optimization
CPLEX Optimizer 12.6
39 IFORS 2014 – CPLEX 12.6
© 2014 IBM Corporation
Decision Optimization
CPLEX Optimizer 12.6
40 IFORS 2014 – CPLEX 12.6
© 2014 IBM Corporation
Decision Optimization
CPLEX Optimizer 12.6
41 IFORS 2014 – CPLEX 12.6
© 2014 IBM Corporation
Decision Optimization
CPLEX Optimizer 12.6
42 IFORS 2014 – CPLEX 12.6