Go to the documentation of this file.
84 double *newSolution,
int numberColumns);
void * getExtraPointer() const
get pointer to extra info
void setSolver(const OsiSolverInterface *solver)
Update solver.
bool hasSolution(double &solutionValue, double *solution)
returns true if the object stores a solution, false otherwise.
OsiBabSolver & operator=(const OsiBabSolver &rhs)
Assignment operator.
const double * beforeLower() const
Pointer to lower bounds before branch (only if extraCharacteristics set)
OsiAuxInfo(void *appData=NULL)
void setExtraCharacteristics(int value)
Set bit mask for odd actions of solvers 1 - solution or bound arrays may move in mysterious ways e....
bool tryCuts() const
Says whether we want to try cuts at all.
const OsiSolverInterface * solver_
Solver to use for getting/setting solutions etc.
void setBeforeLower(const double *array)
Set pointer to lower bounds before branch (only if extraCharacteristics set)
virtual OsiAuxInfo * clone() const
Clone.
void setBeforeUpper(const double *array)
Set pointer to upper bounds before branch (only if extraCharacteristics set)
void setSolver(const OsiSolverInterface &solver)
Update solver.
bool solverAccurate() const
Returns true if can use solver objective or feasible values, otherwise use mipBound etc.
bool warmStart() const
Says whether we have a warm start (so can do strong branching)
void setSolution(const double *solution, int numberColumns, double objectiveValue)
Set solution and objective value.
bool solutionAddsCuts() const
Return true if getting solution may add cuts so hot start etc will be obsolete.
This class allows for a more structured use of algorithmic tweaking to an OsiSolverInterface.
void * appData_
Pointer to user-defined data structure.
int solverType_
Solver type 0 - normal LP solver 1 - DW - may also return heuristic solutions 2 - NLP solver or simil...
void setMipBound(double value)
Set mip bound (only used for some solvers)
const double * beforeLower_
Pointer to lower bounds before branch (only if extraCharacteristics set)
void setExtraPointer(void *extraInfo)
Set pointer to extra stuff.
const double * beforeUpper_
Pointer to upper bounds before branch (only if extraCharacteristics set)
const double * beforeUpper() const
Pointer to upper bounds before branch (only if extraCharacteristics set)
double mipBound() const
Get objective (well mip bound)
int extraCharacteristics_
Bit mask for odd actions of solvers 1 - solution or bound arrays may move in mysterious ways e....
double * bestSolution_
Best integer feasible solution.
void setSolverType(int value)
Sets solver type 0 - normal LP solver 1 - DW - may also return heuristic solutions 2 - NLP solver or ...
double bestObjectiveValue_
Objective value of best solution (if there is one) (minimization)
virtual OsiAuxInfo * clone() const
Clone.
void * extraInfo_
Pointer to extra info.
int solution(double &objectiveValue, double *newSolution, int numberColumns)
returns 0 if no heuristic solution, 1 if valid solution with better objective value than one passed i...
int sizeSolution_
Size of solution.
double bestObjectiveValue() const
Get objective value of saved solution.
int solverType() const
gets solver type 0 - normal LP solver 1 - DW - may also return heuristic solutions 2 - NLP solver or ...
OsiBabSolver(int solverType=0)
bool mipFeasible() const
Returns true if node feasible.
OsiAuxInfo & operator=(const OsiAuxInfo &rhs)
Assignment operator.
void * getApplicationData() const
Get application data.
int extraCharacteristics() const
Get bit mask for odd actions of solvers 1 - solution or bound arrays may move in mysterious ways e....
bool alwaysTryCutsAtRootNode() const
Return true if we should try cuts at root even if looks satisfied.
bool reducedCostsAccurate() const
Returns true if can use reduced costs for fixing.
Abstract Base Class for describing an interface to a solver.
This class allows for the use of more exotic solvers e.g.
double mipBound_
Current lower bound on solution ( if > 1.0e50 infeasible)