Minotaur 0.4.1
Docs for developers
ParNodeIncRelaxer.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
16#ifndef MINOTAURPARNODEINCRELAXER_H
17#define MINOTAURPARNODEINCRELAXER_H
18
19#include "Handler.h"
20#include "NodeRelaxer.h"
21
22namespace Minotaur {
23
33public:
35 ParNodeIncRelaxer(EnvPtr env, HandlerVector handlers);
36
39
40 // Implement NodeRelaxer::CreateRootRelaxation()
42 bool &prune);
43
44 // Implement NodeRelaxer::CreateNodeRelaxation()
45 RelaxationPtr createNodeRelaxation(NodePtr node, bool dived, bool &prune);
46
48 bool getModFlag();
49
50 // Implement NodeRelaxer::reset()
51 void reset(NodePtr node, bool diving);
52
60 void setEngine(EnginePtr e);
61
66 void setModFlag(bool mod_prob);
67
68 // get the relaxation pointer, rel_.
70
73
75 void setProblem(ProblemPtr p);
76private:
78 EnginePtr engine_;
79
81 EnvPtr env_;
82
84 HandlerVector handlers_;
85
90 bool modProb_;
91
93 ProblemPtr p_;
94
99 RelaxationPtr rel_;
100};
101
103}
104#endif
105
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: NodeRelaxer.h:42
Definition: Node.h:54
Definition: ParNodeIncRelaxer.h:32
~ParNodeIncRelaxer()
Destroy.
Definition: ParNodeIncRelaxer.cpp:37
RelaxationPtr createNodeRelaxation(NodePtr node, bool dived, bool &prune)
Definition: ParNodeIncRelaxer.cpp:95
void reset(NodePtr node, bool diving)
Definition: ParNodeIncRelaxer.cpp:163
RelaxationPtr getRelaxation()
Definition: ParNodeIncRelaxer.cpp:183
void setProblem(ProblemPtr p)
Set the problem pointer.
Definition: ParNodeIncRelaxer.cpp:195
RelaxationPtr createRootRelaxation(NodePtr rootNode, SolutionPool *sp, bool &prune)
Create the root node relaxation.
Definition: ParNodeIncRelaxer.cpp:48
bool getModFlag()
Get the current value of modProb_ flag.
Definition: ParNodeIncRelaxer.cpp:73
void setEngine(EnginePtr e)
Definition: ParNodeIncRelaxer.cpp:80
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: ParNodeIncRelaxer.cpp:89
void setRelaxation(RelaxationPtr rel)
Set your own relaxation pointer.
Definition: ParNodeIncRelaxer.cpp:189
ParNodeIncRelaxer(EnvPtr env, HandlerVector handlers)
Default constructor.
Definition: ParNodeIncRelaxer.cpp:27
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