Osi 0.108.9
Loading...
Searching...
No Matches
List of all members
OsiSolverBranch Class Reference

Solver Branch Class. More...

#include <OsiSolverBranch.hpp>

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

◆ OsiSolverBranch() [1/2]

OsiSolverBranch::OsiSolverBranch ( )

Default Constructor.

◆ OsiSolverBranch() [2/2]

OsiSolverBranch::OsiSolverBranch ( const OsiSolverBranch & rhs)

Copy constructor.

◆ ~OsiSolverBranch()

OsiSolverBranch::~OsiSolverBranch ( )

Destructor.

Member Function Documentation

◆ addBranch() [1/3]

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

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

◆ addBranch() [2/3]

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.

◆ addBranch() [3/3]

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.

◆ applyBounds()

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

Apply bounds.

◆ feasibleOneWay()

bool OsiSolverBranch::feasibleOneWay ( const OsiSolverInterface & solver) const

Returns true if current solution satsifies one side of branch.

◆ starts()

const int * OsiSolverBranch::starts ( ) const
inline

Starts.

Definition at line 38 of file OsiSolverBranch.hpp.

◆ which()

const int * OsiSolverBranch::which ( ) const
inline

Which variables.

Definition at line 43 of file OsiSolverBranch.hpp.

◆ bounds()

const double * OsiSolverBranch::bounds ( ) const
inline

Bounds.

Definition at line 48 of file OsiSolverBranch.hpp.

◆ operator=()

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

Assignment operator.

Member Data Documentation

◆ start_

int OsiSolverBranch::start_[5]
private

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

Definition at line 74 of file OsiSolverBranch.hpp.

◆ indices_

int* OsiSolverBranch::indices_
private

Column numbers (if >= numberColumns treat as rows)

Definition at line 76 of file OsiSolverBranch.hpp.

◆ bound_

double* OsiSolverBranch::bound_
private

New bounds.

Definition at line 78 of file OsiSolverBranch.hpp.


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