|
Bonmin 1.8.9
|
Base class for OA algorithms. More...
#include <BonOaDecBase.hpp>
Classes | |
| class | solverManip |
| Small class to manipulatee various things in an OsiSolverInterface and restore them. More... | |
| struct | Parameters |
| Parameters for algorithm. More... | |
Public Member Functions | |
| OaDecompositionBase (BabSetupBase &b, bool leaveSiUnchanged, bool reassignLpsolver) | |
| New usefull constructor. | |
| OaDecompositionBase (const OaDecompositionBase ©) | |
| Copy constructor. | |
| virtual | ~OaDecompositionBase () |
| Destructor. | |
| virtual void | generateCuts (const OsiSolverInterface &si, OsiCuts &cs, const CglTreeInfo info=CglTreeInfo()) |
| Standard cut generation methods. | |
| void | assignNlpInterface (OsiTMINLPInterface *nlp) |
| Assign an OsiTMINLPInterface. | |
| void | assignLpInterface (OsiSolverInterface *si) |
| Assign an OsiTMINLPInterface. | |
| bool | reassignLpsolver () |
| void | setObjects (OsiObject **objects, int nObjects) |
| Set objects. | |
| void | setLeaveSiUnchanged (bool yesno) |
| Set whether to leave the solverinterface unchanged. | |
| Parameters & | parameter () |
| const Parameters & | parameter () const |
| void | setLogLevel (int level) |
| void | setReassignLpSolver (bool v) |
| void | passInMessageHandler (CoinMessageHandler *handler) |
| Public Member Functions inherited from CglCutGenerator | |
| CglCutGenerator () | |
| CglCutGenerator (const CglCutGenerator &) | |
| virtual CglCutGenerator * | clone () const=0 |
| CglCutGenerator & | operator= (const CglCutGenerator &rhs) |
| virtual | ~CglCutGenerator () |
| virtual std::string | generateCpp (FILE *) |
| virtual void | refreshSolver (OsiSolverInterface *) |
| int | getAggressiveness () const |
| void | setAggressiveness (int value) |
| void | setGlobalCuts (bool trueOrFalse) |
| bool | canDoGlobalCuts () const |
| virtual bool | mayGenerateRowCutsInTree () const |
| virtual bool | needsOptimalBasis () const |
| virtual int | maximumLengthOfCutInTree () const |
| CglCutGenerator () | |
| CglCutGenerator (const CglCutGenerator &) | |
| virtual CglCutGenerator * | clone () const=0 |
| CglCutGenerator & | operator= (const CglCutGenerator &rhs) |
| virtual | ~CglCutGenerator () |
| virtual std::string | generateCpp (FILE *) |
| virtual void | refreshSolver (OsiSolverInterface *) |
Protected Member Functions | |
| void | setupMipSolver (BabSetupBase &b, const std::string &prefix) |
| virtual double | performOa (OsiCuts &cs, solverManip &lpManip, BabInfo *babInfo, double &, const CglTreeInfo &info) const =0 |
| virtual method which performs the OA algorithm by modifying lp and nlp. | |
| virtual bool | doLocalSearch (BabInfo *babInfo) const =0 |
| virutal method to decide if local search is performed | |
Protected helper functions | |
| bool | post_nlp_solve (BabInfo *babInfo, double cutoff) const |
| Solve the nlp and do output. | |
Protected Attributes | |
Protected members | |
| OsiTMINLPInterface * | nlp_ |
| Pointer to nlp interface. | |
| BabSetupBase * | s_ |
| Pointer to setup. | |
| int | nSolve_ |
| Number of nlp solved done. | |
| OsiSolverInterface * | lp_ |
| A linear solver. | |
| OsiObject ** | objects_ |
| Some objects the feasiblitiy of which to verify. | |
| int | nObjects_ |
| Number of objects.*/. | |
| int | nLocalSearch_ |
| number of local searches performed | |
| CoinMessageHandler * | handler_ |
| messages handler. | |
| CoinMessages | messages_ |
| Messages for OA. | |
| bool | leaveSiUnchanged_ |
| Wether or not we should remove cuts at the end of the procedure. | |
| bool | reassignLpsolver_ |
| Do we need to reassign the lp solver with Cbc. | |
| double | timeBegin_ |
| time of construction | |
| int | numSols_ |
| number of solutions found by OA_decomposition. | |
| Parameters | parameters_ |
| Parameters. | |
| OsiCuts | savedCuts_ |
| Saved cuts: in some cases when using OA to check feasible solution algorithm may loop because Cbc removes inactive cuts. | |
| int | currentNodeNumber_ |
| Store the current node number. | |
Additional Inherited Members | |
| Public Attributes inherited from CglCutGenerator | |
| int | aggressive_ |
| bool | canDoGlobalCuts_ |
Base class for OA algorithms.
Definition at line 27 of file BonOaDecBase.hpp.
| Bonmin::OaDecompositionBase::OaDecompositionBase | ( | BabSetupBase & | b, |
| bool | leaveSiUnchanged, | ||
| bool | reassignLpsolver ) |
New usefull constructor.
| Bonmin::OaDecompositionBase::OaDecompositionBase | ( | const OaDecompositionBase & | copy | ) |
Copy constructor.
|
virtual |
Destructor.
|
virtual |
|
inline |
Assign an OsiTMINLPInterface.
Definition at line 118 of file BonOaDecBase.hpp.
|
inline |
Assign an OsiTMINLPInterface.
Definition at line 124 of file BonOaDecBase.hpp.
|
inline |
Definition at line 129 of file BonOaDecBase.hpp.
|
inline |
Set objects.
Definition at line 134 of file BonOaDecBase.hpp.
|
inline |
Set whether to leave the solverinterface unchanged.
Definition at line 140 of file BonOaDecBase.hpp.
|
inline |
Definition at line 200 of file BonOaDecBase.hpp.
|
inline |
Definition at line 205 of file BonOaDecBase.hpp.
|
inline |
Definition at line 210 of file BonOaDecBase.hpp.
|
inline |
Definition at line 215 of file BonOaDecBase.hpp.
| void Bonmin::OaDecompositionBase::passInMessageHandler | ( | CoinMessageHandler * | handler | ) |
|
protected |
|
protected |
Solve the nlp and do output.
|
protectedpure virtual |
virtual method which performs the OA algorithm by modifying lp and nlp.
Implemented in Bonmin::EcpCuts, Bonmin::MinlpFeasPump, Bonmin::OACutGenerator2, and Bonmin::OaFeasibilityChecker.
|
protectedpure virtual |
virutal method to decide if local search is performed
Implemented in Bonmin::EcpCuts, Bonmin::MinlpFeasPump, Bonmin::OACutGenerator2, and Bonmin::OaFeasibilityChecker.
|
mutableprotected |
Pointer to nlp interface.
Definition at line 238 of file BonOaDecBase.hpp.
|
protected |
Pointer to setup.
Definition at line 240 of file BonOaDecBase.hpp.
|
mutableprotected |
Number of nlp solved done.
Definition at line 242 of file BonOaDecBase.hpp.
|
mutableprotected |
A linear solver.
Definition at line 244 of file BonOaDecBase.hpp.
|
protected |
Some objects the feasiblitiy of which to verify.
Definition at line 246 of file BonOaDecBase.hpp.
|
protected |
Number of objects.*/.
Definition at line 248 of file BonOaDecBase.hpp.
|
mutableprotected |
number of local searches performed
Definition at line 250 of file BonOaDecBase.hpp.
|
protected |
messages handler.
Definition at line 252 of file BonOaDecBase.hpp.
|
protected |
Messages for OA.
Definition at line 254 of file BonOaDecBase.hpp.
|
protected |
Wether or not we should remove cuts at the end of the procedure.
Definition at line 256 of file BonOaDecBase.hpp.
|
protected |
Do we need to reassign the lp solver with Cbc.
Definition at line 258 of file BonOaDecBase.hpp.
|
protected |
time of construction
Definition at line 260 of file BonOaDecBase.hpp.
|
mutableprotected |
number of solutions found by OA_decomposition.
Definition at line 262 of file BonOaDecBase.hpp.
|
protected |
Definition at line 265 of file BonOaDecBase.hpp.
|
mutableprotected |
Saved cuts: in some cases when using OA to check feasible solution algorithm may loop because Cbc removes inactive cuts.
To overcome this we can impose that no OA cut can be discarded by Cbc but this consumes too much memory in some cases. Here we do it another way: cuts generated at current node are saved if algorithm seems to enter a loop we impose the needed cuts to be kept.
Definition at line 270 of file BonOaDecBase.hpp.
|
mutableprotected |
Store the current node number.
Definition at line 272 of file BonOaDecBase.hpp.