An implementation of the Simulated Annealing stochastic nonlinear optimization method.
More...
#include <frc/optimization/SimulatedAnnealing.h>
|
constexpr | SimulatedAnnealing (double initialTemperature, std::function< State(const State &)> neighbor, std::function< double(const State &)> cost) |
| Constructor for Simulated Annealing that can be used for the same functions but with different initial states. More...
|
|
State | Solve (const State &initialGuess, int iterations) |
| Runs the Simulated Annealing algorithm. More...
|
|
template<typename State>
class frc::SimulatedAnnealing< State >
An implementation of the Simulated Annealing stochastic nonlinear optimization method.
- See also
- https://en.wikipedia.org/wiki/Simulated_annealing
- Template Parameters
-
State | The type of the state to optimize. |
◆ SimulatedAnnealing()
template<typename State >
constexpr frc::SimulatedAnnealing< State >::SimulatedAnnealing |
( |
double |
initialTemperature, |
|
|
std::function< State(const State &)> |
neighbor, |
|
|
std::function< double(const State &)> |
cost |
|
) |
| |
|
inlineconstexpr |
Constructor for Simulated Annealing that can be used for the same functions but with different initial states.
- Parameters
-
initialTemperature | The initial temperature. Higher temperatures make it more likely a worse state will be accepted during iteration, helping to avoid local minima. The temperature is decreased over time. |
neighbor | Function that generates a random neighbor of the current state. |
cost | Function that returns the scalar cost of a state. |
◆ Solve()
template<typename State >
Runs the Simulated Annealing algorithm.
- Parameters
-
initialGuess | The initial state. |
iterations | Number of iterations to run the solver. |
- Returns
- The optimized state.
The documentation for this class was generated from the following file: