Couenne 0.5.8
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | List of all members
Couenne::CouenneThreeWayBranchObj Class Reference

Spatial, three-way branching object. More...

#include <CouenneThreeWayBranchObj.hpp>

+ Inheritance diagram for Couenne::CouenneThreeWayBranchObj:
+ Collaboration diagram for Couenne::CouenneThreeWayBranchObj:

Public Member Functions

 CouenneThreeWayBranchObj (JnlstPtr jnlst, expression *, CouNumber, CouNumber, int=THREE_CENTER)
 Constructor.
 
 CouenneThreeWayBranchObj (const CouenneThreeWayBranchObj &src)
 Copy constructor.
 
virtual OsiBranchingObjectclone () const
 Cloning method.
 
virtual double branch (OsiSolverInterface *solver=NULL)
 Execute the actions required to branch, as specified by the current state of the branching object, and advance the object's state.
 
- 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 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

expressionbrVar_
 The variable this branching object refers to.
 
CouNumber lcrop_
 left divider
 
CouNumber rcrop_
 right divider
 
int firstBranch_
 First branch to be performed: 0 is left, 1 is central, 2 is right.
 
JnlstPtr jnlst_
 True if the associated variable is integer.
 
- Protected Attributes inherited from OsiBranchingObject
double value_
 
const OsiObjectoriginalObject_
 
int numberBranches_
 
short branchIndex_
 

Detailed Description

Spatial, three-way branching object.

Branching is performed on continuous variables but a better convexification is sought around the current point by dividing the interval in three parts

Definition at line 28 of file CouenneThreeWayBranchObj.hpp.

Constructor & Destructor Documentation

◆ CouenneThreeWayBranchObj() [1/2]

Couenne::CouenneThreeWayBranchObj::CouenneThreeWayBranchObj ( JnlstPtr  jnlst,
expression ,
CouNumber  ,
CouNumber  ,
int  = THREE_CENTER 
)

Constructor.

◆ CouenneThreeWayBranchObj() [2/2]

Couenne::CouenneThreeWayBranchObj::CouenneThreeWayBranchObj ( const CouenneThreeWayBranchObj src)
inline

Copy constructor.

Definition at line 42 of file CouenneThreeWayBranchObj.hpp.

Member Function Documentation

◆ clone()

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

Cloning method.

Implements OsiBranchingObject.

Definition at line 51 of file CouenneThreeWayBranchObj.hpp.

◆ branch()

virtual double Couenne::CouenneThreeWayBranchObj::branch ( OsiSolverInterface solver = NULL)
virtual

Execute the actions required to branch, as specified by the current state of the branching object, and advance the object's state.

Returns change in guessed objective on next (what does "next" mean here?) branch

Implements OsiBranchingObject.

Member Data Documentation

◆ brVar_

expression* Couenne::CouenneThreeWayBranchObj::brVar_
protected

The variable this branching object refers to.

If the corresponding CouenneObject was created on w=f(x,y), it is either x or y.

Definition at line 67 of file CouenneThreeWayBranchObj.hpp.

◆ lcrop_

CouNumber Couenne::CouenneThreeWayBranchObj::lcrop_
protected

left divider

Definition at line 69 of file CouenneThreeWayBranchObj.hpp.

◆ rcrop_

CouNumber Couenne::CouenneThreeWayBranchObj::rcrop_
protected

right divider

Definition at line 70 of file CouenneThreeWayBranchObj.hpp.

◆ firstBranch_

int Couenne::CouenneThreeWayBranchObj::firstBranch_
protected

First branch to be performed: 0 is left, 1 is central, 2 is right.

Definition at line 73 of file CouenneThreeWayBranchObj.hpp.

◆ jnlst_

JnlstPtr Couenne::CouenneThreeWayBranchObj::jnlst_
protected

True if the associated variable is integer.

SmartPointer to the Journalist

Definition at line 79 of file CouenneThreeWayBranchObj.hpp.


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