#include "paal/utils/fast_exp.hpp"
#include "paal/local_search/search_traits.hpp"
#include <chrono>
#include <random>
Go to the source code of this file.
|
struct | paal::local_search::exponential_cooling_schema_dependant_on_time< Duration, Clock > |
| This functors returns potential (temperature) using the following schema. The start potential equals given startTemperature, the end temperature (after given duration) equals given endTemperature. In the beetween potential decreases (increase when startTemperature < endTemperature, which is not typical use case) in exponential manner. More...
|
|
struct | paal::local_search::exponential_cooling_schema_dependant_on_iteration |
| This functors returns potential (temperature) using the following schema. The start potential equals given startTemperature, once per numberOFRoundsWithSameTemperature the temperature is multiplied by given multiplier. More...
|
|
struct | paal::local_search::simulated_annealing_gain_adaptor< Gain, GetTemperature, random_generator > |
| This adaptor takes Gain functor and adopts it to simulated annealing. For each move, if it has positive gain it is chosen otherwise the move is chosen wit probability e^(movesGain/Temperature). Temperature is given by getTemperature functor. More...
|
|
struct | paal::local_search::simulated_annealing_gain_adaptor< Gain, GetTemperature, random_generator >::is_chosen< Delta > |
| This object represents Delta computed by gain and the decision if the object is taken or not. More...
|
|
struct | paal::local_search::simulated_annealing_commit_adaptor< Commit, Gain, GetTemperature, random_generator > |
| This adaptor takes Cammit functor and adopts it to simulated annealing. If the input move has positive gain it is chosen otherwise the move is chosen wit probability e^(movesGain/Temperature). Temperature is given by getTemperature functor. More...
|
|
|
template<typename Clock = std::chrono::system_clock, typename Duration > |
auto | paal::local_search::make_exponential_cooling_schema_dependant_on_time (Duration duration, double startTemperature, double endTemperature) |
| make function for exponential_cooling_schema_dependant_on_time More...
|
|
template<typename Solution , typename ProbabilisticGain , typename GetMoves , typename SetTemperature > |
double | paal::local_search::start_temperature (Solution &solution, ProbabilisticGain gain, GetMoves get_moves, SetTemperature set_temperature, double acceptance_rate=0.4, int repeats_number=1e3, double epsilon=1e-4) |
| This function takes gain functor which is assumed to be probabilistic and dependent on one nonnegative double called temperature. It calculates starting temperature for Simmulated Annealing. Using binary search it looks for temperature that percent of accepted moves is as close to acceptance_rate as possible. This function manipulates temperature using SetTemperature. The gain is assumed to be monotonic in temperature. The 0 temperature means no bad moves are accepted. More...
|
|
template<typename Gain , typename GetTemperature , typename random_generator = std::default_random_engine> |
auto | paal::local_search::make_simulated_annealing_gain_adaptor (Gain gain, GetTemperature getTemperature, random_generator rand=random_generator()) |
| make function for simulated_annealing_gain_adaptor More...
|
|
template<typename Commit , typename Gain , typename GetTemperature , typename random_generator = std::default_random_engine> |
auto | paal::local_search::make_simulated_annealing_commit_adaptor (Commit commit, Gain gain, GetTemperature getTemperature, random_generator rand=random_generator{}) |
| make for simulated_annealing_commit_adaptor More...
|
|
- Author
- Piotr Wygocki
- Version
- 1.0
- Date
- 2014-01-31
Definition in file simulated_annealing.hpp.