Exact solutions to mixed-integer linear programming problems

40
Background Exact Branch-and-Bound Conclusions and Future Work Exact solutions to mixed-integer linear programming problems Dan Steffy Zuse Institute Berlin and Oakland University Joint work with Bill Cook, Thorsten Koch and Kati Wolter November 18, 2011

Transcript of Exact solutions to mixed-integer linear programming problems

Page 1: Exact solutions to mixed-integer linear programming problems

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

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

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

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

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

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

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

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

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

Background Exact Branch-and-Bound Conclusions and Future Work

Branch-and-Bound Procedure

max

Page 11: Exact solutions to mixed-integer linear programming problems

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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