Simulated Annealing
A class that implements the simulated annealing optimization algorithm for solving stochastic or deterministic problems. Simulated annealing is an iterative optimization method inspired by the physical process of annealing in metallurgy. It uses a probabilistic approach to escape local optima by accepting worse solutions with a certain probability, which decreases over time according to a cooling schedule.
Parameters
The evaluator responsible for calculating the objective function value of a solution. It must implement the EvaluatorIfc interface.
The starting temperature for the simulated annealing algorithm. Must be greater than 0.0.
the cooling schedule for the annealing process
the temperature used to stop the annealing process. If the current temperature goes below this temperature, the search process stops.
the maximum number of iterations permitted for the search process
An instance of ReplicationPerEvaluationIfc
defining the strategy for determining the number of replications per evaluation.
An optional random number stream used for stochastic behavior. Defaults to KSLRandom.defaultRNStream()
.
An optional name for this solver instance.
Constructors
Secondary constructor for the SimulatedAnnealing class. This constructor provides a simplified way to initialize the Simulated Annealing algorithm with configurable parameters, while delegating certain default parameters to their respective values or functional objects.
Constructs a SimulatedAnnealing solver with the specified parameters.
Properties
Represents the difference in cost between the current solution and a potential new solution in the simulated annealing process. This value directly influences the acceptance probability of new solutions as the algorithm progresses.
Represents the current temperature in the simulated annealing process. It is initialized to the value of initialTemperature
and dynamically updated during each iteration of the algorithm based on the cooling schedule.
Changing the initial temperature will also change it for the associated cooling schedule.
Tracks the last computed acceptance probability in the simulated annealing process.
Represents the temperature threshold at which the simulated annealing algorithm will stop iterating. The stopping temperature serves as a termination criterion, ensuring the optimization process concludes when the system has sufficiently cooled.