6 #ifndef CbcHeuristicDive_H
7 #define CbcHeuristicDive_H
59 virtual int solution(
double &objectiveValue,
64 CbcSubProblem **&nodes,
127 const double *newSolution,
166 unsigned int direction : 3;
167 unsigned int priority : 29;
CoinPackedMatrix matrixByRow_
virtual void setModel(CbcModel *model)
update model (This is needed if cliques update matrix etc)
virtual CbcHeuristicDive * clone() const =0
Clone.
void setMaxTime(double value)
Set maximum time allowed.
virtual bool canHeuristicRun()
Tests if the heuristic can run.
int maxSimplexIterations() const
Get maximum number of simplex iterations.
virtual void resetModel(CbcModel *model)
Resets stuff if model changes.
Sparse Matrix Base Class.
virtual void generateCpp(FILE *)
Create C++ lines to get to current state.
void setMaxSimplexIterationsAtRoot(int value)
Set maximum number of simplex iterations at root node.
CbcHeuristicDive & operator=(const CbcHeuristicDive &rhs)
Assignment operator.
unsigned short * upLocks_
void setMaxSimplexIterations(int value)
Set maximum number of simplex iterations.
virtual int solution(double &objectiveValue, double *newSolution)
returns 0 if no solution, 1 if valid solution with better objective value than one passed in Sets sol...
int numberNodes() const
Gets number of nodes in a subtree (default 200)
int maxSimplexIterationsAtRoot_
virtual void initializeData()
Initializes any data which is going to be used repeatedly in selectVariableToBranch.
std::vector< int > vbRowIndex_
void selectBinaryVariables()
Select candidate binary variables for fixing.
virtual bool selectVariableToBranch(OsiSolverInterface *solver, const double *newSolution, int &bestColumn, int &bestRound)=0
Selects the next variable to branch on Returns true if all the fractional variables can be trivially ...
double * upArray_
Extra up array (number Integers long)
double * downArray_
Extra down array (number Integers long)
int fathom(CbcModel *model, int &numberNodes, CbcSubProblem **&nodes)
returns 0 if no solution, 1 if valid solution with better objective value than one passed in also ret...
Abstract Base Class for describing an interface to a solver.
int reducedCostFix(OsiSolverInterface *solver)
Perform reduced cost fixing on integer variables.
virtual int fixOtherVariables(OsiSolverInterface *solver, const double *solution, PseudoReducedCost *candidate, const double *random)
Fix other variables at bounds.
void setPercentageToFix(double value)
Set percentage of integer variables to fix at bounds.
void setMaxIterations(int value)
Set maximum number of iterations.
unsigned short * downLocks_
std::vector< int > binVarIndex_
virtual void validate()
Validate model i.e. sets when_ to 0 if necessary (may be NULL)
Simple Branch and bound class.
void setPriorities()
Sets priorities if any.
int maxSimplexIterations_