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

Performance improvements for the SimplexSolver

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 3.3
    • Labels:
      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

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

              Dates

              • Created:
                Updated:
                Resolved: