6 #ifndef CbcHeuristicDive_H 7 #define CbcHeuristicDive_H 44 void generateCpp(FILE *fp,
const char *heuristic);
47 virtual void resetModel(
CbcModel *model);
50 virtual void setModel(
CbcModel *model);
59 virtual int solution(
double &objectiveValue,
62 int solution(
double &objectiveValue,
int &numberNodes,
63 int &numberCuts, OsiRowCut **cuts,
64 CbcSubProblem **&nodes,
71 int fathom(
CbcModel *model,
int &numberNodes, CbcSubProblem **&nodes);
74 virtual void validate();
80 void selectBinaryVariables();
85 percentageToFix_ = value;
91 maxIterations_ = value;
97 maxSimplexIterations_ = value;
102 return maxSimplexIterations_;
108 maxSimplexIterationsAtRoot_ = value;
118 virtual bool canHeuristicRun();
126 virtual bool selectVariableToBranch(OsiSolverInterface *solver,
127 const double *newSolution,
136 int reducedCostFix(OsiSolverInterface *solver);
138 virtual int fixOtherVariables(OsiSolverInterface *solver,
139 const double *solution,
141 const double *random);
void setMaxIterations(int value)
Set maximum number of iterations.
std::vector< int > vbRowIndex_
CoinPackedMatrix matrixByRow_
std::vector< int > binVarIndex_
void setPercentageToFix(double value)
Set percentage of integer variables to fix at bounds.
unsigned short * upLocks_
virtual void initializeData()
Initializes any data which is going to be used repeatedly in selectVariableToBranch.
void setMaxSimplexIterationsAtRoot(int value)
Set maximum number of simplex iterations at root node.
int maxSimplexIterationsAtRoot_
virtual void generateCpp(FILE *)
Create C++ lines to get to current state.
void setMaxSimplexIterations(int value)
Set maximum number of simplex iterations.
int maxSimplexIterations_
int maxSimplexIterations() const
Get maximum number of simplex iterations.
unsigned short * downLocks_
Simple Branch and bound class.
double * downArray_
Extra down array (number Integers long)
void setMaxTime(double value)
Set maximum time allowed.
double * upArray_
Extra up array (number Integers long)