#include <BonEcpCuts.hpp>
Public Member Functions | |
EcpCuts (BabSetupBase &b) | |
EcpCuts (const EcpCuts ©) | |
Copy constructor. More... | |
CglCutGenerator * | clone () const |
clone More... | |
virtual | ~EcpCuts () |
Destructor. More... | |
virtual void | generateCuts (const OsiSolverInterface &si, OsiCuts &cs, const CglTreeInfo info=CglTreeInfo()) const |
Standard cut generation methods. More... | |
double | doEcpRounds (OsiSolverInterface &si, bool leaveSiUnchanged, double *violation=NULL) |
void | setNumRounds (int value) |
void | setPropabilityFactor (double value) |
void | setAbsViolationTolerance (double value) |
void | setRelViolationTolerance (double value) |
![]() | |
OaDecompositionBase (BabSetupBase &b, bool leaveSiUnchanged, bool reassignLpsolver) | |
New usefull constructor. More... | |
OaDecompositionBase (const OaDecompositionBase ©) | |
Copy constructor. More... | |
virtual | ~OaDecompositionBase () |
Destructor. More... | |
virtual void | generateCuts (const OsiSolverInterface &si, OsiCuts &cs, const CglTreeInfo info=CglTreeInfo()) |
Standard cut generation methods. More... | |
void | assignNlpInterface (OsiTMINLPInterface *nlp) |
Assign an OsiTMINLPInterface. More... | |
void | assignLpInterface (OsiSolverInterface *si) |
Assign an OsiTMINLPInterface. More... | |
bool | reassignLpsolver () |
void | setObjects (OsiObject **objects, int nObjects) |
Set objects. More... | |
void | setLeaveSiUnchanged (bool yesno) |
Set whether to leave the solverinterface unchanged. More... | |
Parameters & | parameter () |
const Parameters & | parameter () const |
void | setLogLevel (int level) |
void | setReassignLpSolver (bool v) |
void | passInMessageHandler (CoinMessageHandler *handler) |
Static Public Member Functions | |
static void | registerOptions (Ipopt::SmartPtr< Bonmin::RegisteredOptions > roptions) |
Register ecp cuts options. More... | |
Protected Member Functions | |
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. More... | |
virtual bool | doLocalSearch (BabInfo *babInfo) const |
virutal method to decide if local search is performed More... | |
![]() | |
void | setupMipSolver (BabSetupBase &b, const std::string &prefix) |
bool | post_nlp_solve (BabInfo *babInfo, double cutoff) const |
Solve the nlp and do output. More... | |
Private Attributes | |
double | objValue_ |
Record obj value at final point of Ecp. More... | |
double | violation_ |
Record NLP infeasibility at final point of Ecp. More... | |
int | numRounds_ |
maximum number of iterations of generation. More... | |
double | abs_violation_tol_ |
absolute tolerance for NLP constraint violation to stop ECP rounds More... | |
double | rel_violation_tol_ |
relative tolerance for NLP constraint violation to stop ECP rounds More... | |
double | beta_ |
Factor for probability for skipping cuts. More... | |
Additional Inherited Members | |
![]() | |
OsiTMINLPInterface * | nlp_ |
Pointer to nlp interface. More... | |
BabSetupBase * | s_ |
Pointer to setup. More... | |
int | nSolve_ |
Number of nlp solved done. More... | |
OsiSolverInterface * | lp_ |
A linear solver. More... | |
OsiObject ** | objects_ |
Some objects the feasiblitiy of which to verify. More... | |
int | nObjects_ |
Number of objects.*/. More... | |
int | nLocalSearch_ |
number of local searches performed More... | |
CoinMessageHandler * | handler_ |
messages handler. More... | |
CoinMessages | messages_ |
Messages for OA. More... | |
bool | leaveSiUnchanged_ |
Wether or not we should remove cuts at the end of the procedure. More... | |
bool | reassignLpsolver_ |
Do we need to reassign the lp solver with Cbc. More... | |
double | timeBegin_ |
time of construction More... | |
int | numSols_ |
number of solutions found by OA_decomposition. More... | |
Parameters | parameters_ |
Parameters. More... | |
OsiCuts | savedCuts_ |
Saved cuts: in some cases when using OA to check feasible solution algorithm may loop because Cbc removes inactive cuts. More... | |
int | currentNodeNumber_ |
Store the current node number. More... | |
Definition at line 17 of file BonEcpCuts.hpp.
Bonmin::EcpCuts::EcpCuts | ( | BabSetupBase & | b | ) |
Definition at line 18 of file BonEcpCuts.cpp.
|
inline |
Copy constructor.
Definition at line 23 of file BonEcpCuts.hpp.
|
inlinevirtual |
Destructor.
Definition at line 39 of file BonEcpCuts.hpp.
|
inline |
clone
Definition at line 33 of file BonEcpCuts.hpp.
|
virtual |
Standard cut generation methods.
Definition at line 46 of file BonEcpCuts.cpp.
double Bonmin::EcpCuts::doEcpRounds | ( | OsiSolverInterface & | si, |
bool | leaveSiUnchanged, | ||
double * | violation = NULL |
||
) |
Definition at line 29 of file BonEcpCuts.cpp.
Definition at line 48 of file BonEcpCuts.hpp.
|
inline |
Definition at line 53 of file BonEcpCuts.hpp.
|
inline |
Definition at line 58 of file BonEcpCuts.hpp.
|
inline |
Definition at line 62 of file BonEcpCuts.hpp.
|
static |
Register ecp cuts options.
Definition at line 146 of file BonEcpCuts.cpp.
|
inlineprotectedvirtual |
virtual method which performs the OA algorithm by modifying lp and nlp.
Implements Bonmin::OaDecompositionBase.
Definition at line 72 of file BonEcpCuts.hpp.
|
inlineprotectedvirtual |
virutal method to decide if local search is performed
Implements Bonmin::OaDecompositionBase.
Definition at line 78 of file BonEcpCuts.hpp.
|
mutableprivate |
Record obj value at final point of Ecp.
Definition at line 84 of file BonEcpCuts.hpp.
|
mutableprivate |
Record NLP infeasibility at final point of Ecp.
Definition at line 86 of file BonEcpCuts.hpp.
|
private |
maximum number of iterations of generation.
Definition at line 88 of file BonEcpCuts.hpp.
|
private |
absolute tolerance for NLP constraint violation to stop ECP rounds
Definition at line 90 of file BonEcpCuts.hpp.
|
private |
relative tolerance for NLP constraint violation to stop ECP rounds
Definition at line 92 of file BonEcpCuts.hpp.
|
private |
Factor for probability for skipping cuts.
Definition at line 94 of file BonEcpCuts.hpp.