Details

Type: Improvement

Status: Closed

Priority: Major

Resolution: Fixed

Affects Version/s: 3.1

Fix Version/s: 3.3

Labels:None
Description
As a consequence of MATH828, Bland's rule has been introduced to prevent cycling. Now there are cases where cycles can still occur (see testMath828Cycle in SimplexSolverTest). These cases have for now been solved with a simple heuristic:
 after maxIterations / 2 > ignore Bland's rule
This issue has been created to further investigate the problem and come up with a cleaner solution.
Issue Links
 is related to

MATH828 Not expected UnboundedSolutionException
 Closed
Activity
 All
 Comments
 Work Log
 History
 Activity
 Transitions
In r1523495 applied the following changes to the old, deprecated SimplexSolver in the optimization.linear package:
With these changes, the solver works very stable, also on the problem attached to
MATH828which resulted in the addition of Bland's rule.The change has also to be applied to the new SimplexSolver in the optim.linear package. When copying the code there has been an additional mistake: Bland's rule was never applied as the criteria was based on getEvaluations(), which is never incremented by the simplex solver and not supported.