This package includes classes and interfaces directly related to implementing simulated annealing. This includes simulated annealing itself, annealing schedules, etc.
Interface Summary Interface Description AnnealingScheduleThis interface specifies the required functionality for implementations of annealing schedules.
Class Summary Class Description AcceptanceTrackerAn AcceptanceTracker can be used to extract fine-grained information about the behavior of an annealing schedule across several runs of simulated annealing. ExponentialCoolingThis 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). LinearCoolingThis class implements the linear cooling schedule for simulated annealing. LogarithmicCoolingThis class implements logarithmic cooling, a classic annealing schedule. ModifiedLamThis class implements an optimized variant of the Modified Lam annealing schedule. ModifiedLamOriginalThis 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. ParameterFreeExponentialCoolingThis class implements a parameter-free version of the classic cooling schedule for simulated annealing known as exponential cooling (sometimes referred to as geometric cooling). ParameterFreeLinearCoolingThis class implements a parameter-free version of the linear cooling schedule for simulated annealing. SelfTuningLamThis class implements the Self-Tuning Lam annealing schedule, which is an improved variation of the Modified Lam annealing schedule. SimulatedAnnealing<T extends Copyable<T>>This class is an implementation of the metaheuristic known as simulated annealing.