34
Addressing degeneracy in the dual simplex algorithm using a decompositon approach Ambros Gleixner, Stephen J Maher , Matthias Miltenberger Zuse Institute Berlin Berlin, Germany 16th July 2015 @sj_maher #ISMP2015 Stephen J Maher | Addressing dual simplex degeneracy using decomposition 1 / 22

Addressing degeneracy in the dual simplex algorithm using ...stephenjmaher.com/publications/maher_ismp2015.pdf · Addressing degeneracy in the dual simplex algorithm using a decompositon

Embed Size (px)

Citation preview

Page 1: Addressing degeneracy in the dual simplex algorithm using ...stephenjmaher.com/publications/maher_ismp2015.pdf · Addressing degeneracy in the dual simplex algorithm using a decompositon

Addressing degeneracy in the dual simplexalgorithm using a decompositon approach

Ambros Gleixner, Stephen J Maher, Matthias Miltenberger

Zuse Institute BerlinBerlin, Germany

16th July 2015

@sj_maher

#ISMP2015

Stephen J Maher | Addressing dual simplex degeneracy using decomposition 1 / 22

Page 2: Addressing degeneracy in the dual simplex algorithm using ...stephenjmaher.com/publications/maher_ismp2015.pdf · Addressing degeneracy in the dual simplex algorithm using a decompositon

Simplex method - effective LP solving

◮ Effective approach to solve linear programming problems.◮ Fundamental for solving mixed integer programs.◮ Algorithm developments have greatly improved effectiveness.

◮ Linear algebra,◮ pricing and pivoting rules,◮ presolving techniques,◮ . . .

Stephen J Maher | Addressing dual simplex degeneracy using decomposition 2 / 22

Page 3: Addressing degeneracy in the dual simplex algorithm using ...stephenjmaher.com/publications/maher_ismp2015.pdf · Addressing degeneracy in the dual simplex algorithm using a decompositon

Motivation

Mixed integer programming

◮ Significant part of mixed integer programming solvers.◮ Large proportion of solving time.◮ Degeneracy still impacts effectiveness of simplex based solvers.

Stephen J Maher | Addressing dual simplex degeneracy using decomposition 3 / 22

Page 4: Addressing degeneracy in the dual simplex algorithm using ...stephenjmaher.com/publications/maher_ismp2015.pdf · Addressing degeneracy in the dual simplex algorithm using a decompositon

Motivation

Mixed integer programming

◮ Significant part of mixed integer programming solvers.◮ Large proportion of solving time.◮ Degeneracy still impacts effectiveness of simplex based solvers.

Goal: Reduce the degeneracy encountered in the simplexmethod to improve algorithm performance.

Stephen J Maher | Addressing dual simplex degeneracy using decomposition 3 / 22

Page 5: Addressing degeneracy in the dual simplex algorithm using ...stephenjmaher.com/publications/maher_ismp2015.pdf · Addressing degeneracy in the dual simplex algorithm using a decompositon

Outline

Introduction

Decomposition approach for the dual simplex

Results

Conclusion

Stephen J Maher | Addressing dual simplex degeneracy using decomposition 4 / 22

Page 6: Addressing degeneracy in the dual simplex algorithm using ...stephenjmaher.com/publications/maher_ismp2015.pdf · Addressing degeneracy in the dual simplex algorithm using a decompositon

Prevalence of dual degeneracy

0 20 40 60 80 100Degeneracy level (%)

0

10

20

30

40

50

Num

ber o

f ins

tanc

es

The number of instances with a given degeneracy level - 927 instances

Collection of 1,226 LP instances - 299 have a degeneracy level less than 1%.

Stephen J Maher | Addressing dual simplex degeneracy using decomposition 5 / 22

Page 7: Addressing degeneracy in the dual simplex algorithm using ...stephenjmaher.com/publications/maher_ismp2015.pdf · Addressing degeneracy in the dual simplex algorithm using a decompositon

Approaches to address degeneracy

Primal degeneracy

Improved Primal Simplex - Elhallaoui et al. (2011)

◮ Developed with a focus on set partitioning problems.◮ Decomposes problem to contain only non-degenerate primal variables.◮ Further developments have resulted in an effective solution approach.

Stephen J Maher | Addressing dual simplex degeneracy using decomposition 6 / 22

Page 8: Addressing degeneracy in the dual simplex algorithm using ...stephenjmaher.com/publications/maher_ismp2015.pdf · Addressing degeneracy in the dual simplex algorithm using a decompositon

Approaches to address degeneracy

Primal degeneracy

Improved Primal Simplex - Elhallaoui et al. (2011)

◮ Developed with a focus on set partitioning problems.◮ Decomposes problem to contain only non-degenerate primal variables.◮ Further developments have resulted in an effective solution approach.

x1 = 0

x2 = 0

x3 = 0

x4 = 0

x5 = 0

x6 = 0

Stephen J Maher | Addressing dual simplex degeneracy using decomposition 6 / 22

Page 9: Addressing degeneracy in the dual simplex algorithm using ...stephenjmaher.com/publications/maher_ismp2015.pdf · Addressing degeneracy in the dual simplex algorithm using a decompositon

Approaches to address degeneracy

Primal degeneracy

Improved Primal Simplex - Elhallaoui et al. (2011)

◮ Developed with a focus on set partitioning problems.◮ Decomposes problem to contain only non-degenerate primal variables.◮ Further developments have resulted in an effective solution approach.

x1 = 0

x2 = 0

x4 = 0

x5 = 0

x6 = 0

Stephen J Maher | Addressing dual simplex degeneracy using decomposition 6 / 22

Page 10: Addressing degeneracy in the dual simplex algorithm using ...stephenjmaher.com/publications/maher_ismp2015.pdf · Addressing degeneracy in the dual simplex algorithm using a decompositon

Approaches to address degeneracy

Dual degeneracy

◮ Perturbation◮ Modification of the objective function coefficients

◮ Bound flipping ratio test◮ Changing variable from one bound to another without affecting dual

feasibility.◮ Larger steps are afforded.

Stephen J Maher | Addressing dual simplex degeneracy using decomposition 7 / 22

Page 11: Addressing degeneracy in the dual simplex algorithm using ...stephenjmaher.com/publications/maher_ismp2015.pdf · Addressing degeneracy in the dual simplex algorithm using a decompositon

Outline

Introduction

Decomposition approach for the dual simplex

Results

Conclusion

Stephen J Maher | Addressing dual simplex degeneracy using decomposition 8 / 22

Page 12: Addressing degeneracy in the dual simplex algorithm using ...stephenjmaher.com/publications/maher_ismp2015.pdf · Addressing degeneracy in the dual simplex algorithm using a decompositon

Reducing dual degeneracy

Consider P = max{c′x : Ax ≤ b} and let x∗ be a basic solution.

Degeneracy occurs if more than m primal variables have a reduced cost ofzero.

x1

x2

c

Stephen J Maher | Addressing dual simplex degeneracy using decomposition 9 / 22

Page 13: Addressing degeneracy in the dual simplex algorithm using ...stephenjmaher.com/publications/maher_ismp2015.pdf · Addressing degeneracy in the dual simplex algorithm using a decompositon

Reducing dual degeneracy

Consider P = max{c′x : Ax ≤ b} and let x∗ be a basic solution.

Degeneracy occurs if more than m primal variables have a reduced cost ofzero.

x1

x2

c

Stephen J Maher | Addressing dual simplex degeneracy using decomposition 9 / 22

Page 14: Addressing degeneracy in the dual simplex algorithm using ...stephenjmaher.com/publications/maher_ismp2015.pdf · Addressing degeneracy in the dual simplex algorithm using a decompositon

Reducing dual degeneracy

Consider P = max{c′x : Ax ≤ b} and let x∗ be a basic solution.

Degeneracy occurs if more than m primal variables have a reduced cost ofzero.

x2

c

Stephen J Maher | Addressing dual simplex degeneracy using decomposition 9 / 22

Page 15: Addressing degeneracy in the dual simplex algorithm using ...stephenjmaher.com/publications/maher_ismp2015.pdf · Addressing degeneracy in the dual simplex algorithm using a decompositon

Reducing dual degeneracy

Consider P = max{c′x : Ax ≤ b} and let x∗ be a basic solution.

Degeneracy occurs if more than m primal variables have a reduced cost ofzero.

x1

c

Stephen J Maher | Addressing dual simplex degeneracy using decomposition 9 / 22

Page 16: Addressing degeneracy in the dual simplex algorithm using ...stephenjmaher.com/publications/maher_ismp2015.pdf · Addressing degeneracy in the dual simplex algorithm using a decompositon

Reducing dual degeneracy

Consider P = max{c′x : Ax ≤ b} and let x∗ be a basic solution.

Degeneracy occurs if more than m primal variables have a reduced cost ofzero.

x1

x2

c

x2

c

x1

c

Stephen J Maher | Addressing dual simplex degeneracy using decomposition 9 / 22

Page 17: Addressing degeneracy in the dual simplex algorithm using ...stephenjmaher.com/publications/maher_ismp2015.pdf · Addressing degeneracy in the dual simplex algorithm using a decompositon

Algorithm

Perform pivot onoriginal problem

Problemsolved?

Is basisdegenerate?

Decompose problem

Solve reducedproblem

Update comple-mentary problem

Solve comple-mentary problem

Is snonnegative?

Optimalsolution found

Update reducedproblem.

no

yes

no

yes

noyes

Stephen J Maher | Addressing dual simplex degeneracy using decomposition 10 / 22

Page 18: Addressing degeneracy in the dual simplex algorithm using ...stephenjmaher.com/publications/maher_ismp2015.pdf · Addressing degeneracy in the dual simplex algorithm using a decompositon

Algorithm

Perform pivot onoriginal problem

Problemsolved?

Is basisdegenerate?

Decompose problem

Solve reducedproblem

Update comple-mentary problem

Solve comple-mentary problem

Is snonnegative?

Optimalsolution found

Update reducedproblem.

no

yes

no

yes

noyes

Stephen J Maher | Addressing dual simplex degeneracy using decomposition 10 / 22

Page 19: Addressing degeneracy in the dual simplex algorithm using ...stephenjmaher.com/publications/maher_ismp2015.pdf · Addressing degeneracy in the dual simplex algorithm using a decompositon

Algorithm

Perform pivot onoriginal problem

Problemsolved?

Is basisdegenerate?

Decompose problem

Solve reducedproblem

Update comple-mentary problem

Solve comple-mentary problem

Is snonnegative?

Optimalsolution found

Update reducedproblem.

no

yes

no

yes

noyes

Stephen J Maher | Addressing dual simplex degeneracy using decomposition 10 / 22

Page 20: Addressing degeneracy in the dual simplex algorithm using ...stephenjmaher.com/publications/maher_ismp2015.pdf · Addressing degeneracy in the dual simplex algorithm using a decompositon

Decomposition

Perform pivot onoriginal problem

Problemsolved?

Is basisdegenerate?

Decompose problem

Solve reducedproblem

Update comple-mentary problem

Solve comple-mentary problem

Is snonnegative?

Optimalsolution found

Update reducedproblem.

no

yes

no

yes

noyes

Stephen J Maher | Addressing dual simplex degeneracy using decomposition 11 / 22

Page 21: Addressing degeneracy in the dual simplex algorithm using ...stephenjmaher.com/publications/maher_ismp2015.pdf · Addressing degeneracy in the dual simplex algorithm using a decompositon

Decomposition

Given P = max{c′x : Ax ≤ b}, and a row form basis B (Q = B−1).

◮ Partition the indices of B by the dual multipliers.◮ P where yi > 0 and N where yi = 0.

◮ Reorder basis: Q = (Q·P |Q·N ).◮ Substitute x = Qx̄ , where x = Q·P x̄P + Q·N x̄N .◮ Compatible rows identified by Ai·Q·N = 0, i ∈ {1, . . . ,m}.

Stephen J Maher | Addressing dual simplex degeneracy using decomposition 12 / 22

Page 22: Addressing degeneracy in the dual simplex algorithm using ...stephenjmaher.com/publications/maher_ismp2015.pdf · Addressing degeneracy in the dual simplex algorithm using a decompositon

Decomposition

Given P = max{c′x : Ax ≤ b}, and a row form basis B (Q = B−1).

◮ Partition the indices of B by the dual multipliers.◮ P where yi > 0 and N where yi = 0.

◮ Reorder basis: Q = (Q·P |Q·N ).◮ Substitute x = Qx̄ , where x = Q·P x̄P + Q·N x̄N .◮ Compatible rows identified by Ai·Q·N = 0, i ∈ {1, . . . ,m}.

max (c′Q·P)x̄P + (c′Q·N )x̄Nsubject to AC·Q·P x̄P + AC·Q·N x̄N ≤ bC ,

AI·Q·P x̄P + AI·Q·N x̄N ≤ bI .

Stephen J Maher | Addressing dual simplex degeneracy using decomposition 12 / 22

Page 23: Addressing degeneracy in the dual simplex algorithm using ...stephenjmaher.com/publications/maher_ismp2015.pdf · Addressing degeneracy in the dual simplex algorithm using a decompositon

Reduced problem

x1

x2

c

x1

x2

c

The reduced costs are: c′Q = yB.

Given c′Q·N = yN = 0 and AC·Q·N = 0.

Stephen J Maher | Addressing dual simplex degeneracy using decomposition 13 / 22

Page 24: Addressing degeneracy in the dual simplex algorithm using ...stephenjmaher.com/publications/maher_ismp2015.pdf · Addressing degeneracy in the dual simplex algorithm using a decompositon

Reduced problem

x1

x2

c

x1

x2

c

The reduced costs are: c′Q = yB.

Given c′Q·N = yN = 0 and AC·Q·N = 0.

max (c′Q·P)x̄Psubject to AC·Q·P x̄P ≤ bC .

Stephen J Maher | Addressing dual simplex degeneracy using decomposition 13 / 22

Page 25: Addressing degeneracy in the dual simplex algorithm using ...stephenjmaher.com/publications/maher_ismp2015.pdf · Addressing degeneracy in the dual simplex algorithm using a decompositon

Complementary problem

Perform pivot onoriginal problem

Problemsolved?

Is basisdegenerate?

Decompose problem

Solve reducedproblem

Update comple-mentary problem

Solve comple-mentary problem

Is snonnegative?

Optimalsolution found

Update reducedproblem.

no

yes

no

yes

noyes

Stephen J Maher | Addressing dual simplex degeneracy using decomposition 14 / 22

Page 26: Addressing degeneracy in the dual simplex algorithm using ...stephenjmaher.com/publications/maher_ismp2015.pdf · Addressing degeneracy in the dual simplex algorithm using a decompositon

Complementary problem

x1

x2

c

x1

x2 violated

c

Know: Constraints currently at bounds.

Stephen J Maher | Addressing dual simplex degeneracy using decomposition 15 / 22

Page 27: Addressing degeneracy in the dual simplex algorithm using ...stephenjmaher.com/publications/maher_ismp2015.pdf · Addressing degeneracy in the dual simplex algorithm using a decompositon

Complementary problem

x1

x2

c

x1

x2 violated

c

Know: Constraints currently at bounds.

max s

subject to Ai·x = bi ∀i ∈ P∗,

Ai·x + s ≤ bi ∀i ∈ I∗,

s ∈ R.

Stephen J Maher | Addressing dual simplex degeneracy using decomposition 15 / 22

Page 28: Addressing degeneracy in the dual simplex algorithm using ...stephenjmaher.com/publications/maher_ismp2015.pdf · Addressing degeneracy in the dual simplex algorithm using a decompositon

Termination

Perform pivot onoriginal problem

Problemsolved?

Is basisdegenerate?

Decompose problem

Solve reducedproblem

Update comple-mentary problem

Solve comple-mentary problem

Is snonnegative?

Optimalsolution found

Update reducedproblem.

no

yes

no

yes

noyes

Stephen J Maher | Addressing dual simplex degeneracy using decomposition 16 / 22

Page 29: Addressing degeneracy in the dual simplex algorithm using ...stephenjmaher.com/publications/maher_ismp2015.pdf · Addressing degeneracy in the dual simplex algorithm using a decompositon

Implementation

Implemented within SoPlexSimplex based LP solver developed at ZIB.Available from soplex.zib.de

◮ Row representation available in SoPlex is necessary.◮ Initial algorithm for original, reduced and complementary problems is the

dual simplex.◮ No Phase 1 - degeneracy detected by subtracting bound shifts.

Complementary problem solved in the dual representation.

◮ Violated constraints are detected using a ratio test - comparing dualsolutions from the reduced and complementary problems.

Stephen J Maher | Addressing dual simplex degeneracy using decomposition 17 / 22

Page 30: Addressing degeneracy in the dual simplex algorithm using ...stephenjmaher.com/publications/maher_ismp2015.pdf · Addressing degeneracy in the dual simplex algorithm using a decompositon

Outline

Introduction

Decomposition approach for the dual simplex

Results

Conclusion

Stephen J Maher | Addressing dual simplex degeneracy using decomposition 18 / 22

Page 31: Addressing degeneracy in the dual simplex algorithm using ...stephenjmaher.com/publications/maher_ismp2015.pdf · Addressing degeneracy in the dual simplex algorithm using a decompositon

Test instances

◮ Set of instances collected from numerous LP and MIP benchmarktestsets - total of 1,226

◮ Only considered those solved in one hour using dual algorithm of SoPlexin row representation and by the decomposition algorithm.

◮ Removed instances solved by SoPlex in less than 0.05 seconds anddisplayed average degeneracy less than 20%.

◮ Final testset contained 157 instances.

Stephen J Maher | Addressing dual simplex degeneracy using decomposition 19 / 22

Page 32: Addressing degeneracy in the dual simplex algorithm using ...stephenjmaher.com/publications/maher_ismp2015.pdf · Addressing degeneracy in the dual simplex algorithm using a decompositon

Iterations change

20 30 40 50 60 70 80 90 100Degeneracy level (%)

10-2

10-1

100

101

102

103

104

Ratio of iterations (d

ecom

p/stan

dard)

Comparing the ratio of the number of iterations with respect to degeneracy - 157 instances

Stephen J Maher | Addressing dual simplex degeneracy using decomposition 20 / 22

Page 33: Addressing degeneracy in the dual simplex algorithm using ...stephenjmaher.com/publications/maher_ismp2015.pdf · Addressing degeneracy in the dual simplex algorithm using a decompositon

Conclusion

◮ Presented a decomposition approach designed to reduce the impact ofdegeneracy.

◮ Discussed the employed solution algorithm and the implementation inthe freely available code of SoPlex (soplex.zib.de).

◮ Demonstrated the potential of this approach to reduce the iterations ofthe dual simplex method.

Stephen J Maher | Addressing dual simplex degeneracy using decomposition 21 / 22

Page 34: Addressing degeneracy in the dual simplex algorithm using ...stephenjmaher.com/publications/maher_ismp2015.pdf · Addressing degeneracy in the dual simplex algorithm using a decompositon

The SCIP Optimization Suite

LP◮ SoPlex: a new exact LP solver → TB07 Ambros Gleixner◮ The Impact of LP on . . . MIP Solvers → WB16 Matthias Miltenberger

MIP◮ Recent Advances in the SCIP Opt. Suite for Solving MIPs → MD16 Gregor

Hendel◮ Reoptimization Techniques in MIP Solvers → WB01 Jakob Witzig◮ Recent Branching Improvements for MIP . . . → WC07 Gerald Gamrath◮ Branch-and-Cut for . . . Overlapping SOS1 Constraints → WC07 Tobias Fischer

MINLP◮ Solving MISDPs for Robust Truss Topology Design → TB09 Tristan Gally◮ (Pre-)Solving Nonlinear Pseudo-Boolean . . . Problems → WC07 Michael

Winkler◮ Recent Advances in Solving MINLPs with SCIP → ThC24 Benjamin Mueller◮ On Outer-Approximations of Convex Regions → ThC24 Felipe Serrano

Parallel & Multiobjective◮ PolySCIP – A Solver for Multi-Criteria MIPs → WD23 Sebastian Schenker◮ How to Run a Customized SCIP Solver on . . . 80,000 Cores → ThC15 Yuji

Shinano

Stephen J Maher | Addressing dual simplex degeneracy using decomposition 22 / 22