14 using namespace Couenne;
23 perfIndicator_ (p,
"Fixed Point LP"),
27 options -> GetStringValue (
"fixpoint_bt_model", s,
"couenne.");
29 options -> GetIntegerValue (
"fixpoint_bt",
levelStop_,
"couenne.");
35 extendedModel_ (rhs.extendedModel_),
36 problem_ (rhs.problem_),
37 firstCall_ (rhs.firstCall_),
38 CPUtime_ (rhs.CPUtime_),
39 nTightened_ (rhs.nTightened_),
40 perfIndicator_ (rhs.perfIndicator_),
41 levelStop_ (rhs.levelStop_) {}
51 roptions -> AddLowerBoundedIntegerOption
53 "The frequency (in terms of nodes) at which Fix Point Bound Tightening is performed.",
55 "A frequency of 0 (default) means these cuts are never generated. "
56 "Any positive number n instructs Couenne to generate them at every n nodes of the B&B tree. "
57 "A negative number -n means that generation should be attempted at the root node, and if successful it can be repeated at every n nodes, otherwise it is stopped altogether."
60 roptions -> AddStringOption2
62 "Choose whether to add an extended fixpoint LP model or a more compact one.",
64 "extended",
"Extended model with variables for lower/upper bounds of right-hand sides (see paper by Belotti, Cafieri, Lee, Liberti)",
65 "compact",
"Compact equivalent model obtained by projecting lower/upper bounds of rhs",
66 "The \"extended\" option is for debugging purposes; the compact formulation is equivalent and this option should be used");
CouenneFixPoint(CouenneProblem *, const Ipopt::SmartPtr< Ipopt::OptionsList >)
constructor
Cut Generator for FBBT fixpoint.
int levelStop_
Level at which to stop.
Class for MINLP problems with symbolic information.
void fint fint fint fint fint fint fint fint fint fint real real real real real real real real * s
static void registerOptions(Ipopt::SmartPtr< Bonmin::RegisteredOptions > roptions)
Add list of options to be read from file.
~CouenneFixPoint()
destructor
bool extendedModel_
should we use an extended model or a more compact one?