5 #ifndef OsiSolverBranch_H 
    6 #define OsiSolverBranch_H 
   23   void addBranch(
int iColumn, 
double value);
 
   27   void addBranch(
int way, 
int numberTighterLower, 
const int *whichLower, 
const double *newLower,
 
   28     int numberTighterUpper, 
const int *whichUpper, 
const double *newUpper);
 
   30   void addBranch(
int way, 
int numberColumns, 
const double *oldLower, 
const double *newLower,
 
   31     const double *oldUpper, 
const double *newUpper);
 
   95     const double *upperBefore);
 
  138     const double *upperBefore);
 
int * indices_
Column numbers (if >= numberColumns treat as rows) 
 
void addBranch(int iColumn, double value)
Add a simple branch (i.e. first sets ub of floor(value), second lb of ceil(value)) ...
 
~OsiSolverBranch()
Destructor. 
 
int start_[5]
Start of lower first, upper first, lower second, upper second. 
 
const double * bounds() const 
Bounds. 
 
const double * dualSolution() const 
Dual solution. 
 
The default COIN simplex (basis-oriented) warm start class. 
 
Abstract Base Class for describing an interface to a solver. 
 
const int * starts() const 
Starts. 
 
double objectiveValue() const 
Objective value (as minimization) 
 
CoinWarmStartBasis basis_
Warm start information. 
 
double * bound_
New bounds. 
 
const int * which() const 
Which variables. 
 
OsiSolverResult()
Default Constructor. 
 
void createResult(const OsiSolverInterface &solver, const double *lowerBefore, const double *upperBefore)
Create result. 
 
const OsiSolverBranch & fixed() const 
Extra fixed. 
 
void restoreResult(OsiSolverInterface &solver) const 
Restore result. 
 
double objectiveValue_
Value of objective (if >= OsiSolverInterface::getInfinity() then infeasible) 
 
double * primalSolution_
Primal solution (numberColumns) 
 
OsiSolverResult & operator=(const OsiSolverResult &rhs)
Assignment operator. 
 
~OsiSolverResult()
Destructor. 
 
OsiSolverBranch fixed_
Which extra variables have been fixed (only way==-1 counts) 
 
OsiSolverBranch()
Default Constructor. 
 
const CoinWarmStartBasis & basis() const 
Get basis. 
 
OsiSolverBranch & operator=(const OsiSolverBranch &rhs)
Assignment operator. 
 
const double * primalSolution() const 
Primal solution. 
 
bool feasibleOneWay(const OsiSolverInterface &solver) const 
Returns true if current solution satsifies one side of branch. 
 
double * dualSolution_
Dual solution (numberRows) 
 
void applyBounds(OsiSolverInterface &solver, int way) const 
Apply bounds.