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 17 of file OsiSolverBranch.hpp.


Constructor & Destructor Documentation

OsiSolverBranch::OsiSolverBranch (  ) 

Default Constructor.

OsiSolverBranch::OsiSolverBranch ( const OsiSolverBranch rhs  ) 

Copy constructor.

OsiSolverBranch::~OsiSolverBranch (  ) 

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 37 of file OsiSolverBranch.hpp.

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

Which variables.

Definition at line 40 of file OsiSolverBranch.hpp.

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

Bounds.

Definition at line 43 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 68 of file OsiSolverBranch.hpp.

int* OsiSolverBranch::indices_ [private]

Column numbers (if >= numberColumns treat as rows).

Definition at line 70 of file OsiSolverBranch.hpp.

double* OsiSolverBranch::bound_ [private]

New bounds.

Definition at line 72 of file OsiSolverBranch.hpp.


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

Generated on 15 Mar 2015 for Coin-All by  doxygen 1.6.1