Uploaded image for project: 'Commons Math'
  1. Commons Math
  2. MATH-1079

Performance improvements for the SimplexSolver

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 3.3
    • None
    • None

    Description

      Tests with various larger models in mps format from netlib.org have shown that there is a lot of room for improvements for the SimplexSolver.

      Currently, the tableau is stored in a RealMatrix, and each access to an entry uses the getEntry / setEntry methods which always does bounds checking. This is inefficient and unnecessary as we know that we access the matrix within bounds.

      Suggest to access the internal array directly for various operations. The walkInXXX method of RealMatrix can not always be used for this purpose.

      Also the getBasicRow() method can be a bottle-neck as it always needs to analyze the whole tableau to determine the row in which a variable is basic. It would be better to keep track of which variables are basic in which row.

      Attachments

        Activity

          People

            Unassigned Unassigned
            tn Thomas Neidhart
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: