Minotaur 0.4.1
Docs for developers
Public Member Functions | List of all members
Minotaur::PCBProcessor Class Reference

Default node processor used in solver for now. More...

#include <PCBProcessor.h>

Inheritance diagram for Minotaur::PCBProcessor:
Inheritance graph
[legend]
Collaboration diagram for Minotaur::PCBProcessor:
Collaboration graph
[legend]

Public Member Functions

 PCBProcessor ()
 Default constructor.
 
 PCBProcessor (EnvPtr env, EnginePtr engine, HandlerVector handlers_)
 Constructor with a given engine.
 
 ~PCBProcessor ()
 Destroy.
 
void addHeur (HeurPtr h)
 
bool foundNewSolution ()
 
Branches getBranches ()
 Find branches that will be used to branch at this node. More...
 
WarmStartPtr getWarmStart ()
 
void process (NodePtr node, RelaxationPtr rel, SolutionPoolPtr s_pool)
 
void setCutManager (CutManager *cutman)
 
void writeStats (std::ostream &out) const
 Write statistics to a given output stream. More...
 
void writeStats () const
 Write statistics to our own logger. More...
 
- Public Member Functions inherited from Minotaur::NodeProcessor
 NodeProcessor ()
 Default constructor.
 
virtual ~NodeProcessor ()
 Destroy.
 
virtual void setBrancher (BrancherPtr brancher)
 Set the brancher that will be used with this node processor.
 
virtual void processRootNode (NodePtr node, RelaxationPtr rel, SolutionPoolPtr s_pool)
 Process the root node. More...
 
virtual void process (NodePtr node, RelaxationPtr rel, SolutionPoolPtr s_pool)=0
 
virtual Branches getBranches ()=0
 Find branches that will be used to branch at this node. More...
 
virtual bool foundNewSolution ()=0
 
virtual WarmStartPtr getWarmStart ()=0
 
virtual BrancherPtr getBrancher ()
 Return brancher.
 
virtual void writeStats (std::ostream &) const
 Write statistics to a given output stream. More...
 
virtual void writeStats () const
 Write statistics to our own logger. More...
 
virtual void setCutManager (CutManager *)
 

Additional Inherited Members

- Protected Attributes inherited from Minotaur::NodeProcessor
BrancherPtr brancher_
 What brancher is used for this processor.
 

Detailed Description

Default node processor used in solver for now.

PCBProcessor is a derived class of NodeProcessor. It is meant to solve LPs at each node. It is used in a simple MILP branch-and-bound. As a stop-gap measure, it is being used for MINLP branch-and-bound as well.

Member Function Documentation

◆ foundNewSolution()

bool PCBProcessor::foundNewSolution ( )
virtual

True if the node processor found at least one feasible solution while processing this node.

Implements Minotaur::NodeProcessor.

◆ getBranches()

Branches PCBProcessor::getBranches ( )
virtual

Find branches that will be used to branch at this node.

Implements Minotaur::NodeProcessor.

◆ getWarmStart()

WarmStartPtr PCBProcessor::getWarmStart ( )
virtual

Return the warm start information that will be used to start processing children.

Implements Minotaur::NodeProcessor.

◆ process()

void PCBProcessor::process ( NodePtr  node,
RelaxationPtr  rel,
SolutionPoolPtr  s_pool 
)
virtual

Process relaxation at the given node. If a solution is found, it must be added to the solution pool.

Implements Minotaur::NodeProcessor.

◆ setCutManager()

void PCBProcessor::setCutManager ( CutManager cutman)
virtual

Reimplemented from Minotaur::NodeProcessor.

◆ writeStats() [1/2]

void PCBProcessor::writeStats ( ) const
virtual

Write statistics to our own logger.

Reimplemented from Minotaur::NodeProcessor.

◆ writeStats() [2/2]

void PCBProcessor::writeStats ( std::ostream &  ) const
virtual

Write statistics to a given output stream.

Reimplemented from Minotaur::NodeProcessor.


The documentation for this class was generated from the following files:

Minotaur source code documented by Doxygen 1.9.4 on Thu Apr 24 2025