Uses of Interface
org.cicirello.search.concurrent.Splittable

Packages that use Splittable Package Description org.cicirello.search This package includes classes and interfaces related to implementing metaheuristic search algorithms in general, rather than specific to a particular metaheuristic.org.cicirello.search.concurrent This package includes multithreaded search implementations, as well as classes and interfaces related to implementing multithreaded metaheuristics.org.cicirello.search.hc This package includes classes and interfaces directly related to implementing hill climbers.org.cicirello.search.operators This package includes classes and interfaces for defining various operators required by simulated annealing and other metaheuristics, such as mutation operators, along with other related classes and interfaces.org.cicirello.search.operators.bits This package includes classes that implement operators that create, mutate, etc, BitVectors.org.cicirello.search.operators.integers This package includes classes that implement operators that create, mutate, etc, integer valued representations.org.cicirello.search.operators.permutations This package includes classes that implement mutation operators for permutations, and other operators required by simulated annealing and other related metaheuristics.org.cicirello.search.operators.reals This package includes classes that implement operators that create, mutate, etc, the the inputs to functions with realvalued input parameters (represented with type double), such as is required to solve function optimization problems using simulated annealing or other metaheuristics.org.cicirello.search.problems Package of classes and interfaces related to representing computational problems, as well as classes implementing a variety of specific computational problems.org.cicirello.search.restarts 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).org.cicirello.search.sa This package includes classes and interfaces directly related to implementing simulated annealing.org.cicirello.search.ss This package includes classes and interfaces directly related to implementing stochastic sampling algorithms. 

Uses of Splittable in org.cicirello.search
Subinterfaces of Splittable in org.cicirello.search Modifier and Type Interface Description interface
Metaheuristic<T extends Copyable<T>>
This interface defines the required methods for implementations of metaheuristics, in particular metaheuristics for which the maximum run length can be specified.interface
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
SimpleLocalMetaheuristic<T extends Copyable<T>>
This interface defines the required methods for implementations of simple metaheuristics that locally optimize from some initial solution (random or otherwise) whose run length is selfdetermined, such as hill climbers that terminate upon reaching a local optima.interface
SimpleMetaheuristic<T extends Copyable<T>>
This interface defines the required methods for implementations of simple metaheuristics whose run length is selfdetermined, such as hill climbers that terminate upon reaching a local optima.interface
SingleSolutionMetaheuristic<T extends Copyable<T>>
This interface defines the required methods for implementations of singlesolution metaheuristics, i.e., metaheuristics such as simulated annealing that operate one a single candidate solution (as compared to populationbased metaheuristics such as genetic algorithms.interface
TrackableSearch<T extends Copyable<T>>
This interface defines the required functionality of search algorithm implementations that support tracking search progress across multiple runs, whether multiple sequential runs, or multiple concurrent runs in the case of a parallel metaheuristic. 
Uses of Splittable in org.cicirello.search.concurrent
Classes in org.cicirello.search.concurrent with type parameters of type Splittable Modifier and Type Interface Description interface
Splittable<T extends Splittable<T>>
The Splittable interface provides multithreaded search algorithms with the ability to generate functionally identical copies of operators, and even entire metaheuristics, at the point of spawning new search threads.Classes in org.cicirello.search.concurrent that implement Splittable Modifier and Type Class Description class
ParallelMetaheuristic<T extends Copyable<T>>
This class enables running multiple copies of a metaheuristic, or multiple metaheuristics, in parallel with multiple threads.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.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.class
TimedParallelReoptimizableMultistarter<T extends Copyable<T>>
This class is used for implementing parallel multistart metaheuristics. 
Uses of Splittable in org.cicirello.search.hc
Classes in org.cicirello.search.hc that implement Splittable Modifier and Type Class Description class
FirstDescentHillClimber<T extends Copyable<T>>
This class implements first descent hill climbing.class
SteepestDescentHillClimber<T extends Copyable<T>>
This class implements steepest descent hill climbing. 
Uses of Splittable in org.cicirello.search.operators
Subinterfaces of Splittable in org.cicirello.search.operators Modifier and Type Interface Description interface
Initializer<T>
Implement the Initializer interface to provide metaheuristics and other search algorithms with a way to generate initial candidate solutions to a problem.interface
IterableMutationOperator<T>
Implement the IterableMutationOperator interface to define a mutation operator that enables iterating systematically over the neighbors of a candidate solution, like one would do in a hill climber.interface
MutationOperator<T>
Implement the MutationOperator interface to implement a mutation operator for use in simulated annealing, and other metaheuristics, that require a way to generate random neighbors of a candidate solution.interface
UndoableMutationOperator<T>
Implement the UndoableMutationOperator interface to implement a mutation operator for use in simulated annealing, and other metaheuristics, that require a way to generate random neighbors of a candidate solution, and which supports an undo method.Classes in org.cicirello.search.operators that implement Splittable Modifier and Type Class Description class
HybridMutation<T>
A HybridMutation enables using multiple mutation operators for the search, such that each time theHybridMutation.mutate(T)
method is called, a randomly chosen mutation operator is applied to the candidate solution.class
HybridUndoableMutation<T>
A HybridMutation enables using multiple mutation operators for the search, such that each time theHybridUndoableMutation.mutate(T)
method is called, a randomly chosen mutation operator is applied to the candidate solution.class
InitializeBySimpleMetaheuristic<T extends Copyable<T>>
This class implements theInitializer
interface to provide metaheuristics and other search algorithms with a way to generate initial candidate solutions to a problem, that are themselves generated via a metaheuristic.class
WeightedHybridMutation<T>
A WeightedHybridMutation enables using multiple mutation operators for the search, such that each time theWeightedHybridMutation.mutate(T)
method is called, a randomly chosen mutation operator is applied to the candidate solution.class
WeightedHybridUndoableMutation<T>
A WeightedHybridMutation enables using multiple mutation operators for the search, such that each time theWeightedHybridUndoableMutation.mutate(T)
method is called, a randomly chosen mutation operator is applied to the candidate solution. 
Uses of Splittable in org.cicirello.search.operators.bits
Classes in org.cicirello.search.operators.bits that implement Splittable Modifier and Type Class Description class
BitFlipMutation
This class implements Bit Flip Mutation, the mutation operator commonly used in genetic algorithms, but which can also be used with other metaheuristic search algorithms such as simulated annealing to generate random neighbors.class
BitVectorInitializer
Generates randomBitVector
objects for use in generating random initial solutions for simulated annealing and other metaheuristics.class
DefiniteBitFlipMutation
DefiniteBitFlipMutation implements a variation of Bit Flip Mutation. 
Uses of Splittable in org.cicirello.search.operators.integers
Classes in org.cicirello.search.operators.integers that implement Splittable Modifier and Type Class Description class
IntegerValueInitializer
Generates randomSingleInteger
objects for use in generating random initial solutions for simulated annealing and other metaheuristics, and for copying such objects.class
IntegerVectorInitializer
Generating randomIntegerVector
objects for use in generating random initial solutions for simulated annealing and other metaheuristics, and for copying such objects.class
RandomValueChangeMutation<T extends IntegerValued>
This mutation operator is for integer valued representations, and replaces an integer value with a different random integer value from the domain.class
UndoableRandomValueChangeMutation<T extends IntegerValued>
This mutation operator (supporting the undo operation) is for integer valued representations, and replaces an integer value with a different random integer value from the domain.class
UndoableUniformMutation<T extends IntegerValued>
This class implements a uniform mutation on integer valued parameters, with support for theUndoableUniformMutation.undo(T)
method.class
UniformMutation<T extends IntegerValued>
This class implements a uniform mutation for mutating integer values. 
Uses of Splittable in org.cicirello.search.operators.permutations
Classes in org.cicirello.search.operators.permutations that implement Splittable Modifier and Type Class Description class
AdjacentSwapMutation
This class implements an adjacent swap mutation on permutations, where one mutation consists in randomly swapping a pair of adjacent elements.class
BlockInterchangeMutation
This class implements a block interchange mutation on permutations, where one mutation consists in swapping two randomly chosen nonoverlapping "blocks" (i.e., subsequences).class
BlockMoveMutation
This class implements a block move mutation on permutations, where one mutation consists in removing a randomly chosen "block" (i.e., subsequence) and reinserting it at a different randomly chosen index.class
CycleMutation
This class implements a cycle mutation on permutations, where one mutation generates a random permutation cycle.class
InsertionMutation
This class implements an insertion mutation on permutations, where one mutation consists in removing a randomly chosen element and reinserting it at a different randomly chosen location.class
PermutationInitializer
The PermutationInitializer provides metaheuristic implementations, such as of simulated annealing, etc, with a way to generate random initial solutions to a problem, as well as a way to make copies of current solution configurations.class
ReversalMutation
This class implements a reversal mutation on permutations, where one mutation consists in reversing the order of a randomly selected subpermutation.class
RotationMutation
This class implements a rotation mutation on permutations, where one mutation consists in a random circular rotation of the permutation.class
ScrambleMutation
This class implements a scramble mutation on permutations, where one mutation consists in randomizing the order of a randomly selected subpermutation.class
SwapMutation
This class implements a swap mutation on permutations, where one mutation selects two elements uniformly at random and swaps their locations.class
ThreeOptMutation
This class implements the classic 3Opt neighborhood as a mutation operator for permutations.class
TwoChangeMutation
This class implements the classic twochange operator as a mutation operator for permutations.class
UndoableScrambleMutation
This class implements a scramble mutation on permutations, where one mutation consists in randomizing the order of a randomly selected subpermutation.class
UndoableUniformScrambleMutation
This class implements a scramble mutation on permutations, where one mutation consists in randomizing the order of a noncontiguous subset of the permutation elements.class
UniformScrambleMutation
This class implements a scramble mutation on permutations, where one mutation consists in randomizing the order of a noncontiguous subset of the permutation elements.class
WindowLimitedBlockMoveMutation
This class implements a windowlimited version of theBlockMoveMutation
mutation operator on permutations.class
WindowLimitedInsertionMutation
This class implements a windowlimited version of theInsertionMutation
mutation operator on permutations.class
WindowLimitedReversalMutation
This class implements a windowlimited version of theReversalMutation
mutation operator on permutations.class
WindowLimitedScrambleMutation
This class implements a windowlimited version of theScrambleMutation
mutation operator on permutations.class
WindowLimitedSwapMutation
This class implements a windowlimited version of theSwapMutation
mutation operator on permutations.class
WindowLimitedUndoableScrambleMutation
This class implements a windowlimited version of theScrambleMutation
mutation operator on permutations. 
Uses of Splittable in org.cicirello.search.operators.reals
Classes in org.cicirello.search.operators.reals that implement Splittable Modifier and Type Class Description class
CauchyMutation<T extends RealValued>
This class implements Cauchy mutation.class
GaussianMutation<T extends RealValued>
This class implements Gaussian mutation.class
RealValueInitializer
Generating randomSingleReal
objects for use in generating random initial solutions for simulated annealing and other metaheuristics, and for copying such objects.class
RealVectorInitializer
Generates randomRealVector
objects for use in generating random initial solutions for simulated annealing and other metaheuristics, and for copying such objects.class
UndoableCauchyMutation<T extends RealValued>
This class implements Cauchy mutation with support for theUndoableCauchyMutation.undo(T)
method.class
UndoableGaussianMutation<T extends RealValued>
This class implements Gaussian mutation with support for theUndoableGaussianMutation.undo(T)
method.class
UndoableUniformMutation<T extends RealValued>
This class implements a uniform mutation with support for theUndoableUniformMutation.undo(T)
method.class
UniformMutation<T extends RealValued>
This class implements a uniform mutation. 
Uses of Splittable in org.cicirello.search.problems
Classes in org.cicirello.search.problems that implement Splittable Modifier and Type Class Description class
BoundMax
The BoundMax class is an implementation of a generalization of the wellknown OneMax problem, often used in benchmarking genetic algorithms and other metaheuristics.class
ForresterEtAl2008
A continuous function with a single suboptimal local minimum, and a single global minimum, and a 0 derivative inflexion point, defined for inputs x in [0.0, 1.0].class
GramacyLee2012
A continuous function with a large number of local minimums, and a single global minimum, defined for input x in [0.5, 2.5]. 
Uses of Splittable in org.cicirello.search.restarts
Subinterfaces of Splittable in org.cicirello.search.restarts Modifier and Type Interface Description interface
RestartSchedule
Multistart metaheuristics involve periodically restarting the metaheuristic from a new initial starting solution (often random).Classes in org.cicirello.search.restarts that implement Splittable Modifier and Type Class Description class
ConstantRestartSchedule
This is the basic constant run length restart schedule, such that every restart of the multistart metaheuristic is the same in length.class
LubyRestarts
The Luby restart schedule originated with constraint satisfaction search, and was originally used to control when to restart a backtracking constraint satisfaction search in number of backtracks.class
Multistarter<T extends Copyable<T>>
This class is used for implementing multistart metaheuristics.class
ParallelVariableAnnealingLength
The Parallel Variable Annealing Length (PVAL) restart schedule originated, as you would expect from the word "annealing" in its name, as a restart schedule for Simulated Annealing.class
ReoptimizableMultistarter<T extends Copyable<T>>
This class is used for implementing multistart metaheuristics, that can be restarted at previously found solutions.class
VariableAnnealingLength
The Variable Annealing Length (VAL) restart schedule originated, as you would expect from the word "annealing" in its name, as a restart schedule for Simulated Annealing. 
Uses of Splittable in org.cicirello.search.sa
Subinterfaces of Splittable in org.cicirello.search.sa Modifier and Type Interface Description interface
AnnealingSchedule
This interface specifies the required functionality for implementations of annealing schedules.Classes in org.cicirello.search.sa that implement Splittable Modifier and Type Class Description class
AcceptanceTracker
An AcceptanceTracker can be used to extract finegrained information about the behavior of an annealing schedule across several runs of simulated annealing.class
ExponentialCooling
This class implements the classic and most commonly encountered cooling schedule for simulated annealing, the annealing schedule known as exponential cooling (sometimes referred to as geometric cooling).class
LinearCooling
This class implements the linear cooling schedule for simulated annealing.class
LogarithmicCooling
This class implements logarithmic cooling, a classic annealing schedule.class
ModifiedLam
This class implements an optimized variant of the Modified Lam annealing schedule.class
ModifiedLamOriginal
This class implements the Modified Lam annealing schedule, which dynamically adjusts simulated annealing's temperature parameter up and down to either decrease or increase the neighbor acceptance rate as necessary to attempt to match a theoretically determined ideal.class
ParameterFreeExponentialCooling
This class implements a parameterfree version of the classic cooling schedule for simulated annealing known as exponential cooling (sometimes referred to as geometric cooling).class
ParameterFreeLinearCooling
This class implements a parameterfree version of the linear cooling schedule for simulated annealing.class
SelfTuningLam
This class implements the SelfTuning Lam annealing schedule, which is an improved variation of the Modified Lam annealing schedule.class
SimulatedAnnealing<T extends Copyable<T>>
This class is an implementation of the metaheuristic known as simulated annealing. 
Uses of Splittable in org.cicirello.search.ss
Classes in org.cicirello.search.ss that implement Splittable Modifier and Type Class Description 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.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.class
HeuristicPermutationGenerator
This class generates solutions to permutation optimization problems using a constructive heuristic.class
HeuristicSolutionGenerator<T extends Copyable<T>>
This class generates solutions to optimization problems using a constructive heuristic.class
IterativeSampling<T extends Copyable<T>>
Iterative sampling is the simplest possible form of a stochastic sampling search.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.
