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 double
DEFAULT_INITIAL_TEMPERATURE
the default initial temperaturestatic double
DEFAULT_QA
the default acceptance parameterstatic double
DEFAULT_QV
the 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
-
-