IpCbcOACutGenerator2 Class Reference

#include <IpCbcOACutGenerator2.hpp>

Inheritance diagram for IpCbcOACutGenerator2:

Inheritance graph
[legend]
Collaboration diagram for IpCbcOACutGenerator2:

Collaboration graph
[legend]
List of all members.

Public Types

 Clp
 Cbc
 Cplex
 Other
enum  subSolver { Clp, Cbc, Cplex, Other }

Public Member Functions

 IpCbcOACutGenerator2 ()
 Default constructor.
 IpCbcOACutGenerator2 (IpoptInterface *nlp=NULL, OsiSolverInterface *si=NULL, CbcStrategy *strategy=NULL, double cbcCutoffIncrement_=1e-07, double cbcIntegerTolerance=1e-05, bool solveAuxiliaryProblem=1, bool leaveSiUnchanged=0)
 Usefull constructor.
 IpCbcOACutGenerator2 (const IpCbcOACutGenerator2 &copy)
 Copy constructor.
 ~IpCbcOACutGenerator2 ()
 Destructor.
void assignNlpInterface (IpoptInterface *nlp)
 Assign an IpoptInterface.
void assignLpInterface (OsiSolverInterface *si)
 Assign an IpoptInterface.
void setStrategy (const CbcStrategy &strategy)
virtual void generateCuts (const OsiSolverInterface &si, OsiCuts &cs, const CglTreeInfo info=CglTreeInfo()) const
 cut generation method
virtual CglCutGeneratorclone () const
 Clone.
int getNSolve ()
void setcbcCutoffIncrement (double value)
 Set value for cutoff increment.
void setcbcIntegerTolerance (double value)
 Set value for integer tolerance.
void setLocalSearchNodeLimit (int value)
 set max number of nodes for local search
void setMaxLocalSearchPerNode (int value)
 set max number of local searches per node
void setMaxLocalSearch (int value)
 set total max number of local searches
void setMaxLocalSearchTime (double time)
void setLogLevel (int value)
 set log level
CoinMessageHandlermessageHandler ()
void setLogFrequency (double value)
 Set log frequency.
void setSubMilpLogLevel (int value)
 set log level

Private Member Functions

void setTheNodeLimit ()
 Set the node limit to the interface.
void setTimeLimit (double time) const
 Set the time limit for b&b.
void setCutoff (double cutoff) const
 Set the cutoff for b&b.
double siBestObj (CbcModel *model=NULL) const
 Get bound on the solution value after doing partial local search.

Private Attributes

IpoptInterfacenlp_
 Pointer to the Ipopt interface.
int nSolve_
 Number of NLP resolution done.
OsiSolverInterfacesi_
 A linear solver.
double cbcCutoffIncrement_
 cutoff min increase (has to be intialized trhough Cbc)
double cbcIntegerTolerance_
 integer tolerance (has to be the same as Cbc's)
int localSearchNodeLimit_
 Max number of nodes for local search.
int maxLocalSearchPerNode_
 Max number of local searches per node.
int maxLocalSearch_
 Total max number of local searches.
double maxLocalSearchTime_
 maximum time for local searches
int nLocalSearch_
 number of local searches performed
bool solveAuxiliaryProblem_
 set to 1 to solve an auxiliary NLP when infeasible assignment is encountered
CoinMessageHandlerhandler_
 messages handler.
CoinMessages messages_
 handler
int subMilpLogLevel_
 sub milp log level.
bool leaveSiUnchanged_
 Wether or not we should remove cuts at the end of the procedure.
CbcStrategystrategy_
 Strategy to apply when using Cbc as MILP sub-solver.
double timeBegin_
 time of construction
double logFrequency_
 Frequency of log.

Detailed Description

Definition at line 23 of file IpCbcOACutGenerator2.hpp.


Member Enumeration Documentation

enum IpCbcOACutGenerator2::subSolver

Enumerator:
Clp 
Cbc 
Cplex 
Other 

Definition at line 26 of file IpCbcOACutGenerator2.hpp.


Constructor & Destructor Documentation

IpCbcOACutGenerator2::IpCbcOACutGenerator2 (  ) 

Default constructor.

Referenced by clone().

IpCbcOACutGenerator2::IpCbcOACutGenerator2 ( IpoptInterface nlp = NULL,
OsiSolverInterface si = NULL,
CbcStrategy strategy = NULL,
double  cbcCutoffIncrement_ = 1e-07,
double  cbcIntegerTolerance = 1e-05,
bool  solveAuxiliaryProblem = 1,
bool  leaveSiUnchanged = 0 
)

Usefull constructor.

IpCbcOACutGenerator2::IpCbcOACutGenerator2 ( const IpCbcOACutGenerator2 copy  )  [inline]

Copy constructor.

Definition at line 40 of file IpCbcOACutGenerator2.hpp.

References CbcStrategy::clone(), CoinMessageHandler::clone(), CoinCpuTime(), handler_, strategy_, and timeBegin_.

IpCbcOACutGenerator2::~IpCbcOACutGenerator2 (  ) 

Destructor.


Member Function Documentation

void IpCbcOACutGenerator2::assignNlpInterface ( IpoptInterface nlp  ) 

Assign an IpoptInterface.

void IpCbcOACutGenerator2::assignLpInterface ( OsiSolverInterface si  ) 

Assign an IpoptInterface.

void IpCbcOACutGenerator2::setStrategy ( const CbcStrategy strategy  )  [inline]

Definition at line 72 of file IpCbcOACutGenerator2.hpp.

References CbcStrategy::clone(), and strategy_.

virtual void IpCbcOACutGenerator2::generateCuts ( const OsiSolverInterface si,
OsiCuts cs,
const CglTreeInfo  info = CglTreeInfo() 
) const [virtual]

cut generation method

Implements CglCutGenerator.

virtual CglCutGenerator* IpCbcOACutGenerator2::clone (  )  const [inline, virtual]

Clone.

Implements CglCutGenerator.

Definition at line 82 of file IpCbcOACutGenerator2.hpp.

References IpCbcOACutGenerator2().

int IpCbcOACutGenerator2::getNSolve (  )  [inline]

Definition at line 87 of file IpCbcOACutGenerator2.hpp.

References nSolve_.

void IpCbcOACutGenerator2::setcbcCutoffIncrement ( double  value  )  [inline]

Set value for cutoff increment.

Definition at line 92 of file IpCbcOACutGenerator2.hpp.

References cbcCutoffIncrement_.

void IpCbcOACutGenerator2::setcbcIntegerTolerance ( double  value  )  [inline]

Set value for integer tolerance.

Definition at line 97 of file IpCbcOACutGenerator2.hpp.

References cbcIntegerTolerance_.

void IpCbcOACutGenerator2::setLocalSearchNodeLimit ( int  value  )  [inline]

set max number of nodes for local search

Definition at line 102 of file IpCbcOACutGenerator2.hpp.

References localSearchNodeLimit_, setTheNodeLimit(), and si_.

void IpCbcOACutGenerator2::setMaxLocalSearchPerNode ( int  value  )  [inline]

set max number of local searches per node

Definition at line 109 of file IpCbcOACutGenerator2.hpp.

References maxLocalSearchPerNode_.

void IpCbcOACutGenerator2::setMaxLocalSearch ( int  value  )  [inline]

set total max number of local searches

Definition at line 114 of file IpCbcOACutGenerator2.hpp.

References maxLocalSearch_.

void IpCbcOACutGenerator2::setMaxLocalSearchTime ( double  time  )  [inline]

Definition at line 119 of file IpCbcOACutGenerator2.hpp.

References maxLocalSearchTime_.

void IpCbcOACutGenerator2::setLogLevel ( int  value  )  [inline]

set log level

Definition at line 124 of file IpCbcOACutGenerator2.hpp.

References handler_, and CoinMessageHandler::setLogLevel().

CoinMessageHandler* IpCbcOACutGenerator2::messageHandler (  )  [inline]

Definition at line 130 of file IpCbcOACutGenerator2.hpp.

References handler_.

void IpCbcOACutGenerator2::setLogFrequency ( double  value  )  [inline]

Set log frequency.

Definition at line 134 of file IpCbcOACutGenerator2.hpp.

References logFrequency_.

void IpCbcOACutGenerator2::setSubMilpLogLevel ( int  value  )  [inline]

set log level

Definition at line 139 of file IpCbcOACutGenerator2.hpp.

References subMilpLogLevel_.

void IpCbcOACutGenerator2::setTheNodeLimit (  )  [private]

Set the node limit to the interface.

Referenced by setLocalSearchNodeLimit().

void IpCbcOACutGenerator2::setTimeLimit ( double  time  )  const [private]

Set the time limit for b&b.

void IpCbcOACutGenerator2::setCutoff ( double  cutoff  )  const [private]

Set the cutoff for b&b.

double IpCbcOACutGenerator2::siBestObj ( CbcModel model = NULL  )  const [private]

Get bound on the solution value after doing partial local search.


Member Data Documentation

IpoptInterface* IpCbcOACutGenerator2::nlp_ [private]

Pointer to the Ipopt interface.

Definition at line 153 of file IpCbcOACutGenerator2.hpp.

int IpCbcOACutGenerator2::nSolve_ [mutable, private]

Number of NLP resolution done.

Definition at line 155 of file IpCbcOACutGenerator2.hpp.

Referenced by getNSolve().

OsiSolverInterface* IpCbcOACutGenerator2::si_ [mutable, private]

A linear solver.

Definition at line 157 of file IpCbcOACutGenerator2.hpp.

Referenced by setLocalSearchNodeLimit().

double IpCbcOACutGenerator2::cbcCutoffIncrement_ [private]

cutoff min increase (has to be intialized trhough Cbc)

Definition at line 159 of file IpCbcOACutGenerator2.hpp.

Referenced by setcbcCutoffIncrement().

double IpCbcOACutGenerator2::cbcIntegerTolerance_ [private]

integer tolerance (has to be the same as Cbc's)

Definition at line 161 of file IpCbcOACutGenerator2.hpp.

Referenced by setcbcIntegerTolerance().

int IpCbcOACutGenerator2::localSearchNodeLimit_ [private]

Max number of nodes for local search.

Definition at line 163 of file IpCbcOACutGenerator2.hpp.

Referenced by setLocalSearchNodeLimit().

int IpCbcOACutGenerator2::maxLocalSearchPerNode_ [private]

Max number of local searches per node.

Definition at line 165 of file IpCbcOACutGenerator2.hpp.

Referenced by setMaxLocalSearchPerNode().

int IpCbcOACutGenerator2::maxLocalSearch_ [private]

Total max number of local searches.

Definition at line 167 of file IpCbcOACutGenerator2.hpp.

Referenced by setMaxLocalSearch().

double IpCbcOACutGenerator2::maxLocalSearchTime_ [private]

maximum time for local searches

Definition at line 169 of file IpCbcOACutGenerator2.hpp.

Referenced by setMaxLocalSearchTime().

int IpCbcOACutGenerator2::nLocalSearch_ [mutable, private]

number of local searches performed

Definition at line 171 of file IpCbcOACutGenerator2.hpp.

bool IpCbcOACutGenerator2::solveAuxiliaryProblem_ [private]

set to 1 to solve an auxiliary NLP when infeasible assignment is encountered

Definition at line 173 of file IpCbcOACutGenerator2.hpp.

CoinMessageHandler* IpCbcOACutGenerator2::handler_ [private]

messages handler.

Definition at line 175 of file IpCbcOACutGenerator2.hpp.

Referenced by IpCbcOACutGenerator2(), messageHandler(), and setLogLevel().

CoinMessages IpCbcOACutGenerator2::messages_ [private]

handler

Definition at line 177 of file IpCbcOACutGenerator2.hpp.

int IpCbcOACutGenerator2::subMilpLogLevel_ [private]

sub milp log level.

Definition at line 179 of file IpCbcOACutGenerator2.hpp.

Referenced by setSubMilpLogLevel().

bool IpCbcOACutGenerator2::leaveSiUnchanged_ [private]

Wether or not we should remove cuts at the end of the procedure.

Definition at line 181 of file IpCbcOACutGenerator2.hpp.

CbcStrategy* IpCbcOACutGenerator2::strategy_ [private]

Strategy to apply when using Cbc as MILP sub-solver.

Definition at line 183 of file IpCbcOACutGenerator2.hpp.

Referenced by IpCbcOACutGenerator2(), and setStrategy().

double IpCbcOACutGenerator2::timeBegin_ [private]

time of construction

Definition at line 185 of file IpCbcOACutGenerator2.hpp.

Referenced by IpCbcOACutGenerator2().

double IpCbcOACutGenerator2::logFrequency_ [private]

Frequency of log.

Definition at line 187 of file IpCbcOACutGenerator2.hpp.

Referenced by setLogFrequency().


The documentation for this class was generated from the following file:
Generated on Fri May 16 21:15:08 2008 for Bonmin by  doxygen 1.4.7