Cbc  2.9.9
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | List of all members
OsiSOSBranchingObject Class Reference

Branching object for Special ordered sets. More...

#include <OsiBranchingObject.hpp>

+ Inheritance diagram for OsiSOSBranchingObject:
+ Collaboration diagram for OsiSOSBranchingObject:

Public Member Functions

 OsiSOSBranchingObject ()
 
 OsiSOSBranchingObject (OsiSolverInterface *solver, const OsiSOS *originalObject, int way, double separator)
 
 OsiSOSBranchingObject (const OsiSOSBranchingObject &)
 
OsiSOSBranchingObjectoperator= (const OsiSOSBranchingObject &rhs)
 
virtual OsiBranchingObjectclone () const
 Clone. More...
 
virtual ~OsiSOSBranchingObject ()
 
virtual double branch (OsiSolverInterface *solver)
 Does next branch and updates state. More...
 
virtual void print (const OsiSolverInterface *solver=NULL)
 Print something about branch - only if log level high. More...
 
- Public Member Functions inherited from OsiTwoWayBranchingObject
 OsiTwoWayBranchingObject ()
 Default constructor. More...
 
 OsiTwoWayBranchingObject (OsiSolverInterface *solver, const OsiObject *originalObject, int way, double value)
 Create a standard tw0-way branch object. More...
 
 OsiTwoWayBranchingObject (const OsiTwoWayBranchingObject &)
 Copy constructor. More...
 
OsiTwoWayBranchingObjectoperator= (const OsiTwoWayBranchingObject &rhs)
 Assignment operator. More...
 
virtual ~OsiTwoWayBranchingObject ()
 Destructor. More...
 
int firstBranch () const
 
int way () const
 Way returns -1 on down +1 on up. More...
 
- Public Member Functions inherited from OsiBranchingObject
 OsiBranchingObject ()
 Default Constructor. More...
 
 OsiBranchingObject (OsiSolverInterface *solver, double value)
 Constructor. More...
 
 OsiBranchingObject (const OsiBranchingObject &)
 Copy constructor. More...
 
OsiBranchingObjectoperator= (const OsiBranchingObject &rhs)
 Assignment operator. More...
 
virtual ~OsiBranchingObject ()
 Destructor. More...
 
int numberBranches () const
 The number of branch arms created for this branching object. More...
 
int numberBranchesLeft () const
 The number of branch arms left for this branching object. More...
 
void incrementNumberBranchesLeft ()
 Increment the number of branch arms left for this branching object. More...
 
void setNumberBranchesLeft (int)
 Set the number of branch arms left for this branching object Just for forcing. More...
 
void decrementNumberBranchesLeft ()
 Decrement the number of branch arms left for this branching object. More...
 
virtual double branch ()
 Execute the actions required to branch, as specified by the current state of the branching object, and advance the object's state. More...
 
virtual bool boundBranch () const
 Return true if branch should fix variables. More...
 
int branchIndex () const
 Get the state of the branching object This is just the branch index. More...
 
void setBranchingIndex (int branchIndex)
 Set the state of the branching object. More...
 
double value () const
 Current value. More...
 
const OsiObjectoriginalObject () const
 Return pointer back to object which created. More...
 
void setOriginalObject (const OsiObject *object)
 Set pointer back to object which created. More...
 
virtual void checkIsCutoff (double)
 Double checks in case node can change its mind! Returns objective value Can change objective etc. More...
 
int columnNumber () const
 For debug. More...
 
virtual void print (const OsiSolverInterface *=NULL) const
 Print something about branch - only if log level high. More...
 

Additional Inherited Members

- Protected Attributes inherited from OsiTwoWayBranchingObject
int firstBranch_
 Which way was first branch -1 = down, +1 = up. More...
 
- Protected Attributes inherited from OsiBranchingObject
double value_
 Current value - has some meaning about branch. More...
 
const OsiObjectoriginalObject_
 Pointer back to object which created. More...
 
int numberBranches_
 Number of branches. More...
 
short branchIndex_
 The state of the branching object. More...
 

Detailed Description

Branching object for Special ordered sets.

Definition at line 789 of file OsiBranchingObject.hpp.

Constructor & Destructor Documentation

OsiSOSBranchingObject::OsiSOSBranchingObject ( )
OsiSOSBranchingObject::OsiSOSBranchingObject ( OsiSolverInterface solver,
const OsiSOS originalObject,
int  way,
double  separator 
)
OsiSOSBranchingObject::OsiSOSBranchingObject ( const OsiSOSBranchingObject )
virtual OsiSOSBranchingObject::~OsiSOSBranchingObject ( )
virtual

Member Function Documentation

OsiSOSBranchingObject& OsiSOSBranchingObject::operator= ( const OsiSOSBranchingObject rhs)
virtual OsiBranchingObject* OsiSOSBranchingObject::clone ( ) const
virtual

Clone.

Implements OsiBranchingObject.

Reimplemented in OsiOldLinkBranchingObject.

virtual double OsiSOSBranchingObject::branch ( OsiSolverInterface solver)
virtual

Does next branch and updates state.

Implements OsiTwoWayBranchingObject.

Reimplemented in OsiOldLinkBranchingObject.

virtual void OsiSOSBranchingObject::print ( const OsiSolverInterface solver = NULL)
virtual

Print something about branch - only if log level high.

Reimplemented in OsiOldLinkBranchingObject.


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