Detailed Description
Algorithm for transforming h-representation to v-representation.
Details of the underlying algorithm can be found in "Double Description Method Revisited" by K. Fukuda and A. Prodon
Definition at line 197 of file double_description_method.h.
Algorithm for transforming h-representation to v-representation. More...
#include <double_description_method.h>
Public Types | |
using | AdjPair = std::pair< std::reference_wrapper< const V_RepT >, std::reference_wrapper< const V_RepT > > |
Pair of adjacent v-representation elements. More... | |
using | AdjPairContainer = std::vector< AdjPair > |
Container for adjacent pairs. More... | |
Public Member Functions | |
DoubleDescriptionMethod (SCIP *scip, std::size_t no_all_obj, const ResultContainer &bounded, const ResultContainer &unbounded) | |
void | computeVRep () |
void | computeVRep_Var1 () |
void | printVRep (std::ostream &os=std::cout, bool withIncidentFacets=false) const |
std::size_t | size () const |
H_RepC | getHRep () |
V_RepC | getVRep () |
H_RepC && | moveHRep () |
V_RepC && | moveVRep () |
Member Typedef Documentation
◆ AdjPair
using polyscip::doubledescription::DoubleDescriptionMethod::AdjPair = std::pair<std::reference_wrapper<const V_RepT>, std::reference_wrapper<const V_RepT> > |
Pair of adjacent v-representation elements.
Definition at line 199 of file double_description_method.h.
◆ AdjPairContainer
using polyscip::doubledescription::DoubleDescriptionMethod::AdjPairContainer = std::vector<AdjPair> |
Container for adjacent pairs.
Definition at line 200 of file double_description_method.h.
Constructor & Destructor Documentation
◆ DoubleDescriptionMethod()
|
explicit |
Constructor
- Parameters
-
scip SCIP pointer no_all_obj Number of objectives bounded Bounded results unbounded Unbounded results
Definition at line 246 of file double_description_method.cpp.
References polyscip::doubledescription::V_RepT::getMinInfeasIndex(), and polyscip::doubledescription::V_RepT::isZeroSlackIndex().
Member Function Documentation
◆ computeVRep()
void polyscip::doubledescription::DoubleDescriptionMethod::computeVRep | ( | ) |
Standard double description algorithm
Definition at line 332 of file double_description_method.cpp.
◆ computeVRep_Var1()
void polyscip::doubledescription::DoubleDescriptionMethod::computeVRep_Var1 | ( | ) |
Variation 1 of double description algorithm
Definition at line 370 of file double_description_method.cpp.
References h, polyscip::doubledescription::V_RepT::isZeroSlackIndex(), SCIPisEQ(), SCIPisNegative(), SCIPisPositive(), SCIPisZero(), and w.
◆ printVRep()
void polyscip::doubledescription::DoubleDescriptionMethod::printVRep | ( | std::ostream & | os = std::cout , |
bool | withIncidentFacets = false |
||
) | const |
Print function
- Parameters
-
os Output stream to write to withIncidentFacets Indicates whether corresponding facets should be printed
Definition at line 324 of file double_description_method.cpp.
◆ size()
|
inline |
Get size of v-representation
- Returns
- Number of elements in v-representation
Definition at line 236 of file double_description_method.h.
◆ getHRep()
|
inline |
Copy entire h-representation
- Returns
- Copy of container storing entire h-representation
Definition at line 242 of file double_description_method.h.
◆ getVRep()
|
inline |
Copy entire v-representation
- Returns
- Copy of container storing entire v-representation
Definition at line 248 of file double_description_method.h.
◆ moveHRep()
|
inline |
Make entire h-representation movable
- Returns
- Rvalue reference to container storing entire h-representation
Definition at line 254 of file double_description_method.h.
◆ moveVRep()
|
inline |
Make entire v-representation movable
- Returns
- Rvalue reference to container storing entire v-representation
Definition at line 260 of file double_description_method.h.
References w.