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 460 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 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 OsiIntegerBranchingObject, OsiSOSBranchingObject, and OsiLotsizeBranchingObject.
int OsiTwoWayBranchingObject::firstBranch | ( | ) | const [inline] |
Definition at line 493 of file OsiBranchingObject.hpp.
int OsiTwoWayBranchingObject::way | ( | ) | const [inline] |
Way returns -1 on down +1 on up.
Definition at line 495 of file OsiBranchingObject.hpp.
int OsiTwoWayBranchingObject::firstBranch_ [protected] |
Which way was first branch -1 = down, +1 = up.
Definition at line 499 of file OsiBranchingObject.hpp.