#include <lagheu.h>
Inheritance diagram for LagHeu_SimAnnealing:
Public Member Functions | |
LagHeu_SimAnnealing (Pointer< MinlpProblem > orig_prob_, Pointer< LinearRelax > linrelax_, bool is_gams_prob=false, double closeval_tol_=0., Pointer< dvector > diam_=NULL, Pointer< Param > param_=NULL, Pointer< ostream > out_solver_p_=out_out_p, Pointer< ostream > out_solver_log_p_=out_log_p) | |
int | solve (Pointer< MinlpNode > node_) |
Private Types | |
VIOLATION | |
DISTANCE | |
enum | { VIOLATION, DISTANCE } |
Private Member Functions | |
void | get_Wz (dvector &Wz, const ivector &z) |
double | weight (const ivector &z, const dvector &Wz) |
void | walk (ivector &z, dvector &Wz, double &weight_z, double T, int max_iter) |
Performs a walk. | |
Private Attributes | |
vector< vector< list< ExtremePoint >::iterator > > | Z |
RMP points, stored in a better accessible structure. | |
vector< int > | nonsingles |
Indices of vectors in Z, which have more than one RMP points. | |
int | minor_iter_max |
Maximal number of minor iterations. | |
enum LagHeu_SimAnnealing:: { ... } | weight_type |
Simulated | Annealing iter max options integer $ 0$ default MAX(20, number of blocks) level 0 The number of major iterations of the Simulated Annealing walk. So this is the number of local optimizations, we perform. | |
Simulated | Annealing weights options distance, violation default violation Which weigths to use for the states in the sim. annealing walk. violation defines the weight as the objective value plus the violation of the coupling constraints. distance defines the weight as a minimum distance to a point, which fullfills the coupling constraints and minimizes the objective. |
Definition at line 149 of file lagheu.h.
LagHeu_SimAnnealing::LagHeu_SimAnnealing | ( | Pointer< MinlpProblem > | orig_prob_, | |
Pointer< LinearRelax > | linrelax_, | |||
bool | is_gams_prob = false , |
|||
double | closeval_tol_ = 0. , |
|||
Pointer< dvector > | diam_ = NULL , |
|||
Pointer< Param > | param_ = NULL , |
|||
Pointer< ostream > | out_solver_p_ = out_out_p , |
|||
Pointer< ostream > | out_solver_log_p_ = out_log_p | |||
) |
void LagHeu_SimAnnealing::walk | ( | ivector & | z, | |
dvector & | Wz, | |||
double & | weight_z, | |||
double | T, | |||
int | max_iter | |||
) | [private] |
Performs a walk.
z | Input: Starting point. Output: Last point. | |
weight | Input: Weight of starting point. Output: Weight of last point. | |
T | temperature. | |
l | Iterations. |
vector<vector<list<ExtremePoint>::iterator> > LagHeu_SimAnnealing::Z [private] |
vector<int> LagHeu_SimAnnealing::nonsingles [private] |
int LagHeu_SimAnnealing::minor_iter_max [private] |
enum { ... } LagHeu_SimAnnealing::weight_type [private] |