Package | Description |
---|---|
org.jamesframework.core.problems |
High-level problem specification.
|
org.jamesframework.core.problems.objectives |
Interfaces of objectives and produced evaluations.
|
org.jamesframework.core.problems.objectives.evaluations |
Evaluation interface 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.
|
Modifier and Type | Method and Description |
---|---|
default Evaluation |
Problem.evaluate(Move<? super SolutionType> move,
SolutionType curSolution,
Evaluation curEvaluation)
Evaluates a move that will be applied to the current solution of a local search (delta evaluation).
|
Evaluation |
GenericProblem.evaluate(Move<? super SolutionType> move,
SolutionType curSolution,
Evaluation curEvaluation)
Evaluate a move (delta evaluation) by taking into account both the evaluation of the modified solution and
the penalizing constraints (if any).
|
Evaluation |
Problem.evaluate(SolutionType solution)
Evaluates a given solution.
|
Evaluation |
GenericProblem.evaluate(SolutionType solution)
Evaluates a solution by taking into account both the evaluation calculated by the objective function and the
penalizing constraints (if any).
|
Modifier and Type | Method and Description |
---|---|
default Evaluation |
Problem.evaluate(Move<? super SolutionType> move,
SolutionType curSolution,
Evaluation curEvaluation)
Evaluates a move that will be applied to the current solution of a local search (delta evaluation).
|
Evaluation |
GenericProblem.evaluate(Move<? super SolutionType> move,
SolutionType curSolution,
Evaluation curEvaluation)
Evaluate a move (delta evaluation) by taking into account both the evaluation of the modified solution and
the penalizing constraints (if any).
|
Modifier and Type | Method and Description |
---|---|
default <ActualSolutionType extends SolutionType> |
Objective.evaluate(Move<? super ActualSolutionType> move,
ActualSolutionType curSolution,
Evaluation curEvaluation,
DataType data)
Evaluates a move that will be applied to the current solution of a local search (delta evaluation).
|
Evaluation |
Objective.evaluate(SolutionType solution,
DataType data)
Evaluates a given solution using the given data.
|
Modifier and Type | Method and Description |
---|---|
default <ActualSolutionType extends SolutionType> |
Objective.evaluate(Move<? super ActualSolutionType> move,
ActualSolutionType curSolution,
Evaluation curEvaluation,
DataType data)
Evaluates a move that will be applied to the current solution of a local search (delta evaluation).
|
Modifier and Type | Class and Description |
---|---|
class |
PenalizedEvaluation
A penalized evaluation consists of an original evaluation and a number of penalizing validations.
|
class |
SimpleEvaluation
A simple evaluation object that wraps a double value.
|
Modifier and Type | Method and Description |
---|---|
Evaluation |
PenalizedEvaluation.getEvaluation()
Get the original unpenalized evaluation.
|
Constructor and Description |
---|
PenalizedEvaluation(Evaluation evaluation,
boolean minimizing)
Create a new penalized evaluation, given the original evaluation.
|
Modifier and Type | Method and Description |
---|---|
protected Evaluation |
NeighbourhoodSearch.evaluate(Move<? super SolutionType> move)
Evaluates a move to be applied to the current solution.
|
Evaluation |
Search.getBestSolutionEvaluation()
Get the evaluation of the best solution found so far.
|
Evaluation |
LocalSearch.getCurrentSolutionEvaluation()
Get the evaluation of the current solution.
|
Modifier and Type | Method and Description |
---|---|
protected double |
Search.computeDelta(Evaluation currentEvaluation,
Evaluation previousEvaluation)
Computes the amount of improvement of
currentEvaluation over previousEvaluation ,
taking into account whether evaluations are being maximized or minimized. |
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 |
---|---|
Evaluation |
SingleEvaluatedMoveCache.getCachedMoveEvaluation(Move<?> move)
Retrieve a cached evaluation, if still available.
|
Evaluation |
EvaluatedMoveCache.getCachedMoveEvaluation(Move<?> move)
Retrieve the cached evaluation (see
Problem.evaluate(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.cacheMoveEvaluation(Move<?> move,
Evaluation evaluation)
Cache the given evaluation, discarding any previously cached evaluations.
|
void |
EvaluatedMoveCache.cacheMoveEvaluation(Move<?> move,
Evaluation evaluation)
Request to cache the evaluation (see
Problem.evaluate(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.
|
Copyright © 2016. All rights reserved.