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.
Solving optimization problems involves tweaking decision variables to try to minimize some cost function. Simulated annealing is good for solving optimization problems with many local minima and a very large search space (itâ€™s a heuristic solver rather than an exact solver like, say, SQP or interiorpoint method). Simulated annealing is a popular choice for solving the traveling salesman problem (see TravelingSalesman).
 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: