Releases: hdbeukel/james-core
Releases · hdbeukel/james-core
JAMES Core v1.2
- Added public method
init()toSearchto perform initialization. This method is called from withinsearchStarted()but may also be called prior to execution. - Updated
LocalSearch,LRsubsetSearch,NeighbourhoodSearchandBasicParallelSearchto use the newinit()method for initialization and validation. - When initializing a
ParallelTemperingorBasicParallelSearchalgorithm all subsearches are now initialized as well. - Added public method
setCurrentSolution(solution, evaluation, validation)toLocalSearchto set a new current solution with known evaluation and validation. - Avoid full re-evaluation and re-validation when swapping solutions between replicas in
ParallelTempering. [#18] - Benefit from delta evaluation and validation when shaking in
VariableNeighbourhoodSearch. [#17] - Added methods to clear all stop criteria and search listeners.
- Indicative error message when
copy()yieldsnullinSolution.checkedCopy(solution). [#32]
JAMES Core v1.1
- Replaced abstract class
AbstractProblemwith concrete classGenericProblem.
The former class had a single abstract method, responsible for generating random
solutions. This has been replaced with delegation through a newly defined
RandomSolutionGeneratorinterface. It is now possible (and preferred) to
model custom problems by plugging in the data, objective, constraints (if any)
and random solution generator in aGenericProblem, avoiding the need to extend
and abstract problem class. The predefinedSubsetProblemincludes a default,
but now easily customizable, random subset solution generator. - Added a constructor to
SubsetProblemthat allows to easily create a subset
problem without subset size limits. - Reordered arguments in
SubsetProblemconstructors. - Various improvements.
JAMES Core v1.0
- Dedicated customizable random generator per search.
- Reduced overhead of checking stop criteria.
- Various improvements and minor bug fixes.
- Improved test coverage.
- Cleaned up log messages.
- Moved SearchFactory interface from extensions to core module. Grouped various factory interfaces in package org.jamesframework.core.factory.
- Moved to SLF4J API 1.7.12.
JAMES Core v0.2
- Added support for efficient delta evaluations and validations.
- Provided additional subset neighbourhoods.
- Added option to sort IDs of selected items in a subset solution using a custom comparator.
- Renamed SubsetData to IntegerIdentifiedData.
- Renamed ProblemWithData to AbstractProblem.
- Refactored abstract Solution class.
- Reorganized package structure.
- Removed SubsetProblem interface and renamed SubsetProblemWithData to SubsetProblem.
- Removed MinMaxObjective.
- Removed EmptySearchListener, LocalSearchListener and EmptyLocalSearchListener. Default empty implementations of all callbacks are now directly provided in the SearchListener interface.
- Various code simplifications and optimizations (e.g. using functional operations).
- Minor bugfixes and improvements.
- Moved to SLF4J API 1.7.7.
- Moved to Java 8.
JAMES Core v0.1
First stable release.