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