Osi  trunk
OsiSolverBranch Class Reference

Solver Branch Class. More...

#include <OsiSolverBranch.hpp>

List of all members.

Public Member Functions

Add and Get methods
void addBranch (int iColumn, double value)
 Add a simple branch (i.e. first sets ub of floor(value), second lb of ceil(value))
void addBranch (int way, int numberTighterLower, const int *whichLower, const double *newLower, int numberTighterUpper, const int *whichUpper, const double *newUpper)
 Add bounds - way =-1 is first , +1 is second.
void addBranch (int way, int numberColumns, const double *oldLower, const double *newLower, const double *oldUpper, const double *newUpper)
 Add bounds - way =-1 is first , +1 is second.
void applyBounds (OsiSolverInterface &solver, int way) const
 Apply bounds.
bool feasibleOneWay (const OsiSolverInterface &solver) const
 Returns true if current solution satsifies one side of branch.
const int * starts () const
 Starts.
const int * which () const
 Which variables.
const double * bounds () const
 Bounds.
Constructors and destructors
 OsiSolverBranch ()
 Default Constructor.
 OsiSolverBranch (const OsiSolverBranch &rhs)
 Copy constructor.
OsiSolverBranchoperator= (const OsiSolverBranch &rhs)
 Assignment operator.
 ~OsiSolverBranch ()
 Destructor.

Private Attributes

Private member data
int start_ [5]
 Start of lower first, upper first, lower second, upper second.
int * indices_
 Column numbers (if >= numberColumns treat as rows)
double * bound_
 New bounds.

Detailed Description

Solver Branch Class.

This provides information on a branch as a set of tighter bounds on both ways

Definition at line 18 of file OsiSolverBranch.hpp.


Constructor & Destructor Documentation

Default Constructor.

Copy constructor.

Destructor.


Member Function Documentation

void OsiSolverBranch::addBranch ( int  iColumn,
double  value 
)

Add a simple branch (i.e. first sets ub of floor(value), second lb of ceil(value))

void OsiSolverBranch::addBranch ( int  way,
int  numberTighterLower,
const int *  whichLower,
const double *  newLower,
int  numberTighterUpper,
const int *  whichUpper,
const double *  newUpper 
)

Add bounds - way =-1 is first , +1 is second.

void OsiSolverBranch::addBranch ( int  way,
int  numberColumns,
const double *  oldLower,
const double *  newLower,
const double *  oldUpper,
const double *  newUpper 
)

Add bounds - way =-1 is first , +1 is second.

void OsiSolverBranch::applyBounds ( OsiSolverInterface solver,
int  way 
) const

Apply bounds.

bool OsiSolverBranch::feasibleOneWay ( const OsiSolverInterface solver) const

Returns true if current solution satsifies one side of branch.

const int* OsiSolverBranch::starts ( ) const [inline]

Starts.

Definition at line 38 of file OsiSolverBranch.hpp.

const int* OsiSolverBranch::which ( ) const [inline]

Which variables.

Definition at line 41 of file OsiSolverBranch.hpp.

const double* OsiSolverBranch::bounds ( ) const [inline]

Bounds.

Definition at line 44 of file OsiSolverBranch.hpp.

OsiSolverBranch& OsiSolverBranch::operator= ( const OsiSolverBranch rhs)

Assignment operator.


Member Data Documentation

int OsiSolverBranch::start_[5] [private]

Start of lower first, upper first, lower second, upper second.

Definition at line 69 of file OsiSolverBranch.hpp.

int* OsiSolverBranch::indices_ [private]

Column numbers (if >= numberColumns treat as rows)

Definition at line 71 of file OsiSolverBranch.hpp.

double* OsiSolverBranch::bound_ [private]

New bounds.

Definition at line 73 of file OsiSolverBranch.hpp.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines