10 #ifndef BonECPCuts_HPP
11 #define BonECPCuts_HPP
14 #include "CglCutGenerator.hpp"
42 virtual void generateCuts(
const OsiSolverInterface &si, OsiCuts & cs,
43 const CglTreeInfo info = CglTreeInfo())
const;
45 bool leaveSiUnchanged,
46 double* violation = NULL);
68 static void registerOptions(Ipopt::SmartPtr<Bonmin::RegisteredOptions> roptions);
73 BabInfo * babInfo,
double &cutoff,
const CglTreeInfo &info)
const
double violation_
Record NLP infeasibility at final point of Ecp.
Small class to manipulatee various things in an OsiSolverInterface and restore them.
virtual ~EcpCuts()
Destructor.
double abs_violation_tol_
absolute tolerance for NLP constraint violation to stop ECP rounds
void setNumRounds(int value)
EcpCuts(const EcpCuts ©)
Copy constructor.
virtual bool doLocalSearch(BabInfo *babInfo) const
virutal method to decide if local search is performed
double objValue_
Record obj value at final point of Ecp.
A class to have all elements necessary to setup a branch-and-bound.
double rel_violation_tol_
relative tolerance for NLP constraint violation to stop ECP rounds
double doEcpRounds(OsiSolverInterface &si, bool leaveSiUnchanged, double *violation=NULL)
void setPropabilityFactor(double value)
int numRounds_
maximum number of iterations of generation.
void setRelViolationTolerance(double value)
static void registerOptions(Ipopt::SmartPtr< Bonmin::RegisteredOptions > roptions)
Register ecp cuts options.
virtual double performOa(OsiCuts &cs, solverManip &lpManip, BabInfo *babInfo, double &cutoff, const CglTreeInfo &info) const
virtual method which performs the OA algorithm by modifying lp and nlp.
double beta_
Factor for probability for skipping cuts.
void setAbsViolationTolerance(double value)
CglCutGenerator * clone() const
clone
Base class for OA algorithms.
Bonmin class for passing info between components of branch-and-cuts.
virtual void generateCuts(const OsiSolverInterface &si, OsiCuts &cs, const CglTreeInfo info=CglTreeInfo()) const
Standard cut generation methods.