Addressing degeneracy in the dual simplex algorithm using...
-
Upload
hoangkhuong -
Category
Documents
-
view
226 -
download
0
Transcript of Addressing degeneracy in the dual simplex algorithm using...
![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](https://reader030.fdocuments.us/reader030/viewer/2022040110/5d0cdb9188c993064c8b6316/html5/thumbnails/1.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022040110/5d0cdb9188c993064c8b6316/html5/thumbnails/2.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022040110/5d0cdb9188c993064c8b6316/html5/thumbnails/3.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022040110/5d0cdb9188c993064c8b6316/html5/thumbnails/4.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022040110/5d0cdb9188c993064c8b6316/html5/thumbnails/5.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022040110/5d0cdb9188c993064c8b6316/html5/thumbnails/6.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022040110/5d0cdb9188c993064c8b6316/html5/thumbnails/7.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022040110/5d0cdb9188c993064c8b6316/html5/thumbnails/8.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022040110/5d0cdb9188c993064c8b6316/html5/thumbnails/9.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022040110/5d0cdb9188c993064c8b6316/html5/thumbnails/10.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022040110/5d0cdb9188c993064c8b6316/html5/thumbnails/11.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022040110/5d0cdb9188c993064c8b6316/html5/thumbnails/12.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022040110/5d0cdb9188c993064c8b6316/html5/thumbnails/13.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022040110/5d0cdb9188c993064c8b6316/html5/thumbnails/14.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022040110/5d0cdb9188c993064c8b6316/html5/thumbnails/15.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022040110/5d0cdb9188c993064c8b6316/html5/thumbnails/16.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022040110/5d0cdb9188c993064c8b6316/html5/thumbnails/17.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022040110/5d0cdb9188c993064c8b6316/html5/thumbnails/18.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022040110/5d0cdb9188c993064c8b6316/html5/thumbnails/19.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022040110/5d0cdb9188c993064c8b6316/html5/thumbnails/20.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022040110/5d0cdb9188c993064c8b6316/html5/thumbnails/21.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022040110/5d0cdb9188c993064c8b6316/html5/thumbnails/22.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022040110/5d0cdb9188c993064c8b6316/html5/thumbnails/23.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022040110/5d0cdb9188c993064c8b6316/html5/thumbnails/24.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022040110/5d0cdb9188c993064c8b6316/html5/thumbnails/25.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022040110/5d0cdb9188c993064c8b6316/html5/thumbnails/26.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022040110/5d0cdb9188c993064c8b6316/html5/thumbnails/27.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022040110/5d0cdb9188c993064c8b6316/html5/thumbnails/28.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022040110/5d0cdb9188c993064c8b6316/html5/thumbnails/29.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022040110/5d0cdb9188c993064c8b6316/html5/thumbnails/30.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022040110/5d0cdb9188c993064c8b6316/html5/thumbnails/31.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022040110/5d0cdb9188c993064c8b6316/html5/thumbnails/32.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022040110/5d0cdb9188c993064c8b6316/html5/thumbnails/33.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022040110/5d0cdb9188c993064c8b6316/html5/thumbnails/34.jpg)
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