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