11 #ifndef COUENNEAGGRPROBING_HPP
12 #define COUENNEAGGRPROBING_HPP
17 #include "CglConfig.h"
18 #include "CglCutGenerator.hpp"
19 #include "OsiColCut.hpp"
20 #include "OsiSolverInterface.hpp"
58 const CglTreeInfo = CglTreeInfo ())
59 #if CGL_VERSION_MAJOR == 0 && CGL_VERSION_MINOR <= 57
Cut Generator for aggressive BT; i.e., an aggressive probing.
CouenneSetup * couenne_
Pointer to the CouenneProblem representation.
bool getRestoreCutoff() const
void setMaxNodes(int value)
Set/get maximum number of nodes to probe one variable.
void setMaxTime(double value)
Set/get maximum time to probe one variable.
bool restoreCutoff_
Restore initial cutoff (value and solution)?
static void registerOptions(Ipopt::SmartPtr< Bonmin::RegisteredOptions > roptions)
Add list of options to be read from file.
int numCols_
Number of columns (want to have this handy)
double initCutoff_
Initial cutoff.
double getMaxTime() const
double probeVariable(int index, bool probeLower)
Probe one variable (try to tigthen the lower or the upper bound, depending on the value of the second...
int maxFailedSteps_
Maximum number of failed iterations.
double probeVariable2(int index, bool lower)
Alternative probing algorithm.
~CouenneAggrProbing()
Destructor.
void generateCuts(const OsiSolverInterface &solver, OsiCuts &cuts, const CglTreeInfo=CglTreeInfo()) const
The main CglCutGenerator; not implemented yet.
int getMaxFailedSteps() const
void setMaxFailedSteps(int value)
Set/get maximum number of failed steps.
CouenneAggrProbing * clone() const
Clone method (necessary for the abstract CglCutGenerator class)
int maxNodes_
Maximum number of nodes in probing.
void setRestoreCutoff(bool value)
Set/get restoreCutoff parameter (should we restore the initial cutoff value after each probing run...
double maxTime_
Maximum time to probe one variable.
CouenneAggrProbing(CouenneSetup *couenne, const Ipopt::SmartPtr< Ipopt::OptionsList > options)
Constructor.