[ 
https://issues.apache.org/jira/browse/MATH-842?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13769852#comment-13769852
 ] 

Thomas Neidhart commented on MATH-842:
--------------------------------------

The reason why there is still cycling is identified: Bland's rule was not 
correctly implemented.
I will revert my changes so far, as I will not be able to complete them in the 
next 2 weeks.

The full fix should be as follows (similar to other lp solvers):

 * support selection of different pivot selection rules
 ** Dantzig (the standard selection rule, which is implemented now)
 ** Bland (first index selection)
 ** Steepest edge
 ** Devex

 * support adaptive mode: revert to Bland only when cycling is detected

There are many more things other solvers like lp_solve or glpk support, and we 
should consider creating an Options object that bundles all solver related 
settings so that a user can easily adapt the behavior for his/her purpose.
                
> Investigate why Bland's rule in Simplex Solver still creates cycles
> -------------------------------------------------------------------
>
>                 Key: MATH-842
>                 URL: https://issues.apache.org/jira/browse/MATH-842
>             Project: Commons Math
>          Issue Type: Improvement
>    Affects Versions: 3.1
>            Reporter: Thomas Neidhart
>            Assignee: Thomas Neidhart
>
> As a consequence of MATH-828, 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.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to