Exact solutions to mixed-integer linear programming problems Dan - - PowerPoint PPT Presentation

exact solutions to mixed integer linear programming
SMART_READER_LITE
LIVE PREVIEW

Exact solutions to mixed-integer linear programming problems Dan - - PowerPoint PPT Presentation

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


slide-1
SLIDE 1

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

slide-2
SLIDE 2

Background Exact Branch-and-Bound Conclusions and Future Work

Mixed-Integer Programming

Mixed-Integer Linear Program max cT x s.t. Ax ≤ b x ∈ Rn1 × Zn2 .

slide-3
SLIDE 3

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

slide-4
SLIDE 4

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 177 alu10 7 91 86 84 83 alu8 9 2.341e5 91 2.341e5 90 neos-585467 399.373 399.373 397.363 392.805 neos-619167 [1.643, 2.611] 2.141 2.141 1.664 ns1637403 46 46 46 14 ns2122603 [94, 7e5] infeasible [3.3,∞] [1.7,∞]

  • pti 157 0

8.593e3 infeas./unbd. infeasible infeasible

  • pti 24 1

8.210e2 infeas./unbd. infeasible infeasible ran14x18.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)

slide-5
SLIDE 5

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 177 alu10 7 91 86 84 83 alu8 9 2.341e5 91 2.341e5 90 neos-585467 399.373 399.373 397.363 392.805 neos-619167 [1.643, 2.611] 2.141 2.141 1.664 ns1637403 46 46 46 14 ns2122603 [94, 7e5] infeasible [3.3,∞] [1.7,∞]

  • pti 157 0

8.593e3 infeas./unbd. infeasible infeasible

  • pti 24 1

8.210e2 infeas./unbd. infeasible infeasible ran14x18.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)

slide-6
SLIDE 6

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

slide-7
SLIDE 7

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 slower than floating-point code.

slide-8
SLIDE 8

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 slower than floating-point code. → try hybrid symbolic-numeric computation

slide-9
SLIDE 9

Background Exact Branch-and-Bound Conclusions and Future Work

Exact Linear Programming

QSopt ex: Exact Rational LP Solver1 Simplex method performed limited/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]

slide-10
SLIDE 10

Background Exact Branch-and-Bound Conclusions and Future Work

Branch-and-Bound Procedure

max

slide-11
SLIDE 11

Background Exact Branch-and-Bound Conclusions and Future Work

Branch-and-Bound Procedure

f

max

slide-12
SLIDE 12

Background Exact Branch-and-Bound Conclusions and Future Work

Branch-and-Bound Procedure

f

max

slide-13
SLIDE 13

Background Exact Branch-and-Bound Conclusions and Future Work

Branch-and-Bound Procedure

f

max

slide-14
SLIDE 14

Background Exact Branch-and-Bound Conclusions and Future Work

Branch-and-Bound Procedure

f

max

slide-15
SLIDE 15

Background Exact Branch-and-Bound Conclusions and Future Work

Branch-and-Bound Procedure

x

max

slide-16
SLIDE 16

Background Exact Branch-and-Bound Conclusions and Future Work

Branch-and-Bound Procedure

x

max

slide-17
SLIDE 17

Background Exact Branch-and-Bound Conclusions and Future Work

Branch-and-Bound Procedure

x

max

slide-18
SLIDE 18

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?

slide-19
SLIDE 19

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 this considerably slower than FP code. Warm starting the LPs in branch-and-bound means lots of LPs with less pivots per LP.

slide-20
SLIDE 20

Background Exact Branch-and-Bound Conclusions and Future Work

Exact Mixed Integer Programming

Hybrid Approach for Exact MIP: Branch & Bound

slide-21
SLIDE 21

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 Computing LP bounds

1 see Cook, Koch, Steffy and Wolter [2011]

slide-22
SLIDE 22

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]

slide-23
SLIDE 23

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

slide-24
SLIDE 24

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)

slide-25
SLIDE 25

Background Exact Branch-and-Bound Conclusions and Future Work

Valid Dual Bounds: Primal-Bound-Shift

Linear Program Primal: max cT x 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 from primal bounds to correct approximate dual solution Applegate et al. [2006], Neumaier and Shcherbina [2004]

slide-26
SLIDE 26

Background Exact Branch-and-Bound Conclusions and Future Work

Valid Dual Bounds: Primal-Bound-Shift

Linear Program Primal: max cT x 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 an approximate dual solution Set r = c − AT ˆ y + ˆ zl − ˆ zu (y, zl, zu) = (ˆ y, ˆ zl + r+, ˆ zu + r−) is a valid dual solution

slide-27
SLIDE 27

Background Exact Branch-and-Bound Conclusions and Future Work

Valid Dual Bounds: Primal-Bound-Shift

Linear Program Primal: max cT x 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 computation with directed rounding can be used Bad: Strength of the bound depends on tightness of primal variable bounds

slide-28
SLIDE 28

Background Exact Branch-and-Bound Conclusions and Future Work

Valid Dual Bounds: Project-and-Shift

Linear Program Primal: max cT x s.t. Ax ≤ b Dual: min bT y s.t. AT y = c y ≥ 0 A more general procedure:

slide-29
SLIDE 29

Background Exact Branch-and-Bound Conclusions and Future Work

Valid Dual Bounds: Project-and-Shift

Linear Program Primal: max cT x 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

slide-30
SLIDE 30

Background Exact Branch-and-Bound Conclusions and Future Work

Valid Dual Bounds: Project-and-Shift

Linear Program Primal: max cT x s.t. Ax ≤ b Dual: min bT y s.t. AT y = c y ≥ 0 Comments: Under some assumptions, most expensive computations can be done only once at root node and reused through the tree More general than Primal-Bound-Shift (but not entirely general) Some exact computation still required

slide-31
SLIDE 31

Background Exact Branch-and-Bound Conclusions and Future Work

Problem Structure in Tree

Root Primal: max cT x s.t. Ax ≤ b Root Dual: min bT y s.t. ATy = c y ≥ 0 Node Primal: max cT x s.t. Ax ≤ b ¯ Ax ≤ ¯ b Node Dual: min bT y + ¯ bT z s.t. ATy + ¯ ATz = c y, z ≥ 0

slide-32
SLIDE 32

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 LU factorization of AT Determine (exact) corrector point y∗ AT y∗ = c, y∗ > 0

slide-33
SLIDE 33

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 LU factorization 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 with y∗ to ensure feasibility

slide-34
SLIDE 34

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

slide-35
SLIDE 35

Background Exact Branch-and-Bound Conclusions and Future Work

Computational Tests

Dual Bounding Methods

Exact LP Basis Verification Primal-Bound-Shift Project-and-Shift Combination of above methods (automatic selection at each node)

slide-36
SLIDE 36

Background Exact Branch-and-Bound Conclusions and Future Work

Computational Tests

Dual Bounding Methods

Exact LP Basis Verification Primal-Bound-Shift Project-and-Shift Combination of above methods (automatic selection at each node)

Pure Branch-and-Bound First Fractional Branching Results reported on 57 test problems selected from the MIPLIB and Mittelmann test libraries that were solved by (floating-point) SCIP branch-and-bound within 1 hour

slide-37
SLIDE 37

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 problems

solved by all methods within 24h. time limit

slide-38
SLIDE 38

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

slide-39
SLIDE 39

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

slide-40
SLIDE 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