13#ifndef MINOTAURPARCUTMAN_H
14#define MINOTAURPARCUTMAN_H
49 std::vector<ConstraintPtr> getPoolCons();
57 void addCuts(CutVectorIter cbeg, CutVectorIter cend);
79 void write(std::ostream &out)
const;
101 size_t maxDisCutAge_;
107 size_t maxInactCutAge_;
110 const static std::string me_;
123 void addToRel_(
CutPtr cons,
bool new_cut);
125 void addToPool_(
CutPtr cons);
Manages addition and deletion of cuts to problem.
Declare important 'types' used in Minotaur.
The Constraint class is used to manage a constraint.
Definition: Constraint.h:61
Abstract base class to manage cuts in the relaxation.
Definition: CutManager.h:42
Store function, bounds and other information about a cut.
Definition: Cut.h:52
Definition: Environment.h:28
Definition: Function.h:37
Derived class for managing cuts. Add and remove cuts based on priority and violation.
Definition: ParCutMan.h:27
void writeStats(std::ostream &out) const
Write statistics to output.
Definition: ParCutMan.cpp:219
void separate(ProblemPtr p, ConstSolutionPtr sol, bool *separated, size_t *n_added)
Separate a given point using the cuts in the storage.
Definition: ParCutMan.cpp:138
void addCut(CutPtr c)
Add a cut to be managed by the cut manager.
Definition: ParCutMan.cpp:180
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...
Definition: ParCutMan.cpp:186
size_t getNumEnabledCuts() const
Get the total number of cuts currently enabled, i.e., added to the relaxation.
Definition: ParCutMan.cpp:74
void addCutToPool(CutPtr cut)
Add a cut to the pool managed by the cut manager.
Definition: ParCutMan.cpp:208
size_t getNumNewCuts() const
Get the total number of cuts added to manager (but not to problem) before the last call to separate()...
Definition: ParCutMan.cpp:86
size_t getNumCuts() const
Get the total number of cuts available to the manager.
Definition: ParCutMan.cpp:68
ParCutMan()
Empty constructor.
Definition: ParCutMan.cpp:36
ConstraintPtr addCut(ProblemPtr, FunctionPtr, double, double, bool, bool)
Add a cut.
Definition: ParCutMan.h:51
void postSolveUpdate(ConstSolutionPtr sol, EngineStatus eng_status)
Definition: ParCutMan.cpp:92
~ParCutMan()
Destroy.
Definition: ParCutMan.cpp:58
size_t getNumDisabledCuts() const
Get the total number of cuts currently not enabled.
Definition: ParCutMan.cpp:80
void write(std::ostream &out) const
Write cuts to output.
Definition: ParCutMan.cpp:213
Definition: Solution.h:30
Definition: ActiveNodeStore.h:20
EngineStatus
Different status that an external engine may report.
Definition: Types.h:176