Minotaur 0.4.1
Docs for developers
Loading...
Searching...
No Matches
NodeFullRelaxer.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 MINOTAURNODEFULLRELAXER_H
16#define MINOTAURNODEFULLRELAXER_H
17
18#include "Handler.h"
19#include "NodeRelaxer.h"
20
21namespace Minotaur {
22
32 public:
33
36
38 NodeFullRelaxer(EnvPtr env, HandlerVector handlers);
39
41 NodeFullRelaxer(EnvPtr env, EnginePtr e, HandlerVector handlers);
42
45
46 // Implement NodeRelaxer::CreateRootRelaxation()
48 bool &prune);
49
50 // Implement NodeRelaxer::CreateNodeRelaxation()
51 RelaxationPtr createNodeRelaxation(NodePtr node, bool dived, bool &prune);
52
53 // Implement NodeRelaxer::reset()
54 void reset(NodePtr node, bool diving);
55
60 void setEngine(EnginePtr e);
61
62 // get the relaxation pointer, rel_.
64
67
68 private:
70 EnvPtr env_;
71
76 RelaxationPtr rel_;
77
79 EnginePtr engine_;
80
82 HandlerVector handlers_;
83
88 double updateBoundsTol_;
89
92 bool isOriginalVariable_(ConstVariablePtr rv, ConstVariablePtr &ov);
93
103 bool strongBoundsTighten_(NodePtr node);
104
105 };
106
108}
109#endif
110
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 NodeFullRelaxer.h:31
void reset(NodePtr node, bool diving)
Definition NodeFullRelaxer.cpp:169
RelaxationPtr createNodeRelaxation(NodePtr node, bool dived, bool &prune)
Definition NodeFullRelaxer.cpp:118
~NodeFullRelaxer()
Destroy.
Definition NodeFullRelaxer.cpp:62
void setEngine(EnginePtr e)
Definition NodeFullRelaxer.cpp:111
RelaxationPtr getRelaxation()
Definition NodeFullRelaxer.cpp:173
RelaxationPtr createRootRelaxation(NodePtr root, SolutionPool *sp, bool &prune)
Create the root node relaxation.
Definition NodeFullRelaxer.cpp:72
void setRelaxation(RelaxationPtr rel)
Set your own relaxation pointer.
Definition NodeFullRelaxer.cpp:179
Definition NodeRelaxer.h:42
Definition Node.h:54
Definition Relaxation.h:53
Definition SolutionPool.h:28
Definition Variable.h:31
Definition ActiveNodeStore.h:20

Minotaur source code documented by Doxygen 1.9.8 on Wed Dec 3 2025