Package | Description |
---|---|
org.jamesframework.core.factory |
Miscellaneous factory interfaces.
|
org.jamesframework.core.search |
High-level search templates.
|
org.jamesframework.core.search.algo |
Algorithm implementations.
|
org.jamesframework.core.search.algo.exh |
Exhaustive search and components.
|
org.jamesframework.core.search.algo.tabu |
Tabu search and components (including tabu memory specification).
|
org.jamesframework.core.search.algo.vns |
Variable neighbourhood searches and components.
|
org.jamesframework.core.search.listeners |
Search listeners.
|
org.jamesframework.core.search.stopcriteria |
Stop criteria.
|
org.jamesframework.core.subset.algo |
Specific subset sampling algorithms.
|
Modifier and Type | Method and Description |
---|---|
Search<SolutionType> |
SearchFactory.create(Problem<SolutionType> problem)
Create a search, given the problem to solve.
|
Modifier and Type | Class and Description |
---|---|
class |
LocalSearch<SolutionType extends Solution>
Local searches are searches that start from an initial solution and modify this solution in an attempt to improve it.
|
class |
MultiNeighbourhoodSearch<SolutionType extends Solution>
Abstract neighbourhood search that uses multiple neighbourhoods to modify the current solution.
|
class |
NeighbourhoodSearch<SolutionType extends Solution>
A neighbourhood search is a specific kind of local search in which the current solution is repeatedly modified by
applying moves, generated by one or more neighbourhoods, that transform this solution into a similar, neighbouring
solution.
|
class |
SingleNeighbourhoodSearch<SolutionType extends Solution>
Abstract neighbourhood search that uses a single neighbourhood to modify the current solution.
|
Modifier and Type | Class and Description |
---|---|
class |
BasicParallelSearch<SolutionType extends Solution>
A basic parallel search runs several (heterogeneous) searches in parallel and keeps track of the best solution found
by any of these searches.
|
class |
MetropolisSearch<SolutionType extends Solution>
Metropolis search (fixed temperature).
|
class |
ParallelTempering<SolutionType extends Solution>
The parallel tempering algorithm uses several Metropolis search replicas with different
temperatures in a given range, where good solutions are pushed towards cool replicas for
the sake of convergence, while bad solutions are pushed towards hot replicas in an attempt
to find further improvements.
|
class |
PipedLocalSearch<SolutionType extends Solution>
A piped local search consists of a composition of other local search \(S_1, ..., S_n\).
|
class |
RandomDescent<SolutionType extends Solution>
Basic random descent algorithm.
|
class |
RandomSearch<SolutionType extends Solution>
The random search algorithm iteratively samples a random solution and checks
whether a new best solution has been found, in every search step.
|
class |
SteepestDescent<SolutionType extends Solution>
Steepest descent algorithm, also referred to as hill climbing.
|
Modifier and Type | Method and Description |
---|---|
List<Search<SolutionType>> |
BasicParallelSearch.getSearches()
Get an unmodifiable view of the list of all searches that
have been added to this parallel search for concurrent execution.
|
Modifier and Type | Method and Description |
---|---|
void |
BasicParallelSearch.addSearch(Search<SolutionType> search)
Add the given search, to be executed in parallel with the other searches.
|
boolean |
BasicParallelSearch.removeSearch(Search<SolutionType> search)
Remove the given search.
|
Modifier and Type | Class and Description |
---|---|
class |
ExhaustiveSearch<SolutionType extends Solution>
The exhaustive search algorithm evaluates every solution generated by the given solution iterator and selects the best one.
|
Modifier and Type | Class and Description |
---|---|
class |
TabuSearch<SolutionType extends Solution>
Tabu search algorithm.
|
Modifier and Type | Class and Description |
---|---|
class |
ReducedVariableNeighbourhoodSearch<SolutionType extends Solution>
Reduced variable neighbourhood search (RVNS) algorithm.
|
class |
VariableNeighbourhoodDescent<SolutionType extends Solution>
Variable neighbourhood descent algorithm.
|
class |
VariableNeighbourhoodSearch<SolutionType extends Solution>
Variable neighbourhood search (VNS) algorithm.
|
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.searchStarted(Search<? extends SolutionType> search)
Fired when the search has started.
|
default void |
SearchListener.searchStopped(Search<? extends SolutionType> search)
Fired when the search has stopped.
|
default void |
SearchListener.statusChanged(Search<? extends SolutionType> search,
SearchStatus newStatus)
Fired when the search enters a new status.
|
default void |
SearchListener.stepCompleted(Search<? extends SolutionType> search,
long numSteps)
Fired when the search has completed a step.
|
Modifier and Type | Method and Description |
---|---|
boolean |
StopCriterion.searchShouldStop(Search<?> search)
Checks the stop condition for a given search.
|
boolean |
MinDelta.searchShouldStop(Search<?> search)
Checks whether the minimum delta observed during the current run of the given
search is still above the required minimum.
|
boolean |
MaxTimeWithoutImprovement.searchShouldStop(Search<?> search)
Checks whether the maximum time without finding improvements has been reached for the given search.
|
boolean |
MaxStepsWithoutImprovement.searchShouldStop(Search<?> search)
Checks whether the maximum number of steps without finding improvement has been reached for the given search.
|
boolean |
MaxSteps.searchShouldStop(Search<?> search)
Checks whether the maximum number of steps has been reached for the given search.
|
boolean |
MaxRuntime.searchShouldStop(Search<?> search)
Checks whether the maximum runtime has been reached for the given search.
|
Constructor and Description |
---|
StopCriterionChecker(Search<?> search)
Create a stop criterion checker dedicated to checking the stop criteria of the given search.
|
Modifier and Type | Class and Description |
---|---|
class |
LRSubsetSearch
LR subset search is a greedy local search heuristic for subset selection.
|
Copyright © 2016. All rights reserved.