CbcHeuristicDive Class Reference

Dive class. More...

#include <CbcHeuristicDive.hpp>

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

List of all members.

Public Member Functions

 CbcHeuristicDive ()
 CbcHeuristicDive (CbcModel &model)
 CbcHeuristicDive (const CbcHeuristicDive &)
 ~CbcHeuristicDive ()
virtual CbcHeuristicDiveclone () const =0
 Clone.
CbcHeuristicDiveoperator= (const CbcHeuristicDive &rhs)
 Assignment operator.
virtual void generateCpp (FILE *fp)
 Create C++ lines to get to current state.
void generateCpp (FILE *fp, const char *heuristic)
 Create C++ lines to get to current state - does work for base class.
virtual void resetModel (CbcModel *model)
 Resets stuff if model changes.
virtual void setModel (CbcModel *model)
 update model (This is needed if cliques update matrix etc)
virtual int solution (double &objectiveValue, double *newSolution)
 returns 0 if no solution, 1 if valid solution with better objective value than one passed in Sets solution values if good, sets objective value (only if good) This is called after cuts have been added - so can not add cuts This does Fractional Diving
virtual void validate ()
 Validate model i.e. sets when_ to 0 if necessary (may be NULL).
void selectBinaryVariables ()
 Select candidate binary variables for fixing.
void setPercentageToFix (double value)
 Set percentage of integer variables to fix at bounds.
void setMaxIterations (int value)
 Set maximum number of iterations.
void setMaxTime (double value)
 Set maximum time allowed.
virtual bool canHeuristicRun ()
 Tests if the heuristic can run.
virtual void selectVariableToBranch (OsiSolverInterface *solver, const double *newSolution, int &bestColumn, int &bestRound)=0
 Selects the next variable to branch on.

Protected Attributes

CoinPackedMatrix matrix_
CoinPackedMatrix matrixByRow_
unsigned short * downLocks_
unsigned short * upLocks_
std::vector< int > binVarIndex_
std::vector< int > vbRowIndex_
double percentageToFix_
int maxIterations_
double maxTime_

Detailed Description

Dive class.

Definition at line 11 of file CbcHeuristicDive.hpp.


Constructor & Destructor Documentation

CbcHeuristicDive::CbcHeuristicDive (  ) 
CbcHeuristicDive::CbcHeuristicDive ( CbcModel model  ) 
CbcHeuristicDive::CbcHeuristicDive ( const CbcHeuristicDive  ) 
CbcHeuristicDive::~CbcHeuristicDive (  ) 

Member Function Documentation

virtual CbcHeuristicDive* CbcHeuristicDive::clone (  )  const [pure virtual]
CbcHeuristicDive& CbcHeuristicDive::operator= ( const CbcHeuristicDive rhs  ) 
virtual void CbcHeuristicDive::generateCpp ( FILE *  fp  )  [inline, virtual]

Create C++ lines to get to current state.

Reimplemented from CbcHeuristic.

Reimplemented in CbcHeuristicDiveCoefficient, CbcHeuristicDiveFractional, CbcHeuristicDiveGuided, and CbcHeuristicDiveVectorLength.

Definition at line 33 of file CbcHeuristicDive.hpp.

void CbcHeuristicDive::generateCpp ( FILE *  fp,
const char *  heuristic 
)

Create C++ lines to get to current state - does work for base class.

Reimplemented from CbcHeuristic.

virtual void CbcHeuristicDive::resetModel ( CbcModel model  )  [virtual]

Resets stuff if model changes.

Implements CbcHeuristic.

virtual void CbcHeuristicDive::setModel ( CbcModel model  )  [virtual]

update model (This is needed if cliques update matrix etc)

Reimplemented from CbcHeuristic.

virtual int CbcHeuristicDive::solution ( double &  objectiveValue,
double *  newSolution 
) [virtual]

returns 0 if no solution, 1 if valid solution with better objective value than one passed in Sets solution values if good, sets objective value (only if good) This is called after cuts have been added - so can not add cuts This does Fractional Diving

Implements CbcHeuristic.

virtual void CbcHeuristicDive::validate (  )  [virtual]

Validate model i.e. sets when_ to 0 if necessary (may be NULL).

Reimplemented from CbcHeuristic.

void CbcHeuristicDive::selectBinaryVariables (  ) 

Select candidate binary variables for fixing.

void CbcHeuristicDive::setPercentageToFix ( double  value  )  [inline]

Set percentage of integer variables to fix at bounds.

Definition at line 61 of file CbcHeuristicDive.hpp.

void CbcHeuristicDive::setMaxIterations ( int  value  )  [inline]

Set maximum number of iterations.

Definition at line 65 of file CbcHeuristicDive.hpp.

void CbcHeuristicDive::setMaxTime ( double  value  )  [inline]

Set maximum time allowed.

Definition at line 69 of file CbcHeuristicDive.hpp.

virtual bool CbcHeuristicDive::canHeuristicRun (  )  [virtual]

Tests if the heuristic can run.

Reimplemented in CbcHeuristicDiveGuided.

virtual void CbcHeuristicDive::selectVariableToBranch ( OsiSolverInterface solver,
const double *  newSolution,
int &  bestColumn,
int &  bestRound 
) [pure virtual]

Member Data Documentation

Definition at line 85 of file CbcHeuristicDive.hpp.

Definition at line 88 of file CbcHeuristicDive.hpp.

unsigned short* CbcHeuristicDive::downLocks_ [protected]

Definition at line 91 of file CbcHeuristicDive.hpp.

unsigned short* CbcHeuristicDive::upLocks_ [protected]

Definition at line 94 of file CbcHeuristicDive.hpp.

std::vector<int> CbcHeuristicDive::binVarIndex_ [protected]

Definition at line 98 of file CbcHeuristicDive.hpp.

std::vector<int> CbcHeuristicDive::vbRowIndex_ [protected]

Definition at line 101 of file CbcHeuristicDive.hpp.

Definition at line 104 of file CbcHeuristicDive.hpp.

Definition at line 107 of file CbcHeuristicDive.hpp.

double CbcHeuristicDive::maxTime_ [protected]

Definition at line 110 of file CbcHeuristicDive.hpp.


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

Generated on 15 Mar 2015 for Coin-All by  doxygen 1.6.1