Detailed Description
Class for element of v-representation.
Definition at line 57 of file double_description_method.h.
Class for element of v-representation. More...
#include <double_description_method.h>
Public Types | |
using | SlackMap = std::unordered_map< std::size_t, ValueType > |
Maps indices to slacks. More... | |
Public Member Functions | |
V_RepT (SCIP *scip, WeightType &&weight, ValueType &&wov, const H_RepC &h_rep) | |
V_RepT (SCIP *scip, const V_RepT &plus, const V_RepT &minus, std::size_t index_of_ineq, const H_RepC &h_rep) | |
bool | operator== (const V_RepT &rhs) const |
bool | operator!= (const V_RepT &rhs) const |
void | print (std::ostream &os, bool withIncidentFacets, const H_RepC &h_rep) const |
bool | hasNonUnitAndNonZeroWeight () const |
bool | hasZeroIndsSuperSet (const std::bitset< kMaxInitialHrepSize > &common_zero_inds) const |
std::size_t | getMinInfeasIndex () const |
bool | isZeroSlackIndex (std::size_t index) const |
WeightType && | moveWeight () |
ValueType | getWov () const |
Static Public Attributes | |
static constexpr std::size_t | kMaxInitialHrepSize = 2*POLYSCIP_MAX_NO_OBJS |
Maximal initial size of h-representation. More... | |
Friends | |
class | DoubleDescriptionMethod |
Member Typedef Documentation
◆ SlackMap
using polyscip::doubledescription::V_RepT::SlackMap = std::unordered_map<std::size_t, ValueType> |
Maps indices to slacks.
Definition at line 60 of file double_description_method.h.
Constructor & Destructor Documentation
◆ V_RepT() [1/2]
|
explicit |
Constructor
- Parameters
-
scip SCIP pointer weight Corresponding weight for the constructed vertex wov Corresponding weighted objective value for the constructed vertex h_rep Current h-representation
Definition at line 57 of file double_description_method.cpp.
◆ V_RepT() [2/2]
|
explicit |
Constructor
- Parameters
-
scip SCIP pointer plus minus index_of_ineq h_rep
Definition at line 76 of file double_description_method.cpp.
References SCIPisNegative(), and SCIPisPositive().
Member Function Documentation
◆ operator==()
|
inline |
Equal operator
- Parameters
-
rhs v-representation object to compare with
- Returns
- true if objects are considered equal; otherwise false
Definition at line 106 of file double_description_method.cpp.
Referenced by operator!=().
◆ operator!=()
|
inline |
Not equal operator
- Parameters
-
rhs v-representation object to compare with
- Returns
- true if objects are considered not equal; otherwise false
Definition at line 115 of file double_description_method.cpp.
References operator==().
◆ print()
void polyscip::doubledescription::V_RepT::print | ( | std::ostream & | os, |
bool | withIncidentFacets, | ||
const H_RepC & | h_rep | ||
) | const |
Print function
- Parameters
-
os Output stream to print to withIncidentFacets Boolean indicating whether incident facets should also be printed h_rep
Definition at line 212 of file double_description_method.cpp.
References kMaxInitialHrepSize, and polyscip::global::print().
◆ hasNonUnitAndNonZeroWeight()
bool polyscip::doubledescription::V_RepT::hasNonUnitAndNonZeroWeight | ( | ) | const |
Indicates whether corresponding weight is neither unit vector nor zero vector
- Returns
- true if weight is neither unit vector nor zero vector; false otherwise
Definition at line 151 of file double_description_method.cpp.
References fabs(), SCIPisNegative(), SCIPisZero(), and w.
◆ hasZeroIndsSuperSet()
bool polyscip::doubledescription::V_RepT::hasZeroIndsSuperSet | ( | const std::bitset< kMaxInitialHrepSize > & | common_zero_inds | ) | const |
Indicates whether zero indices are subset of given zero indices
- Parameters
-
common_zero_inds Zero indices
- Returns
- true if zero indices are subset of given common_zero_inds
Definition at line 234 of file double_description_method.cpp.
◆ getMinInfeasIndex()
size_t polyscip::doubledescription::V_RepT::getMinInfeasIndex | ( | ) | const |
Get minimal infeasibility index
- Returns
- minimal infeasibility index
Definition at line 133 of file double_description_method.cpp.
Referenced by polyscip::doubledescription::DoubleDescriptionMethod::DoubleDescriptionMethod().
◆ isZeroSlackIndex()
bool polyscip::doubledescription::V_RepT::isZeroSlackIndex | ( | std::size_t | index | ) | const |
Indicates whether given index is zero index
- Parameters
-
index Index to check
- Returns
- true if index is zero index; false otherwise
Definition at line 143 of file double_description_method.cpp.
Referenced by polyscip::doubledescription::DoubleDescriptionMethod::computeVRep_Var1(), polyscip::doubledescription::DoubleDescriptionMethod::DoubleDescriptionMethod(), and polyscip::WeightSpacePolyhedron::WeightSpacePolyhedron().
◆ moveWeight()
|
inline |
Move weight
- Returns
- Rvalue reference to corresponding weight
Definition at line 144 of file double_description_method.h.
◆ getWov()
|
inline |
Get weighted objective value
- Returns
- weighted objective value
Definition at line 150 of file double_description_method.h.
Friends And Related Function Documentation
◆ DoubleDescriptionMethod
|
friend |
Definition at line 62 of file double_description_method.h.
Field Documentation
◆ kMaxInitialHrepSize
|
static |
Maximal initial size of h-representation.
Definition at line 61 of file double_description_method.h.
Referenced by print().