Exact solutions to mixed-integer linear programming problems
Transcript of Exact solutions to mixed-integer linear programming problems
![Page 1: Exact solutions to mixed-integer linear programming problems](https://reader030.fdocuments.in/reader030/viewer/2022012020/61688e71d394e9041f708ec2/html5/thumbnails/1.jpg)
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
![Page 2: Exact solutions to mixed-integer linear programming problems](https://reader030.fdocuments.in/reader030/viewer/2022012020/61688e71d394e9041f708ec2/html5/thumbnails/2.jpg)
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
.
![Page 3: Exact solutions to mixed-integer linear programming problems](https://reader030.fdocuments.in/reader030/viewer/2022012020/61688e71d394e9041f708ec2/html5/thumbnails/3.jpg)
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
![Page 4: Exact solutions to mixed-integer linear programming problems](https://reader030.fdocuments.in/reader030/viewer/2022012020/61688e71d394e9041f708ec2/html5/thumbnails/4.jpg)
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)
![Page 5: Exact solutions to mixed-integer linear programming problems](https://reader030.fdocuments.in/reader030/viewer/2022012020/61688e71d394e9041f708ec2/html5/thumbnails/5.jpg)
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)
![Page 6: Exact solutions to mixed-integer linear programming problems](https://reader030.fdocuments.in/reader030/viewer/2022012020/61688e71d394e9041f708ec2/html5/thumbnails/6.jpg)
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
![Page 7: Exact solutions to mixed-integer linear programming problems](https://reader030.fdocuments.in/reader030/viewer/2022012020/61688e71d394e9041f708ec2/html5/thumbnails/7.jpg)
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
![Page 8: Exact solutions to mixed-integer linear programming problems](https://reader030.fdocuments.in/reader030/viewer/2022012020/61688e71d394e9041f708ec2/html5/thumbnails/8.jpg)
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
![Page 9: Exact solutions to mixed-integer linear programming problems](https://reader030.fdocuments.in/reader030/viewer/2022012020/61688e71d394e9041f708ec2/html5/thumbnails/9.jpg)
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]
![Page 10: Exact solutions to mixed-integer linear programming problems](https://reader030.fdocuments.in/reader030/viewer/2022012020/61688e71d394e9041f708ec2/html5/thumbnails/10.jpg)
Background Exact Branch-and-Bound Conclusions and Future Work
Branch-and-Bound Procedure
max
![Page 11: Exact solutions to mixed-integer linear programming problems](https://reader030.fdocuments.in/reader030/viewer/2022012020/61688e71d394e9041f708ec2/html5/thumbnails/11.jpg)
Background Exact Branch-and-Bound Conclusions and Future Work
Branch-and-Bound Procedure
f
max
![Page 12: Exact solutions to mixed-integer linear programming problems](https://reader030.fdocuments.in/reader030/viewer/2022012020/61688e71d394e9041f708ec2/html5/thumbnails/12.jpg)
Background Exact Branch-and-Bound Conclusions and Future Work
Branch-and-Bound Procedure
f
max
![Page 13: Exact solutions to mixed-integer linear programming problems](https://reader030.fdocuments.in/reader030/viewer/2022012020/61688e71d394e9041f708ec2/html5/thumbnails/13.jpg)
Background Exact Branch-and-Bound Conclusions and Future Work
Branch-and-Bound Procedure
f
max
![Page 14: Exact solutions to mixed-integer linear programming problems](https://reader030.fdocuments.in/reader030/viewer/2022012020/61688e71d394e9041f708ec2/html5/thumbnails/14.jpg)
Background Exact Branch-and-Bound Conclusions and Future Work
Branch-and-Bound Procedure
f
max
![Page 15: Exact solutions to mixed-integer linear programming problems](https://reader030.fdocuments.in/reader030/viewer/2022012020/61688e71d394e9041f708ec2/html5/thumbnails/15.jpg)
Background Exact Branch-and-Bound Conclusions and Future Work
Branch-and-Bound Procedure
x
max
![Page 16: Exact solutions to mixed-integer linear programming problems](https://reader030.fdocuments.in/reader030/viewer/2022012020/61688e71d394e9041f708ec2/html5/thumbnails/16.jpg)
Background Exact Branch-and-Bound Conclusions and Future Work
Branch-and-Bound Procedure
x
max
![Page 17: Exact solutions to mixed-integer linear programming problems](https://reader030.fdocuments.in/reader030/viewer/2022012020/61688e71d394e9041f708ec2/html5/thumbnails/17.jpg)
Background Exact Branch-and-Bound Conclusions and Future Work
Branch-and-Bound Procedure
x
max
![Page 18: Exact solutions to mixed-integer linear programming problems](https://reader030.fdocuments.in/reader030/viewer/2022012020/61688e71d394e9041f708ec2/html5/thumbnails/18.jpg)
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.
![Page 19: Exact solutions to mixed-integer linear programming problems](https://reader030.fdocuments.in/reader030/viewer/2022012020/61688e71d394e9041f708ec2/html5/thumbnails/19.jpg)
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.
![Page 20: Exact solutions to mixed-integer linear programming problems](https://reader030.fdocuments.in/reader030/viewer/2022012020/61688e71d394e9041f708ec2/html5/thumbnails/20.jpg)
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]
![Page 21: Exact solutions to mixed-integer linear programming problems](https://reader030.fdocuments.in/reader030/viewer/2022012020/61688e71d394e9041f708ec2/html5/thumbnails/21.jpg)
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]
![Page 22: Exact solutions to mixed-integer linear programming problems](https://reader030.fdocuments.in/reader030/viewer/2022012020/61688e71d394e9041f708ec2/html5/thumbnails/22.jpg)
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]
![Page 23: Exact solutions to mixed-integer linear programming problems](https://reader030.fdocuments.in/reader030/viewer/2022012020/61688e71d394e9041f708ec2/html5/thumbnails/23.jpg)
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)
![Page 24: Exact solutions to mixed-integer linear programming problems](https://reader030.fdocuments.in/reader030/viewer/2022012020/61688e71d394e9041f708ec2/html5/thumbnails/24.jpg)
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)
![Page 25: Exact solutions to mixed-integer linear programming problems](https://reader030.fdocuments.in/reader030/viewer/2022012020/61688e71d394e9041f708ec2/html5/thumbnails/25.jpg)
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]
![Page 26: Exact solutions to mixed-integer linear programming problems](https://reader030.fdocuments.in/reader030/viewer/2022012020/61688e71d394e9041f708ec2/html5/thumbnails/26.jpg)
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
![Page 27: Exact solutions to mixed-integer linear programming problems](https://reader030.fdocuments.in/reader030/viewer/2022012020/61688e71d394e9041f708ec2/html5/thumbnails/27.jpg)
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
![Page 28: Exact solutions to mixed-integer linear programming problems](https://reader030.fdocuments.in/reader030/viewer/2022012020/61688e71d394e9041f708ec2/html5/thumbnails/28.jpg)
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
![Page 29: Exact solutions to mixed-integer linear programming problems](https://reader030.fdocuments.in/reader030/viewer/2022012020/61688e71d394e9041f708ec2/html5/thumbnails/29.jpg)
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
![Page 30: Exact solutions to mixed-integer linear programming problems](https://reader030.fdocuments.in/reader030/viewer/2022012020/61688e71d394e9041f708ec2/html5/thumbnails/30.jpg)
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
![Page 31: Exact solutions to mixed-integer linear programming problems](https://reader030.fdocuments.in/reader030/viewer/2022012020/61688e71d394e9041f708ec2/html5/thumbnails/31.jpg)
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
![Page 32: Exact solutions to mixed-integer linear programming problems](https://reader030.fdocuments.in/reader030/viewer/2022012020/61688e71d394e9041f708ec2/html5/thumbnails/32.jpg)
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
![Page 33: Exact solutions to mixed-integer linear programming problems](https://reader030.fdocuments.in/reader030/viewer/2022012020/61688e71d394e9041f708ec2/html5/thumbnails/33.jpg)
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
![Page 34: Exact solutions to mixed-integer linear programming problems](https://reader030.fdocuments.in/reader030/viewer/2022012020/61688e71d394e9041f708ec2/html5/thumbnails/34.jpg)
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
![Page 35: Exact solutions to mixed-integer linear programming problems](https://reader030.fdocuments.in/reader030/viewer/2022012020/61688e71d394e9041f708ec2/html5/thumbnails/35.jpg)
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
![Page 36: Exact solutions to mixed-integer linear programming problems](https://reader030.fdocuments.in/reader030/viewer/2022012020/61688e71d394e9041f708ec2/html5/thumbnails/36.jpg)
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
![Page 37: Exact solutions to mixed-integer linear programming problems](https://reader030.fdocuments.in/reader030/viewer/2022012020/61688e71d394e9041f708ec2/html5/thumbnails/37.jpg)
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
![Page 38: Exact solutions to mixed-integer linear programming problems](https://reader030.fdocuments.in/reader030/viewer/2022012020/61688e71d394e9041f708ec2/html5/thumbnails/38.jpg)
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
![Page 39: Exact solutions to mixed-integer linear programming problems](https://reader030.fdocuments.in/reader030/viewer/2022012020/61688e71d394e9041f708ec2/html5/thumbnails/39.jpg)
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
![Page 40: Exact solutions to mixed-integer linear programming problems](https://reader030.fdocuments.in/reader030/viewer/2022012020/61688e71d394e9041f708ec2/html5/thumbnails/40.jpg)
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