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