#include <cmath>
#include <numeric>
#include <vector>
#include "angel_exceptions.hpp"
#include "angel_types.hpp"
#include "angel_tools.hpp"
#include "angel_io.hpp"
#include "eliminations.hpp"
#include "heuristics.hpp"
#include "sa_impl.hpp"
Go to the source code of this file.
Namespaces | |
namespace | angel |
Classes | |
class | angel::LOG_temperature_t |
Functor that returns logarithmic temperature for LSA. More... | |
class | angel::fixed_temperature_t |
Functor that returns fixed temperature. More... | |
class | angel::SA_elimination_cost_t< Heuristic_t > |
Computes the elimination costs for arbitrary elimination history type. More... | |
struct | angel::neighbor_last_removable_t |
SA neighborhood either eliminate sth from eh.cg or undo last elimination. More... | |
class | angel::neighbor_multi_step_t |
SA neighborhood for multiple eliminations or re-insertions. More... | |
struct | angel::neighbor_sequence_check_t |
SA neighborhood either eliminate face from eh.cg or undo some previous elimination. More... | |
struct | angel::neighbor_check_meta_t |
SA neighborhood either eliminate face from eh.cg or undo some previous elimination. More... | |
class | angel::gamma_adaption_max_t |
![]() | |
class | angel::gamma_adaption_average_t |
![]() | |
Functions | |
template<class Temp_t> | |
double | angel::SA_acceptance (int diff, int it, Temp_t temp) |
Probability to accept new object in SA. | |
template<class Object_t, class Neighbor_t, class Cost_t, class Temp_t> | |
int | angel::SA (Object_t &object, Neighbor_t neighbor, Cost_t costs, Temp_t temp, int max_iter) |
Simulated Annealing in a general form. | |
template<class Object_t, class Neighbor_t, class Cost_t> | |
int | angel::LSA (Object_t &object, Neighbor_t neighbor, Cost_t costs, double gamma, int max_iter) |
Logarithmic Simulated Annealing in a general form. | |
template<class Object_t, class Neighbor_t, class Cost_t> | |
int | angel::FTSA (Object_t &object, Neighbor_t neighbor, Cost_t costs, double t, int max_iter) |
Metropolis with fixed temperature in a general form. | |
template<class Object_t, class Neighbor_t, class Cost_t, class Adaption_t> | |
int | angel::ALSA (Object_t &object, Neighbor_t neighbor, Cost_t costs, Adaption_t adaption, double &gamma, int max_iter) |
Adaptive Logarithmic Simulated Annealing in generic form. | |
void | angel::neighbor_swap (const std::vector< int > &old_seq, std::vector< int > &seq) |
Swap two vertices in sequence (historical, only vertex elimination). |