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