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);
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.
void fint fint fint real fint real real real real real real real real real fint real fint fint fint real fint fint fint fint * info
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 void generateCuts(const OsiSolverInterface &si, OsiCuts &cs, const CglTreeInfo info=CglTreeInfo()) const
Standard cut generation methods.
static void registerOptions(Ipopt::SmartPtr< Bonmin::RegisteredOptions > roptions)
Register ecp cuts options.
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)
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.