Notes for SoPlex Release 3.0.0
What's new
----------
- new scaling implementation: Least squares, (Curtis-Reid scaling); use with "-g5"
- solution polishing: perform additional primal pivots at optimal basis
turn on with parameter "int:solution_polishing"
0 - off
1 - try to increase number of basic slack vars
2 - try to decrease number of basic slack vars
- persistent scaling:
- keep scaled LP for multiple reoptimizations
- modifications to LP are correctly transformed
- decomposition based dual simplex:
- an experimental version of the a decomposition based approach to avoid degeneracy in the dual simplex method
- activated by setting the parameter bool:decompositiondualsimplex to true.
- this sets the basis representation to 'row', the solve mode to 'real', and the algorithm to 'dual'.
- additional parameters include:
usecompdual: setting to true using the dual formulation of the complementary problem, default is false.
explicitviol: setting to true explicitly computes the violation of the reduced problem solution instead of using the
complementary problem to identify violated rows, default is false.
decomp_iterlimit: the number of algorithm iterations for the decomposition based simplex.
decomp_maxaddedrows: the maximum number of rows added to the reduced problem in each algorithm iteration.
decomp_displayfreq: the frequency of output for the decomposition based simplex.
decomp_verbosity: the verbosity level of the decomposition based simplex.
- computing the degeneracy of a basis in each iteration:
- the parameter computedegen, when set to true will compute the degeneracy of each basis.
- write dual formulation to file: additional command line option "--writedual" is provided to write the dual formulation
to a file. When providing this option only the file is output, the problem is not solved.
- automatically use the row representation for problems with more than 20% more constraints than variables
- thread-safety by using the storage class specifier thread-local for static variables
For details see the CHANGELOG file and the Doxygen documentation.