SlideShare a Scribd company logo
1 of 31
Download to read offline
© 2013 IBM Corporation
IBM Software Group
ILOG CPLEX Optimization
Recent MIP Performance Improvements in
IBM ILOG CPLEX Optimization Studio
Andrea Tramontani
ILOG CPLEX Optimization Studio, IBM
January 22, 2014
© 2013 IBM Corporation2
IBM Software Group
ILOG CPLEX Optimization
Outline
 Main components of CPLEX MIP Solver
– Review of Branch and Bound (B&B)
– Main components of a (fast) B&B
– Performance impact of the main components
 CPLEX 12.5.1 and CPLEX 12.6 performance improvements
– Benchmark results
– Overview of the main ingredients and estimated performance impact
– Concurrent root cut loops
– Lift and Project cuts
© 2013 IBM Corporation3
IBM Software Group
ILOG CPLEX Optimization
Mixed Integer Programming and Branch and Bound (B&B)
 A Mixed Integer (linear) Program (MIP) is a problem of the form
 State of the art MIP solvers tackle a MIP through a Branch and Bound algorithm based on
the underlying Linear Programming (LP) relaxation:
integerallorsome
)(
jx
uxl
bAxtoSubject
xczMinimizeMIP T



uxl
bAxtoSubject
xczMinimizeLP T


)(
© 2013 IBM Corporation4
IBM Software Group
ILOG CPLEX Optimization
z* = 5.2
Fathomed
Review of Branch and Bound (B&B)
Root;
x1=3.5
x2=2.3
Integer
z = 7
x4=0.6
x3=0.3
Integer
z = 5
Infeas
x3=0.1
z* = 4.6
z* = 5.4
Fathomed
 B&B algorithm:
– Enumerative solution scheme
based on the LP relaxation of MIP
 Bounding:
– Nodes with z* > UB can be
fathomed without further
ramification.
 Key points to avoid exponential
explosion of B&B tree:
– Strong LP relaxation
– Effective branching rules
– Primal heuristics
Upper Bound:
UB = 5
© 2013 IBM Corporation5
IBM Software Group
ILOG CPLEX Optimization
Main components of a (fast) B&B: Overview
 Presolve and probing
– Clean up the MIP formulation by removing redundant constraints/variables
– Strengthen the MIP formulation by tightening variable bounds, lifting constraints,
aggregating variables
– Derive cliques and implications to be used for cutting planes and/or branching
 Cutting planes
– Valid inequalities for the MIP that cut off integer infeasible points of the LP relaxation
– Iteratively separated on the fly to strengthen the LP relaxation
– Cut separation must be combined with clever cut filtering and cut purging to avoid
• Numerical difficulties
• Node throughput slowdown
© 2013 IBM Corporation6
IBM Software Group
ILOG CPLEX Optimization
Main components of a (fast) B&B: Overview (Cont.d)
 Branching
– Divides the feasible region in a manner that all integer feasible solutions belong to one of
the branches
– Standard B&B: up and down branch on integer variables, chosen according to several
criteria:
• Strong branching, pseudo costs, pseudo reduced costs, conflicts, inferences
 Primal heuristics
– Help finding quickly high quality feasible solutions
– Constructive heuristics (e.g., rounding heuristics)
– Improving heuristics (e.g., RINS heuristics)
 Root node vs. B&B tree:
– Presolve, probing, cuts and primal heuristics heavily applied at the root node, before
resorting to branching
– Also applied at subsequent B&B nodes, but much less aggressively
© 2013 IBM Corporation7
IBM Software Group
ILOG CPLEX Optimization
Main components of a (fast) B&B: Measuring performance impact
 How important is each component?
Compare runs with feature turned on and off
– Solution time degradation (geometric mean)
– # of solved models
• Essential or just speedup?
– Number of affected models
• General of problem specific?
 More detailed analysis in:
T. Achterberg and R. Wunderling, “Mixed Integer Programming: Analyzing 12 Years of
Progress”, in: Jünger and Reinelt (eds.) Facets of Combinatorial Optimization, Festschrift for
Martin Grötschel, pp.449-481, Springer, Berlin-Heidelberg (2013)
© 2013 IBM Corporation8
IBM Software Group
ILOG CPLEX Optimization
Component Impact CPLEX 12.5.0 – Summary
Benchmarking setup
• 1769 models
• 12 core Intel Xenon 2.66 GHz
• Unbiased: At least one of all the
test runs took at least 10sec
99% 82% 91% 26%93%91% 46%83% 65%% affected
© 2013 IBM Corporation9
IBM Software Group
ILOG CPLEX Optimization
Component Impact CPLEX 12.5.0 – Presolve
6.06
1.77
1.56
1.24
1.10
0
1
2
3
4
5
6
7
0
50
100
150
200
250
300
350
timeratio
additionaltimeouts
© 2013 IBM Corporation10
IBM Software Group
ILOG CPLEX Optimization
Component Impact CPLEX 12.5.0 – Cutting Planes
1.48
1.28
1.14
1.08
1.07
1.06
1.04
1.04
1.03
1.02
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
0
10
20
30
40
50
60
70
80
timeratio
additionaltimeouts
© 2013 IBM Corporation11
IBM Software Group
ILOG CPLEX Optimization
 Main components of CPLEX MIP Solver
– Review of Branch and Bound (B&B)
– Main components of a (fast) B&B
– Performance impact of the main components
 CPLEX 12.5.1 and CPLEX 12.6 performance improvements
– Benchmark results
– Overview of the main ingredients and estimated performance impact
– Concurrent root cut loops
– Lift and Project cuts
Outline
© 2013 IBM Corporation12
IBM Software Group
ILOG CPLEX Optimization
0
200
400
600
800
1000
1200
1400
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
numberoftimeouts
0
50
100
150
200
250
totalspeedup
CPLEX MIP Performance Evolution
 10 sec
 100 sec
 1000 secv6.0
v6.5.3
v7.0
v8.0
v9.0
v10.0
v11.0
v12.1 v12.2
v12.4 v12.5
v12.6
Date: 28 September 2013
Testset: 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
© 2013 IBM Corporation13
IBM Software Group
ILOG CPLEX Optimization
Date: 28 September 2013
Testset: 3116 models
Machine: Intel X5650 @ 2.67GHz, 24 GB RAM, 12 threads for parallel
Timelimit: 10,000 sec
MIP Performance Improvement – CPLEX 12.5.0 to CPLEX 12.6
1.00
0.87
0.81
1.00
0.81
0.73
1.00
0.72
0.62
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
>1s >10s >100s
CPLEX 12.5.0
CPLEX 12.5.1
CPLEX 12.6
1968
models
1210
models
678
models
Time limits:
96 / 49 / 35
Deterministic parallel MIP (12 threads)
1.23x 1.37x 1.61x
© 2013 IBM Corporation14
IBM Software Group
ILOG CPLEX Optimization
 Cuts
– Lift-and-project cuts
– Parallel cut loops to exploit variability
– Improvements in cut separation and purging
– Improvements in MIR cut aggregator
 Presolve
– Probing enhancements
– Modified how to use multiple probing/presolve rounds
 Branching
– Improvements in branching rule tie breaking
– Fixed a typo in branching rule
 Other improvements
– Improvements in symmetry detection and exploitation
– Incremented default work memory from 128 MB to 2 GB
(t ≥ 100 sec)
8-13% speed-up
3-6% speed-up
2-10% speed-up
3-7% speed-up
3-8% speed-up
2-3% speed-up
4-7% speed-up
2-4% speed-up
1-10% speed-up
2-3% speed-up
Performance Improvements in CPLEX 12.5.1 and 12.6 – Summary
© 2013 IBM Corporation15
IBM Software Group
ILOG CPLEX Optimization
 Main components of CPLEX MIP Solver
– Review of Branch and Bound (B&B)
– Main components of a (fast) B&B
– Performance impact of the main components
 CPLEX 12.5.1 and CPLEX 12.6 performance improvements
– Benchmark results
– Overview of the main ingredients and estimated performance impact
– Concurrent root cut loops
– Lift and Project cuts
Outline
© 2013 IBM Corporation16
IBM Software Group
ILOG CPLEX Optimization
Root Cut Loop: Impact of the Initial LP Basis
Presolve/Probing + LP solve
Branch-and-cut
LP solution x* CutSEP (x*), Heur (x*)
Cut filtering
Add cuts to LP and resolve LP
Cut purging
Progress?
YES
NO
 LPs may have many alternative
optimal solutions/bases
 Equivalent (but different) optimal
solutions/bases of the initial LP
relaxation may lead to
– Different cutting planes
– Different heuristic solutions
 Reoptimizing with different cuts
amplifies the diversification
 A small change in the initial LP basis
may have a big impact on the final
root node in terms of:
– Fractional solution x*
– Dual and primal bounds
– Cuts active in the LP

© 2013 IBM Corporation17
IBM Software Group
ILOG CPLEX Optimization
 M. Fischetti, A. Lodi, M. Monaci, D. Salvagnin, and A. Tramontani: ”Tree Search Stabilization
by Random Sampling”, Tech. Rep. DEI, University of Padova, 2013 (submitted for publication)
 Exploit multi-threading and MIP performance variability at root node:
– Run K = 2 root cut loops in parallel, each starting from a different optimal LP basis
– Along the process, share cuts and feasible solutions among the K cut loops
 Then do regular parallel branch-and-cut
Concurrent Root Cut Loops
Shake
Presolve/Probing + LP solve
Cut Loop #1 Cut Loop #2
Parellel Branch-and-cut
© 2013 IBM Corporation18
IBM Software Group
ILOG CPLEX Optimization
Concurrent Root Cut Loops: Why K = 2?
 Multi-threading is not for free and the overhead increases with K
 CPLEX also applies other techniques in parallel at the root node
 More cut loops means more cutting planes available,
– More cuts typically means better dual bound,
– Better dual bound does not mean less time to solve
– With the current cut selection strategy
• K = 3 cut loops is roughly a 5% performance degradation w.r.t. K = 2
 Implementation details:
– Create diversification in the second parallel cut loop by changing
• The basis
• The random seed
• Other parameters
– Be conservative with the cuts:
• Sharing cuts between the two cut loops helps,
• But the cuts to be shared must be filtered aggressively.
© 2013 IBM Corporation19
IBM Software Group
ILOG CPLEX Optimization
0.98
0.98
0.95
0.99
0.98
0.97
0.96
0.92
0.98
0.98
0.95
0.94
0.86
0.97
0.98
0
0.2
0.4
0.6
0.8
1
>1s >10s >100s
seed 1
seed 2
seed 3
seed 4
seed 5
Concurrent Root Cut Loops: Performance Impact in CPLEX 12.5.1
0.97
0.96
0.91
0.97
0.97
0.96
0.94
0.88
0.97
0.96
0.92
0.91
0.80
0.95
0.96
0
0.2
0.4
0.6
0.8
1
>1s >10s >100s
seed 1
seed 2
seed 3
seed 4
seed 5
All Models
Affected Models
≈1864
models
≈ 1089
models
≈ 565
models
≈ 1100 (59%)
models
≈ 686 (63%)
models
≈ 372 (66%)
models
1.04x 1.06x 1.09x
1.02x 1.04x 1.05x
Date: 23 May 2013
Testset: 3223 models
Machine: Intel X5650 @ 2.67GHz, 24 GB RAM, 12 threads
Timelimit: 10,000 sec
© 2013 IBM Corporation20
IBM Software Group
ILOG CPLEX Optimization
 Main components of CPLEX MIP Solver
– Review of Branch and Bound (B&B)
– Main components of a (fast) B&B
– Performance impact of the main components
 CPLEX 12.5.1 and CPLEX 12.6 performance improvements
– Benchmark results
– Overview of the main ingredients and estimated performance impact
– Concurrent root cut loops
– Lift and Project cuts
Outline
© 2013 IBM Corporation21
IBM Software Group
ILOG CPLEX Optimization
Lift and Project Cuts: Some references
 Invented by Balas in the ‟70s:
– E. Balas, Disjunctive programming. Ann. Discrete. Math. 5, 3–51, 1979.
 Successfully exploited in practice in the ‟90s:
– E. Balas, S. Ceria, and G. Cornuejols, A lift-and-project cutting plane algorithm for mixed-
integer programs. Mathematical Programming 58, 295-324, 1993.
– E. Balas, S. Ceria, and G. Cornuejols: Mixed 0-1 programming by lift-and-project in a
branch-and-cut framework. Management Science 42, 1229-1246, 1996.
 Strong connection with Gomory Mixed Integer (GMI) cuts:
– E. Balas and M. Perregaard, A precise correspondence between lift-and-project cuts,
simple disjunctive cuts, and mixed integer gomory cuts for 0-1 programming.
Mathematical Programming 94, 221-245, 2003.
 Effective approach to optimize over the Lift and Project closure:
– P. Bonami, On optimizing over lift-and-project closures. Math. Prog. Comp. 4, 151-179,
2012.
© 2013 IBM Corporation22
IBM Software Group
ILOG CPLEX Optimization
Given:
 The LP relaxation of a MIP, defined by the underlying polyhedron P:
 A fractional solution x* in P (typically, a vertex of P) to cut off
 A binary fractional variable xj*: xj in {0,1}, 0 < xj* < 1
Find a violated cut
α x ≥ β
using the simple split disjunction
xj ≤ 0 OR xj ≥ 1
Lift and Project Cuts: The Separation Problem
(P) A x ≥ b
x ≥ 0
© 2013 IBM Corporation23
IBM Software Group
ILOG CPLEX Optimization
The Cut Generating LP (CGLP) of Balas, Ceria and Cornuejols
1. Consider the polyhedra P0 and P1 induced by the disjunction:
2. Separate a cut valid for the disjunctive polyhedron
Q = conv (P0 U P1)
by solving the following CGLP:
3. Strengthen the cut by Monoidal Strengthening (Balas and Jeroslow, Eur. J. Oper. Res. 1980)
P0
(u) A x ≥ b
(w) x ≥ 0
(u0) - xj ≥ 0
P1
(v) A x ≥ b
(z) x ≥ 0
(v0) xj ≥ 1
α = u A + w – u0 ej
β = u b
u, w, u0 ≥ 0
α = v A + z + v0 ej
β = v b + v0
v, z, v0 ≥ 0
min α x* - β
P0
P1
x*
αx ≥ β
© 2013 IBM Corporation24
IBM Software Group
ILOG CPLEX Optimization
 The CGLP is unbounded by construction (if a violated cut exists)
 Can be normalized in many different ways: see, e.g.,
– Balas, Ceria and Cornuejols (Math. Prog.1993, Man. Science 1996)
– Ceria and Soares (Tech. Report, 1997)
 The normalization is the real objective function and makes the difference: see, e.g.,
– Fischetti, Lodi and T. (Math. Prog. 2011)
 Two popular normalization constraints are:
– The weak normalization (actually, the one used in CPLEX):
u0 + v0 = 1 (1)
– The strong normalization (Balas, Math. Prog. 1997):
1 u + 1 v + 1 w + 1 z + u0 + v0 = 1 (2)
CGLP: The Role of Normalization
© 2013 IBM Corporation25
IBM Software Group
ILOG CPLEX Optimization
Balas and Perregaard (Math. Prog. 2003) adopt normalization (2) and:
1. Separate high-rank inequalities (x* is a basic solution of P)
2. Provide a precise correspondence between feasible CGLP bases and (possibly
infeasible) bases of the tableau of the original problem
3. Characterize Gomory Mixed Integer (GMI) cuts from the tableau as CGLP bases
4. Develop an efficient approach for solving the CGLP by a sequence of pivoting in the
tableau of the original space.
Different variants of the idea available in commercial and open-source solvers:
 FICO XPRESS,
 CBC (COIN-OR B&C), see Balas and Bonami (Math. Prog. Comp. 2009)
Lift and Project Cuts à la Balas-Perregaard (BP L&P cuts)
Warmstart CGLP
with GMI basis
Pivots in the space
A x – I s = b
Optimal CGLP
solution
© 2013 IBM Corporation26
IBM Software Group
ILOG CPLEX Optimization
Bonami (Math. Prog. Comp., 2012):
1. Separate only rank-1 L&P cuts (x* is not a vertex of P)
2. Adopts normalization u0 + v0 = 1
3. Applies some algebra to get rid of u0 and v0 in the CGLP
4. Takes the dual of the simplified CGLP and gets the so called Membership LP (MLP):
5. Provides promising computational results on MIPLIB 3.0 and MIPLIB 2003 models
The (strengthened) L&P closure:
– Can be computed in practice
– Provides a good approximation of the split closure
Lift and Project Cuts à la Bonami (this is what we did!)
(MLP) max yj - δ*
(v) b δ* ≤ A y ≤ b δ* + s* (u)
(z) 0 ≤ y ≤ x* (w)
s* := A x* - b
δ* := xj*
© 2013 IBM Corporation27
IBM Software Group
ILOG CPLEX Optimization
 L&P cuts à la Balas-Perregaard:
– High-rank inequalities
– Strong normalization (2)
– L&P cuts as improved tableau GMI cuts
– Computationally more expensive
 L&P cuts à la Bonami:
– Rank-1 inequalities
– Weak normalization (1)
– Computationally cheaper
L&P cuts à la Balas-Perregaard vs. L&P cuts à la Bonami
© 2013 IBM Corporation28
IBM Software Group
ILOG CPLEX Optimization
 Computational investigation in Fischetti, Lodi and T. (Math. Prog. 2011):
Normalization (2) is fundamental when high-rank inequalities are separated, because it:
– Breaks the correlation between optimization and separation
– Tends to produce low-rank inequalities
– Enforces the separation of cuts with sparse dual and primal support
 Separating rank-1 cuts:
– Breaks the correlation between optimization and separation
– Enforces the separation of low-rank inequalities (not a big surprise)
– Tends to produce cleaner and sparser cuts
Lift and Project Cuts: Our Idea
Sounds like
normalization (2)
Separate some more rank-1 L&P cuts with u0 + v0 = 1
 Keep tableau GMI cuts as they are (if your filter likes them enough), and
© 2013 IBM Corporation29
IBM Software Group
ILOG CPLEX Optimization
Bonami MLP to separate rank-1 cuts only, plus some tricks:
 Heuristic reduction of MLP to
– Speed up the separation
– Get rid of constraints you don„t want to use to produce the cut
 Clever selection of the disjunctions to use
Lift and Project Cuts in CPLEX 12.5.1
© 2013 IBM Corporation30
IBM Software Group
ILOG CPLEX Optimization
L&P Cuts in CPLEX 12.5.1: Performance Impact
Date: 23 May 2013
Testset: 3243 models
Machine: Intel X5650 @ 2.67GHz, 24 GB RAM, 12 threads
Timelimit: 10,000 sec
0.91
0.98
0.91
0.96
0.95
0.87
0.95
0.86
0.93
0.92
0.80
0.88
0.79
0.88
0.87
0
0.2
0.4
0.6
0.8
1
>1s >10s >100s
seed 1
seed 2
seed 3
seed 4
seed 5
0.95
0.99
0.95
0.98
0.98
0.93
0.97
0.92
0.96
0.95
0.87
0.93
0.86
0.92
0.92
0
0.2
0.4
0.6
0.8
1
>1s >10s >100s
seed 1
seed 2
seed 3
seed 4
seed 5
 948 (51%)
models
 617 (57%)
models
 362 (64%)
models
All Models
Affected Models
 1864
models
 1089
models
 567
models
1.03x 1.05x 1.10x
1.10x1.06x 1.16x
© 2013 IBM Corporation31
IBM Software Group
ILOG CPLEX Optimization
Questions and Answers (Q&A)

More Related Content

What's hot

A (Not So Short) Introduction to CP Optimizer for Scheduling
A (Not So Short) Introduction to CP Optimizer for SchedulingA (Not So Short) Introduction to CP Optimizer for Scheduling
A (Not So Short) Introduction to CP Optimizer for Scheduling
Philippe Laborie
 

What's hot (9)

CP Optimizer Walkthrough
CP Optimizer WalkthroughCP Optimizer Walkthrough
CP Optimizer Walkthrough
 
CPLEX 12.5.1 remote object - June 2013
CPLEX 12.5.1 remote object - June 2013CPLEX 12.5.1 remote object - June 2013
CPLEX 12.5.1 remote object - June 2013
 
An introduction to CP Optimizer
An introduction to CP OptimizerAn introduction to CP Optimizer
An introduction to CP Optimizer
 
Modeling and Solving Resource-Constrained Project Scheduling Problems with IB...
Modeling and Solving Resource-Constrained Project Scheduling Problems with IB...Modeling and Solving Resource-Constrained Project Scheduling Problems with IB...
Modeling and Solving Resource-Constrained Project Scheduling Problems with IB...
 
Modeling and Solving Scheduling Problems with CP Optimizer
Modeling and Solving Scheduling Problems with CP OptimizerModeling and Solving Scheduling Problems with CP Optimizer
Modeling and Solving Scheduling Problems with CP Optimizer
 
TenYearsCPOptimizer
TenYearsCPOptimizerTenYearsCPOptimizer
TenYearsCPOptimizer
 
Conditional interval variables: A powerful concept for modeling and solving c...
Conditional interval variables: A powerful concept for modeling and solving c...Conditional interval variables: A powerful concept for modeling and solving c...
Conditional interval variables: A powerful concept for modeling and solving c...
 
IBM ILOG CP Optimizer for Detailed Scheduling Illustrated on Three Problems
IBM ILOG CP Optimizer for Detailed Scheduling Illustrated on Three ProblemsIBM ILOG CP Optimizer for Detailed Scheduling Illustrated on Three Problems
IBM ILOG CP Optimizer for Detailed Scheduling Illustrated on Three Problems
 
A (Not So Short) Introduction to CP Optimizer for Scheduling
A (Not So Short) Introduction to CP Optimizer for SchedulingA (Not So Short) Introduction to CP Optimizer for Scheduling
A (Not So Short) Introduction to CP Optimizer for Scheduling
 

Viewers also liked

Artful learning
Artful learningArtful learning
Artful learning
Fmerenda90
 
Дмитрий Кузьмин - Капитализация научных коммуникаций (11 00)
Дмитрий Кузьмин - Капитализация научных коммуникаций (11 00) Дмитрий Кузьмин - Капитализация научных коммуникаций (11 00)
Дмитрий Кузьмин - Капитализация научных коммуникаций (11 00)
Коммуникационная Лаборатория
 
Squared-Data-Media-Industry-Report-2015
Squared-Data-Media-Industry-Report-2015Squared-Data-Media-Industry-Report-2015
Squared-Data-Media-Industry-Report-2015
Vicnan Pannirselvam
 

Viewers also liked (17)

Mining the CPLEX Node Log for Faster MIP Performance
Mining the CPLEX Node Log for Faster MIP PerformanceMining the CPLEX Node Log for Faster MIP Performance
Mining the CPLEX Node Log for Faster MIP Performance
 
Recent progress in CPLEX 12.6.2
Recent progress in CPLEX 12.6.2Recent progress in CPLEX 12.6.2
Recent progress in CPLEX 12.6.2
 
Artful learning
Artful learningArtful learning
Artful learning
 
About me
About meAbout me
About me
 
123rgb4
123rgb4123rgb4
123rgb4
 
Who Am I?
Who Am I?Who Am I?
Who Am I?
 
O segredo do sol e da lua
O segredo do sol e da luaO segredo do sol e da lua
O segredo do sol e da lua
 
Открывающие слайды - Коммуникации в российской научно-образовательной сфере: ...
Открывающие слайды - Коммуникации в российской научно-образовательной сфере: ...Открывающие слайды - Коммуникации в российской научно-образовательной сфере: ...
Открывающие слайды - Коммуникации в российской научно-образовательной сфере: ...
 
Simulasi Digital
Simulasi DigitalSimulasi Digital
Simulasi Digital
 
Patrocinadores 120
Patrocinadores 120Patrocinadores 120
Patrocinadores 120
 
Artful learning
Artful learningArtful learning
Artful learning
 
Daniel Dahm - Strategic transformations towards sustainability - Colloqui di ...
Daniel Dahm - Strategic transformations towards sustainability - Colloqui di ...Daniel Dahm - Strategic transformations towards sustainability - Colloqui di ...
Daniel Dahm - Strategic transformations towards sustainability - Colloqui di ...
 
Дмитрий Кузьмин - Капитализация научных коммуникаций (11 00)
Дмитрий Кузьмин - Капитализация научных коммуникаций (11 00) Дмитрий Кузьмин - Капитализация научных коммуникаций (11 00)
Дмитрий Кузьмин - Капитализация научных коммуникаций (11 00)
 
Squared-Data-Media-Industry-Report-2015
Squared-Data-Media-Industry-Report-2015Squared-Data-Media-Industry-Report-2015
Squared-Data-Media-Industry-Report-2015
 
Илья Кабанов - Кости, бозоны и диктант (11 15)
Илья Кабанов - Кости, бозоны и диктант (11 15)Илья Кабанов - Кости, бозоны и диктант (11 15)
Илья Кабанов - Кости, бозоны и диктант (11 15)
 
Иван Боганцев - Репутация Политехнического Музея (11 45)
Иван Боганцев - Репутация Политехнического Музея (11 45)Иван Боганцев - Репутация Политехнического Музея (11 45)
Иван Боганцев - Репутация Политехнического Музея (11 45)
 
Surpresa
Surpresa Surpresa
Surpresa
 

Similar to Recent MIP Performance Improvements in IBM ILOG CPLEX Optimization Studio

Cse viii-advanced-computer-architectures-06cs81-solution
Cse viii-advanced-computer-architectures-06cs81-solutionCse viii-advanced-computer-architectures-06cs81-solution
Cse viii-advanced-computer-architectures-06cs81-solution
Shobha Kumar
 
Matlab Based High Level Synthesis Engine for Area And Power Efficient Arithme...
Matlab Based High Level Synthesis Engine for Area And Power Efficient Arithme...Matlab Based High Level Synthesis Engine for Area And Power Efficient Arithme...
Matlab Based High Level Synthesis Engine for Area And Power Efficient Arithme...
ijceronline
 
Kakarla Sriram K _resume_sep_2016
Kakarla Sriram K _resume_sep_2016Kakarla Sriram K _resume_sep_2016
Kakarla Sriram K _resume_sep_2016
srkkakarla
 

Similar to Recent MIP Performance Improvements in IBM ILOG CPLEX Optimization Studio (20)

Cse viii-advanced-computer-architectures-06cs81-solution
Cse viii-advanced-computer-architectures-06cs81-solutionCse viii-advanced-computer-architectures-06cs81-solution
Cse viii-advanced-computer-architectures-06cs81-solution
 
SC17 Panel: Energy Efficiency Gains From HPC Software
SC17 Panel: Energy Efficiency Gains From HPC SoftwareSC17 Panel: Energy Efficiency Gains From HPC Software
SC17 Panel: Energy Efficiency Gains From HPC Software
 
Parallel Batch Performance Considerations
Parallel Batch Performance ConsiderationsParallel Batch Performance Considerations
Parallel Batch Performance Considerations
 
Code Optimization
Code OptimizationCode Optimization
Code Optimization
 
Metrics
MetricsMetrics
Metrics
 
Ac2017 6. output based contracting
Ac2017   6. output based contractingAc2017   6. output based contracting
Ac2017 6. output based contracting
 
[DSC Europe 23] Matteo Molteni - Implementing a Robust CI Workflow with dbt f...
[DSC Europe 23] Matteo Molteni - Implementing a Robust CI Workflow with dbt f...[DSC Europe 23] Matteo Molteni - Implementing a Robust CI Workflow with dbt f...
[DSC Europe 23] Matteo Molteni - Implementing a Robust CI Workflow with dbt f...
 
SCM Transformation Challenges and How to Overcome Them
SCM Transformation Challenges and How to Overcome ThemSCM Transformation Challenges and How to Overcome Them
SCM Transformation Challenges and How to Overcome Them
 
3GPP SON Series: SON in 3GPP Release-10 – Self-healing
3GPP SON Series: SON in 3GPP Release-10 – Self-healing3GPP SON Series: SON in 3GPP Release-10 – Self-healing
3GPP SON Series: SON in 3GPP Release-10 – Self-healing
 
Mixed Integer Programming: Analyzing 12 Years of Progress
Mixed Integer Programming: Analyzing 12 Years of ProgressMixed Integer Programming: Analyzing 12 Years of Progress
Mixed Integer Programming: Analyzing 12 Years of Progress
 
PyMADlib - A Python wrapper for MADlib : in-database, parallel, machine learn...
PyMADlib - A Python wrapper for MADlib : in-database, parallel, machine learn...PyMADlib - A Python wrapper for MADlib : in-database, parallel, machine learn...
PyMADlib - A Python wrapper for MADlib : in-database, parallel, machine learn...
 
Limited Budget but Effective End to End MLOps Practices (Machine Learning Mod...
Limited Budget but Effective End to End MLOps Practices (Machine Learning Mod...Limited Budget but Effective End to End MLOps Practices (Machine Learning Mod...
Limited Budget but Effective End to End MLOps Practices (Machine Learning Mod...
 
Post compiler software optimization for reducing energy
Post compiler software optimization for reducing energyPost compiler software optimization for reducing energy
Post compiler software optimization for reducing energy
 
Trends in Systems and How to Get Efficient Performance
Trends in Systems and How to Get Efficient PerformanceTrends in Systems and How to Get Efficient Performance
Trends in Systems and How to Get Efficient Performance
 
Performance Evaluation of FPGA Based Runtime Dynamic Partial Reconfiguration ...
Performance Evaluation of FPGA Based Runtime Dynamic Partial Reconfiguration ...Performance Evaluation of FPGA Based Runtime Dynamic Partial Reconfiguration ...
Performance Evaluation of FPGA Based Runtime Dynamic Partial Reconfiguration ...
 
Matlab Based High Level Synthesis Engine for Area And Power Efficient Arithme...
Matlab Based High Level Synthesis Engine for Area And Power Efficient Arithme...Matlab Based High Level Synthesis Engine for Area And Power Efficient Arithme...
Matlab Based High Level Synthesis Engine for Area And Power Efficient Arithme...
 
DB2 pureScale Overview Sept 2010
DB2 pureScale Overview Sept 2010DB2 pureScale Overview Sept 2010
DB2 pureScale Overview Sept 2010
 
Kakarla Sriram K _resume_sep_2016
Kakarla Sriram K _resume_sep_2016Kakarla Sriram K _resume_sep_2016
Kakarla Sriram K _resume_sep_2016
 
IRJET-Hardware Co-Simulation of Classical Edge Detection Algorithms using Xil...
IRJET-Hardware Co-Simulation of Classical Edge Detection Algorithms using Xil...IRJET-Hardware Co-Simulation of Classical Edge Detection Algorithms using Xil...
IRJET-Hardware Co-Simulation of Classical Edge Detection Algorithms using Xil...
 
Performance Evaluation of FPGA Based Runtime Dynamic Partial Reconfiguration ...
Performance Evaluation of FPGA Based Runtime Dynamic Partial Reconfiguration ...Performance Evaluation of FPGA Based Runtime Dynamic Partial Reconfiguration ...
Performance Evaluation of FPGA Based Runtime Dynamic Partial Reconfiguration ...
 

Recently uploaded

CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 

Recently uploaded (20)

%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxBUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 

Recent MIP Performance Improvements in IBM ILOG CPLEX Optimization Studio

  • 1. © 2013 IBM Corporation IBM Software Group ILOG CPLEX Optimization Recent MIP Performance Improvements in IBM ILOG CPLEX Optimization Studio Andrea Tramontani ILOG CPLEX Optimization Studio, IBM January 22, 2014
  • 2. © 2013 IBM Corporation2 IBM Software Group ILOG CPLEX Optimization Outline  Main components of CPLEX MIP Solver – Review of Branch and Bound (B&B) – Main components of a (fast) B&B – Performance impact of the main components  CPLEX 12.5.1 and CPLEX 12.6 performance improvements – Benchmark results – Overview of the main ingredients and estimated performance impact – Concurrent root cut loops – Lift and Project cuts
  • 3. © 2013 IBM Corporation3 IBM Software Group ILOG CPLEX Optimization Mixed Integer Programming and Branch and Bound (B&B)  A Mixed Integer (linear) Program (MIP) is a problem of the form  State of the art MIP solvers tackle a MIP through a Branch and Bound algorithm based on the underlying Linear Programming (LP) relaxation: integerallorsome )( jx uxl bAxtoSubject xczMinimizeMIP T    uxl bAxtoSubject xczMinimizeLP T   )(
  • 4. © 2013 IBM Corporation4 IBM Software Group ILOG CPLEX Optimization z* = 5.2 Fathomed Review of Branch and Bound (B&B) Root; x1=3.5 x2=2.3 Integer z = 7 x4=0.6 x3=0.3 Integer z = 5 Infeas x3=0.1 z* = 4.6 z* = 5.4 Fathomed  B&B algorithm: – Enumerative solution scheme based on the LP relaxation of MIP  Bounding: – Nodes with z* > UB can be fathomed without further ramification.  Key points to avoid exponential explosion of B&B tree: – Strong LP relaxation – Effective branching rules – Primal heuristics Upper Bound: UB = 5
  • 5. © 2013 IBM Corporation5 IBM Software Group ILOG CPLEX Optimization Main components of a (fast) B&B: Overview  Presolve and probing – Clean up the MIP formulation by removing redundant constraints/variables – Strengthen the MIP formulation by tightening variable bounds, lifting constraints, aggregating variables – Derive cliques and implications to be used for cutting planes and/or branching  Cutting planes – Valid inequalities for the MIP that cut off integer infeasible points of the LP relaxation – Iteratively separated on the fly to strengthen the LP relaxation – Cut separation must be combined with clever cut filtering and cut purging to avoid • Numerical difficulties • Node throughput slowdown
  • 6. © 2013 IBM Corporation6 IBM Software Group ILOG CPLEX Optimization Main components of a (fast) B&B: Overview (Cont.d)  Branching – Divides the feasible region in a manner that all integer feasible solutions belong to one of the branches – Standard B&B: up and down branch on integer variables, chosen according to several criteria: • Strong branching, pseudo costs, pseudo reduced costs, conflicts, inferences  Primal heuristics – Help finding quickly high quality feasible solutions – Constructive heuristics (e.g., rounding heuristics) – Improving heuristics (e.g., RINS heuristics)  Root node vs. B&B tree: – Presolve, probing, cuts and primal heuristics heavily applied at the root node, before resorting to branching – Also applied at subsequent B&B nodes, but much less aggressively
  • 7. © 2013 IBM Corporation7 IBM Software Group ILOG CPLEX Optimization Main components of a (fast) B&B: Measuring performance impact  How important is each component? Compare runs with feature turned on and off – Solution time degradation (geometric mean) – # of solved models • Essential or just speedup? – Number of affected models • General of problem specific?  More detailed analysis in: T. Achterberg and R. Wunderling, “Mixed Integer Programming: Analyzing 12 Years of Progress”, in: Jünger and Reinelt (eds.) Facets of Combinatorial Optimization, Festschrift for Martin Grötschel, pp.449-481, Springer, Berlin-Heidelberg (2013)
  • 8. © 2013 IBM Corporation8 IBM Software Group ILOG CPLEX Optimization Component Impact CPLEX 12.5.0 – Summary Benchmarking setup • 1769 models • 12 core Intel Xenon 2.66 GHz • Unbiased: At least one of all the test runs took at least 10sec 99% 82% 91% 26%93%91% 46%83% 65%% affected
  • 9. © 2013 IBM Corporation9 IBM Software Group ILOG CPLEX Optimization Component Impact CPLEX 12.5.0 – Presolve 6.06 1.77 1.56 1.24 1.10 0 1 2 3 4 5 6 7 0 50 100 150 200 250 300 350 timeratio additionaltimeouts
  • 10. © 2013 IBM Corporation10 IBM Software Group ILOG CPLEX Optimization Component Impact CPLEX 12.5.0 – Cutting Planes 1.48 1.28 1.14 1.08 1.07 1.06 1.04 1.04 1.03 1.02 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 0 10 20 30 40 50 60 70 80 timeratio additionaltimeouts
  • 11. © 2013 IBM Corporation11 IBM Software Group ILOG CPLEX Optimization  Main components of CPLEX MIP Solver – Review of Branch and Bound (B&B) – Main components of a (fast) B&B – Performance impact of the main components  CPLEX 12.5.1 and CPLEX 12.6 performance improvements – Benchmark results – Overview of the main ingredients and estimated performance impact – Concurrent root cut loops – Lift and Project cuts Outline
  • 12. © 2013 IBM Corporation12 IBM Software Group ILOG CPLEX Optimization 0 200 400 600 800 1000 1200 1400 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 numberoftimeouts 0 50 100 150 200 250 totalspeedup CPLEX MIP Performance Evolution  10 sec  100 sec  1000 secv6.0 v6.5.3 v7.0 v8.0 v9.0 v10.0 v11.0 v12.1 v12.2 v12.4 v12.5 v12.6 Date: 28 September 2013 Testset: 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
  • 13. © 2013 IBM Corporation13 IBM Software Group ILOG CPLEX Optimization Date: 28 September 2013 Testset: 3116 models Machine: Intel X5650 @ 2.67GHz, 24 GB RAM, 12 threads for parallel Timelimit: 10,000 sec MIP Performance Improvement – CPLEX 12.5.0 to CPLEX 12.6 1.00 0.87 0.81 1.00 0.81 0.73 1.00 0.72 0.62 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 >1s >10s >100s CPLEX 12.5.0 CPLEX 12.5.1 CPLEX 12.6 1968 models 1210 models 678 models Time limits: 96 / 49 / 35 Deterministic parallel MIP (12 threads) 1.23x 1.37x 1.61x
  • 14. © 2013 IBM Corporation14 IBM Software Group ILOG CPLEX Optimization  Cuts – Lift-and-project cuts – Parallel cut loops to exploit variability – Improvements in cut separation and purging – Improvements in MIR cut aggregator  Presolve – Probing enhancements – Modified how to use multiple probing/presolve rounds  Branching – Improvements in branching rule tie breaking – Fixed a typo in branching rule  Other improvements – Improvements in symmetry detection and exploitation – Incremented default work memory from 128 MB to 2 GB (t ≥ 100 sec) 8-13% speed-up 3-6% speed-up 2-10% speed-up 3-7% speed-up 3-8% speed-up 2-3% speed-up 4-7% speed-up 2-4% speed-up 1-10% speed-up 2-3% speed-up Performance Improvements in CPLEX 12.5.1 and 12.6 – Summary
  • 15. © 2013 IBM Corporation15 IBM Software Group ILOG CPLEX Optimization  Main components of CPLEX MIP Solver – Review of Branch and Bound (B&B) – Main components of a (fast) B&B – Performance impact of the main components  CPLEX 12.5.1 and CPLEX 12.6 performance improvements – Benchmark results – Overview of the main ingredients and estimated performance impact – Concurrent root cut loops – Lift and Project cuts Outline
  • 16. © 2013 IBM Corporation16 IBM Software Group ILOG CPLEX Optimization Root Cut Loop: Impact of the Initial LP Basis Presolve/Probing + LP solve Branch-and-cut LP solution x* CutSEP (x*), Heur (x*) Cut filtering Add cuts to LP and resolve LP Cut purging Progress? YES NO  LPs may have many alternative optimal solutions/bases  Equivalent (but different) optimal solutions/bases of the initial LP relaxation may lead to – Different cutting planes – Different heuristic solutions  Reoptimizing with different cuts amplifies the diversification  A small change in the initial LP basis may have a big impact on the final root node in terms of: – Fractional solution x* – Dual and primal bounds – Cuts active in the LP 
  • 17. © 2013 IBM Corporation17 IBM Software Group ILOG CPLEX Optimization  M. Fischetti, A. Lodi, M. Monaci, D. Salvagnin, and A. Tramontani: ”Tree Search Stabilization by Random Sampling”, Tech. Rep. DEI, University of Padova, 2013 (submitted for publication)  Exploit multi-threading and MIP performance variability at root node: – Run K = 2 root cut loops in parallel, each starting from a different optimal LP basis – Along the process, share cuts and feasible solutions among the K cut loops  Then do regular parallel branch-and-cut Concurrent Root Cut Loops Shake Presolve/Probing + LP solve Cut Loop #1 Cut Loop #2 Parellel Branch-and-cut
  • 18. © 2013 IBM Corporation18 IBM Software Group ILOG CPLEX Optimization Concurrent Root Cut Loops: Why K = 2?  Multi-threading is not for free and the overhead increases with K  CPLEX also applies other techniques in parallel at the root node  More cut loops means more cutting planes available, – More cuts typically means better dual bound, – Better dual bound does not mean less time to solve – With the current cut selection strategy • K = 3 cut loops is roughly a 5% performance degradation w.r.t. K = 2  Implementation details: – Create diversification in the second parallel cut loop by changing • The basis • The random seed • Other parameters – Be conservative with the cuts: • Sharing cuts between the two cut loops helps, • But the cuts to be shared must be filtered aggressively.
  • 19. © 2013 IBM Corporation19 IBM Software Group ILOG CPLEX Optimization 0.98 0.98 0.95 0.99 0.98 0.97 0.96 0.92 0.98 0.98 0.95 0.94 0.86 0.97 0.98 0 0.2 0.4 0.6 0.8 1 >1s >10s >100s seed 1 seed 2 seed 3 seed 4 seed 5 Concurrent Root Cut Loops: Performance Impact in CPLEX 12.5.1 0.97 0.96 0.91 0.97 0.97 0.96 0.94 0.88 0.97 0.96 0.92 0.91 0.80 0.95 0.96 0 0.2 0.4 0.6 0.8 1 >1s >10s >100s seed 1 seed 2 seed 3 seed 4 seed 5 All Models Affected Models ≈1864 models ≈ 1089 models ≈ 565 models ≈ 1100 (59%) models ≈ 686 (63%) models ≈ 372 (66%) models 1.04x 1.06x 1.09x 1.02x 1.04x 1.05x Date: 23 May 2013 Testset: 3223 models Machine: Intel X5650 @ 2.67GHz, 24 GB RAM, 12 threads Timelimit: 10,000 sec
  • 20. © 2013 IBM Corporation20 IBM Software Group ILOG CPLEX Optimization  Main components of CPLEX MIP Solver – Review of Branch and Bound (B&B) – Main components of a (fast) B&B – Performance impact of the main components  CPLEX 12.5.1 and CPLEX 12.6 performance improvements – Benchmark results – Overview of the main ingredients and estimated performance impact – Concurrent root cut loops – Lift and Project cuts Outline
  • 21. © 2013 IBM Corporation21 IBM Software Group ILOG CPLEX Optimization Lift and Project Cuts: Some references  Invented by Balas in the ‟70s: – E. Balas, Disjunctive programming. Ann. Discrete. Math. 5, 3–51, 1979.  Successfully exploited in practice in the ‟90s: – E. Balas, S. Ceria, and G. Cornuejols, A lift-and-project cutting plane algorithm for mixed- integer programs. Mathematical Programming 58, 295-324, 1993. – E. Balas, S. Ceria, and G. Cornuejols: Mixed 0-1 programming by lift-and-project in a branch-and-cut framework. Management Science 42, 1229-1246, 1996.  Strong connection with Gomory Mixed Integer (GMI) cuts: – E. Balas and M. Perregaard, A precise correspondence between lift-and-project cuts, simple disjunctive cuts, and mixed integer gomory cuts for 0-1 programming. Mathematical Programming 94, 221-245, 2003.  Effective approach to optimize over the Lift and Project closure: – P. Bonami, On optimizing over lift-and-project closures. Math. Prog. Comp. 4, 151-179, 2012.
  • 22. © 2013 IBM Corporation22 IBM Software Group ILOG CPLEX Optimization Given:  The LP relaxation of a MIP, defined by the underlying polyhedron P:  A fractional solution x* in P (typically, a vertex of P) to cut off  A binary fractional variable xj*: xj in {0,1}, 0 < xj* < 1 Find a violated cut α x ≥ β using the simple split disjunction xj ≤ 0 OR xj ≥ 1 Lift and Project Cuts: The Separation Problem (P) A x ≥ b x ≥ 0
  • 23. © 2013 IBM Corporation23 IBM Software Group ILOG CPLEX Optimization The Cut Generating LP (CGLP) of Balas, Ceria and Cornuejols 1. Consider the polyhedra P0 and P1 induced by the disjunction: 2. Separate a cut valid for the disjunctive polyhedron Q = conv (P0 U P1) by solving the following CGLP: 3. Strengthen the cut by Monoidal Strengthening (Balas and Jeroslow, Eur. J. Oper. Res. 1980) P0 (u) A x ≥ b (w) x ≥ 0 (u0) - xj ≥ 0 P1 (v) A x ≥ b (z) x ≥ 0 (v0) xj ≥ 1 α = u A + w – u0 ej β = u b u, w, u0 ≥ 0 α = v A + z + v0 ej β = v b + v0 v, z, v0 ≥ 0 min α x* - β P0 P1 x* αx ≥ β
  • 24. © 2013 IBM Corporation24 IBM Software Group ILOG CPLEX Optimization  The CGLP is unbounded by construction (if a violated cut exists)  Can be normalized in many different ways: see, e.g., – Balas, Ceria and Cornuejols (Math. Prog.1993, Man. Science 1996) – Ceria and Soares (Tech. Report, 1997)  The normalization is the real objective function and makes the difference: see, e.g., – Fischetti, Lodi and T. (Math. Prog. 2011)  Two popular normalization constraints are: – The weak normalization (actually, the one used in CPLEX): u0 + v0 = 1 (1) – The strong normalization (Balas, Math. Prog. 1997): 1 u + 1 v + 1 w + 1 z + u0 + v0 = 1 (2) CGLP: The Role of Normalization
  • 25. © 2013 IBM Corporation25 IBM Software Group ILOG CPLEX Optimization Balas and Perregaard (Math. Prog. 2003) adopt normalization (2) and: 1. Separate high-rank inequalities (x* is a basic solution of P) 2. Provide a precise correspondence between feasible CGLP bases and (possibly infeasible) bases of the tableau of the original problem 3. Characterize Gomory Mixed Integer (GMI) cuts from the tableau as CGLP bases 4. Develop an efficient approach for solving the CGLP by a sequence of pivoting in the tableau of the original space. Different variants of the idea available in commercial and open-source solvers:  FICO XPRESS,  CBC (COIN-OR B&C), see Balas and Bonami (Math. Prog. Comp. 2009) Lift and Project Cuts à la Balas-Perregaard (BP L&P cuts) Warmstart CGLP with GMI basis Pivots in the space A x – I s = b Optimal CGLP solution
  • 26. © 2013 IBM Corporation26 IBM Software Group ILOG CPLEX Optimization Bonami (Math. Prog. Comp., 2012): 1. Separate only rank-1 L&P cuts (x* is not a vertex of P) 2. Adopts normalization u0 + v0 = 1 3. Applies some algebra to get rid of u0 and v0 in the CGLP 4. Takes the dual of the simplified CGLP and gets the so called Membership LP (MLP): 5. Provides promising computational results on MIPLIB 3.0 and MIPLIB 2003 models The (strengthened) L&P closure: – Can be computed in practice – Provides a good approximation of the split closure Lift and Project Cuts à la Bonami (this is what we did!) (MLP) max yj - δ* (v) b δ* ≤ A y ≤ b δ* + s* (u) (z) 0 ≤ y ≤ x* (w) s* := A x* - b δ* := xj*
  • 27. © 2013 IBM Corporation27 IBM Software Group ILOG CPLEX Optimization  L&P cuts à la Balas-Perregaard: – High-rank inequalities – Strong normalization (2) – L&P cuts as improved tableau GMI cuts – Computationally more expensive  L&P cuts à la Bonami: – Rank-1 inequalities – Weak normalization (1) – Computationally cheaper L&P cuts à la Balas-Perregaard vs. L&P cuts à la Bonami
  • 28. © 2013 IBM Corporation28 IBM Software Group ILOG CPLEX Optimization  Computational investigation in Fischetti, Lodi and T. (Math. Prog. 2011): Normalization (2) is fundamental when high-rank inequalities are separated, because it: – Breaks the correlation between optimization and separation – Tends to produce low-rank inequalities – Enforces the separation of cuts with sparse dual and primal support  Separating rank-1 cuts: – Breaks the correlation between optimization and separation – Enforces the separation of low-rank inequalities (not a big surprise) – Tends to produce cleaner and sparser cuts Lift and Project Cuts: Our Idea Sounds like normalization (2) Separate some more rank-1 L&P cuts with u0 + v0 = 1  Keep tableau GMI cuts as they are (if your filter likes them enough), and
  • 29. © 2013 IBM Corporation29 IBM Software Group ILOG CPLEX Optimization Bonami MLP to separate rank-1 cuts only, plus some tricks:  Heuristic reduction of MLP to – Speed up the separation – Get rid of constraints you don„t want to use to produce the cut  Clever selection of the disjunctions to use Lift and Project Cuts in CPLEX 12.5.1
  • 30. © 2013 IBM Corporation30 IBM Software Group ILOG CPLEX Optimization L&P Cuts in CPLEX 12.5.1: Performance Impact Date: 23 May 2013 Testset: 3243 models Machine: Intel X5650 @ 2.67GHz, 24 GB RAM, 12 threads Timelimit: 10,000 sec 0.91 0.98 0.91 0.96 0.95 0.87 0.95 0.86 0.93 0.92 0.80 0.88 0.79 0.88 0.87 0 0.2 0.4 0.6 0.8 1 >1s >10s >100s seed 1 seed 2 seed 3 seed 4 seed 5 0.95 0.99 0.95 0.98 0.98 0.93 0.97 0.92 0.96 0.95 0.87 0.93 0.86 0.92 0.92 0 0.2 0.4 0.6 0.8 1 >1s >10s >100s seed 1 seed 2 seed 3 seed 4 seed 5  948 (51%) models  617 (57%) models  362 (64%) models All Models Affected Models  1864 models  1089 models  567 models 1.03x 1.05x 1.10x 1.10x1.06x 1.16x
  • 31. © 2013 IBM Corporation31 IBM Software Group ILOG CPLEX Optimization Questions and Answers (Q&A)