13#ifndef MINOTAURCUTMAN2_H
14#define MINOTAURCUTMAN2_H
27 typedef Constraint *ConstraintPtr;
28 typedef std::list<CutPtr> cutList;
63 void addCuts(CutVectorIter cbeg, CutVectorIter cend);
75 bool directToRel,
bool neverDelete);
81 void NodeIsProcessed(
NodePtr node);
96 void write(std::ostream &out)
const;
127 std::map<NodePtr, cutList> NodeCutsMap_;
130 std::map<NodePtr, int> ChildNum_;
142 const static std::string me_;
151 void addToRel_(
CutPtr cut);
154 void addToPool_(
CutPtr cut);
163 size_t MaxInactiveInRel_;
185 double processedTime_;
188 double branchedTime_;
190 ctMngrInfo ctmngrInfo_;
198 typedef CutMan2 *CutMan2Ptr;
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
size_t getNumNewCuts() const
Get the total number of cuts added to manager (but not to problem) before the last call to separate()...
Definition: CutMan2.h:71
size_t getNumCuts() const
Get the total number of cuts available to the manager.
Definition: CutMan2.h:65
void updateRel(ConstSolutionPtr sol, ProblemPtr rel)
Update information about cuts in the relaxation.
Definition: CutMan2.cpp:121
~CutMan2()
Destroy.
Definition: CutMan2.cpp:103
void separate(ProblemPtr, ConstSolutionPtr, bool *, size_t *)
Separate a given point using the cuts in the storage.
Definition: CutMan2.h:87
size_t getNumEnabledCuts() const
Get the total number of cuts currently enabled, i.e., added to the relaxation.
Definition: CutMan2.h:67
void writeStats(std::ostream &out) const
Write statistics to output.
Definition: CutMan2.cpp:357
void addCut(CutPtr c)
Add a cut to be managed by the cut manager.
Definition: CutMan2.cpp:352
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: CutMan2.cpp:344
void updatePool(ProblemPtr rel, ConstSolutionPtr sol)
Update information of the cuts in the pool.
Definition: CutMan2.cpp:185
CutMan2()
Default constructor.
Definition: CutMan2.cpp:40
void postSolveUpdate(ConstSolutionPtr, EngineStatus)
Definition: CutMan2.h:84
void write(std::ostream &out) const
Write cuts to output.
Definition: CutMan2.cpp:338
size_t getNumDisabledCuts() const
Get the total number of cuts currently not enabled.
Definition: CutMan2.h:69
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
Definition: Solution.h:30
Definition: ActiveNodeStore.h:20
EngineStatus
Different status that an external engine may report.
Definition: Types.h:176
Definition: CutMan2.h:104