oj! Algorithms v49.1.0 Release Notes
Release Date: 2021-09-19 // over 2 years ago-
๐ Changed
org.ojalgo.matrix
- Slight change in how shifting is done when calculating the EvD for non-symmetric. Not strictly a bug fix but this solved GitHub issue 366 (there is a chance this may introduce problems for other cases).
org.ojalgo.optimisation
- ๐จ The hierarchy of solver builders have been refactored. The most important change is that there are now 2 different
LinearSolver
builders โStandardBuilder
andGeneralBuilder
. - ๐ Some very very small inequality parameters used to be removed (rounded to 0.0) when instantiating
ConvexSolver
. This is no longer done. - The
ActiveSetSolver
(ConvexSolver
) no longer makes use of Lagrange multipliers obtained when finding an initial feasible solution (they're mostly 0.0 anyway). - ๐จ Refactoring to reduce copying (memory garbage) when initialising solvers
- ๐ Changed the default behaviour when
Optimisation.Options.sparse
is not set. If you don't set this the dense LinearSolver and the iterative ConvexSolver will be used.
๐ Deprecated
org.ojalgo.optimisation
- ๐จ The solver builders have been refactored. All previous public constructors and factory methods are now deprecated. What you should do now is call
ConvexSolver.newBuilder
,LinearSolver.newStandardBuilder
orLinearSolver.newGeneralBuilder
. The only thing you absolutely have to change now is if you explicitly/directly called theLinearSolver.Builder
constructor. That needs to be replaced byLinearSolver.StandardBuilder
. Don't forget! The recommendation is to useExpressionsBasedModel
and let it instantiate the solvers for you. In that case you do not need to worry about any of these changes.