This just adds two-wayness to a branching object. More...
#include <OsiBranchingObject.hpp>
Public Member Functions | |
OsiTwoWayBranchingObject () | |
Default constructor. | |
OsiTwoWayBranchingObject (OsiSolverInterface *solver, const OsiObject *originalObject, int way, double value) | |
Create a standard tw0-way branch object. | |
OsiTwoWayBranchingObject (const OsiTwoWayBranchingObject &) | |
Copy constructor. | |
OsiTwoWayBranchingObject & | operator= (const OsiTwoWayBranchingObject &rhs) |
Assignment operator. | |
virtual | ~OsiTwoWayBranchingObject () |
Destructor. | |
virtual double | branch (OsiSolverInterface *solver)=0 |
Sets the bounds for the variable according to the current arm of the branch and advances the object state to the next arm. | |
int | firstBranch () const |
int | way () const |
Way returns -1 on down +1 on up. | |
Protected Attributes | |
int | firstBranch_ |
Which way was first branch -1 = down, +1 = up. |
This just adds two-wayness to a branching object.
Definition at line 452 of file OsiBranchingObject.hpp.
OsiTwoWayBranchingObject::OsiTwoWayBranchingObject | ( | ) |
Default constructor.
OsiTwoWayBranchingObject::OsiTwoWayBranchingObject | ( | OsiSolverInterface * | solver, | |
const OsiObject * | originalObject, | |||
int | way, | |||
double | value | |||
) |
Create a standard tw0-way branch object.
Specifies a simple two-way branch. Specify way = -1 to set the object state to perform the down arm first, way = 1 for the up arm.
OsiTwoWayBranchingObject::OsiTwoWayBranchingObject | ( | const OsiTwoWayBranchingObject & | ) |
Copy constructor.
virtual OsiTwoWayBranchingObject::~OsiTwoWayBranchingObject | ( | ) | [virtual] |
Destructor.
OsiTwoWayBranchingObject& OsiTwoWayBranchingObject::operator= | ( | const OsiTwoWayBranchingObject & | rhs | ) |
Assignment operator.
Reimplemented from OsiBranchingObject.
Reimplemented in OsiOldLinkBranchingObject, OsiLinkBranchingObject, OsiBiLinearBranchingObject, OsiIntegerBranchingObject, OsiSOSBranchingObject, and OsiLotsizeBranchingObject.
virtual double OsiTwoWayBranchingObject::branch | ( | OsiSolverInterface * | solver | ) | [pure virtual] |
Sets the bounds for the variable according to the current arm of the branch and advances the object state to the next arm.
state. Returns change in guessed objective on next branch
Implements OsiBranchingObject.
Implemented in OsiOldLinkBranchingObject, OsiLinkBranchingObject, OsiBiLinearBranchingObject, OsiIntegerBranchingObject, OsiSOSBranchingObject, and OsiLotsizeBranchingObject.
int OsiTwoWayBranchingObject::firstBranch | ( | ) | const [inline] |
Definition at line 485 of file OsiBranchingObject.hpp.
int OsiTwoWayBranchingObject::way | ( | ) | const [inline] |
Way returns -1 on down +1 on up.
Definition at line 487 of file OsiBranchingObject.hpp.
int OsiTwoWayBranchingObject::firstBranch_ [protected] |
Which way was first branch -1 = down, +1 = up.
Definition at line 491 of file OsiBranchingObject.hpp.