11 #ifndef BonIpoptHeuristic_HPP
12 #define BonIpoptHeuristic_HPP
14 #include "BonOsiTMINLPInterface.hpp"
15 #include "CbcHeuristic.hpp"
16 #include "BonOsiTMINLPInterface.hpp"
42 virtual CbcHeuristic *
clone()
const;
48 void setNlp (Bonmin::OsiTMINLPInterface &nlp,
bool cloneNlp =
true);
59 virtual int solution(
double & objectiveValue,
double * newSolution);
72 Bonmin::OsiTMINLPInterface *
nlp_;
NlpSolveHeuristic & operator=(const NlpSolveHeuristic &rhs)
Assignment operator.
virtual CbcHeuristic * clone() const
Clone.
const double maxNlpInf_0
A heuristic to call an NlpSolver if all CouenneObjects are close to be satisfied (for other integer o...
void setCouenneProblem(CouenneProblem *)
set the couenne problem to use.
Bonmin::OsiTMINLPInterface * nlp_
Pointer to an nlp solver interface.
static void registerOptions(Ipopt::SmartPtr< Bonmin::RegisteredOptions >)
initialize options
void setNumberSolvePerLevel(int value)
set number of nlp's solved for each given level of the tree
virtual int solution(double &objectiveValue, double *newSolution)
Run heuristic, return 1 if a better solution than the one passed is found and 0 otherwise.
int numberSolvePerLevel_
Number of nlp's solved for each given level of the tree.
bool hasCloned_
is nlp_ cloned or just a pointer?
double maxNlpInf_
maximum nlp infeasibility under which try to solve problem with Ipopt.
Class for MINLP problems with symbolic information.
void setNlp(Bonmin::OsiTMINLPInterface &nlp, bool cloneNlp=true)
Set the nlp solver.
NlpSolveHeuristic()
Default constructor.
CouenneProblem * couenne_
Pointer to a couenne representation of the problem.
virtual ~NlpSolveHeuristic()
Destructor.
virtual void resetModel(CbcModel *model)
Does nothing.
void setMaxNlpInf(double value)
set maxNlpInf.