|
Minotaur 0.4.1
Docs for developers
|


Classes | |
| struct | ctMngrInfo |
Public Member Functions | |
| CutMan2 () | |
| Default constructor. | |
| CutMan2 (EnvPtr env, ProblemPtr p) | |
| Constructor that loads the relaxation problem. | |
| ~CutMan2 () | |
| Destroy. | |
| void | addCut (CutPtr c) |
| Add a cut to be managed by the cut manager. | |
| void | addCuts (CutVectorIter cbeg, CutVectorIter cend) |
| Add a cut to be managed by the cut manager. The cut is not added to the problem by this function (See separate() for it). | |
| size_t | getNumCuts () const |
| Get the total number of cuts available to the manager. | |
| size_t | getNumEnabledCuts () const |
| Get the total number of cuts currently enabled, i.e., added to the relaxation. | |
| size_t | getNumDisabledCuts () const |
| Get the total number of cuts currently not enabled. | |
| size_t | getNumNewCuts () const |
| Get the total number of cuts added to manager (but not to problem) before the last call to separate() or postSolveUpdate(). | |
| ConstraintPtr | addCut (ProblemPtr rel, FunctionPtr fn, double lb, double ub, bool directToRel, bool neverDelete) |
| Add a cut. | |
| void | NodeIsBranched (NodePtr node, ConstSolutionPtr sol, int num) |
| void | NodeIsProcessed (NodePtr node) |
| void | postSolveUpdate (ConstSolutionPtr, EngineStatus) |
| void | separate (ProblemPtr, ConstSolutionPtr, bool *, size_t *) |
| Separate a given point using the cuts in the storage. | |
| void | updatePool (ProblemPtr rel, ConstSolutionPtr sol) |
| Update information of the cuts in the pool. | |
| void | updateRel (ConstSolutionPtr sol, ProblemPtr rel) |
| Update information about cuts in the relaxation. | |
| void | write (std::ostream &out) const |
| Write cuts to output. | |
| void | writeStats (std::ostream &out) const |
| Write statistics to output. | |
| void | writeStat () |
| ctMngrInfo | getInfo () |
Public Member Functions inherited from Minotaur::CutManager | |
| CutManager () | |
| Empty constructor. | |
| virtual | ~CutManager () |
| Destroy. | |
| virtual void | addCutToPool (CutPtr c)=0 |
| Add a cut to the pool managed by the cut manager. | |
| virtual std::vector< ConstraintPtr > | getPoolCons ()=0 |
| virtual void | nodeIsBranched (NodePtr, ConstSolutionPtr, int) |
| Update information on a node which is branched. | |
| virtual void | nodeIsProcessed (NodePtr) |
| Update information when a node is processed. | |
|
virtual |
Add a cut to be managed by the cut manager.
| [in] | c | Cut pointer to be added. Do not change a cut after it is added. |
Implements Minotaur::CutManager.
|
virtual |
Add a cut.
| [in] | p | Problem to add a cut to |
| [in] | f | Function of the cut |
| [in] | lb | Lower bound |
| [in] | ub | Upper bound |
| [in] | direct_to_rel | Whether add the cut directly to rel |
| [in] | never_del | Whether the cut should always remain in the pool |
Implements Minotaur::CutManager.
|
virtual |
Add a cut to be managed by the cut manager. The cut is not added to the problem by this function (See separate() for it).
| [in] | cbeg | 'Begin' iterator of the vector of cuts to be added. |
| [in] | cend | 'End' iterator of the vector of cuts to be added. |
Implements Minotaur::CutManager.
|
inlinevirtual |
Get the total number of cuts available to the manager.
Implements Minotaur::CutManager.
|
inlinevirtual |
Get the total number of cuts currently not enabled.
Implements Minotaur::CutManager.
|
inlinevirtual |
Get the total number of cuts currently enabled, i.e., added to the relaxation.
Implements Minotaur::CutManager.
|
inlinevirtual |
Get the total number of cuts added to manager (but not to problem) before the last call to separate() or postSolveUpdate().
Implements Minotaur::CutManager.
|
inlinevirtual |
Updates information about the cuts after problem is solved. Also removes cuts from relaxation and/or the storage.
| [in] | sol | Solution from previous solve. |
| [in] | e_status | Status of the engine |
Implements Minotaur::CutManager.
|
inlinevirtual |
Separate a given point using the cuts in the storage.
| [in] | sol | Solution that needs to be separated. |
| [out] | separated | True if solution is separated by cuts. False otherwise. |
| [out] | n_added | The number of cuts added by this routine to the problem. |
Implements Minotaur::CutManager.
|
virtual |
Update information of the cuts in the pool.
| [in] | problem | Pointer to the relaxation problem |
| [in] | sol | Solution of the LP solve |
| [in] | node | Node in which information gets updated |
Reimplemented from Minotaur::CutManager.
|
virtual |
Update information about cuts in the relaxation.
| [in] | sol | Solution of the LP solve |
| [in] | problem | Pointer to the relaxation problem |
Reimplemented from Minotaur::CutManager.
|
virtual |
Write cuts to output.
Implements Minotaur::CutManager.
|
virtual |
Write statistics to output.
Implements Minotaur::CutManager.