Package | Description |
---|---|
org.jamesframework.core.factory |
Miscellaneous factory interfaces.
|
org.jamesframework.core.problems |
High-level problem specification.
|
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.subset |
Predefined subset problem.
|
Modifier and Type | Method and Description |
---|---|
Search<SolutionType> |
SearchFactory.create(Problem<SolutionType> problem)
Create a search, given the problem to solve.
|
LocalSearch<SolutionType> |
LocalSearchFactory.create(Problem<SolutionType> problem)
Create a local search, given the problem to solve.
|
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 | Class and Description |
---|---|
class |
GenericProblem<SolutionType extends Solution,DataType>
A generic problem is fully based on delegation of its responsabilities, by separating data from the objective,
constraints (if any) and random solution generation.
|
Modifier and Type | Method and Description |
---|---|
Problem<SolutionType> |
Search.getProblem()
Get the problem being solved, as specified at construction.
|
Constructor and Description |
---|
LocalSearch(Problem<SolutionType> problem)
Create a new local search to solve the given problem, with default name "LocalSearch".
|
LocalSearch(String name,
Problem<SolutionType> problem)
Create a new local search to solve the given problem, with a custom name.
|
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.
|
NeighbourhoodSearch(Problem<SolutionType> problem)
Create a new neighbourhood search to solve the given problem, with default name "NeighbourhoodSearch".
|
NeighbourhoodSearch(String name,
Problem<SolutionType> problem)
Create a new neighbourhood search to solve the given problem, with a custom name.
|
Search(Problem<SolutionType> problem)
Creates a search to solve the given problem, with default search name "Search".
|
Search(String name,
Problem<SolutionType> problem)
Creates a search to solve the given problem, with a custom search name.
|
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 |
---|
BasicParallelSearch(Problem<SolutionType> problem)
Creates a new basic parallel search, specifying the problem to solve.
|
BasicParallelSearch(String name,
Problem<SolutionType> problem)
Creates a new basic parallel search, specifying the problem to solve and a custom search name.
|
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.
|
PipedLocalSearch(Problem<SolutionType> problem,
List<LocalSearch<SolutionType>> pipeline)
Creates a new piped local search, specifying the problem to solve and a list of local searches to
be executed in the pipeline, in the given order.
|
PipedLocalSearch(String name,
Problem<SolutionType> problem,
List<LocalSearch<SolutionType>> pipeline)
Creates a new piped local search, specifying the problem to solve, a list of local searches to
be executed in the pipeline in the given order, and a custom search name.
|
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.
|
RandomSearch(Problem<SolutionType> problem)
Create a random search, given the problem to solve.
|
RandomSearch(String name,
Problem<SolutionType> problem)
Create a random search, given the problem to solve 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 |
---|
ExhaustiveSearch(Problem<SolutionType> problem,
SolutionIterator<? extends SolutionType> solutionIterator)
Create an exhaustive search algorithm to solve the given problem, using the given solution iterator to generate
possible solutions, with default search name "ExhaustiveSearch".
|
ExhaustiveSearch(String name,
Problem<SolutionType> problem,
SolutionIterator<? extends SolutionType> solutionIterator)
Create an exhaustive search algorithm to solve the given problem, using the given solution iterator to generate
possible solutions, with 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,
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 |
SubsetProblem<DataType extends IntegerIdentifiedData>
High-level subset problem consisting of data, an objective and possibly some constraints (see
GenericProblem ). |
Copyright © 2016. All rights reserved.