Uses of Interface
org.cicirello.search.Metaheuristic
Package
Description
This package includes classes and interfaces related to implementing metaheuristic search
algorithms in general, rather than specific to a particular metaheuristic.
This package includes multithreaded search implementations, as well as classes and interfaces
related to implementing multithreaded metaheuristics.
This package includes classes and interfaces directly related to implementing evolutionary
algorithms.
This package includes classes and interfaces directly related to implementing hill climbers.
This package includes classes and interfaces related to implementing multistart metaheuristics
(i.e., metaheuristics that periodically restart, and return the best solution across a number of
such restarts).
This package includes classes and interfaces directly related to implementing simulated
annealing.
This package includes classes and interfaces directly related to implementing stochastic sampling
algorithms.
-
Uses of Metaheuristic in org.cicirello.search
Modifier and TypeInterfaceDescriptioninterface
ReoptimizableMetaheuristic<T extends Copyable<T>>
This interface defines the required methods for implementations of metaheuristics, for which the maximum run length can be specified, and which have the capability of restarting from a previously optimized solution.interface
SingleSolutionMetaheuristic<T extends Copyable<T>>
This interface defines the required methods for implementations of single-solution metaheuristics, i.e., metaheuristics such as simulated annealing that operate one a single candidate solution (as compared to population-based metaheuristics such as genetic algorithms. -
Uses of Metaheuristic in org.cicirello.search.concurrent
Modifier and TypeClassDescriptionclass
ParallelMetaheuristic<T extends Copyable<T>>
This class enables running multiple copies of a metaheuristic, or multiple metaheuristics, in parallel with multiple threads.final class
ParallelMultistarter<T extends Copyable<T>>
This class is used for implementing parallel multistart metaheuristics.class
ParallelReoptimizableMetaheuristic<T extends Copyable<T>>
This class enables running multiple copies of a metaheuristic, or multiple metaheuristics, in parallel with multiple threads.final class
ParallelReoptimizableMultistarter<T extends Copyable<T>>
This class is used for implementing parallel multistart metaheuristics.class
TimedParallelMultistarter<T extends Copyable<T>>
This class is used for implementing parallel multistart metaheuristics.final class
TimedParallelReoptimizableMultistarter<T extends Copyable<T>>
This class is used for implementing parallel multistart metaheuristics.ModifierConstructorDescriptionParallelMetaheuristic
(Metaheuristic<T> search, int numThreads) Constructs a parallel metaheuristic that executes multiple identical copies of a metaheuristic in parallel across multiple threads.ParallelMultistarter
(Metaheuristic<T> search, int runLength, int numThreads) Constructs a parallel multistart metaheuristic that executes multiple runs of a specified metaheuristic in parallel across multiple threads.ParallelMultistarter
(Metaheuristic<T> search, Collection<? extends RestartSchedule> schedules) Constructs a parallel multistart metaheuristic that executes multiple runs of a specified metaheuristic in parallel across multiple threads.ParallelMultistarter
(Metaheuristic<T> search, RestartSchedule r, int numThreads) Constructs a parallel multistart metaheuristic that executes multiple runs of a specified metaheuristic in parallel across multiple threads.TimedParallelMultistarter
(Metaheuristic<T> search, int runLength, int numThreads) Constructs a parallel multistart metaheuristic that executes multiple runs of a specified metaheuristic in parallel across multiple threads.TimedParallelMultistarter
(Metaheuristic<T> search, Collection<? extends RestartSchedule> schedules) Constructs a parallel multistart metaheuristic that executes multiple runs of a specified metaheuristic in parallel across multiple threads.TimedParallelMultistarter
(Metaheuristic<T> search, RestartSchedule r, int numThreads) Constructs a parallel multistart metaheuristic that executes multiple runs of a specified metaheuristic in parallel across multiple threads.ModifierConstructorDescriptionParallelMetaheuristic
(Collection<? extends Metaheuristic<T>> searches) Constructs a parallel metaheuristic that executes multiple metaheuristics in parallel across multiple threads.ParallelMultistarter
(Collection<? extends Metaheuristic<T>> searches, int runLength) Constructs a parallel multistart metaheuristic that executes multiple runs of a set of specified metaheuristics in parallel across multiple threads.ParallelMultistarter
(Collection<? extends Metaheuristic<T>> searches, Collection<? extends RestartSchedule> schedules) Constructs a parallel multistart metaheuristic that executes multiple runs of a set of specified metaheuristics in parallel across multiple threads.TimedParallelMultistarter
(Collection<? extends Metaheuristic<T>> searches, int runLength) Constructs a parallel multistart metaheuristic that executes multiple runs of a set of specified metaheuristics in parallel across multiple threads.TimedParallelMultistarter
(Collection<? extends Metaheuristic<T>> searches, Collection<? extends RestartSchedule> schedules) Constructs a parallel multistart metaheuristic that executes multiple runs of a set of specified metaheuristics in parallel across multiple threads. -
Uses of Metaheuristic in org.cicirello.search.evo
Modifier and TypeClassDescriptionclass
AdaptiveEvolutionaryAlgorithm<T extends Copyable<T>>
This class implements an evolutionary algorithm with adaptive control parameters (i.e., crossover rates and mutation rates that evolve during the search).class
AdaptiveMutationOnlyEvolutionaryAlgorithm<T extends Copyable<T>>
This class implements an mutation-only evolutionary algorithm with an adaptive mutation rate that evolves during the search.class
GenerationalEvolutionaryAlgorithm<T extends Copyable<T>>
This class implements an evolutionary algorithm with a generational model, such as is commonly used in genetic algorithms, where a population of children are formed by applying genetic operators to members of the parent population, and where the children replace the parents in the next generation.class
This class implements an evolutionary algorithm (EA) with a generational model, where a population of children are formed by applying genetic operators to members of the parent population, and where the children replace the parents in the next generation.class
GenerationalMutationOnlyEvolutionaryAlgorithm<T extends Copyable<T>>
This class implements an evolutionary algorithm (EA) with a generational model, such as is commonly used in genetic algorithms, where a population of children are formed by applying mutation to members of the parent population, and where the children replace the parents in the next generation.class
This class is an implementation of a genetic algorithm (GA) with the common bit vector representation of solutions to optimization problems, and the generational model where children replace their parents each generation.final class
This class is an implementation of a mutation-only genetic algorithm (GA) with the common bit vector representation of solutions to optimization problems, and the generational model where children replace their parents each generation.class
NaiveGenerationalEvolutionaryAlgorithm<T extends Copyable<T>>
Deprecated.IMPORTANT: This class is being introduced temporarily in support of research experiments.class
OnePlusOneEvolutionaryAlgorithm<T extends Copyable<T>>
This class implements a (1+1)-EA.final class
This class implements a (1+1)-GA, a special case of a (1+1)-EA, where solutions are represented with a vector of bits.final class
This class is an implementation of the simple genetic algorithm (Simple GA) with the common bit vector representation of solutions to optimization problems, and the generational model where children replace their parents each generation. -
Uses of Metaheuristic in org.cicirello.search.hc
Modifier and TypeClassDescriptionfinal class
FirstDescentHillClimber<T extends Copyable<T>>
This class implements first descent hill climbing.final class
SteepestDescentHillClimber<T extends Copyable<T>>
This class implements steepest descent hill climbing. -
Uses of Metaheuristic in org.cicirello.search.restarts
Modifier and TypeClassDescriptionclass
Multistarter<T extends Copyable<T>>
This class is used for implementing multistart metaheuristics.final class
ReoptimizableMultistarter<T extends Copyable<T>>
This class is used for implementing multistart metaheuristics, that can be restarted at previously found solutions.ModifierConstructorDescriptionMultistarter
(Metaheuristic<T> search, int runLength) Constructs a multistart metaheuristic that executes multiple runs of a specified metaheuristic, whose runs are all the same in length.Multistarter
(Metaheuristic<T> search, RestartSchedule r) Constructs a multistart metaheuristic that executes multiple runs of a specified metaheuristic, whose run lengths follow a specified schedule. -
Uses of Metaheuristic in org.cicirello.search.sa
Modifier and TypeClassDescriptionfinal class
SimulatedAnnealing<T extends Copyable<T>>
This class is an implementation of the metaheuristic known as simulated annealing. -
Uses of Metaheuristic in org.cicirello.search.ss
Modifier and TypeClassDescriptionfinal class
AcceptanceBandSampling<T extends Copyable<T>>
The AcceptanceBandSampling class implements a form of stochastic sampling search that uses a constructive heuristic to guide the random decisions.final class
HeuristicBiasedStochasticSampling<T extends Copyable<T>>
Heuristic Biased Stochastic Sampling (HBSS) is a form of stochastic sampling search that uses a constructive heuristic to bias the random decisions.final class
IterativeSampling<T extends Copyable<T>>
Iterative sampling is the simplest possible form of a stochastic sampling search.final class
ValueBiasedStochasticSampling<T extends Copyable<T>>
Value Biased Stochastic Sampling (VBSS) is a form of stochastic sampling search that uses a constructive heuristic to bias the random decisions.