DyLP
1.10.4
|
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)) More... | |
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. More... | |
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. More... | |
void | applyBounds (OsiSolverInterface &solver, int way) const |
Apply bounds. More... | |
bool | feasibleOneWay (const OsiSolverInterface &solver) const |
Returns true if current solution satsifies one side of branch. More... | |
const int * | starts () const |
Starts. More... | |
const int * | which () const |
Which variables. More... | |
const double * | bounds () const |
Bounds. More... | |
Constructors and destructors | |
OsiSolverBranch () | |
Default Constructor. More... | |
OsiSolverBranch (const OsiSolverBranch &rhs) | |
Copy constructor. More... | |
OsiSolverBranch & | operator= (const OsiSolverBranch &rhs) |
Assignment operator. More... | |
~OsiSolverBranch () | |
Destructor. More... | |
Private Attributes | |
Private member data | |
int | start_ [5] |
Start of lower first, upper first, lower second, upper second. More... | |
int * | indices_ |
Column numbers (if >= numberColumns treat as rows) More... | |
double * | bound_ |
New bounds. More... | |
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.
OsiSolverBranch::OsiSolverBranch | ( | ) |
Default Constructor.
OsiSolverBranch::OsiSolverBranch | ( | const OsiSolverBranch & | rhs | ) |
Copy constructor.
OsiSolverBranch::~OsiSolverBranch | ( | ) |
Destructor.
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.
|
inline |
Starts.
Definition at line 38 of file OsiSolverBranch.hpp.
|
inline |
Which variables.
Definition at line 43 of file OsiSolverBranch.hpp.
|
inline |
Bounds.
Definition at line 48 of file OsiSolverBranch.hpp.
OsiSolverBranch& OsiSolverBranch::operator= | ( | const OsiSolverBranch & | rhs | ) |
Assignment operator.
|
private |
Start of lower first, upper first, lower second, upper second.
Definition at line 74 of file OsiSolverBranch.hpp.
|
private |
Column numbers (if >= numberColumns treat as rows)
Definition at line 76 of file OsiSolverBranch.hpp.
|
private |
New bounds.
Definition at line 78 of file OsiSolverBranch.hpp.