15#ifndef MINOTAURVARBOUNDMOD_H
16#define MINOTAURVARBOUNDMOD_H
18#include "Modification.h"
23typedef Engine* EnginePtr;
24typedef VarBoundMod* VarBoundModPtr;
25typedef std::vector<VarBoundModPtr> VarBoundModVector;
26typedef VarBoundModVector::iterator VarBoundModIter;
27typedef VarBoundModVector::const_iterator VarBoundModConstIter;
60 void write(std::ostream& out)
const;
79typedef std::vector<VarBoundMod2Ptr> VarBoundMod2Vector;
80typedef VarBoundMod2Vector::iterator VarBoundMod2Iter;
81typedef VarBoundMod2Vector::const_iterator VarBoundMod2ConstIter;
Definition: Modification.h:29
Definition: Relaxation.h:53
Modification of a both bounds on a variable.
Definition: VarBoundMod.h:84
void undoToProblem(ProblemPtr problem)
Restore the modification for a problem.
Definition: VarBoundMod.cpp:183
void write(std::ostream &) const
Write it to 'out'.
Definition: VarBoundMod.h:114
ModificationPtr fromRel(RelaxationPtr, ProblemPtr) const
Covert a modification for a relaxation to one for its original problem.
Definition: VarBoundMod.cpp:135
double getNewUb() const
Get new value of the bound.
Definition: VarBoundMod.cpp:159
~VarBoundMod2()
Destroy.
Definition: VarBoundMod.cpp:129
ModificationPtr toRel(ProblemPtr, RelaxationPtr) const
Covert a modification for a problem to one for its relaxation.
Definition: VarBoundMod.cpp:171
void applyToProblem(ProblemPtr problem)
Apply it to the problem.
Definition: VarBoundMod.cpp:165
VariablePtr getVar() const
Get the variable whose bound is changed.
Definition: VarBoundMod.cpp:147
double getNewLb() const
Get new value of the bound.
Definition: VarBoundMod.cpp:153
VarBoundMod2(VariablePtr var, double new_lb, double new_ub)
Construct.
Definition: VarBoundMod.cpp:119
Modification of a single bound on a variable.
Definition: VarBoundMod.h:30
ModificationPtr toRel(ProblemPtr, RelaxationPtr) const
Covert a modification for a problem to one for its relaxation.
Definition: VarBoundMod.cpp:86
void applyToProblem(ProblemPtr problem)
Apply it to the problem.
Definition: VarBoundMod.cpp:80
ModificationPtr fromRel(RelaxationPtr, ProblemPtr) const
Covert a modification for a relaxation to one for its original problem.
Definition: VarBoundMod.cpp:52
VarBoundMod(VariablePtr var, BoundType lu, double new_val)
Construct.
Definition: VarBoundMod.cpp:27
void write(std::ostream &out) const
Write it to 'out'.
Definition: VarBoundMod.cpp:102
~VarBoundMod()
Destroy.
Definition: VarBoundMod.cpp:46
VariablePtr getVar() const
Get the variable whose bound is changed.
Definition: VarBoundMod.cpp:62
double getNewVal() const
Get new value of the bound.
Definition: VarBoundMod.cpp:74
void undoToProblem(ProblemPtr problem)
Restore the modification for a problem.
Definition: VarBoundMod.cpp:96
BoundType getLU() const
Get the type of bound that is changed: lower or upper.
Definition: VarBoundMod.cpp:68
Definition: Variable.h:31
Definition: ActiveNodeStore.h:20
BoundType
Different types of variable-bounds.
Definition: Types.h:131