15#ifndef MINOTAURNODEPROCESSOR_H
16#define MINOTAURNODEPROCESSOR_H
27 typedef Brancher* BrancherPtr;
28 typedef Relaxation* RelaxationPtr;
29 typedef SolutionPool* SolutionPoolPtr;
30 typedef WarmStart* WarmStartPtr;
31 typedef CutManager* CutManagerPtr;
Declare important 'types' used in Minotaur.
A brancher is used to find suitable branches for a given node. e.g. LexicoBrancher....
Definition: Brancher.h:33
Abstract base class to manage cuts in the relaxation.
Definition: CutManager.h:42
Definition: NodeProcessor.h:49
NodeProcessor()
Default constructor.
Definition: NodeProcessor.h:52
virtual void processRootNode(NodePtr node, RelaxationPtr rel, SolutionPoolPtr s_pool)
Process the root node.
Definition: NodeProcessor.cpp:25
BrancherPtr brancher_
What brancher is used for this processor.
Definition: NodeProcessor.h:98
virtual bool foundNewSolution()=0
virtual Branches getBranches()=0
Find branches that will be used to branch at this node.
virtual ~NodeProcessor()
Destroy.
Definition: NodeProcessor.h:55
virtual void setBrancher(BrancherPtr brancher)
Set the brancher that will be used with this node processor.
Definition: NodeProcessor.cpp:19
virtual void process(NodePtr node, RelaxationPtr rel, SolutionPoolPtr s_pool)=0
virtual BrancherPtr getBrancher()
Return brancher.
Definition: NodeProcessor.h:87
virtual WarmStartPtr getWarmStart()=0
virtual void writeStats() const
Write statistics to our own logger.
Definition: NodeProcessor.h:93
virtual void writeStats(std::ostream &) const
Write statistics to a given output stream.
Definition: NodeProcessor.h:90
Definition: Relaxation.h:53
Definition: SolutionPool.h:28
Definition: WarmStart.h:45
Definition: ActiveNodeStore.h:20