Heuristics Class Reference

#include <Heuristics.hpp>

Collaboration diagram for Heuristics:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Heuristics (const int, const int, const int, const double, const double *, const double *, const double **, const double **, const double *, const char *, const double *, const double *, const double *, const double *, const OsiSolverInterface *si, Tracer *tracer)
 ~Heuristics ()
double bestObj ()
double * bestSol ()
double currObj ()
int run ()

Private Member Functions

int update (double *, double)
int heurLP_improveSolution (double *)
int processSol (double *, bool, double *, double *)
double * xxTHeur ()
double * MNHeur ()

Private Attributes

const int n_
const int t_
int N_
const int cons_
const double objConst_
const double * b_
const double * c_
const double ** Q_
const double ** origMat_
const double * origRhs_
const char * origSense_
const double * xlb_
const double * xub_
const double * ylb_
const double * yub_
const OsiSolverInterface * si_
double currObj_
double bestObj_
double * bestSol_
bool * heurLbRowAdded_
double * xxTSol_
double * MNSol_
double * temp_row_
OsiXxxSolverInterface MNLPSi_
OsiXxxSolverInterface heurLPimproveSi_
Tracertracer_

Detailed Description

Definition at line 20 of file Heuristics.hpp.


Constructor & Destructor Documentation

Heuristics::Heuristics ( const   int,
const   int,
const   int,
const   double,
const double *  ,
const double *  ,
const double **  ,
const double **  ,
const double *  ,
const char *  ,
const double *  ,
const double *  ,
const double *  ,
const double *  ,
const OsiSolverInterface *  si,
Tracer tracer 
)

Definition at line 24 of file Heuristics.cpp.

References bestSol_, cons_, heurLbRowAdded_, heurLPimproveSi_, indexQ, k, MNLPSi_, MNSol_, n_, N_, si_, t_, temp_row_, and xxTSol_.

Heuristics::~Heuristics (  ) 

Definition at line 174 of file Heuristics.cpp.

References bestSol_, heurLbRowAdded_, MNSol_, temp_row_, and xxTSol_.


Member Function Documentation

int Heuristics::update ( double *  ,
double   
) [private]

Definition at line 506 of file Heuristics.cpp.

References bestObj_, bestSol_, currObj_, N_, and t_.

Referenced by processSol().

int Heuristics::heurLP_improveSolution ( double *   )  [private]

Definition at line 466 of file Heuristics.cpp.

References cons_, heurLbRowAdded_, heurLPimproveSi_, k, N_, origMat_, origRhs_, origSense_, and t_.

Referenced by processSol().

int Heuristics::processSol ( double *  ,
bool  ,
double *  ,
double *   
) [private]

Definition at line 394 of file Heuristics.cpp.

References b_, c_, cons_, evaluateSolution(), FEAS_CHECK_BOUNDS_VIOLATION, FEAS_CHECK_CONSTRAINT_VIOLATION, FEAS_CHECK_CONSTRAINT_VIOLATION_NO_RECOVER, FEAS_CHECK_NO_VIOLATION, feasibility_check(), heurLP_improveSolution(), N_, n_, objConst_, origMat_, origRhs_, origSense_, Q_, t_, update(), xlb_, xub_, ylb_, and yub_.

Referenced by run().

double * Heuristics::xxTHeur (  )  [private]

Definition at line 259 of file Heuristics.cpp.

References indexQ, n_, N_, si_, t_, x, and xxTSol_.

Referenced by run().

double * Heuristics::MNHeur (  )  [private]

Definition at line 278 of file Heuristics.cpp.

References b_, c_, cons_, evaluateSolution(), indexQ, k, MNLPSi_, MNSol_, n_, N_, objConst_, origMat_, Q_, si_, t_, temp_row_, x, and OsiXxxSolverInterface::XxxModifyCoefficient().

Referenced by run().

double Heuristics::bestObj (  )  [inline]

Definition at line 80 of file Heuristics.hpp.

References bestObj_.

Referenced by CutGen::bestObj().

double* Heuristics::bestSol (  )  [inline]

Definition at line 81 of file Heuristics.hpp.

References bestSol_.

Referenced by CutGen::bestSol().

double Heuristics::currObj (  )  [inline]

Definition at line 82 of file Heuristics.hpp.

References currObj_.

Referenced by CutGen::currObj().

int Heuristics::run (  ) 

Definition at line 182 of file Heuristics.cpp.

References bestObj_, currObj_, MNHeur(), processSol(), Tracer::setHeuristicsBestSolution(), Tracer::setHeuristicsCurrentSolution(), Tracer::setHeuristicsMNLPSolution(), Tracer::setHeuristicsMNLPSolutionLPHeuristicImprovement(), Tracer::setHeuristicsMNLPTime(), Tracer::setHeuristicsTime(), Tracer::setHeuristicsxxTSolution(), Tracer::setHeuristicsxxTSolutionLPHeuristicImprovement(), Tracer::setHeuristicsxxTTime(), Timer::start(), Timer::time(), tracer_, and xxTHeur().

Referenced by CutGen::updateSol().


Member Data Documentation

const int Heuristics::n_ [private]

Definition at line 22 of file Heuristics.hpp.

Referenced by Heuristics(), MNHeur(), processSol(), and xxTHeur().

const int Heuristics::t_ [private]

Definition at line 23 of file Heuristics.hpp.

Referenced by Heuristics(), heurLP_improveSolution(), MNHeur(), processSol(), update(), and xxTHeur().

int Heuristics::N_ [private]

Definition at line 24 of file Heuristics.hpp.

Referenced by Heuristics(), heurLP_improveSolution(), MNHeur(), processSol(), update(), and xxTHeur().

const int Heuristics::cons_ [private]

Definition at line 25 of file Heuristics.hpp.

Referenced by Heuristics(), heurLP_improveSolution(), MNHeur(), and processSol().

const double Heuristics::objConst_ [private]

Definition at line 26 of file Heuristics.hpp.

Referenced by MNHeur(), and processSol().

const double* Heuristics::b_ [private]

Definition at line 27 of file Heuristics.hpp.

Referenced by MNHeur(), and processSol().

const double* Heuristics::c_ [private]

Definition at line 28 of file Heuristics.hpp.

Referenced by MNHeur(), and processSol().

const double** Heuristics::Q_ [private]

Definition at line 29 of file Heuristics.hpp.

Referenced by MNHeur(), and processSol().

const double** Heuristics::origMat_ [private]

Definition at line 30 of file Heuristics.hpp.

Referenced by heurLP_improveSolution(), MNHeur(), and processSol().

const double* Heuristics::origRhs_ [private]

Definition at line 31 of file Heuristics.hpp.

Referenced by heurLP_improveSolution(), and processSol().

const char* Heuristics::origSense_ [private]

Definition at line 32 of file Heuristics.hpp.

Referenced by heurLP_improveSolution(), and processSol().

const double* Heuristics::xlb_ [private]

Definition at line 33 of file Heuristics.hpp.

Referenced by processSol().

const double* Heuristics::xub_ [private]

Definition at line 34 of file Heuristics.hpp.

Referenced by processSol().

const double* Heuristics::ylb_ [private]

Definition at line 35 of file Heuristics.hpp.

Referenced by processSol().

const double* Heuristics::yub_ [private]

Definition at line 36 of file Heuristics.hpp.

Referenced by processSol().

const OsiSolverInterface* Heuristics::si_ [private]

Definition at line 37 of file Heuristics.hpp.

Referenced by Heuristics(), MNHeur(), and xxTHeur().

double Heuristics::currObj_ [private]

Definition at line 39 of file Heuristics.hpp.

Referenced by currObj(), run(), and update().

double Heuristics::bestObj_ [private]

Definition at line 40 of file Heuristics.hpp.

Referenced by bestObj(), run(), and update().

double* Heuristics::bestSol_ [private]

Definition at line 41 of file Heuristics.hpp.

Referenced by bestSol(), Heuristics(), update(), and ~Heuristics().

bool* Heuristics::heurLbRowAdded_ [private]

Definition at line 43 of file Heuristics.hpp.

Referenced by Heuristics(), heurLP_improveSolution(), and ~Heuristics().

double* Heuristics::xxTSol_ [private]

Definition at line 47 of file Heuristics.hpp.

Referenced by Heuristics(), xxTHeur(), and ~Heuristics().

double* Heuristics::MNSol_ [private]

Definition at line 50 of file Heuristics.hpp.

Referenced by Heuristics(), MNHeur(), and ~Heuristics().

double* Heuristics::temp_row_ [private]

Definition at line 51 of file Heuristics.hpp.

Referenced by Heuristics(), MNHeur(), and ~Heuristics().

OsiXxxSolverInterface Heuristics::MNLPSi_ [private]

Definition at line 52 of file Heuristics.hpp.

Referenced by Heuristics(), and MNHeur().

OsiXxxSolverInterface Heuristics::heurLPimproveSi_ [private]

Definition at line 54 of file Heuristics.hpp.

Referenced by Heuristics(), and heurLP_improveSolution().

Tracer* Heuristics::tracer_ [private]

Definition at line 55 of file Heuristics.hpp.

Referenced by run().


The documentation for this class was generated from the following files:
Generated on Thu Nov 10 03:12:30 2011 by  doxygen 1.4.7