6 #ifndef CbcHeuristicLocal_H 7 #define CbcHeuristicLocal_H 57 virtual int solution(
double & objectiveValue,
58 double * newSolution);
69 inline int *
used()
const {
125 virtual int solution(
double & objectiveValue,
126 double * newSolution);
129 { increment_ = value;}
190 virtual int solution(
double & objectiveValue,
191 double * newSolution);
249 virtual int solution(
double & objectiveValue,
250 double * newSolution);
254 if (value > 0 && value <= 10)
int * used_
Whether a variable has been in a solution (also when)
virtual CbcHeuristic * clone() const
Clone.
double large_
Data Large value.
Naive class a) Fix all ints as close to zero as possible b) Fix all ints with nonzero costs and < lar...
void setIncrement(double value)
Set extra increment.
void setSearchType(int value)
Sets type of search.
std::vector< double > attempts_
Attempts.
CbcHeuristicFPump * feasibilityPump_
Copy of Feasibility pump.
int numberSolutions_
Number of solutions so we only do after new solution.
int useNumber_
Number of solutions to use.
virtual void setModel(CbcModel *model)
update model (This is needed if cliques update matrix etc)
void setNumberSolutions(int value)
Sets number of solutions to use.
int * used() const
Used array so we can set.
int * used_
Whether a variable has been in a solution (also when)
void setLargeValue(double value)
Sets large cost value.
CbcHeuristicLocal & operator=(const CbcHeuristicLocal &rhs)
Assignment operator.
int solutionFix(double &objectiveValue, double *newSolution, const int *keep)
This version fixes stuff and does IP.
virtual void generateCpp(FILE *fp)
Create C++ lines to get to current state.
virtual int solution(double &objectiveValue, double *newSolution)=0
returns 0 if no solution, 1 if valid solution with better objective value than one passed in Sets sol...
int * used() const
Used array so we can set.
double increment_
Increment to use if no change.
virtual void resetModel(CbcModel *model)
Resets stuff if model changes.
Simple Branch and bound class.
virtual int solution(double &objectiveValue, double *newSolution)
returns 0 if no solution, 1 if valid solution.
int numberSolutions_
Number of solutions so we only do after new solution.
double largeValue() const
Gets large cost value.