#include <ql/math/optimization/simulatedannealing.hpp>
 Inheritance diagram for SimulatedAnnealing< RNG >:
 Inheritance diagram for SimulatedAnnealing< RNG >:| Public Types | |
| enum | Scheme { ConstantFactor, ConstantBudget } | 
| Public Member Functions | |
| SimulatedAnnealing (const Real lambda, const Real T0, const Real epsilon, const Size m, const RNG &rng=RNG()) | |
| SimulatedAnnealing (const Real lambda, const Real T0, const Size K, const Real alpha, const RNG &rng=RNG()) | |
| EndCriteria::Type | minimize (Problem &P, const EndCriteria &ec) | 
| minimize the optimization problem P | |
Class RNG must implement the following interface:
| SimulatedAnnealing | ( | const Real | lambda, | 
| const Real | T0, | ||
| const Real | epsilon, | ||
| const Size | m, | ||
| const RNG & | rng = RNG() | ||
| ) | 
reduce temperature T by a factor of \( (1-\epsilon) \) after m moves
| SimulatedAnnealing | ( | const Real | lambda, | 
| const Real | T0, | ||
| const Size | K, | ||
| const Real | alpha, | ||
| const RNG & | rng = RNG() | ||
| ) | 
budget a total of K moves, set temperature T to the initial temperature times \( ( 1 - k/K )^\alpha \) with k being the total number of moves so far. After K moves the temperature is guaranteed to be zero, after that the optimization runs like a deterministic simplex algorithm.