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