It sounds like this is a worthwhile upgrade to the performance of the Simplex solvers. I agree with Gilles that from a design perspective, the class is accomplishing the same task only with an internal modification difference, so if possible it should be set with an argument rather than a whole new class.
Eric On Fri, Jan 25, 2019 at 7:24 PM Bill Igoe <billi...@gmail.com> wrote: > Hi Gang, > > I recently alter the code for both SimplexSolver and SimplexTableau to use > the OpenMapRealMatrix object rather than the Array2DRowRealMatrix. Most > large Linear Programming programming problems in fact have a very sparse > Simplex Tableau --- lots of zeros -- perhaps 90 percent of the matrix is > zeros!. When using Array2DRealMatrix, one invariable runs into a heap > space problem quite quickly. Instead, by using the OpenMapRealMatrix the > code not physically allocate space for a complete K by N matrix as does the > Array2DRealMatrix. The modifications to existing code were quite modest. > I think this approach is quite valuable for practitioners of large scale > linear programming problems. There is a reduction in speed as the > System.arraycopy procedure is no longer employed. The cost however > provides users with a vastly larger sandbox of memory for problem solving. > > > My code is thus: > LargeSimplexSolver.java > LargeSImplexTableau.java > LargeSolutionCallback.java > and > SimplexMapMatrix a minor extension of OpenMaprealMatrix. > > I am willing to share the modifications if the math common group thinks > such an effort is worthwhile. > > Cheers to you all and keep up the good work. > > Bill Igoe >