class BipartiteGraphOrdering in group22. More...
#include <BipartiteGraphOrdering.h>
Inherits ColPack::BipartiteGraphVertexCover.
Inherited by ColPack::BipartiteGraphBicoloring.
Public Member Functions | |
int | OrderVertices (string s_OrderingVariant) |
BipartiteGraphOrdering () | |
~BipartiteGraphOrdering () | |
virtual void | Clear () |
virtual void | Reset () |
int | NaturalOrdering () |
int | RandomOrdering () |
int | LargestFirstOrdering () |
int | SmallestLastOrdering () |
int | IncidenceDegreeOrdering () |
int | SelectiveLargestFirstOrdering () |
int | SelectiveSmallestLastOrdering () |
int | SelectiveIncidenceDegreeOrdering () |
int | DynamicLargestFirstOrdering () |
string | GetVertexOrderingVariant () |
void | GetOrderedVertices (vector< int > &output) |
void | PrintVertexOrdering () |
double | GetVertexOrderingTime () |
Protected Attributes | |
double | m_d_OrderingTime |
string | m_s_VertexOrderingVariant |
vector< int > | m_vi_OrderedVertices |
Private Member Functions | |
int | CheckVertexOrdering (string s_VertexOrderingVariant) |
class BipartiteGraphOrdering in group22.
The BipartiteGraphOrderingClass stores the ordered row and column vertices as a vector of vertex identifiers to be used by bipartite graph bicoloring methods. Since the row and column vertices use the same set of identifiers, number of row vertices is added the column vertex identifiers in the ordered vector.
Definition at line 37 of file BipartiteGraphOrdering.h.
ColPack::BipartiteGraphOrdering::BipartiteGraphOrdering | ( | ) |
Definition at line 45 of file BipartiteGraphOrdering.cpp.
References Clear().
ColPack::BipartiteGraphOrdering::~BipartiteGraphOrdering | ( | ) |
Definition at line 52 of file BipartiteGraphOrdering.cpp.
References Clear().
int ColPack::BipartiteGraphOrdering::CheckVertexOrdering | ( | string | s_VertexOrderingVariant | ) | [private] |
Definition at line 28 of file BipartiteGraphOrdering.cpp.
References _FALSE, _TRUE, and m_s_VertexOrderingVariant.
Referenced by DynamicLargestFirstOrdering(), IncidenceDegreeOrdering(), LargestFirstOrdering(), NaturalOrdering(), RandomOrdering(), SelectiveIncidenceDegreeOrdering(), SelectiveLargestFirstOrdering(), SelectiveSmallestLastOrdering(), and SmallestLastOrdering().
void ColPack::BipartiteGraphOrdering::Clear | ( | ) | [virtual] |
Reimplemented from ColPack::BipartiteGraphVertexCover.
Reimplemented in ColPack::BipartiteGraphBicoloring, and ColPack::BipartiteGraphBicoloringInterface.
Definition at line 59 of file BipartiteGraphOrdering.cpp.
References m_d_OrderingTime, m_s_VertexOrderingVariant, and m_vi_OrderedVertices.
Referenced by BipartiteGraphOrdering(), and ~BipartiteGraphOrdering().
int ColPack::BipartiteGraphOrdering::DynamicLargestFirstOrdering | ( | ) |
Definition at line 1745 of file BipartiteGraphOrdering.cpp.
References _FALSE, _TRUE, _UNKNOWN, CheckVertexOrdering(), ColPack::BipartiteGraphCore::m_vi_Edges, ColPack::BipartiteGraphCore::m_vi_LeftVertices, m_vi_OrderedVertices, ColPack::BipartiteGraphCore::m_vi_RightVertices, STEP_DOWN, and STEP_UP.
Referenced by OrderVertices().
void ColPack::BipartiteGraphOrdering::GetOrderedVertices | ( | vector< int > & | output | ) |
Reimplemented in ColPack::BipartiteGraphBicoloringInterface.
Definition at line 2057 of file BipartiteGraphOrdering.cpp.
References m_vi_OrderedVertices.
double ColPack::BipartiteGraphOrdering::GetVertexOrderingTime | ( | ) |
Definition at line 2113 of file BipartiteGraphOrdering.cpp.
References m_d_OrderingTime.
Referenced by toFileBiC().
string ColPack::BipartiteGraphOrdering::GetVertexOrderingVariant | ( | ) |
Definition at line 2008 of file BipartiteGraphOrdering.cpp.
References m_s_VertexOrderingVariant.
Referenced by ColPack::BipartiteGraphBicoloring::PrintVertexBicoloringMetrics(), and ColPack::BipartiteGraphBicoloring::PrintVertexBicolors().
int ColPack::BipartiteGraphOrdering::IncidenceDegreeOrdering | ( | ) |
Definition at line 835 of file BipartiteGraphOrdering.cpp.
References _FALSE, _TRUE, _UNKNOWN, CheckVertexOrdering(), ColPack::BipartiteGraphCore::m_i_MaximumVertexDegree, ColPack::BipartiteGraphCore::m_vi_Edges, ColPack::BipartiteGraphCore::m_vi_LeftVertices, m_vi_OrderedVertices, ColPack::BipartiteGraphCore::m_vi_RightVertices, STEP_DOWN, and STEP_UP.
Referenced by OrderVertices().
int ColPack::BipartiteGraphOrdering::LargestFirstOrdering | ( | ) |
Definition at line 167 of file BipartiteGraphOrdering.cpp.
References _TRUE, CheckVertexOrdering(), ColPack::BipartiteGraphCore::m_i_MaximumVertexDegree, ColPack::BipartiteGraphCore::m_vi_LeftVertices, m_vi_OrderedVertices, ColPack::BipartiteGraphCore::m_vi_RightVertices, STEP_DOWN, and STEP_UP.
Referenced by OrderVertices().
int ColPack::BipartiteGraphOrdering::NaturalOrdering | ( | ) |
Definition at line 88 of file BipartiteGraphOrdering.cpp.
References _TRUE, CheckVertexOrdering(), ColPack::BipartiteGraphCore::m_vi_LeftVertices, m_vi_OrderedVertices, ColPack::BipartiteGraphCore::m_vi_RightVertices, and STEP_DOWN.
Referenced by ColPack::BipartiteGraphBicoloring::CheckVertexColoring(), and OrderVertices().
int ColPack::BipartiteGraphOrdering::OrderVertices | ( | string | s_OrderingVariant | ) |
Definition at line 2062 of file BipartiteGraphOrdering.cpp.
References _TRUE, DynamicLargestFirstOrdering(), IncidenceDegreeOrdering(), LargestFirstOrdering(), NaturalOrdering(), RandomOrdering(), SmallestLastOrdering(), and toUpper().
Referenced by ColPack::BipartiteGraphBicoloringInterface::Bicoloring().
void ColPack::BipartiteGraphOrdering::PrintVertexOrdering | ( | ) |
Definition at line 2104 of file BipartiteGraphOrdering.cpp.
References m_s_VertexOrderingVariant, and m_vi_OrderedVertices.
int ColPack::BipartiteGraphOrdering::RandomOrdering | ( | ) |
Definition at line 118 of file BipartiteGraphOrdering.cpp.
References _TRUE, CheckVertexOrdering(), m_s_VertexOrderingVariant, ColPack::BipartiteGraphCore::m_vi_LeftVertices, m_vi_OrderedVertices, ColPack::BipartiteGraphCore::m_vi_RightVertices, randomOrdering(), and STEP_DOWN.
Referenced by OrderVertices().
void ColPack::BipartiteGraphOrdering::Reset | ( | ) | [virtual] |
Reimplemented from ColPack::BipartiteGraphVertexCover.
Reimplemented in ColPack::BipartiteGraphBicoloring, and ColPack::BipartiteGraphBicoloringInterface.
Definition at line 74 of file BipartiteGraphOrdering.cpp.
References m_d_OrderingTime, m_s_VertexOrderingVariant, and m_vi_OrderedVertices.
int ColPack::BipartiteGraphOrdering::SelectiveIncidenceDegreeOrdering | ( | ) |
Definition at line 1467 of file BipartiteGraphOrdering.cpp.
References _FALSE, _TRUE, _UNKNOWN, CheckVertexOrdering(), ColPack::BipartiteGraphCore::m_i_MaximumVertexDegree, ColPack::BipartiteGraphCore::m_vi_Edges, ColPack::BipartiteGraphVertexCover::m_vi_IncludedLeftVertices, ColPack::BipartiteGraphVertexCover::m_vi_IncludedRightVertices, ColPack::BipartiteGraphCore::m_vi_LeftVertices, m_vi_OrderedVertices, ColPack::BipartiteGraphCore::m_vi_RightVertices, STEP_DOWN, and STEP_UP.
int ColPack::BipartiteGraphOrdering::SelectiveLargestFirstOrdering | ( | ) |
Definition at line 1106 of file BipartiteGraphOrdering.cpp.
References _FALSE, _TRUE, CheckVertexOrdering(), ColPack::BipartiteGraphCore::m_i_MaximumVertexDegree, ColPack::BipartiteGraphCore::m_vi_Edges, ColPack::BipartiteGraphVertexCover::m_vi_IncludedLeftVertices, ColPack::BipartiteGraphVertexCover::m_vi_IncludedRightVertices, ColPack::BipartiteGraphCore::m_vi_LeftVertices, m_vi_OrderedVertices, ColPack::BipartiteGraphCore::m_vi_RightVertices, STEP_DOWN, and STEP_UP.
int ColPack::BipartiteGraphOrdering::SelectiveSmallestLastOrdering | ( | ) |
Definition at line 1227 of file BipartiteGraphOrdering.cpp.
References _FALSE, _TRUE, _UNKNOWN, CheckVertexOrdering(), ColPack::BipartiteGraphCore::m_vi_Edges, ColPack::BipartiteGraphVertexCover::m_vi_IncludedLeftVertices, ColPack::BipartiteGraphVertexCover::m_vi_IncludedRightVertices, ColPack::BipartiteGraphCore::m_vi_LeftVertices, m_vi_OrderedVertices, ColPack::BipartiteGraphCore::m_vi_RightVertices, STEP_DOWN, and STEP_UP.
int ColPack::BipartiteGraphOrdering::SmallestLastOrdering | ( | ) |
Definition at line 255 of file BipartiteGraphOrdering.cpp.
References _FALSE, _TRUE, _UNKNOWN, CheckVertexOrdering(), ColPack::BipartiteGraphCore::m_vi_Edges, ColPack::BipartiteGraphCore::m_vi_LeftVertices, m_vi_OrderedVertices, ColPack::BipartiteGraphCore::m_vi_RightVertices, STEP_DOWN, and STEP_UP.
Referenced by OrderVertices().
double ColPack::BipartiteGraphOrdering::m_d_OrderingTime [protected] |
Definition at line 50 of file BipartiteGraphOrdering.h.
Referenced by ColPack::BipartiteGraphBicoloringInterface::Bicoloring(), Clear(), GetVertexOrderingTime(), ColPack::BipartiteGraphBicoloring::PrintVertexBicoloringMetrics(), and Reset().
string ColPack::BipartiteGraphOrdering::m_s_VertexOrderingVariant [protected] |
Definition at line 52 of file BipartiteGraphOrdering.h.
Referenced by ColPack::BipartiteGraphBicoloring::CheckVertexColoring(), CheckVertexOrdering(), Clear(), GetVertexOrderingVariant(), ColPack::BipartiteGraphBicoloring::PrintVertexBicolorClasses(), PrintVertexOrdering(), RandomOrdering(), and Reset().
vector<int> ColPack::BipartiteGraphOrdering::m_vi_OrderedVertices [protected] |
Definition at line 54 of file BipartiteGraphOrdering.h.
Referenced by Clear(), DynamicLargestFirstOrdering(), ColPack::BipartiteGraphBicoloring::ExplicitCoveringModifiedStarBicoloring(), ColPack::BipartiteGraphBicoloring::ExplicitCoveringStarBicoloring(), GetOrderedVertices(), ColPack::BipartiteGraphBicoloring::ImplicitCoveringConservativeStarBicoloring(), ColPack::BipartiteGraphBicoloring::ImplicitCoveringGreedyStarBicoloring(), ColPack::BipartiteGraphBicoloring::ImplicitCoveringRestrictedStarBicoloring(), ColPack::BipartiteGraphBicoloring::ImplicitCoveringStarBicoloring(), IncidenceDegreeOrdering(), LargestFirstOrdering(), ColPack::BipartiteGraphBicoloring::MinimalCoveringStarBicoloring(), NaturalOrdering(), PrintVertexOrdering(), RandomOrdering(), Reset(), SelectiveIncidenceDegreeOrdering(), SelectiveLargestFirstOrdering(), SelectiveSmallestLastOrdering(), and SmallestLastOrdering().