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.tabu |
Tabu search and components (including tabu memory specification).
|
org.jamesframework.core.search.algo.vns |
Variable neighbourhood searches and components.
|
org.jamesframework.core.subset.neigh |
Subset selection neighbourhoods.
|
org.jamesframework.core.subset.neigh.adv |
Advanced subset selection neighbourhoods.
|
Modifier and Type | Method and Description |
---|---|
MetropolisSearch<SolutionType> |
MetropolisSearchFactory.create(Problem<SolutionType> problem,
Neighbourhood<? super SolutionType> neighbourhood,
double temperature)
Create a Metropolis search, given the problem to solve,
the applied neighbourhood and the desired temperature.
|
Modifier and Type | Method and Description |
---|---|
Neighbourhood<? super SolutionType> |
SingleNeighbourhoodSearch.getNeighbourhood()
Get the neighbourhood used to modify the current solution.
|
Modifier and Type | Method and Description |
---|---|
List<? extends Neighbourhood<? super SolutionType>> |
MultiNeighbourhoodSearch.getNeighbourhoods()
Get list of applied neighbourhoods (unmodifiable).
|
Modifier and Type | Method and Description |
---|---|
void |
SingleNeighbourhoodSearch.setNeighbourhood(Neighbourhood<? super SolutionType> neighbourhood)
Sets the neighbourhood used to modify the current solution.
|
Modifier and Type | Method and Description |
---|---|
void |
MultiNeighbourhoodSearch.setNeighbourhoods(List<? extends Neighbourhood<? super SolutionType>> neighs)
Sets the list of neighbourhoods used to modify the current solution.
|
Constructor and Description |
---|
SingleNeighbourhoodSearch(Problem<SolutionType> problem,
Neighbourhood<? super SolutionType> neighbourhood)
Create a new single neighbourhood search, specifying the problem to be solved and the neighbourhood used to
modify the current solution.
|
SingleNeighbourhoodSearch(String name,
Problem<SolutionType> problem,
Neighbourhood<? super SolutionType> neighbourhood)
Create a new single neighbourhood search, specifying the problem to be solved, the neighbourhood used to
modify the current solution, and a custom search name.
|
Constructor and Description |
---|
MultiNeighbourhoodSearch(Problem<SolutionType> problem,
List<? extends Neighbourhood<? super SolutionType>> neighs)
Create a new multi neighbourhood search, specifying the problem to be solved and the neighbourhoods used to
modify the current solution.
|
MultiNeighbourhoodSearch(String name,
Problem<SolutionType> problem,
List<? extends Neighbourhood<? super SolutionType>> neighs)
Create a new multi neighbourhood search, specifying the problem to be solved, the neighbourhoods used to
modify the current solution, and a custom search name.
|
Modifier and Type | Method and Description |
---|---|
void |
ParallelTempering.setNeighbourhood(Neighbourhood<? super SolutionType> neighbourhood)
Set the same neighbourhood for each replica.
|
Constructor and Description |
---|
MetropolisSearch(Problem<SolutionType> problem,
Neighbourhood<? super SolutionType> neighbourhood,
double temperature)
Creates a new Metropolis search, specifying the problem to solve, the applied neighbourhood and the temperature.
|
MetropolisSearch(String name,
Problem<SolutionType> problem,
Neighbourhood<? super SolutionType> neighbourhood,
double temperature)
Creates a new Metropolis search, specifying the problem to solve, the applied neighbourhood and temperature,
and a custom search name.
|
ParallelTempering(Problem<SolutionType> problem,
Neighbourhood<? super SolutionType> neighbourhood,
int numReplicas,
double minTemperature,
double maxTemperature)
Creates a new parallel tempering algorithm, specifying the problem to solve,
the neighbourhood used in each replica, the number of replicas, and the minimum
and maximum temperature.
|
ParallelTempering(Problem<SolutionType> problem,
Neighbourhood<? super SolutionType> neighbourhood,
int numReplicas,
double minTemperature,
double maxTemperature,
MetropolisSearchFactory<SolutionType> metropolisFactory)
Creates a new parallel tempering algorithm, specifying the problem to solve,
the neighbourhood used in each replica, the number of replicas, the minimum
and maximum temperature, and a custom Metropolis search factory.
|
ParallelTempering(String name,
Problem<SolutionType> problem,
Neighbourhood<? super SolutionType> neighbourhood,
int numReplicas,
double minTemperature,
double maxTemperature,
MetropolisSearchFactory<SolutionType> metropolisFactory)
Creates a new parallel tempering algorithm, specifying the problem to solve,
the neighbourhood used in each replica, the number of replicas, the minimum
and maximum temperature, a custom search name, and a custom Metropolis search
factory.
|
RandomDescent(Problem<SolutionType> problem,
Neighbourhood<? super SolutionType> neighbourhood)
Creates a new random descent search, specifying the problem to solve and the neighbourhood used to
modify the current solution.
|
RandomDescent(String name,
Problem<SolutionType> problem,
Neighbourhood<? super SolutionType> neighbourhood)
Creates a new random descent search, specifying the problem to solve, the neighbourhood used to
modify the current solution, and a custom search name.
|
SteepestDescent(Problem<SolutionType> problem,
Neighbourhood<? super SolutionType> neighbourhood)
Creates a new steepest descent search, specifying the problem to solve and the neighbourhood used to
modify the current solution.
|
SteepestDescent(String name,
Problem<SolutionType> problem,
Neighbourhood<? super SolutionType> neighbourhood)
Creates a new steepest descent search, specifying the problem to solve, the neighbourhood used to
modify the current solution, and a custom search name.
|
Constructor and Description |
---|
TabuSearch(Problem<SolutionType> problem,
Neighbourhood<? super SolutionType> neighbourhood,
TabuMemory<SolutionType> tabuMemory)
Creates a new tabu search, specifying the problem to solve, the neighbourhood used to modify the current
solution and the applied tabu memory.
|
TabuSearch(String name,
Problem<SolutionType> problem,
Neighbourhood<? super SolutionType> neighbourhood,
TabuMemory<SolutionType> tabuMemory)
Creates a new tabu search, specifying the problem to solve, the neighbourhood used to modify the current
solution, the applied tabu memory and a custom search name.
|
Constructor and Description |
---|
ReducedVariableNeighbourhoodSearch(Problem<SolutionType> problem,
List<? extends Neighbourhood<? super SolutionType>> neighs)
Creates a new reduced variable neighbourhood search, specifying the problem to solve and the neighbourhoods
used to modify the current solution.
|
ReducedVariableNeighbourhoodSearch(String name,
Problem<SolutionType> problem,
List<? extends Neighbourhood<? super SolutionType>> neighs)
Creates a new reduced variable neighbourhood search, specifying the problem to solve, the neighbourhoods used
to modify the current solution, and a custom search name.
|
ReducedVariableNeighbourhoodSearch(String name,
Problem<SolutionType> problem,
List<? extends Neighbourhood<? super SolutionType>> neighs,
boolean cycleNeighbourhoods)
Creates a new reduced variable neighbourhood search, specifying the problem to solve, the neighbourhoods used
to modify the current solution, and a custom search name; also, it is indicated whether neighbourhoods should
be applied cyclically or not (by default, they are).
|
VariableNeighbourhoodDescent(Problem<SolutionType> problem,
List<? extends Neighbourhood<? super SolutionType>> neighs)
Creates a new variable neighbourhood descent search, specifying the problem to solve and the neighbourhoods
used to modify the current solution.
|
VariableNeighbourhoodDescent(String name,
Problem<SolutionType> problem,
List<? extends Neighbourhood<? super SolutionType>> neighs)
Creates a new variable neighbourhood descent search, specifying the problem to solve, the neighbourhoods used
to modify the current solution, and a custom search name.
|
VariableNeighbourhoodSearch(Problem<SolutionType> problem,
List<? extends Neighbourhood<? super SolutionType>> shakingNeighs,
List<? extends Neighbourhood<? super SolutionType>> vndNeighs)
Creates a new variable neighbourhood search, specifying the problem to solve, the neighbourhoods used for shaking
and the neighbourhoods used by the default variable neighbourhood descent algorithm applied after shaking.
|
VariableNeighbourhoodSearch(Problem<SolutionType> problem,
List<? extends Neighbourhood<? super SolutionType>> shakingNeighs,
List<? extends Neighbourhood<? super SolutionType>> vndNeighs)
Creates a new variable neighbourhood search, specifying the problem to solve, the neighbourhoods used for shaking
and the neighbourhoods used by the default variable neighbourhood descent algorithm applied after shaking.
|
VariableNeighbourhoodSearch(Problem<SolutionType> problem,
List<? extends Neighbourhood<? super SolutionType>> shakingNeighs,
LocalSearchFactory<SolutionType> localSearchFactory)
Creates a new variable neighbourhood search, specifying the problem to solve, the neighbourhoods used for
shaking, and a factory to create instances of a custom local search algorithm \(L\) to be applied after
shaking.
|
VariableNeighbourhoodSearch(String name,
Problem<SolutionType> problem,
List<? extends Neighbourhood<? super SolutionType>> shakingNeighs,
LocalSearchFactory<SolutionType> localSearchFactory)
Creates a new variable neighbourhood search, specifying the problem to solve, the neighbourhoods used for
shaking in VNS, a factory to create instances of a custom local search algorithm \(L\) to be applied to
modify solutions obtained after shaking, and a custom search name.
|
Modifier and Type | Class and Description |
---|---|
class |
SingleAdditionNeighbourhood
A subset neighbourhood that generates addition moves only (see
AdditionMove ). |
class |
SingleDeletionNeighbourhood
A subset neighbourhood that generates deletion moves only (see
DeletionMove ). |
class |
SinglePerturbationNeighbourhood
A subset neighbourhood that generates swap moves (see
SwapMove ), addition moves (see AdditionMove )
and deletion moves (see DeletionMove ). |
class |
SingleSwapNeighbourhood
A subset neighbourhood that generates swap moves only (see
SwapMove ). |
class |
SubsetNeighbourhood
Abstract subset neighbourhood.
|
Modifier and Type | Class and Description |
---|---|
class |
DisjointMultiAdditionNeighbourhood
A subset neighbourhood that generates moves which simultaneously add a fixed number of items to the selection.
|
class |
DisjointMultiDeletionNeighbourhood
A subset neighbourhood that generates moves which simultaneously remove a fixed number of items from the selection.
|
class |
DisjointMultiSwapNeighbourhood
A subset neighbourhood that generates moves performing a fixed number of simultaneous swaps of selected and
unselected IDs.
|
class |
MultiAdditionNeighbourhood
A subset neighbourhood that generates moves which simultaneously add up to \(k\) items to the selection,
where \(k\) is specified at construction (or unlimited).
|
class |
MultiDeletionNeighbourhood
A subset neighbourhood that generates moves which simultaneously remove up to \(k\) items from the selection,
where \(k\) is specified at construction (or unlimited).
|
class |
MultiSwapNeighbourhood
A subset neighbourhood that generates moves performing up to \(k\) simultaneous swaps of selected and
unselected IDs, where \(k\) is specified when creating the neighbourhood (or unlimited).
|
Copyright © 2016. All rights reserved.