Minotaur 0.4.1
Docs for developers
Heuristic.h
Go to the documentation of this file.
1//
2// Minotaur -- It's only 1/2 bull
3//
4// (C)opyright 2008 - 2025 The Minotaur Team.
5//
6
15#ifndef MINOTAURHEURISTIC_H
16#define MINOTAURHEURISTIC_H
17
18#include "Types.h"
19#include "SolutionPool.h"
20
21namespace Minotaur {
22
23 class Node;
24 class Relaxation;
25 typedef Relaxation* RelaxationPtr;
26
27
30 class Heuristic {
31 public:
32
35
37 virtual ~Heuristic() {};
38
40 virtual void solve(NodePtr node, RelaxationPtr rel,
41 SolutionPoolPtr s_pool) = 0;
42
46 {}
47
48
50 virtual void writeStats(std::ostream &out) const = 0;
51 };
52
53}
54#endif
55
Declare a container for storing solutions and their qualities.
Declare important 'types' used in Minotaur.
Definition: Heuristic.h:30
virtual void writeStats(std::ostream &out) const =0
Write statistics to the logger.
virtual ~Heuristic()
Destroy.
Definition: Heuristic.h:37
Heuristic()
Default constructor.
Definition: Heuristic.h:34
virtual void solveNode(ConstSolutionPtr, NodePtr, RelaxationPtr, SolutionPoolPtr)
Use this heuristic.
Definition: Heuristic.h:44
virtual void solve(NodePtr node, RelaxationPtr rel, SolutionPoolPtr s_pool)=0
Use this heuristic.
Definition: Node.h:54
Definition: Relaxation.h:53
Definition: SolutionPool.h:28
Definition: Solution.h:30
Definition: ActiveNodeStore.h:20

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