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

Upload: others

Post on 15-Oct-2021

24 views

Category:

Documents


0 download

TRANSCRIPT

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