exact solutions to mixed-integer linear programming problems
TRANSCRIPT
Background Exact Branch-and-Bound Conclusions and Future Work
Exact solutions to mixed-integer linearprogramming problems
Dan Steffy
Zuse Institute Berlin and Oakland University
Joint work with Bill Cook, Thorsten Koch and Kati Wolter
November 18, 2011
Background Exact Branch-and-Bound Conclusions and Future Work
Mixed-Integer Programming
Mixed-Integer Linear Program
max cTx
s.t. Ax ≤ b
x ∈ Rn1 × Zn2
.
Background Exact Branch-and-Bound Conclusions and Future Work
Floating-point Computation for MIP
What can go wrong?
Suboptimal solution returned
Infeasible solution returned
Feasible problem declared infeasible
Background Exact Branch-and-Bound Conclusions and Future Work
Deviation in Integer Programming Software Results
Default Settings Presolve, cuts and heur. disabled
Example SCIP CPLEX SCIP CPLEX
aim-200-1 6-yes1-3 200 200 200 177alu10 7 91 86 84 83alu8 9 2.341e5 91 2.341e5 90neos-585467 399.373 399.373 397.363 392.805neos-619167 [1.643, 2.611] 2.141 2.141 1.664ns1637403 46 46 46 14ns2122603 [94, 7e5] infeasible [3.3,∞] [1.7,∞]opti 157 0 8.593e3 infeas./unbd. infeasible infeasibleopti 24 1 8.210e2 infeas./unbd. infeasible infeasibleran14x18.disj-8 [3595, 3714] 3761 [3574, 3735] [3618, 3797]transportmoment infeasible infeas./unbd. unbounded [-5e10, -3e9]
Results of FP based solvers (2 hour time limit)
Numerically difficult instances (from MIPLIB 2010 and others)
Background Exact Branch-and-Bound Conclusions and Future Work
Deviation in Integer Programming Software Results
Default Settings Presolve, cuts and heur. disabled
Example SCIP CPLEX SCIP CPLEX
aim-200-1 6-yes1-3 200 200 200 177alu10 7 91 86 84 83alu8 9 2.341e5 91 2.341e5 90neos-585467 399.373 399.373 397.363 392.805neos-619167 [1.643, 2.611] 2.141 2.141 1.664ns1637403 46 46 46 14ns2122603 [94, 7e5] infeasible [3.3,∞] [1.7,∞]opti 157 0 8.593e3 infeas./unbd. infeasible infeasibleopti 24 1 8.210e2 infeas./unbd. infeasible infeasibleran14x18.disj-8 [3595, 3714] 3761 [3574, 3735] [3618, 3797]transportmoment infeasible infeas./unbd. unbounded [-5e10, -3e9]
Results of FP based solvers (2 hour time limit)
Numerically difficult instances (from MIPLIB 2010 and others)
Background Exact Branch-and-Bound Conclusions and Future Work
Necessity of Exact Solutions
Where are exact MIP results needed?
VLSI chip design verification
Combinatorial auctions
Numerically difficult problems
Verifying results of test libraries
Background Exact Branch-and-Bound Conclusions and Future Work
Rational Arithmetic for Linear Programming
http://gmplib.org
Applegate, Cook, Dash and Espinoza [2007]tested rational simplex implementation.
It was hundreds or thousands of times slowerthan floating-point code.
→ try hybrid symbolic-numeric computation
Background Exact Branch-and-Bound Conclusions and Future Work
Rational Arithmetic for Linear Programming
http://gmplib.org
Applegate, Cook, Dash and Espinoza [2007]tested rational simplex implementation.
It was hundreds or thousands of times slowerthan floating-point code.
→ try hybrid symbolic-numeric computation
Background Exact Branch-and-Bound Conclusions and Future Work
Exact Linear Programming
QSopt ex: Exact Rational LP Solver1
Simplex method performedlimited/fixed precision
Final basic solution checked exactly
Precision increased if needed
Only 2-5x slower than FP-codes
1 Developed by Applegate, Cook, Dash and Espinoza [2007]
Background Exact Branch-and-Bound Conclusions and Future Work
Branch-and-Bound Procedure
max
Background Exact Branch-and-Bound Conclusions and Future Work
Branch-and-Bound Procedure
f
max
Background Exact Branch-and-Bound Conclusions and Future Work
Branch-and-Bound Procedure
f
max
Background Exact Branch-and-Bound Conclusions and Future Work
Branch-and-Bound Procedure
f
max
Background Exact Branch-and-Bound Conclusions and Future Work
Branch-and-Bound Procedure
f
max
Background Exact Branch-and-Bound Conclusions and Future Work
Branch-and-Bound Procedure
x
max
Background Exact Branch-and-Bound Conclusions and Future Work
Branch-and-Bound Procedure
x
max
Background Exact Branch-and-Bound Conclusions and Future Work
Branch-and-Bound Procedure
x
max
Background Exact Branch-and-Bound Conclusions and Future Work
Exact Mixed Integer Programming
What happens if we use a fast exact LP solver at every node?
Applegate, Dash, Cook, Espinoza [2007] found thisconsiderably slower than FP code.
Warm starting the LPs in branch-and-bound meanslots of LPs with less pivots per LP.
Background Exact Branch-and-Bound Conclusions and Future Work
Exact Mixed Integer Programming
What happens if we use a fast exact LP solver at every node?
Applegate, Dash, Cook, Espinoza [2007] found thisconsiderably slower than FP code.
Warm starting the LPs in branch-and-bound meanslots of LPs with less pivots per LP.
Background Exact Branch-and-Bound Conclusions and Future Work
Exact Mixed Integer Programming
Hybrid Approach for Exact MIP: Branch & Bound
1
Store exact representation of problem
Perform many operations on approximation or relaxation
Exact or safe methods must be used for:
Computing feasible solutions
← use exact LP solver
Computing LP bounds
← many choices here
1 see Cook, Koch, Steffy and Wolter [2011]
Background Exact Branch-and-Bound Conclusions and Future Work
Exact Mixed Integer Programming
Hybrid Approach for Exact MIP: Branch & Bound1
Store exact representation of problem
Perform many operations on approximation or relaxation
Exact or safe methods must be used for:
Computing feasible solutions
← use exact LP solver
Computing LP bounds
← many choices here
1 see Cook, Koch, Steffy and Wolter [2011]
Background Exact Branch-and-Bound Conclusions and Future Work
Exact Mixed Integer Programming
Hybrid Approach for Exact MIP: Branch & Bound1
Store exact representation of problem
Perform many operations on approximation or relaxation
Exact or safe methods must be used for:
Computing feasible solutions ← use exact LP solverComputing LP bounds ← many choices here
1 see Cook, Koch, Steffy and Wolter [2011]
Background Exact Branch-and-Bound Conclusions and Future Work
Valid Dual Bounds: Exact LP and Basis Verification
Exact LP
Solve each node LP exactly using QSopt ex
Produces tightest possible bound
Basis Verification
Recompute basic sol. from floating-point LP solver exactly
If dual feasible → return valid dual bound
Otherwise → return infinite bound, branch(Hopefully branching can resolve numerical troubles)
Background Exact Branch-and-Bound Conclusions and Future Work
Valid Dual Bounds: Exact LP and Basis Verification
Exact LP
Solve each node LP exactly using QSopt ex
Produces tightest possible bound
Basis Verification
Recompute basic sol. from floating-point LP solver exactly
If dual feasible → return valid dual bound
Otherwise → return infinite bound, branch(Hopefully branching can resolve numerical troubles)
Background Exact Branch-and-Bound Conclusions and Future Work
Valid Dual Bounds: Primal-Bound-Shift
Linear Program
Primal:
max cTx
s.t. Ax ≤ b
l ≤ x ≤ u
Dual:
min bT y − lT zl + uT zu
s.t. AT y − Izl + Izu = c
y, zl, zu ≥ 0
Idea: Use dual variables fromprimal bounds to correctapproximate dual solution
Applegate et al. [2006],Neumaier and Shcherbina [2004]
Background Exact Branch-and-Bound Conclusions and Future Work
Valid Dual Bounds: Primal-Bound-Shift
Linear Program
Primal:
max cTx
s.t. Ax ≤ b
l ≤ x ≤ u
Dual:
min bT y − lT zl + uT zu
s.t. AT y − Izl + Izu = c
y, zl, zu ≥ 0
Rigorous objective bound:
Let y, zl, zu ≥ 0 be anapproximate dual solution
Set r = c−AT y + zl − zu
(y, zl, zu) =(y, zl + r+, zu + r−) is avalid dual solution
Background Exact Branch-and-Bound Conclusions and Future Work
Valid Dual Bounds: Primal-Bound-Shift
Linear Program
Primal:
max cTx
s.t. Ax ≤ b
l ≤ x ≤ u
Dual:
min bT y − lT zl + uT zu
s.t. AT y − Izl + Izu = c
y, zl, zu ≥ 0
Good:
Bound is trivial to compute
Floating-point computationwith directed rounding canbe used
Bad:
Strength of the bounddepends on tightness ofprimal variable bounds
Background Exact Branch-and-Bound Conclusions and Future Work
Valid Dual Bounds: Project-and-Shift
Linear Program
Primal:
max cTx
s.t. Ax ≤ b
Dual:
min bT y
s.t. AT y = c
y ≥ 0
A more general procedure:
Main Idea:
Find approximate dual solution y
Project y to satisfy AT y = c
Maintaining feasibility,shift to satisfy y ≥ 0
Background Exact Branch-and-Bound Conclusions and Future Work
Valid Dual Bounds: Project-and-Shift
Linear Program
Primal:
max cTx
s.t. Ax ≤ b
Dual:
min bT y
s.t. AT y = c
y ≥ 0
A more general procedure:
Main Idea:
Find approximate dual solution y
Project y to satisfy AT y = c
Maintaining feasibility,shift to satisfy y ≥ 0
Background Exact Branch-and-Bound Conclusions and Future Work
Valid Dual Bounds: Project-and-Shift
Linear Program
Primal:
max cTx
s.t. Ax ≤ b
Dual:
min bT y
s.t. AT y = c
y ≥ 0
Comments:
Under some assumptions, most expensivecomputations can be done only once atroot node and reused through the tree
More general than Primal-Bound-Shift(but not entirely general)
Some exact computation still required
Background Exact Branch-and-Bound Conclusions and Future Work
Problem Structure in Tree
Root Primal:
max cTx
s.t. Ax ≤ b
Root Dual:
min bT y
s.t. ATy = c
y ≥ 0
Node Primal:
max cTx
s.t. Ax ≤ b
Ax ≤ b
Node Dual:
min bT y + bT z
s.t. ATy + ATz = c
y, z ≥ 0
Background Exact Branch-and-Bound Conclusions and Future Work
Valid Dual Bounds: Project-and-Shift
Components of Project-and-Shift for MIP
Root Node: Setup Phase
Compute exact LUfactorization of AT
Determine (exact)corrector point y∗AT y∗ = c, y∗ > 0
Node Bound Computation
Start with approximate solution
Project into equality space(using LU = AT )
Take convex combination withy∗ to ensure feasibility
Background Exact Branch-and-Bound Conclusions and Future Work
Valid Dual Bounds: Project-and-Shift
Components of Project-and-Shift for MIP
Root Node: Setup Phase
Compute exact LUfactorization of AT
Determine (exact)corrector point y∗AT y∗ = c, y∗ > 0
Node Bound Computation
Start with approximate solution
Project into equality space(using LU = AT )
Take convex combination withy∗ to ensure feasibility
Background Exact Branch-and-Bound Conclusions and Future Work
Implementation
Implementation of Hybrid Branch-and-Bound Method
Branch and bound framework: SCIP 1.2.0.8
Exact LP solver: QSopt ex 2.5.5
Floating-point LP solver: CPLEX 12.10
Multiple precision arithmetic package: GMP
Background Exact Branch-and-Bound Conclusions and Future Work
Computational Tests
Dual Bounding Methods
Exact LPBasis VerificationPrimal-Bound-ShiftProject-and-ShiftCombination of above methods(automatic selection at each node)
Pure Branch-and-Bound
First Fractional Branching
Results reported on 57 test problems selected from theMIPLIB and Mittelmann test libraries that were solved by(floating-point) SCIP branch-and-bound within 1 hour
Background Exact Branch-and-Bound Conclusions and Future Work
Computational Tests
Dual Bounding Methods
Exact LPBasis VerificationPrimal-Bound-ShiftProject-and-ShiftCombination of above methods(automatic selection at each node)
Pure Branch-and-Bound
First Fractional Branching
Results reported on 57 test problems selected from theMIPLIB and Mittelmann test libraries that were solved by(floating-point) SCIP branch-and-bound within 1 hour
Background Exact Branch-and-Bound Conclusions and Future Work
Overall Computation Time
# solved in 24h. Nodes∗ Time∗ (s.)
Inexact 57 18,030 59.4
Exact LP 51 18,076 550.7
VerifyBasis 51 18,078 461.8
BoundShift 43 24,994 110.4
ProjectShift 49 18,206 369.3
Automatic 55 18,226 91.4
∗Nodes and time reported are the geometric means over 37/57 problemssolved by all methods within 24h. time limit
Background Exact Branch-and-Bound Conclusions and Future Work
Future Plans
Some Future Plans:
Cutting planes and pre-solve
Certification of results
Solve test library problems
Background Exact Branch-and-Bound Conclusions and Future Work
East Coast Computer Algebra Day 2012
ECCAD 2012
Where: Oakland University,Rochester, Michigan
When: Saturday May 12,2012
... more details to come
Background Exact Branch-and-Bound Conclusions and Future Work
Exact solutions to mixed-integer linearprogramming problems
Dan Steffy
Zuse Institute Berlin and Oakland University
Joint work with Bill Cook, Thorsten Koch and Kati Wolter
November 18, 2011