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