Minotaur 0.4.1
Docs for developers
Loading...
Searching...
No Matches
NodeIncRelaxer.h
Go to the documentation of this file.
1//
2// Minotaur -- It's only 1/2 bull
3//
4// (C)opyright 2009 - 2025 The Minotaur Team.
5//
6
15#ifndef MINOTAURNODEINCRELAXER_H
16#define MINOTAURNODEINCRELAXER_H
17
18#include "Handler.h"
19#include "NodeRelaxer.h"
20
21namespace Minotaur {
22
32public:
34 NodeIncRelaxer(EnvPtr env, HandlerVector handlers);
35
38
39 // Implement NodeRelaxer::CreateRootRelaxation()
41 bool &prune);
42
43 // Implement NodeRelaxer::CreateNodeRelaxation()
44 RelaxationPtr createNodeRelaxation(NodePtr node, bool dived, bool &prune);
45
47 bool getModFlag();
48
49 // Implement NodeRelaxer::reset()
50 void reset(NodePtr node, bool diving);
51
59 void setEngine(EnginePtr e);
60
65 void setModFlag(bool mod_prob);
66
67 // get the relaxation pointer, rel_.
69
72
74 void setProblem(ProblemPtr p);
75private:
77 EnginePtr engine_;
78
80 EnvPtr env_;
81
83 HandlerVector handlers_;
84
89 bool modProb_;
90
92 ProblemPtr p_;
93
98 RelaxationPtr rel_;
99};
100
102}
103#endif
104
Define abstract base class for handlers of various kinds.
Define the NodeRelaxer class for creating relaxation for nodes in the branch-and-bound algorithm.
Definition Engine.h:34
Definition Environment.h:28
Definition NodeIncRelaxer.h:31
RelaxationPtr createNodeRelaxation(NodePtr node, bool dived, bool &prune)
Definition NodeIncRelaxer.cpp:95
void setRelaxation(RelaxationPtr rel)
Set your own relaxation pointer.
Definition NodeIncRelaxer.cpp:185
void reset(NodePtr node, bool diving)
Definition NodeIncRelaxer.cpp:159
void setEngine(EnginePtr e)
Definition NodeIncRelaxer.cpp:80
bool getModFlag()
Get the current value of modProb_ flag.
Definition NodeIncRelaxer.cpp:73
RelaxationPtr getRelaxation()
Definition NodeIncRelaxer.cpp:179
~NodeIncRelaxer()
Destroy.
Definition NodeIncRelaxer.cpp:38
RelaxationPtr createRootRelaxation(NodePtr rootNode, SolutionPool *sp, bool &prune)
Create the root node relaxation.
Definition NodeIncRelaxer.cpp:49
void setProblem(ProblemPtr p)
Set the problem pointer.
Definition NodeIncRelaxer.cpp:191
void setModFlag(bool mod_prob)
If mod_prob is true, the problem will also be modified at each node. By default, only the relaxation ...
Definition NodeIncRelaxer.cpp:89
Definition NodeRelaxer.h:42
Definition Node.h:54
Definition Problem.h:74
Definition Relaxation.h:53
Definition SolutionPool.h:28
Definition ActiveNodeStore.h:20

Minotaur source code documented by Doxygen 1.9.8 on Sun Nov 23 2025