Couenne 0.5.8
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | List of all members
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 OsiBranchingObjectclone () const
 
virtual ~OsiSOSBranchingObject ()
 
virtual double branch (OsiSolverInterface *solver)
 
virtual void print (const OsiSolverInterface *solver=NULL)
 
virtual double branch (OsiSolverInterface *solver)=0
 
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 ()
 
virtual double branch (OsiSolverInterface *solver)=0
 
int firstBranch () const
 
int way () const
 
virtual double branch (OsiSolverInterface *solver)=0
 
virtual double branch ()
 
- Public Member Functions inherited from OsiBranchingObject
 OsiBranchingObject ()
 
 OsiBranchingObject (OsiSolverInterface *solver, double value)
 
 OsiBranchingObject (const OsiBranchingObject &)
 
OsiBranchingObjectoperator= (const OsiBranchingObject &rhs)
 
virtual OsiBranchingObjectclone () const=0
 
virtual ~OsiBranchingObject ()
 
int numberBranches () const
 
int numberBranchesLeft () const
 
void incrementNumberBranchesLeft ()
 
void setNumberBranchesLeft (int)
 
void decrementNumberBranchesLeft ()
 
virtual double branch (OsiSolverInterface *solver)=0
 
virtual double branch ()
 
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
 
virtual void print (const OsiSolverInterface *=NULL) 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: