Hi. Le sam. 26 janv. 2019 à 04:24, Bill Igoe <billi...@gmail.com> a écrit : > > 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.
If it extends the field of potential applications, it certainly looks like a worthwile enhancement. But I'd first try to avoid adding new classes if just for the sake of changing a type used internally by the algorithm (dense vs sparse matrix). Wouldn't it be possible to add a constructor with a flag argument that would trigger usage of one or the other type? Regards, Gilles > > Cheers to you all and keep up the good work. > > Bill Igoe --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org For additional commands, e-mail: dev-h...@commons.apache.org