00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #include "BonRegisteredOptions.hpp"
00012 #include "CouenneCrossConv.hpp"
00013
00014 #include "CglCutGenerator.hpp"
00015 #include "CouenneJournalist.hpp"
00016 #include "IpOptionsList.hpp"
00017
00018 using namespace Couenne;
00019
00021 CouenneCrossConv::CouenneCrossConv (CouenneProblem *p,
00022 JnlstPtr,
00023 const Ipopt::SmartPtr <Ipopt::OptionsList>) {
00024 setup ();
00025 }
00026
00028 CouenneCrossConv::CouenneCrossConv (const CouenneCrossConv &src):
00029
00030 CglCutGenerator (src) {
00031 }
00032
00034 CouenneCrossConv::~CouenneCrossConv () {
00035
00036
00037 }
00038
00040 void CouenneCrossConv::registerOptions (Ipopt::SmartPtr <Bonmin::RegisteredOptions> roptions) {
00041
00042 roptions -> AddLowerBoundedIntegerOption
00043 ("crossconv_cuts",
00044 "The frequency (in terms of nodes) at which Couenne cross-aux convexification cuts are generated.",
00045 -99, 0,
00046 "A frequency of 0 (default) means these cuts are never generated. "
00047 "Any positive number n instructs Couenne to generate them at every n nodes of the B&B tree. "
00048 "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."
00049 );
00050 }