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
Background Exact Branch-and-Bound Conclusions and Future Work Mixed-Integer Programming Mixed-Integer Linear Program c T x max s.t. Ax ≤ b x ∈ R n 1 × Z n 2 .
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 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, ∞ ] opti 157 0 8.593e3 infeas./unbd. infeasible infeasible opti 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)
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, ∞ ] opti 157 0 8.593e3 infeas./unbd. infeasible infeasible opti 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)
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 Applegate, Cook, Dash and Espinoza [2007] tested rational simplex implementation. It was hundreds or thousands of times slower than floating-point code. http://gmplib.org
Background Exact Branch-and-Bound Conclusions and Future Work Rational Arithmetic for Linear Programming Applegate, Cook, Dash and Espinoza [2007] tested rational simplex implementation. It was hundreds or thousands of times slower than floating-point code. http://gmplib.org → try hybrid symbolic-numeric computation
Background Exact Branch-and-Bound Conclusions and Future Work Exact Linear Programming QSopt ex: Exact Rational LP Solver 1 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]
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 max f
Background Exact Branch-and-Bound Conclusions and Future Work Branch-and-Bound Procedure max f
Background Exact Branch-and-Bound Conclusions and Future Work Branch-and-Bound Procedure max f
Background Exact Branch-and-Bound Conclusions and Future Work Branch-and-Bound Procedure max f
Background Exact Branch-and-Bound Conclusions and Future Work Branch-and-Bound Procedure max x
Background Exact Branch-and-Bound Conclusions and Future Work Branch-and-Bound Procedure max x
Background Exact Branch-and-Bound Conclusions and Future Work Branch-and-Bound Procedure max x
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?
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.
Background Exact Branch-and-Bound Conclusions and Future Work Exact Mixed Integer Programming Hybrid Approach for Exact MIP: Branch & Bound
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 Computing LP bounds 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 & 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 Valid Dual Bounds: Exact LP and Basis Verification Exact LP Solve each node LP exactly using QSopt ex Produces tightest possible bound
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: c T x Idea: Use dual variables from max primal bounds to correct s.t. Ax ≤ b approximate dual solution l ≤ x ≤ u Applegate et al. [2006], Dual: Neumaier and Shcherbina [2004] b T y − l T z l + u T z u min A T y − Iz l + Iz u = c s.t. y, z l , z u ≥ 0
Background Exact Branch-and-Bound Conclusions and Future Work Valid Dual Bounds: Primal-Bound-Shift Linear Program Primal: Rigorous objective bound: c T x max Let ˆ y, ˆ z l , ˆ z u ≥ 0 be an approximate dual solution s.t. Ax ≤ b Set r = c − A T ˆ y + ˆ z l − ˆ z u l ≤ x ≤ u ( y , z l , z u ) = Dual: (ˆ y, ˆ z l + r + , ˆ z u + r − ) is a b T y − l T z l + u T z u min valid dual solution A T y − Iz l + Iz u = c s.t. y, z l , z u ≥ 0
Background Exact Branch-and-Bound Conclusions and Future Work Valid Dual Bounds: Primal-Bound-Shift Linear Program Good: Primal: Bound is trivial to compute c T x max Floating-point computation with directed rounding can s.t. Ax ≤ b be used l ≤ x ≤ u Bad: Dual: Strength of the bound b T y − l T z l + u T z u min depends on tightness of A T y − Iz l + Iz u = c s.t. primal variable bounds y, z l , z u ≥ 0
Background Exact Branch-and-Bound Conclusions and Future Work Valid Dual Bounds: Project-and-Shift Linear Program Primal: A more general procedure: c T x max s.t. Ax ≤ b Dual: b T y min A T y = c s.t. y ≥ 0
Background Exact Branch-and-Bound Conclusions and Future Work Valid Dual Bounds: Project-and-Shift Linear Program Primal: A more general procedure: c T x max Main Idea: s.t. Ax ≤ b Find approximate dual solution ˜ y Dual: y to satisfy A T y = c Project ˜ b T y min Maintaining feasibility, A T y = c s.t. shift to satisfy y ≥ 0 y ≥ 0
Background Exact Branch-and-Bound Conclusions and Future Work Valid Dual Bounds: Project-and-Shift Linear Program Primal: Comments: c T x max Under some assumptions, most expensive s.t. Ax ≤ b computations can be done only once at root node and reused through the tree Dual: b T y More general than Primal-Bound-Shift min (but not entirely general) A T y = c s.t. Some exact computation still required y ≥ 0
Background Exact Branch-and-Bound Conclusions and Future Work Problem Structure in Tree Root Primal: Root Dual: c T x min b T y max s.t. Ax ≤ b s.t. A T y = c y ≥ 0 Node Primal: Node Dual: c T x b T y + ¯ b T z max min s.t. A T y + ¯ A T z s.t. Ax ≤ b = c Ax ≤ ¯ ¯ b 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 LU factorization of A T Determine (exact) corrector point y ∗ A T y ∗ = c, y ∗ > 0
Recommend
More recommend