Minotaur 0.4.1
Docs for developers
LinConMod.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 MINOTAURLINCONMOD_H
16#define MINOTAURLINCONMOD_H
17
18#include "Modification.h"
19
20namespace Minotaur {
21
22class Engine;
23class LinConMod;
24class LinearFunction;
25typedef Engine* EnginePtr;
26typedef LinConMod* LinConModPtr;
27typedef const LinConMod* ConstLinConModPtr;
28typedef std::vector < LinConModPtr > LinConModVector;
29typedef LinConModVector::iterator LinConModIter;
30typedef LinConModVector::const_iterator LinConModConstIter;
31typedef LinearFunction* LinearFunctionPtr;
32
37class LinConMod : public Modification {
38public:
40 LinConMod(ConstraintPtr con, LinearFunctionPtr new_lf, double new_ub,
41 double new_lb);
42
44 ~LinConMod();
45
47 void applyToProblem(ProblemPtr problem);
48
49 // base class method.
51 {return LinConModPtr();};
52
53 // base class method.
55 {return LinConModPtr();};
56
58 void undoToProblem(ProblemPtr problem);
59
61 void write(std::ostream &out) const;
62
63private:
65 ConstraintPtr con_;
66
68 LinearFunctionPtr newLf_;
69
71 double newLb_;
72
74 double newUb_;
75
77 LinearFunctionPtr oldLf_;
78
80 double oldLb_;
81
83 double oldUb_;
84
85};
86}
87#endif
88
The Constraint class is used to manage a constraint.
Definition: Constraint.h:61
Definition: LinConMod.h:37
void undoToProblem(ProblemPtr problem)
Restore the modification for a problem.
Definition: LinConMod.cpp:62
ModificationPtr toRel(ProblemPtr, RelaxationPtr) const
Covert a modification for a problem to one for its relaxation.
Definition: LinConMod.h:54
~LinConMod()
Destroy.
Definition: LinConMod.cpp:41
void write(std::ostream &out) const
Write it to 'out'.
Definition: LinConMod.cpp:69
LinConMod(ConstraintPtr con, LinearFunctionPtr new_lf, double new_ub, double new_lb)
Constructor.
Definition: LinConMod.cpp:28
void applyToProblem(ProblemPtr problem)
Apply it to the problem.
Definition: LinConMod.cpp:55
ModificationPtr fromRel(RelaxationPtr, ProblemPtr) const
Covert a modification for a relaxation to one for its original problem.
Definition: LinConMod.h:50
The base class linear function is of the form c'x.
Definition: LinearFunction.h:31
Definition: Modification.h:29
Definition: Problem.h:74
Definition: Relaxation.h:53
Definition: ActiveNodeStore.h:20

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