Class GeneralizedSimulatedAnnealingMinimizer
- java.lang.Object
-
- dev.nm.solver.multivariate.unconstrained.annealing.SimulatedAnnealingMinimizer
-
- dev.nm.solver.multivariate.unconstrained.annealing.GeneralizedSimulatedAnnealingMinimizer
-
- All Implemented Interfaces:
Minimizer<OptimProblem,IterativeSolution<Vector>>,IterativeMinimizer<OptimProblem>,MultivariateMinimizer<OptimProblem,IterativeSolution<Vector>>,Optimizer<OptimProblem,IterativeSolution<Vector>>
public class GeneralizedSimulatedAnnealingMinimizer extends SimulatedAnnealingMinimizer
Tsallis and Stariolo (1996) proposed this variant ofSimulatedAnnealingMinimizer(SA). It improves upon the performance of the classical SA algorithm (CSA) and later proposes a Fast SA algorithm as a special case. Whilst this version of SA is known to find the global minimum in a great number of cases, the temperature decreases relatively slowly towards the end. You may consider augmenting this method with a final hill climbing search if you require a high precision. The R equivalent function isGenSA.
-
-
Field Summary
Fields Modifier and Type Field Description static doubleDEFAULT_INITIAL_TEMPERATUREthe default initial temperaturestatic doubleDEFAULT_QAthe default acceptance parameterstatic doubleDEFAULT_QVthe default visiting parameter
-
Constructor Summary
Constructors Constructor Description GeneralizedSimulatedAnnealingMinimizer(int dim, double initialTemperature, double qv, double qa, StopCondition stopCondition, RandomLongGenerator uniform)Constructs a new instance of the Generalized Simulated Annealing minimizer.GeneralizedSimulatedAnnealingMinimizer(int dim, double initialTemperature, StopCondition stopCondition, RandomLongGenerator uniform)Constructs a new instance of the Generalized Simulated Annealing minimizer with the recommended visiting and acceptance parameter.GeneralizedSimulatedAnnealingMinimizer(int dim, StopCondition stopCondition)Constructs a new instance of the Generalized Simulated Annealing minimizer.
-
-
-
Field Detail
-
DEFAULT_QV
public static final double DEFAULT_QV
the default visiting parameter- See Also:
- Constant Field Values
-
DEFAULT_QA
public static final double DEFAULT_QA
the default acceptance parameter- See Also:
- Constant Field Values
-
DEFAULT_INITIAL_TEMPERATURE
public static final double DEFAULT_INITIAL_TEMPERATURE
the default initial temperature- See Also:
- Constant Field Values
-
-
Constructor Detail
-
GeneralizedSimulatedAnnealingMinimizer
public GeneralizedSimulatedAnnealingMinimizer(int dim, double initialTemperature, double qv, double qa, StopCondition stopCondition, RandomLongGenerator uniform)Constructs a new instance of the Generalized Simulated Annealing minimizer. \((q_v, q_a)\) are known as the visiting and acceptance parameters respectively. Important special cases are:- \(q_a = 1\), which recovers the Metropolis acceptance probability
- \(q_v = 1\), which recovers a Gaussian search, thus \((1, 1)\) recovers the classical Simulated Annealing
- \(q_v = 2\), which recovers a Cauchy distribution search, thus \((2, 1)\) recovers Fast Simulated Annealing
- Parameters:
dim- the dimension of the probleminitialTemperature- the initial temperatureqv- the visiting parameterqa- the acceptance parameterstopCondition- the StopConditionuniform- the random number generator that is to be used
-
GeneralizedSimulatedAnnealingMinimizer
public GeneralizedSimulatedAnnealingMinimizer(int dim, double initialTemperature, StopCondition stopCondition, RandomLongGenerator uniform)Constructs a new instance of the Generalized Simulated Annealing minimizer with the recommended visiting and acceptance parameter.- Parameters:
dim- the dimension of the probleminitialTemperature- the initial temperaturestopCondition- the StopConditionuniform- the random number generator that is to be used
-
GeneralizedSimulatedAnnealingMinimizer
public GeneralizedSimulatedAnnealingMinimizer(int dim, StopCondition stopCondition)Constructs a new instance of the Generalized Simulated Annealing minimizer. If you require repeatable results, consider using one of the other constructors that accepts a RandomLongGenerator.- Parameters:
dim- the dimension of the problemstopCondition- the StopCondition
-
-