#include <IpCbcOACutGenerator2.hpp>
Inheritance diagram for IpCbcOACutGenerator2:
Public Types | |
Clp | |
Cbc | |
Cplex | |
Other | |
enum | subSolver { Clp, Cbc, Cplex, Other } |
Public Member Functions | |
IpCbcOACutGenerator2 () | |
Default constructor. | |
IpCbcOACutGenerator2 (IpoptInterface *nlp=NULL, OsiSolverInterface *si=NULL, CbcStrategy *strategy=NULL, double cbcCutoffIncrement_=1e-07, double cbcIntegerTolerance=1e-05, bool solveAuxiliaryProblem=1, bool leaveSiUnchanged=0) | |
Usefull constructor. | |
IpCbcOACutGenerator2 (const IpCbcOACutGenerator2 ©) | |
Copy constructor. | |
~IpCbcOACutGenerator2 () | |
Destructor. | |
void | assignNlpInterface (IpoptInterface *nlp) |
Assign an IpoptInterface. | |
void | assignLpInterface (OsiSolverInterface *si) |
Assign an IpoptInterface. | |
void | setStrategy (const CbcStrategy &strategy) |
virtual void | generateCuts (const OsiSolverInterface &si, OsiCuts &cs, const CglTreeInfo info=CglTreeInfo()) const |
cut generation method | |
virtual CglCutGenerator * | clone () const |
Clone. | |
int | getNSolve () |
void | setcbcCutoffIncrement (double value) |
Set value for cutoff increment. | |
void | setcbcIntegerTolerance (double value) |
Set value for integer tolerance. | |
void | setLocalSearchNodeLimit (int value) |
set max number of nodes for local search | |
void | setMaxLocalSearchPerNode (int value) |
set max number of local searches per node | |
void | setMaxLocalSearch (int value) |
set total max number of local searches | |
void | setMaxLocalSearchTime (double time) |
void | setLogLevel (int value) |
set log level | |
CoinMessageHandler * | messageHandler () |
void | setLogFrequency (double value) |
Set log frequency. | |
void | setSubMilpLogLevel (int value) |
set log level | |
Private Member Functions | |
void | setTheNodeLimit () |
Set the node limit to the interface. | |
void | setTimeLimit (double time) const |
Set the time limit for b&b. | |
void | setCutoff (double cutoff) const |
Set the cutoff for b&b. | |
double | siBestObj (CbcModel *model=NULL) const |
Get bound on the solution value after doing partial local search. | |
Private Attributes | |
IpoptInterface * | nlp_ |
Pointer to the Ipopt interface. | |
int | nSolve_ |
Number of NLP resolution done. | |
OsiSolverInterface * | si_ |
A linear solver. | |
double | cbcCutoffIncrement_ |
cutoff min increase (has to be intialized trhough Cbc) | |
double | cbcIntegerTolerance_ |
integer tolerance (has to be the same as Cbc's) | |
int | localSearchNodeLimit_ |
Max number of nodes for local search. | |
int | maxLocalSearchPerNode_ |
Max number of local searches per node. | |
int | maxLocalSearch_ |
Total max number of local searches. | |
double | maxLocalSearchTime_ |
maximum time for local searches | |
int | nLocalSearch_ |
number of local searches performed | |
bool | solveAuxiliaryProblem_ |
set to 1 to solve an auxiliary NLP when infeasible assignment is encountered | |
CoinMessageHandler * | handler_ |
messages handler. | |
CoinMessages | messages_ |
handler | |
int | subMilpLogLevel_ |
sub milp log level. | |
bool | leaveSiUnchanged_ |
Wether or not we should remove cuts at the end of the procedure. | |
CbcStrategy * | strategy_ |
Strategy to apply when using Cbc as MILP sub-solver. | |
double | timeBegin_ |
time of construction | |
double | logFrequency_ |
Frequency of log. |
Definition at line 23 of file IpCbcOACutGenerator2.hpp.
IpCbcOACutGenerator2::IpCbcOACutGenerator2 | ( | ) |
IpCbcOACutGenerator2::IpCbcOACutGenerator2 | ( | IpoptInterface * | nlp = NULL , |
|
OsiSolverInterface * | si = NULL , |
|||
CbcStrategy * | strategy = NULL , |
|||
double | cbcCutoffIncrement_ = 1e-07 , |
|||
double | cbcIntegerTolerance = 1e-05 , |
|||
bool | solveAuxiliaryProblem = 1 , |
|||
bool | leaveSiUnchanged = 0 | |||
) |
Usefull constructor.
IpCbcOACutGenerator2::IpCbcOACutGenerator2 | ( | const IpCbcOACutGenerator2 & | copy | ) | [inline] |
Copy constructor.
Definition at line 40 of file IpCbcOACutGenerator2.hpp.
References CbcStrategy::clone(), CoinMessageHandler::clone(), CoinCpuTime(), handler_, strategy_, and timeBegin_.
IpCbcOACutGenerator2::~IpCbcOACutGenerator2 | ( | ) |
Destructor.
void IpCbcOACutGenerator2::assignNlpInterface | ( | IpoptInterface * | nlp | ) |
Assign an IpoptInterface.
void IpCbcOACutGenerator2::assignLpInterface | ( | OsiSolverInterface * | si | ) |
Assign an IpoptInterface.
void IpCbcOACutGenerator2::setStrategy | ( | const CbcStrategy & | strategy | ) | [inline] |
Definition at line 72 of file IpCbcOACutGenerator2.hpp.
References CbcStrategy::clone(), and strategy_.
virtual void IpCbcOACutGenerator2::generateCuts | ( | const OsiSolverInterface & | si, | |
OsiCuts & | cs, | |||
const CglTreeInfo | info = CglTreeInfo() | |||
) | const [virtual] |
virtual CglCutGenerator* IpCbcOACutGenerator2::clone | ( | ) | const [inline, virtual] |
Clone.
Implements CglCutGenerator.
Definition at line 82 of file IpCbcOACutGenerator2.hpp.
References IpCbcOACutGenerator2().
int IpCbcOACutGenerator2::getNSolve | ( | ) | [inline] |
void IpCbcOACutGenerator2::setcbcCutoffIncrement | ( | double | value | ) | [inline] |
Set value for cutoff increment.
Definition at line 92 of file IpCbcOACutGenerator2.hpp.
References cbcCutoffIncrement_.
void IpCbcOACutGenerator2::setcbcIntegerTolerance | ( | double | value | ) | [inline] |
Set value for integer tolerance.
Definition at line 97 of file IpCbcOACutGenerator2.hpp.
References cbcIntegerTolerance_.
void IpCbcOACutGenerator2::setLocalSearchNodeLimit | ( | int | value | ) | [inline] |
set max number of nodes for local search
Definition at line 102 of file IpCbcOACutGenerator2.hpp.
References localSearchNodeLimit_, setTheNodeLimit(), and si_.
void IpCbcOACutGenerator2::setMaxLocalSearchPerNode | ( | int | value | ) | [inline] |
set max number of local searches per node
Definition at line 109 of file IpCbcOACutGenerator2.hpp.
References maxLocalSearchPerNode_.
void IpCbcOACutGenerator2::setMaxLocalSearch | ( | int | value | ) | [inline] |
set total max number of local searches
Definition at line 114 of file IpCbcOACutGenerator2.hpp.
References maxLocalSearch_.
void IpCbcOACutGenerator2::setMaxLocalSearchTime | ( | double | time | ) | [inline] |
void IpCbcOACutGenerator2::setLogLevel | ( | int | value | ) | [inline] |
set log level
Definition at line 124 of file IpCbcOACutGenerator2.hpp.
References handler_, and CoinMessageHandler::setLogLevel().
CoinMessageHandler* IpCbcOACutGenerator2::messageHandler | ( | ) | [inline] |
void IpCbcOACutGenerator2::setLogFrequency | ( | double | value | ) | [inline] |
Set log frequency.
Definition at line 134 of file IpCbcOACutGenerator2.hpp.
References logFrequency_.
void IpCbcOACutGenerator2::setSubMilpLogLevel | ( | int | value | ) | [inline] |
void IpCbcOACutGenerator2::setTheNodeLimit | ( | ) | [private] |
void IpCbcOACutGenerator2::setTimeLimit | ( | double | time | ) | const [private] |
Set the time limit for b&b.
void IpCbcOACutGenerator2::setCutoff | ( | double | cutoff | ) | const [private] |
Set the cutoff for b&b.
double IpCbcOACutGenerator2::siBestObj | ( | CbcModel * | model = NULL |
) | const [private] |
Get bound on the solution value after doing partial local search.
IpoptInterface* IpCbcOACutGenerator2::nlp_ [private] |
int IpCbcOACutGenerator2::nSolve_ [mutable, private] |
Number of NLP resolution done.
Definition at line 155 of file IpCbcOACutGenerator2.hpp.
Referenced by getNSolve().
OsiSolverInterface* IpCbcOACutGenerator2::si_ [mutable, private] |
A linear solver.
Definition at line 157 of file IpCbcOACutGenerator2.hpp.
Referenced by setLocalSearchNodeLimit().
double IpCbcOACutGenerator2::cbcCutoffIncrement_ [private] |
cutoff min increase (has to be intialized trhough Cbc)
Definition at line 159 of file IpCbcOACutGenerator2.hpp.
Referenced by setcbcCutoffIncrement().
double IpCbcOACutGenerator2::cbcIntegerTolerance_ [private] |
integer tolerance (has to be the same as Cbc's)
Definition at line 161 of file IpCbcOACutGenerator2.hpp.
Referenced by setcbcIntegerTolerance().
int IpCbcOACutGenerator2::localSearchNodeLimit_ [private] |
Max number of nodes for local search.
Definition at line 163 of file IpCbcOACutGenerator2.hpp.
Referenced by setLocalSearchNodeLimit().
int IpCbcOACutGenerator2::maxLocalSearchPerNode_ [private] |
Max number of local searches per node.
Definition at line 165 of file IpCbcOACutGenerator2.hpp.
Referenced by setMaxLocalSearchPerNode().
int IpCbcOACutGenerator2::maxLocalSearch_ [private] |
Total max number of local searches.
Definition at line 167 of file IpCbcOACutGenerator2.hpp.
Referenced by setMaxLocalSearch().
double IpCbcOACutGenerator2::maxLocalSearchTime_ [private] |
maximum time for local searches
Definition at line 169 of file IpCbcOACutGenerator2.hpp.
Referenced by setMaxLocalSearchTime().
int IpCbcOACutGenerator2::nLocalSearch_ [mutable, private] |
bool IpCbcOACutGenerator2::solveAuxiliaryProblem_ [private] |
set to 1 to solve an auxiliary NLP when infeasible assignment is encountered
Definition at line 173 of file IpCbcOACutGenerator2.hpp.
CoinMessageHandler* IpCbcOACutGenerator2::handler_ [private] |
messages handler.
Definition at line 175 of file IpCbcOACutGenerator2.hpp.
Referenced by IpCbcOACutGenerator2(), messageHandler(), and setLogLevel().
CoinMessages IpCbcOACutGenerator2::messages_ [private] |
int IpCbcOACutGenerator2::subMilpLogLevel_ [private] |
sub milp log level.
Definition at line 179 of file IpCbcOACutGenerator2.hpp.
Referenced by setSubMilpLogLevel().
bool IpCbcOACutGenerator2::leaveSiUnchanged_ [private] |
Wether or not we should remove cuts at the end of the procedure.
Definition at line 181 of file IpCbcOACutGenerator2.hpp.
CbcStrategy* IpCbcOACutGenerator2::strategy_ [private] |
Strategy to apply when using Cbc as MILP sub-solver.
Definition at line 183 of file IpCbcOACutGenerator2.hpp.
Referenced by IpCbcOACutGenerator2(), and setStrategy().
double IpCbcOACutGenerator2::timeBegin_ [private] |
time of construction
Definition at line 185 of file IpCbcOACutGenerator2.hpp.
Referenced by IpCbcOACutGenerator2().
double IpCbcOACutGenerator2::logFrequency_ [private] |
Frequency of log.
Definition at line 187 of file IpCbcOACutGenerator2.hpp.
Referenced by setLogFrequency().