Package | Description |
---|---|
org.jamesframework.core.problems |
High-level problem specification.
|
org.jamesframework.core.problems.constraints |
Constraint interfaces.
|
org.jamesframework.core.problems.constraints.validations |
Validation interfaces and predefined implementations.
|
org.jamesframework.core.search |
High-level search templates.
|
org.jamesframework.core.search.cache |
Caches used by searches for efficient move evaluation and validation.
|
org.jamesframework.core.search.listeners |
Search listeners.
|
org.jamesframework.core.subset |
Predefined subset problem.
|
org.jamesframework.core.subset.validations |
Subset validation objects.
|
Modifier and Type | Method and Description |
---|---|
default Validation |
Problem.validate(Move<? super SolutionType> move,
SolutionType curSolution,
Validation curValidation)
Validates a move that will be applied to the current solution of a local search (delta validation).
|
Validation |
GenericProblem.validate(Move<? super SolutionType> move,
SolutionType curSolution,
Validation curValidation)
Validate a move by checking all mandatory constraints (delta validation).
|
Validation |
Problem.validate(SolutionType solution)
Validates a solution.
|
Validation |
GenericProblem.validate(SolutionType solution)
Validate a solution by checking all mandatory constraints.
|
Modifier and Type | Method and Description |
---|---|
default Validation |
Problem.validate(Move<? super SolutionType> move,
SolutionType curSolution,
Validation curValidation)
Validates a move that will be applied to the current solution of a local search (delta validation).
|
Validation |
GenericProblem.validate(Move<? super SolutionType> move,
SolutionType curSolution,
Validation curValidation)
Validate a move by checking all mandatory constraints (delta validation).
|
Modifier and Type | Method and Description |
---|---|
default <ActualSolutionType extends SolutionType> |
Constraint.validate(Move<? super ActualSolutionType> move,
ActualSolutionType curSolution,
Validation curValidation,
DataType data)
Validates a move that will be applied to the current solution of a local search (delta validation).
|
Validation |
Constraint.validate(SolutionType solution,
DataType data)
Validates a solution given the underlying data.
|
Modifier and Type | Method and Description |
---|---|
default <ActualSolutionType extends SolutionType> |
PenalizingConstraint.validate(Move<? super ActualSolutionType> move,
ActualSolutionType curSolution,
Validation curValidation,
DataType data)
Validates a move that will be applied to the current solution of a local search (delta validation).
|
default <ActualSolutionType extends SolutionType> |
Constraint.validate(Move<? super ActualSolutionType> move,
ActualSolutionType curSolution,
Validation curValidation,
DataType data)
Validates a move that will be applied to the current solution of a local search (delta validation).
|
Modifier and Type | Interface and Description |
---|---|
interface |
PenalizingValidation
Interface of a validation produced by a penalizing constraint.
|
Modifier and Type | Class and Description |
---|---|
class |
SimplePenalizingValidation
A simple penalizing validation object that wraps a boolean value,
indicating whether the corresponding solution passed validation,
and a double value, indicating the assigned penalty if the solution
did not pass validation.
|
class |
SimpleValidation
A simple validation object that merely wraps a boolean value
indicating whether the corresponding solution passed validation.
|
class |
UnanimousValidation
A unanimous validation object is used to combine validations produced by a number of constraints.
|
Modifier and Type | Method and Description |
---|---|
Validation |
UnanimousValidation.getValidation(Object key)
Retrieve the validation object corresponding to the given key.
|
Modifier and Type | Method and Description |
---|---|
void |
UnanimousValidation.addValidation(Object key,
Validation validation)
Add a validation object.
|
Modifier and Type | Method and Description |
---|---|
Validation |
Search.getBestSolutionValidation()
Get the validation of the best solution found so far.
|
Validation |
LocalSearch.getCurrentSolutionValidation()
Get the validation of the current solution.
|
protected Validation |
NeighbourhoodSearch.validate(Move<? super SolutionType> move)
Validates a move to be applied to the current solution.
|
Modifier and Type | Method and Description |
---|---|
void |
LocalSearch.setCurrentSolution(SolutionType solution,
Evaluation evaluation,
Validation validation)
Sets the current solution given that it has already been evaluated and validated.
|
protected boolean |
Search.updateBestSolution(SolutionType newSolution,
Evaluation newSolutionEvaluation,
Validation newSolutionValidation)
Checks whether a new best solution has been found and updates it accordingly,
given that the solution has already been evaluated and validated.
|
protected boolean |
LocalSearch.updateCurrentAndBestSolution(SolutionType solution,
Evaluation evaluation,
Validation validation)
Update the current and best solution during search, given that the respective solution has already
been evaluated and validated.
|
protected void |
NeighbourhoodSearch.updateCurrentSolution(SolutionType solution,
Evaluation evaluation,
Validation validation)
When updating the current solution in a neighbourhood search, the evaluated move cache is
cleared because it is no longer valid for the new current solution.
|
protected void |
LocalSearch.updateCurrentSolution(SolutionType solution,
Evaluation evaluation,
Validation validation)
Update the current solution during search, given that it has already been evaluated and validated.
|
Modifier and Type | Method and Description |
---|---|
Validation |
SingleEvaluatedMoveCache.getCachedMoveValidation(Move<?> move)
Retrieve a cached validation, if still available.
|
Validation |
EvaluatedMoveCache.getCachedMoveValidation(Move<?> move)
Retrieve the cached validation (see
Problem.validate(Solution) ) of the neighbouring
solution which is obtained by applying the given move to the current solution, if available. |
Modifier and Type | Method and Description |
---|---|
void |
SingleEvaluatedMoveCache.cacheMoveValidation(Move<?> move,
Validation validation)
Cache validation of the given move, discarding any previously cached value.
|
void |
EvaluatedMoveCache.cacheMoveValidation(Move<?> move,
Validation validation)
Request to cache the validation (see
Problem.validate(Solution) ) of the neighbouring
solution which is obtained by applying the given move to the current solution. |
Modifier and Type | Method and Description |
---|---|
default void |
SearchListener.newBestSolution(Search<? extends SolutionType> search,
SolutionType newBestSolution,
Evaluation newBestSolutionEvaluation,
Validation newBestSolutionValidation)
Fired when the search has found a new best solution.
|
default void |
SearchListener.newCurrentSolution(LocalSearch<? extends SolutionType> search,
SolutionType newCurrentSolution,
Evaluation newCurrentSolutionEvaluation,
Validation newCurrentSolutionValidation)
Fired by local searches only, when a new current solution has been adopted.
|
Modifier and Type | Method and Description |
---|---|
SubsetValidation |
SubsetProblem.validate(Move<? super SubsetSolution> move,
SubsetSolution curSolution,
Validation curValidation)
Validate a move to be applied to the current subset solution of a local search (delta validation).
|
Modifier and Type | Class and Description |
---|---|
class |
SubsetValidation
Represents a validation of a subset solution.
|
Modifier and Type | Method and Description |
---|---|
Validation |
SubsetValidation.getConstraintValidation()
Get the validation object produced when checking the general mandatory constraints (may be
null ). |
Constructor and Description |
---|
SubsetValidation(boolean validSize,
Validation constraintValidation)
Create a subset validation.
|
Copyright © 2016. All rights reserved.