14#ifndef MINOTAURPERSPLIST_H
15#define MINOTAURPERSPLIST_H
43 typedef std::map<VariablePtr, std::pair<ConstConstraintPtr, ConstConstraintPtr> > VarUbLb;
44 typedef VarUbLb* VarUbLbPtr;
45 typedef std::pair<ConstConstraintPtr, ConstVariablePtr> ConsVar;
47 typedef std::map<ConsVar, VarUbLbPtr> PerspCons;
48 typedef PerspCons* PerspConsPtr;
49 typedef const PerspCons* ConstPerspConsPtr;
81 VarUbLbPtr boundcons);
85 VarUbLbPtr varbounds);
105 ConstPerspListStatsPtr
getStats()
const {
return stats_;};
Get information about a constraint in a given Problem.
Define the Environment class.
Declare the class Relaxation for storing and manipulating relaxations.
Declare important 'types' used in Minotaur.
Define the Variable class.
The Constraint class is used to manage a constraint.
Definition: Constraint.h:61
Definition: Environment.h:28
Definition: Function.h:37
Definition: PerspList.h:55
ConstPerspConsPtr getPerspCons() const
Get a pointer to the vector that constains perspective constraints.
Definition: PerspList.h:108
bool checkVarTypes(const FunctionPtr f, ConstVariablePtr &binvar)
Definition: PerspList.cpp:330
ConstPerspListStatsPtr getStats() const
Get the statistics aboud perspective identification.
Definition: PerspList.h:105
bool initialBinary(ConstVariablePtr var, VarSetPtr binaries)
Definition: PerspList.cpp:389
~PerspList()
Destructor.
Definition: PerspList.cpp:449
void generateList()
Generate list of perspective constraints.
Definition: PerspList.cpp:59
void addConstraint(ConstConstraintPtr cons, VarUbLbPtr boundcons, VariablePtr binvar)
Add a constraint to the lists.
Definition: PerspList.cpp:93
UInt getNumPersp() const
Get total number of perspective constraints.
Definition: PerspList.h:99
bool checkVarsBounds(const FunctionPtr f, ConstVariablePtr binvar, VarUbLbPtr boundcons)
Checks if the variables are bounded by only one binary variable.
Definition: PerspList.cpp:191
bool evalConstraint(ConstConstraintPtr cons, VarUbLbPtr boundcons, VariablePtr &binvar)
Checks if a constraint is a Perspective constraint.
Definition: PerspList.cpp:99
bool separable(ConstConstraintPtr cons, ConstVariablePtr binvar)
Definition: PerspList.cpp:171
PerspList()
Default constructor.
Definition: PerspList.cpp:34
UInt getNumConsChecked() const
Get total number of constraints checked.
Definition: PerspList.h:102
void printPersp(ConstConstraintPtr cons, VarUbLbPtr boundcons, ConstVariablePtr binvar)
Print out the perspective structure.
Definition: PerspList.cpp:458
bool checkVarBounds(ConstVariablePtr var, ConstVariablePtr binvar, VarUbLbPtr varbounds)
Checks if a given variable is bounded by binary variable.
Definition: PerspList.cpp:215
Definition: Relaxation.h:53
Definition: Variable.h:31
Definition: ActiveNodeStore.h:20
unsigned int UInt
Unsigned integer.
Definition: Types.h:30
Definition: PerspList.h:32