Minotaur 0.4.1
Docs for developers
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
NodeIncRelaxer(EnvPtr env, HandlerVector handlers)
Default constructor.
Definition: NodeIncRelaxer.cpp:28
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.4 on Thu Apr 24 2025