Couenne 0.5.8
Loading...
Searching...
No Matches
Couenne::CouenneSOSBranchingObject Class Reference

#include <CouenneSOSObject.hpp>

+ Inheritance diagram for Couenne::CouenneSOSBranchingObject:
+ Collaboration diagram for Couenne::CouenneSOSBranchingObject:

Public Member Functions

 CouenneSOSBranchingObject ()
 
 CouenneSOSBranchingObject (CouenneProblem *p, exprVar *ref, OsiSolverInterface *solver, const OsiSOS *originalObject, int way, double separator, JnlstPtr jnlst, bool doFBBT, bool doConvCuts)
 
 CouenneSOSBranchingObject (const CouenneSOSBranchingObject &src)
 
virtual OsiBranchingObjectclone () const
 Clone.
 
virtual double branch (OsiSolverInterface *solver)
 Does next branch and updates state.
 
- Public Member Functions inherited from OsiSOSBranchingObject
 OsiSOSBranchingObject ()
 
 OsiSOSBranchingObject (OsiSolverInterface *solver, const OsiSOS *originalObject, int way, double separator)
 
 OsiSOSBranchingObject (const OsiSOSBranchingObject &)
 
OsiSOSBranchingObjectoperator= (const OsiSOSBranchingObject &rhs)
 
virtual ~OsiSOSBranchingObject ()
 
virtual void print (const OsiSolverInterface *solver=NULL)
 
virtual double branch ()
 
virtual void print (const OsiSolverInterface *=NULL) const
 
- Public Member Functions inherited from OsiTwoWayBranchingObject
 OsiTwoWayBranchingObject ()
 
 OsiTwoWayBranchingObject (OsiSolverInterface *solver, const OsiObject *originalObject, int way, double value)
 
 OsiTwoWayBranchingObject (const OsiTwoWayBranchingObject &)
 
OsiTwoWayBranchingObjectoperator= (const OsiTwoWayBranchingObject &rhs)
 
virtual ~OsiTwoWayBranchingObject ()
 
int firstBranch () const
 
int way () const
 
virtual double branch ()
 
- Public Member Functions inherited from OsiBranchingObject
 OsiBranchingObject ()
 
 OsiBranchingObject (OsiSolverInterface *solver, double value)
 
 OsiBranchingObject (const OsiBranchingObject &)
 
OsiBranchingObjectoperator= (const OsiBranchingObject &rhs)
 
virtual ~OsiBranchingObject ()
 
int numberBranches () const
 
int numberBranchesLeft () const
 
void incrementNumberBranchesLeft ()
 
void setNumberBranchesLeft (int)
 
void decrementNumberBranchesLeft ()
 
virtual bool boundBranch () const
 
int branchIndex () const
 
void setBranchingIndex (int branchIndex)
 
double value () const
 
const OsiObjectoriginalObject () const
 
void setOriginalObject (const OsiObject *object)
 
virtual void checkIsCutoff (double)
 
int columnNumber () const
 

Protected Attributes

CouenneProblemproblem_
 pointer to Couenne problem
 
exprVarreference_
 The (auxiliary) variable this branching object refers to.
 
JnlstPtr jnlst_
 SmartPointer to the Journalist.
 
bool doFBBT_
 shall we do Feasibility based Bound Tightening (FBBT) at branching?
 
bool doConvCuts_
 shall we add convexification cuts at branching?
 
- Protected Attributes inherited from OsiTwoWayBranchingObject
int firstBranch_
 
- Protected Attributes inherited from OsiBranchingObject
double value_
 
const OsiObjectoriginalObject_
 
int numberBranches_
 
short branchIndex_
 

Detailed Description

Definition at line 27 of file CouenneSOSObject.hpp.

Constructor & Destructor Documentation

◆ CouenneSOSBranchingObject() [1/3]

Couenne::CouenneSOSBranchingObject::CouenneSOSBranchingObject ( )
inline

Definition at line 51 of file CouenneSOSObject.hpp.

◆ CouenneSOSBranchingObject() [2/3]

Couenne::CouenneSOSBranchingObject::CouenneSOSBranchingObject ( CouenneProblem * p,
exprVar * ref,
OsiSolverInterface * solver,
const OsiSOS * originalObject,
int way,
double separator,
JnlstPtr jnlst,
bool doFBBT,
bool doConvCuts )
inline

Definition at line 54 of file CouenneSOSObject.hpp.

◆ CouenneSOSBranchingObject() [3/3]

Couenne::CouenneSOSBranchingObject::CouenneSOSBranchingObject ( const CouenneSOSBranchingObject & src)
inline

Definition at line 73 of file CouenneSOSObject.hpp.

Member Function Documentation

◆ clone()

virtual OsiBranchingObject * Couenne::CouenneSOSBranchingObject::clone ( ) const
inlinevirtual

Clone.

Reimplemented from OsiSOSBranchingObject.

Definition at line 83 of file CouenneSOSObject.hpp.

◆ branch()

virtual double Couenne::CouenneSOSBranchingObject::branch ( OsiSolverInterface * solver)
virtual

Does next branch and updates state.

Reimplemented from OsiSOSBranchingObject.

Member Data Documentation

◆ problem_

CouenneProblem* Couenne::CouenneSOSBranchingObject::problem_
protected

pointer to Couenne problem

Definition at line 32 of file CouenneSOSObject.hpp.

◆ reference_

exprVar* Couenne::CouenneSOSBranchingObject::reference_
protected

The (auxiliary) variable this branching object refers to.

If the expression is w=f(x,y), this is w, as opposed to CouenneBranchingObject, where it would be either x or y.

Definition at line 37 of file CouenneSOSObject.hpp.

◆ jnlst_

JnlstPtr Couenne::CouenneSOSBranchingObject::jnlst_
protected

SmartPointer to the Journalist.

Definition at line 40 of file CouenneSOSObject.hpp.

◆ doFBBT_

bool Couenne::CouenneSOSBranchingObject::doFBBT_
protected

shall we do Feasibility based Bound Tightening (FBBT) at branching?

Definition at line 43 of file CouenneSOSObject.hpp.

◆ doConvCuts_

bool Couenne::CouenneSOSBranchingObject::doConvCuts_
protected

shall we add convexification cuts at branching?

Definition at line 46 of file CouenneSOSObject.hpp.


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