CbcHeuristicFPump Class Reference

Rounding class. More...

#include <CbcHeuristicFPump.hpp>

Inheritance diagram for CbcHeuristicFPump:

Inheritance graph
[legend]
Collaboration diagram for CbcHeuristicFPump:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 CbcHeuristicFPump ()
 CbcHeuristicFPump (CbcModel &model, double downValue=0.5, bool roundExpensive=false)
 CbcHeuristicFPump (const CbcHeuristicFPump &)
 ~CbcHeuristicFPump ()
virtual CbcHeuristicclone () const
 Clone.
virtual void generateCpp (FILE *fp)
 Create C++ lines to get to current state.
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.
void setMaximumPasses (int value)
 Set maximum passes (default 100).
int maximumPasses () const
 Get maximum passes (default 100).
void setMaximumTime (double value)
 Set maximum Time (default off) - also sets starttime to current.
double maximumTime () const
 Get maximum Time (default 0.0 == time limit off).

Protected Attributes

double startTime_
 Start time.
double maximumTime_
 Maximum Cpu seconds.
int maximumPasses_
 Maximum number of passes.
double downValue_
 If less than this round down.
bool roundExpensive_
 If true round to expensive.

Private Member Functions

CbcHeuristicFPumpoperator= (const CbcHeuristicFPump &rhs)
 Illegal Assignment operator.
int rounds (double *solution, const double *objective, bool roundExpensive=false, double downValue=0.5, int *flip=0)
 Rounds solution - down if < downValue If roundExpensive then always to more expnsive.

Detailed Description

Rounding class.

Definition at line 11 of file CbcHeuristicFPump.hpp.


Constructor & Destructor Documentation

CbcHeuristicFPump::CbcHeuristicFPump (  ) 

CbcHeuristicFPump::CbcHeuristicFPump ( CbcModel model,
double  downValue = 0.5,
bool  roundExpensive = false 
)

CbcHeuristicFPump::CbcHeuristicFPump ( const CbcHeuristicFPump  ) 

CbcHeuristicFPump::~CbcHeuristicFPump (  ) 


Member Function Documentation

virtual CbcHeuristic* CbcHeuristicFPump::clone (  )  const [virtual]

Clone.

Implements CbcHeuristic.

virtual void CbcHeuristicFPump::generateCpp ( FILE *  fp  )  [virtual]

Create C++ lines to get to current state.

Reimplemented from CbcHeuristic.

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

Resets stuff if model changes.

Implements CbcHeuristic.

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

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

Reimplemented from CbcHeuristic.

virtual int CbcHeuristicFPump::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.

It may make sense for user to call this outside Branch and Cut to get solution. Or normally is just at root node.

Implements CbcHeuristic.

void CbcHeuristicFPump::setMaximumPasses ( int  value  )  [inline]

Set maximum passes (default 100).

Definition at line 50 of file CbcHeuristicFPump.hpp.

References maximumPasses_.

int CbcHeuristicFPump::maximumPasses (  )  const [inline]

Get maximum passes (default 100).

Definition at line 53 of file CbcHeuristicFPump.hpp.

References maximumPasses_.

void CbcHeuristicFPump::setMaximumTime ( double  value  ) 

Set maximum Time (default off) - also sets starttime to current.

double CbcHeuristicFPump::maximumTime (  )  const [inline]

Get maximum Time (default 0.0 == time limit off).

Definition at line 58 of file CbcHeuristicFPump.hpp.

CbcHeuristicFPump& CbcHeuristicFPump::operator= ( const CbcHeuristicFPump rhs  )  [private]

Illegal Assignment operator.

int CbcHeuristicFPump::rounds ( double *  solution,
const double *  objective,
bool  roundExpensive = false,
double  downValue = 0.5,
int *  flip = 0 
) [private]

Rounds solution - down if < downValue If roundExpensive then always to more expnsive.

returns 0 if current is solution


Member Data Documentation

double CbcHeuristicFPump::startTime_ [protected]

Start time.

Definition at line 59 of file CbcHeuristicFPump.hpp.

double CbcHeuristicFPump::maximumTime_ [protected]

Maximum Cpu seconds.

Definition at line 66 of file CbcHeuristicFPump.hpp.

int CbcHeuristicFPump::maximumPasses_ [protected]

Maximum number of passes.

Definition at line 68 of file CbcHeuristicFPump.hpp.

Referenced by maximumPasses(), and setMaximumPasses().

double CbcHeuristicFPump::downValue_ [protected]

If less than this round down.

Definition at line 70 of file CbcHeuristicFPump.hpp.

bool CbcHeuristicFPump::roundExpensive_ [protected]

If true round to expensive.

Definition at line 72 of file CbcHeuristicFPump.hpp.


The documentation for this class was generated from the following file:
Generated on Thu May 15 21:59:57 2008 by  doxygen 1.4.7