Exact solutions to mixed-integer linear programming problems

Post on 15-Oct-2021

18 views 0 download

Transcript of 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

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