oj! Algorithms v51.3.0 Release Notes
Release Date: 2022-05-15 // almost 2 years ago-
โ Added
org.ojalgo.data
- ๐ New batch processising tool
BatchNode
to do processing of huge data sets on a single machine.
org.ojalgo.netio
- ๐ New interfaces
FromFileReader
andToFileWriter
paired with a wide range of implementations, builders, parsers, interpreters... There is also a new classShardedFile
that describes a set of shards and allow creations of readers and writers of the total set of files.
org.ojalgo.structure
Access1D
,Access2D
andAccessAnyD
each gained additional features toselect
(view) subsets of the elements and/or to iterate over elements/rows/columns/vectors/matruces...
org.ojalgo.type
- ๐ New utilities
CloseableList
andCloseableMap
to simplify handing (closing) multiple readers/writers. - ๐ Whole new package,
org.ojalgo.type.function
, with lots of utlities for consumers/suppliers (or readers/writers). A lot of the new stuff inorg.ojalgo.netio
build on this. - โ Additions to EntryPair. Primarily to allow creation of key-value "pairs" with dual keys.
๐ Changed
org.ojalgo.concurrent
- ๐ The
ParallelismSupplier
interface had themin
andmax
methods renamedlimit
andrequire
to better dscribe what they do. - ๐จ Refactoring and additions to
ProcessingService
.
org.ojalgo.netio
- ๐ Reimplemented the IDX file parser in terms of
DataInterpreter
andDataReader
. - ๐จ Refactored the
BasicParser
interface to make use of the newFromFileReader
andToFileWriter
. - ๐จ Refactored
BasicLogger
and everything associated with it. There are API-breaking changes, but with stuff mostly used internally.
org.ojalgo.optimisation
- ๐ The default value of the (MIP) gap property in
IntegerStrategy
changed fromNumberContext.of(6,8)
toNumberContext.of(7,8)
. This is to match what the recently deprecated mip_gap option used to be. The default MIP gap used to 1E-6, and that corresponfs to 7 digits precision (not 6).
org.ojalgo.random
- ๐จ Refactoring and additions to
FrequencyMap
.
org.ojalgo.structure
- ๐จ The various
row
,rows
,column
andcolumns
methods inStructure2D.Logical
have been signature-refactored to be more logical. If you used therow
orcolumn
alternatives to reference more than 1 row/column you need to change your code to instead userows
orcolumns
. - ๐ The previously existing
Access2D.RowView
,Access2D.ColumnView
,AccessAnyD.VectorView
andAccessAnyD.MatrixView
gained support to "goTo" directly to a specified row/column/vector/matrix
๐ Deprecated
org.ojalgo.netio
- ๐ A bunch of old useless stuff... will be removed eventually.
๐ Fixed
org.ojalgo.matrix
- Calling
indexOfLargest()
on aPrimitive64Store
,Primitive32Store
orGenericStore
would result in a StackOverflowError.
org.ojalgo.optimisation
- There was a problem with integer rounding of lower/upper bounds of integer expressions - since it was applied too late the presolver would sometimes fail to detect infeasible nodes as such, and instead generate an incorrect problem for the main solver. This was not a very common problem, but did happen sometimes, and the fix made the presolver generally more efficient.
- ๐ New batch processising tool