Minotaur 0.4.1
Docs for developers
SecantMod.h
1//
2// Minotaur -- It's only 1/2 bull
3//
4// (C)opyright 2009 - 2025 The Minotaur Team.
5//
6
15#ifndef MINOTAURLINCONSTRMOD_H
16#define MINOTAURLINCONSTRMOD_H
17
18#include "LinearFunction.h"
19#include "LinConMod.h"
20#include "VarBoundMod.h"
21
22namespace Minotaur {
23
24 class SecantMod;
25 typedef SecantMod* SecantModPtr;
26 typedef const SecantMod* ConstSecantModPtr;
27
30 //
37 class SecantMod : public Modification {
38 public:
40 SecantMod(ConstraintPtr con, LinearFunctionPtr new_lf, double new_rhs,
41 VariablePtr x, BoundType lu, double new_b, VariablePtr y);
42
44 ~SecantMod();
45
46 // Implement Modification::applyToProblem()
47 void applyToProblem(ProblemPtr problem);
48
49 // base class method.
51 {return SecantModPtr();};
52
53 // base class method.
55 {return SecantModPtr();};
56
57 // Implement Modification::undoToProblem()
58 void undoToProblem(ProblemPtr problem);
59
62
63 // Implement Modification::write()
64 void write(std::ostream &) const {};
65
66 private:
68 LinConModPtr lmod_;
69
71 VarBoundModPtr xmod_;
72
74 VarBoundMod2Ptr ymod_;
75 };
76}
77#endif
78
Declare the class LinConMod. It is used to save modifications in the linear functions of constraints.
Declare the class LinearFunction for storing and modifying a linear function.
Declare the class VarBoundMod. It is used to save modifications in a bound of a variable....
The Constraint class is used to manage a constraint.
Definition: Constraint.h:61
Definition: LinConMod.h:37
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: SecantMod.h:37
ModificationPtr toRel(ProblemPtr, RelaxationPtr) const
Covert a modification for a problem to one for its relaxation.
Definition: SecantMod.h:50
void undoToProblem(ProblemPtr problem)
Restore the modification for a problem.
Definition: SecantMod.cpp:68
ModificationPtr fromRel(RelaxationPtr, ProblemPtr) const
Covert a modification for a relaxation to one for its original problem.
Definition: SecantMod.h:54
SecantMod(ConstraintPtr con, LinearFunctionPtr new_lf, double new_rhs, VariablePtr x, BoundType lu, double new_b, VariablePtr y)
Construct.
Definition: SecantMod.cpp:25
void write(std::ostream &) const
Write it to 'out'.
Definition: SecantMod.h:64
VariablePtr getY()
Get the auxiliary variable or variable y where .
Definition: SecantMod.cpp:54
~SecantMod()
Destroy.
Definition: SecantMod.cpp:43
void applyToProblem(ProblemPtr problem)
Apply it to the problem.
Definition: SecantMod.cpp:60
Modification of a both bounds on a variable.
Definition: VarBoundMod.h:84
Modification of a single bound on a variable.
Definition: VarBoundMod.h:30
Definition: Variable.h:31
Definition: ActiveNodeStore.h:20
BoundType
Different types of variable-bounds.
Definition: Types.h:131

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