LagHeu_SimAnnealing Class Reference

Lagrangian Heuristic using Simulated Annealing. More...

#include <lagheu.h>

Inheritance diagram for LagHeu_SimAnnealing:
Inheritance graph
[legend]
Collaboration diagram for LagHeu_SimAnnealing:
Collaboration graph
[legend]

List of all members.

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

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

Detailed Description

Lagrangian Heuristic using Simulated Annealing.

Parameters:
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.


Member Enumeration Documentation

anonymous enum [private]
Enumerator:
VIOLATION 
DISTANCE 

Definition at line 163 of file lagheu.h.


Constructor & Destructor Documentation

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 
)

Member Function Documentation

void LagHeu_SimAnnealing::get_Wz ( dvector Wz,
const ivector z 
) [private]
double LagHeu_SimAnnealing::weight ( const ivector z,
const dvector Wz 
) [private]
void LagHeu_SimAnnealing::walk ( ivector z,
dvector Wz,
double &  weight_z,
double  T,
int  max_iter 
) [private]

Performs a walk.

Parameters:
z Input: Starting point. Output: Last point.
weight Input: Weight of starting point. Output: Weight of last point.
T temperature.
l Iterations.
int LagHeu_SimAnnealing::solve ( Pointer< MinlpNode node_  )  [virtual]

Implements LagHeu.


Member Data Documentation

vector<vector<list<ExtremePoint>::iterator> > LagHeu_SimAnnealing::Z [private]

RMP points, stored in a better accessible structure.

Definition at line 153 of file lagheu.h.

vector<int> LagHeu_SimAnnealing::nonsingles [private]

Indices of vectors in Z, which have more than one RMP points.

Definition at line 157 of file lagheu.h.

Maximal number of minor iterations.

Definition at line 161 of file lagheu.h.

enum { ... } LagHeu_SimAnnealing::weight_type [private]

The documentation for this class was generated from the following file:

Generated on 10 Mar 2013 for LaGO by  doxygen 1.6.1