74 lines (61 sloc)
JAMES Core Module Changes
Version 1.3 (under development)
Version 1.2 (12/08/2016)
Version 1.1 (11/07/2015)
- Added public method
Search to perform initialization. This method is called from within
searchStarted() but may also be called prior to execution.
BasicParallelSearch to use the new
init() method for initialization and validation.
- When initializing a
BasicParallelSearch algorithm all subsearches are now initialized as well.
- Added public method
setCurrentSolution(solution, evaluation, validation) to
LocalSearch to set a new current solution with known evaluation and validation.
- Avoid full re-evaluation and re-validation when swapping solutions between replicas in
- Benefit from delta evaluation and validation when shaking in
- Added methods to clear all stop criteria and search listeners.
- Indicative error message when
Version 1.0 (17/06/2015)
- Replaced abstract class
AbstractProblem with concrete class
The former class had a single abstract method, responsible for generating random
solutions. This has been replaced with delegation through a newly defined
RandomSolutionGenerator interface. It is now possible (and preferred) to
model custom problems by plugging in the data, objective, constraints (if any)
and random solution generator in a
GenericProblem, avoiding the need to extend
and abstract problem class. The predefined
SubsetProblem includes a default,
but now easily customizable, random subset solution generator.
- Added a constructor to
SubsetProblem that allows to easily create a subset
problem without subset size limits.
- Reordered arguments in
- Various improvements.
Version 0.2 (12/11/2014)
- 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.
Version 0.1 (25/06/2014)
- 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
- 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
- Various code simplifications and optimizations (e.g. using functional operations).
- Minor bug fixes and improvements.
- Moved to SLF4J API 1.7.7.
- Moved to Java 8.
- First stable release of the JAMES Core Module.