Bonmin::OaDecompositionBase Class Reference

Base class for OA algorithms. More...

#include <BonOaDecBase.hpp>

Inheritance diagram for Bonmin::OaDecompositionBase:

Inheritance graph
[legend]
Collaboration diagram for Bonmin::OaDecompositionBase:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 OaDecompositionBase (OsiTMINLPInterface *nlp=NULL, OsiSolverInterface *si=NULL, CbcStrategy *strategy=NULL, double cbcCutoffIncrement_=1e-07, double cbcIntegerTolerance=1e-05, bool leaveSiUnchanged=0)
 Old usefull constructor.
 OaDecompositionBase (BabSetupBase &b, bool leaveSiUnchanged, bool reassignLpsolver)
 New usefull constructor.
 OaDecompositionBase (const OaDecompositionBase &copy)
 Copy constructor.
virtual ~OaDecompositionBase ()
 Destructor.
virtual void generateCuts (const OsiSolverInterface &si, OsiCuts &cs, const CglTreeInfo info=CglTreeInfo()) const
 Standard cut generation methods.
void assignNlpInterface (OsiTMINLPInterface *nlp)
 Assign an OsiTMINLPInterface.
void assignLpInterface (OsiSolverInterface *si)
 Assign an OsiTMINLPInterface.
bool reassignLpsolver ()
void setObjects (OsiObject **objects, int nObjects)
 Set objects.
void setLeaveSiUnchanged (bool yesno)
 Set whether to leave the solverinterface unchanged.
Parametersparameter ()
const Parametersparameter () const
void setLogLevel (int level)
void passInMessageHandler (CoinMessageHandler *handler)

Protected Member Functions

virtual double performOa (OsiCuts &cs, solverManip &nlpManip, solverManip &lpManip, SubMipSolver *&subMip, OsiBabSolver *babInfo, double &) const =0
 virtual method which performs the OA algorithm by modifying lp and nlp.
virtual bool doLocalSearch () const =0
 virutal method to decide if local search is performed
Protected helper functions
bool solveNlp (OsiBabSolver *babInfo, double cutoff) const
 Solve the nlp and do output.

Protected Attributes

Protected members
OsiTMINLPInterfacenlp_
 Pointer to nlp interface.
int nSolve_
 Number of nlp solved done.
OsiSolverInterfacelp_
 A linear solver.
OsiObject ** objects_
 Some objects the feasiblitiy of which to verify.
int nObjects_
 Number of objects.*/.
int nLocalSearch_
 number of local searches performed
CoinMessageHandlerhandler_
 messages handler.
CoinMessages messages_
 Messages for OA.
bool leaveSiUnchanged_
 Wether or not we should remove cuts at the end of the procedure.
bool reassignLpsolver_
 Do we need to reassign the lp solver with Cbc.
double timeBegin_
 time of construction
Parameters parameters_
 Parameters.

Classes

struct  Parameters
 Parameters for algorithm. More...
class  solverManip
 Small class to manipulatee various things in an OsiSolverInterface and restore them. More...
class  SubMipSolver
 Small class to perform the solution of sub-mips. More...

Detailed Description

Base class for OA algorithms.

Definition at line 31 of file BonOaDecBase.hpp.


Constructor & Destructor Documentation

Bonmin::OaDecompositionBase::OaDecompositionBase ( OsiTMINLPInterface nlp = NULL,
OsiSolverInterface si = NULL,
CbcStrategy strategy = NULL,
double  cbcCutoffIncrement_ = 1e-07,
double  cbcIntegerTolerance = 1e-05,
bool  leaveSiUnchanged = 0 
)

Old usefull constructor.

Bonmin::OaDecompositionBase::OaDecompositionBase ( BabSetupBase b,
bool  leaveSiUnchanged,
bool  reassignLpsolver 
)

New usefull constructor.

Bonmin::OaDecompositionBase::OaDecompositionBase ( const OaDecompositionBase copy  ) 

Copy constructor.

virtual Bonmin::OaDecompositionBase::~OaDecompositionBase (  )  [virtual]

Destructor.


Member Function Documentation

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

Standard cut generation methods.

Implements CglCutGenerator.

Reimplemented in Bonmin::EcpCuts.

void Bonmin::OaDecompositionBase::assignNlpInterface ( OsiTMINLPInterface nlp  )  [inline]

Assign an OsiTMINLPInterface.

Definition at line 238 of file BonOaDecBase.hpp.

References nlp_.

void Bonmin::OaDecompositionBase::assignLpInterface ( OsiSolverInterface si  )  [inline]

Assign an OsiTMINLPInterface.

Definition at line 244 of file BonOaDecBase.hpp.

References lp_.

bool Bonmin::OaDecompositionBase::reassignLpsolver (  )  [inline]

Definition at line 249 of file BonOaDecBase.hpp.

References reassignLpsolver_.

void Bonmin::OaDecompositionBase::setObjects ( OsiObject **  objects,
int  nObjects 
) [inline]

Set objects.

Definition at line 254 of file BonOaDecBase.hpp.

References nObjects_, and objects_.

void Bonmin::OaDecompositionBase::setLeaveSiUnchanged ( bool  yesno  )  [inline]

Set whether to leave the solverinterface unchanged.

Definition at line 260 of file BonOaDecBase.hpp.

References leaveSiUnchanged_.

Parameters& Bonmin::OaDecompositionBase::parameter (  )  [inline]

Definition at line 318 of file BonOaDecBase.hpp.

References parameters_.

const Parameters& Bonmin::OaDecompositionBase::parameter (  )  const [inline]

Definition at line 323 of file BonOaDecBase.hpp.

References parameters_.

void Bonmin::OaDecompositionBase::setLogLevel ( int  level  )  [inline]

Definition at line 328 of file BonOaDecBase.hpp.

References handler_, and CoinMessageHandler::setLogLevel().

void Bonmin::OaDecompositionBase::passInMessageHandler ( CoinMessageHandler handler  ) 

bool Bonmin::OaDecompositionBase::solveNlp ( OsiBabSolver babInfo,
double  cutoff 
) const [protected]

Solve the nlp and do output.

Returns:
true if feasible

virtual double Bonmin::OaDecompositionBase::performOa ( OsiCuts cs,
solverManip nlpManip,
solverManip lpManip,
SubMipSolver *&  subMip,
OsiBabSolver babInfo,
double &   
) const [protected, pure virtual]

virtual method which performs the OA algorithm by modifying lp and nlp.

virtual bool Bonmin::OaDecompositionBase::doLocalSearch (  )  const [protected, pure virtual]

virutal method to decide if local search is performed

Implemented in Bonmin::EcpCuts, Bonmin::OACutGenerator2, and Bonmin::OaFeasibilityChecker.


Member Data Documentation

OsiTMINLPInterface* Bonmin::OaDecompositionBase::nlp_ [mutable, protected]

Pointer to nlp interface.

Definition at line 352 of file BonOaDecBase.hpp.

Referenced by assignNlpInterface().

int Bonmin::OaDecompositionBase::nSolve_ [mutable, protected]

Number of nlp solved done.

Definition at line 354 of file BonOaDecBase.hpp.

OsiSolverInterface* Bonmin::OaDecompositionBase::lp_ [mutable, protected]

A linear solver.

Definition at line 356 of file BonOaDecBase.hpp.

Referenced by assignLpInterface().

OsiObject* * Bonmin::OaDecompositionBase::objects_ [protected]

Some objects the feasiblitiy of which to verify.

Definition at line 358 of file BonOaDecBase.hpp.

Referenced by setObjects().

int Bonmin::OaDecompositionBase::nObjects_ [protected]

Number of objects.*/.

Definition at line 360 of file BonOaDecBase.hpp.

Referenced by setObjects().

int Bonmin::OaDecompositionBase::nLocalSearch_ [mutable, protected]

number of local searches performed

Definition at line 362 of file BonOaDecBase.hpp.

CoinMessageHandler* Bonmin::OaDecompositionBase::handler_ [protected]

messages handler.

Definition at line 364 of file BonOaDecBase.hpp.

Referenced by setLogLevel().

CoinMessages Bonmin::OaDecompositionBase::messages_ [protected]

Messages for OA.

Definition at line 366 of file BonOaDecBase.hpp.

bool Bonmin::OaDecompositionBase::leaveSiUnchanged_ [protected]

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

Definition at line 368 of file BonOaDecBase.hpp.

Referenced by setLeaveSiUnchanged().

bool Bonmin::OaDecompositionBase::reassignLpsolver_ [protected]

Do we need to reassign the lp solver with Cbc.

Definition at line 370 of file BonOaDecBase.hpp.

Referenced by reassignLpsolver().

double Bonmin::OaDecompositionBase::timeBegin_ [protected]

time of construction

Definition at line 372 of file BonOaDecBase.hpp.

Parameters Bonmin::OaDecompositionBase::parameters_ [protected]

Parameters.

Definition at line 375 of file BonOaDecBase.hpp.

Referenced by parameter(), Bonmin::OaFeasibilityChecker::setStrategy(), and Bonmin::OACutGenerator2::setStrategy().


The documentation for this class was generated from the following file:
Generated on Sat Jun 21 03:19:21 2008 for Bonmin by  doxygen 1.4.7