- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# OsiTwoWayBranchingObject Class Reference

This just adds two-wayness to a branching object. More...

`#include <OsiBranchingObject.hpp>`

Inheritance diagram for OsiTwoWayBranchingObject:

[legend]
Collaboration diagram for OsiTwoWayBranchingObject:

[legend]
List of all members.

## 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.

## Detailed Description

This just adds two-wayness to a branching object.

Definition at line 452 of file OsiBranchingObject.hpp.

## Constructor & Destructor Documentation

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.

## Member Function Documentation

OsiTwoWayBranchingObject& OsiTwoWayBranchingObject::operator= | ( | const OsiTwoWayBranchingObject & | rhs | ) |

Assignment operator.

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 485 of file OsiBranchingObject.hpp.

References firstBranch_.

int OsiTwoWayBranchingObject::way | ( |  | ) | const`[inline]`

Way returns -1 on down +1 on up.

Definition at line 487 of file OsiBranchingObject.hpp.

References OsiBranchingObject::branchIndex_, and firstBranch_.

## Member Data Documentation

int OsiTwoWayBranchingObject::firstBranch_`[protected]`

Which way was first branch -1 = down, +1 = up.

Definition at line 491 of file OsiBranchingObject.hpp.

Referenced by firstBranch(), and way().

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

- /home/coin/SVN-release/Osi-0.98.1/Osi/src/OsiBranchingObject.hpp