11 #ifndef BonHeuristicInnerApproximation_HPP
12 #define BonHeuristicInnerApproximation_HPP
15 #include "CbcHeuristic.hpp"
16 #include "CbcStrategy.hpp"
37 virtual CbcHeuristic *
clone()
const {
50 virtual int solution(
double &solutionValue,
double *betterSolution);
71 const double *
x,
bool getObj);
74 const double *
x,
const double *
x2);
bool getMyInnerApproximation(OsiTMINLPInterface &si, OsiCuts &cs, int ind, const double *x, const double *x2)
Get an inner-approximation constraint obtained by drawing a chord linking the two given points x and ...
static void registerOptions(Ipopt::SmartPtr< Bonmin::RegisteredOptions > roptions)
Register the options common to all local search based heuristics.
BonminSetup * setup_
Setup to use for local searches (will make copies).
int nbAp_
Number of Approximation points.
This is class provides an Osi interface for a Mixed Integer Linear Program expressed as a TMINLP (so ...
void extractInnerApproximation(OsiTMINLPInterface &nlp, OsiSolverInterface &si, const double *x, bool getObj)
SubMipSolver * mip_
A subsolver for MIP.
A very simple class to provide a common interface for solving MIPs with Cplex and Cbc...
~HeuristicInnerApproximation()
Destructor.
virtual CbcHeuristic * clone() const
Clone.
HeuristicInnerApproximation & operator=(const HeuristicInnerApproximation &rhs)
Assignment operator.
virtual int solution(double &solutionValue, double *betterSolution)
Performs heuristic.
void Initialize(BonminSetup *setup)
Initialize method.
HeuristicInnerApproximation(BonminSetup *setup)
Constructor with setup.
virtual void resetModel(CbcModel *model)
Resets stuff if model changes.
int howOften_
How often to do (code can change)
void fint fint fint real fint real * x