HOG2
Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | List of all members
DVCBSQueue< state, epsilon, isAllSolutions > Class Template Reference

#include <DVCBSQueue.h>

Collaboration diagram for DVCBSQueue< state, epsilon, isAllSolutions >:
Collaboration graph
[legend]

Public Member Functions

bool getVertexCover (std::vector< uint64_t > &nextForward, std::vector< uint64_t > &nextBackward, int TieBreakingPolicy)
 
void Reset ()
 
double GetLowerBound ()
 

Public Attributes

DVCBSOpenClosed< state > forwardQueue
 
DVCBSOpenClosed< state > backwardQueue
 

Private Member Functions

bool tieBreakCriteria (int i, int j, int minI, int minJ, std::vector< std::pair< uint64_t, uint64_t > > forwardCluster, std::vector< std::pair< uint64_t, uint64_t > > backwardCluster)
 
bool tieBreakCriteria (double currentSum, double minSum)
 
std::pair< int, int > computeTieBreaking (std::vector< std::pair< int, int > > &minimalVertexCovers, std::vector< std::pair< double, uint64_t > > &forwardCluster, std::vector< std::pair< double, uint64_t > > &backwardCluster, int TieBreakingPolicy)
 
std::pair< int, int > computeFullMaxGTieBreakingOld (std::vector< std::pair< int, int > > &minimalVertexCovers, std::vector< std::pair< double, uint64_t > > &forwardCluster, std::vector< std::pair< double, uint64_t > > &backwardCluster)
 
std::pair< int, int > computeFullMaxGTieBreaking (std::vector< std::pair< int, int > > &minimalVertexCovers, std::vector< std::pair< double, uint64_t > > &forwardCluster, std::vector< std::pair< double, uint64_t > > &backwardCluster)
 
std::pair< int, int > computeSingleClusterMaxGTieBreaking (std::vector< std::pair< int, int > > &minimalVertexCovers, std::vector< std::pair< double, uint64_t > > &forwardCluster, std::vector< std::pair< double, uint64_t > > &backwardCluster)
 
std::pair< int, int > computeSingleClusterMinGTieBreaking (std::vector< std::pair< int, int > > &minimalVertexCovers, std::vector< std::pair< double, uint64_t > > &forwardCluster, std::vector< std::pair< double, uint64_t > > &backwardCluster)
 
std::pair< int, int > computeSingleClusterMinNodesTieBreaking (std::vector< std::pair< int, int > > &minimalVertexCovers, std::vector< std::pair< double, uint64_t > > &forwardCluster, std::vector< std::pair< double, uint64_t > > &backwardCluster)
 
std::pair< int, int > computeSingleClusterCardNoMVC (std::vector< std::pair< int, int > > &minimalVertexCovers, std::vector< std::pair< double, uint64_t > > &forwardCluster, std::vector< std::pair< double, uint64_t > > &backwardCluster)
 
std::pair< int, int > computeSingleClusterMinGNoMVC (std::vector< std::pair< int, int > > &minimalVertexCovers, std::vector< std::pair< double, uint64_t > > &forwardCluster, std::vector< std::pair< double, uint64_t > > &backwardCluster)
 
std::pair< int, int > computeSingleClusterMinNodesMaxGFTieBreaking (std::vector< std::pair< int, int > > &minimalVertexCovers, std::vector< std::pair< double, uint64_t > > &forwardCluster, std::vector< std::pair< double, uint64_t > > &backwardCluster)
 
std::pair< int, int > computeMajorityMinNodesTieBreaking (std::vector< std::pair< int, int > > &minimalVertexCovers, std::vector< std::pair< double, uint64_t > > &forwardCluster, std::vector< std::pair< double, uint64_t > > &backwardCluster)
 
std::pair< int, int > computeSingleClusterMaxNodesTieBreaking (std::vector< std::pair< int, int > > &minimalVertexCovers, std::vector< std::pair< double, uint64_t > > &forwardCluster, std::vector< std::pair< double, uint64_t > > &backwardCluster)
 
std::pair< int, int > computeSingleClusterMinGTieBreakingWithSub (std::vector< std::pair< int, int > > &minimalVertexCovers, std::vector< std::pair< double, uint64_t > > &forwardCluster, std::vector< std::pair< double, uint64_t > > &backwardCluster)
 
std::pair< int, int > computeSingleClusterMaxGTieBreakingWithSub (std::vector< std::pair< int, int > > &minimalVertexCovers, std::vector< std::pair< double, uint64_t > > &forwardCluster, std::vector< std::pair< double, uint64_t > > &backwardCluster)
 
std::pair< int, int > computeFullMinGTieBreaking (std::vector< std::pair< int, int > > &minimalVertexCovers, std::vector< std::pair< double, uint64_t > > &forwardCluster, std::vector< std::pair< double, uint64_t > > &backwardCluster)
 
std::pair< int, int > computeMinGTieBreakingWithSub (std::vector< std::pair< int, int > > &minimalVertexCovers, std::vector< std::pair< double, uint64_t > > &forwardCluster, std::vector< std::pair< double, uint64_t > > &backwardCluster)
 
std::pair< int, int > computeMajorityMaxTieBreaking (std::vector< std::pair< int, int > > &minimalVertexCovers, std::vector< std::pair< double, uint64_t > > &forwardCluster, std::vector< std::pair< double, uint64_t > > &backwardCluster)
 
std::pair< int, int > computeMajorityMinTieBreaking (std::vector< std::pair< int, int > > &minimalVertexCovers, std::vector< std::pair< double, uint64_t > > &forwardCluster, std::vector< std::pair< double, uint64_t > > &backwardCluster)
 
std::pair< int, int > computeMajorityMaxWithSubTieBreaking (std::vector< std::pair< int, int > > &minimalVertexCovers, std::vector< std::pair< double, uint64_t > > &forwardCluster, std::vector< std::pair< double, uint64_t > > &backwardCluster)
 
std::pair< int, int > computeMajorityMinWithSubTieBreaking (std::vector< std::pair< int, int > > &minimalVertexCovers, std::vector< std::pair< double, uint64_t > > &forwardCluster, std::vector< std::pair< double, uint64_t > > &backwardCluster)
 

Private Attributes

double CLowerBound
 

Detailed Description

template<typename state, int epsilon = 0, bool isAllSolutions = false>
class DVCBSQueue< state, epsilon, isAllSolutions >

Definition at line 21 of file DVCBSQueue.h.

Member Function Documentation

◆ computeFullMaxGTieBreaking()

template<typename state , int epsilon = 0, bool isAllSolutions = false>
std::pair<int,int> DVCBSQueue< state, epsilon, isAllSolutions >::computeFullMaxGTieBreaking ( std::vector< std::pair< int, int > > &  minimalVertexCovers,
std::vector< std::pair< double, uint64_t > > &  forwardCluster,
std::vector< std::pair< double, uint64_t > > &  backwardCluster 
)
inlineprivate

Definition at line 245 of file DVCBSQueue.h.

Referenced by DVCBSQueue< state >::computeTieBreaking().

◆ computeFullMaxGTieBreakingOld()

template<typename state , int epsilon = 0, bool isAllSolutions = false>
std::pair<int,int> DVCBSQueue< state, epsilon, isAllSolutions >::computeFullMaxGTieBreakingOld ( std::vector< std::pair< int, int > > &  minimalVertexCovers,
std::vector< std::pair< double, uint64_t > > &  forwardCluster,
std::vector< std::pair< double, uint64_t > > &  backwardCluster 
)
inlineprivate

Definition at line 224 of file DVCBSQueue.h.

◆ computeFullMinGTieBreaking()

template<typename state , int epsilon = 0, bool isAllSolutions = false>
std::pair<int,int> DVCBSQueue< state, epsilon, isAllSolutions >::computeFullMinGTieBreaking ( std::vector< std::pair< int, int > > &  minimalVertexCovers,
std::vector< std::pair< double, uint64_t > > &  forwardCluster,
std::vector< std::pair< double, uint64_t > > &  backwardCluster 
)
inlineprivate

Definition at line 510 of file DVCBSQueue.h.

Referenced by DVCBSQueue< state >::computeTieBreaking().

◆ computeMajorityMaxTieBreaking()

template<typename state , int epsilon = 0, bool isAllSolutions = false>
std::pair<int,int> DVCBSQueue< state, epsilon, isAllSolutions >::computeMajorityMaxTieBreaking ( std::vector< std::pair< int, int > > &  minimalVertexCovers,
std::vector< std::pair< double, uint64_t > > &  forwardCluster,
std::vector< std::pair< double, uint64_t > > &  backwardCluster 
)
inlineprivate

Definition at line 560 of file DVCBSQueue.h.

Referenced by DVCBSQueue< state >::computeTieBreaking().

◆ computeMajorityMaxWithSubTieBreaking()

template<typename state , int epsilon = 0, bool isAllSolutions = false>
std::pair<int,int> DVCBSQueue< state, epsilon, isAllSolutions >::computeMajorityMaxWithSubTieBreaking ( std::vector< std::pair< int, int > > &  minimalVertexCovers,
std::vector< std::pair< double, uint64_t > > &  forwardCluster,
std::vector< std::pair< double, uint64_t > > &  backwardCluster 
)
inlineprivate

Definition at line 623 of file DVCBSQueue.h.

◆ computeMajorityMinNodesTieBreaking()

template<typename state , int epsilon = 0, bool isAllSolutions = false>
std::pair<int,int> DVCBSQueue< state, epsilon, isAllSolutions >::computeMajorityMinNodesTieBreaking ( std::vector< std::pair< int, int > > &  minimalVertexCovers,
std::vector< std::pair< double, uint64_t > > &  forwardCluster,
std::vector< std::pair< double, uint64_t > > &  backwardCluster 
)
inlineprivate

Definition at line 392 of file DVCBSQueue.h.

Referenced by DVCBSQueue< state >::computeTieBreaking().

◆ computeMajorityMinTieBreaking()

template<typename state , int epsilon = 0, bool isAllSolutions = false>
std::pair<int,int> DVCBSQueue< state, epsilon, isAllSolutions >::computeMajorityMinTieBreaking ( std::vector< std::pair< int, int > > &  minimalVertexCovers,
std::vector< std::pair< double, uint64_t > > &  forwardCluster,
std::vector< std::pair< double, uint64_t > > &  backwardCluster 
)
inlineprivate

Definition at line 592 of file DVCBSQueue.h.

Referenced by DVCBSQueue< state >::computeTieBreaking().

◆ computeMajorityMinWithSubTieBreaking()

template<typename state , int epsilon = 0, bool isAllSolutions = false>
std::pair<int,int> DVCBSQueue< state, epsilon, isAllSolutions >::computeMajorityMinWithSubTieBreaking ( std::vector< std::pair< int, int > > &  minimalVertexCovers,
std::vector< std::pair< double, uint64_t > > &  forwardCluster,
std::vector< std::pair< double, uint64_t > > &  backwardCluster 
)
inlineprivate

Definition at line 662 of file DVCBSQueue.h.

◆ computeMinGTieBreakingWithSub()

template<typename state , int epsilon = 0, bool isAllSolutions = false>
std::pair<int,int> DVCBSQueue< state, epsilon, isAllSolutions >::computeMinGTieBreakingWithSub ( std::vector< std::pair< int, int > > &  minimalVertexCovers,
std::vector< std::pair< double, uint64_t > > &  forwardCluster,
std::vector< std::pair< double, uint64_t > > &  backwardCluster 
)
inlineprivate

Definition at line 532 of file DVCBSQueue.h.

◆ computeSingleClusterCardNoMVC()

template<typename state , int epsilon = 0, bool isAllSolutions = false>
std::pair<int,int> DVCBSQueue< state, epsilon, isAllSolutions >::computeSingleClusterCardNoMVC ( std::vector< std::pair< int, int > > &  minimalVertexCovers,
std::vector< std::pair< double, uint64_t > > &  forwardCluster,
std::vector< std::pair< double, uint64_t > > &  backwardCluster 
)
inlineprivate

Definition at line 338 of file DVCBSQueue.h.

Referenced by DVCBSQueue< state >::computeTieBreaking().

◆ computeSingleClusterMaxGTieBreaking()

template<typename state , int epsilon = 0, bool isAllSolutions = false>
std::pair<int,int> DVCBSQueue< state, epsilon, isAllSolutions >::computeSingleClusterMaxGTieBreaking ( std::vector< std::pair< int, int > > &  minimalVertexCovers,
std::vector< std::pair< double, uint64_t > > &  forwardCluster,
std::vector< std::pair< double, uint64_t > > &  backwardCluster 
)
inlineprivate

Definition at line 266 of file DVCBSQueue.h.

Referenced by DVCBSQueue< state >::computeTieBreaking().

◆ computeSingleClusterMaxGTieBreakingWithSub()

template<typename state , int epsilon = 0, bool isAllSolutions = false>
std::pair<int,int> DVCBSQueue< state, epsilon, isAllSolutions >::computeSingleClusterMaxGTieBreakingWithSub ( std::vector< std::pair< int, int > > &  minimalVertexCovers,
std::vector< std::pair< double, uint64_t > > &  forwardCluster,
std::vector< std::pair< double, uint64_t > > &  backwardCluster 
)
inlineprivate

Definition at line 478 of file DVCBSQueue.h.

◆ computeSingleClusterMaxNodesTieBreaking()

template<typename state , int epsilon = 0, bool isAllSolutions = false>
std::pair<int,int> DVCBSQueue< state, epsilon, isAllSolutions >::computeSingleClusterMaxNodesTieBreaking ( std::vector< std::pair< int, int > > &  minimalVertexCovers,
std::vector< std::pair< double, uint64_t > > &  forwardCluster,
std::vector< std::pair< double, uint64_t > > &  backwardCluster 
)
inlineprivate

Definition at line 422 of file DVCBSQueue.h.

Referenced by DVCBSQueue< state >::computeTieBreaking().

◆ computeSingleClusterMinGNoMVC()

template<typename state , int epsilon = 0, bool isAllSolutions = false>
std::pair<int,int> DVCBSQueue< state, epsilon, isAllSolutions >::computeSingleClusterMinGNoMVC ( std::vector< std::pair< int, int > > &  minimalVertexCovers,
std::vector< std::pair< double, uint64_t > > &  forwardCluster,
std::vector< std::pair< double, uint64_t > > &  backwardCluster 
)
inlineprivate

Definition at line 349 of file DVCBSQueue.h.

Referenced by DVCBSQueue< state >::computeTieBreaking().

◆ computeSingleClusterMinGTieBreaking()

template<typename state , int epsilon = 0, bool isAllSolutions = false>
std::pair<int,int> DVCBSQueue< state, epsilon, isAllSolutions >::computeSingleClusterMinGTieBreaking ( std::vector< std::pair< int, int > > &  minimalVertexCovers,
std::vector< std::pair< double, uint64_t > > &  forwardCluster,
std::vector< std::pair< double, uint64_t > > &  backwardCluster 
)
inlineprivate

Definition at line 290 of file DVCBSQueue.h.

Referenced by DVCBSQueue< state >::computeTieBreaking().

◆ computeSingleClusterMinGTieBreakingWithSub()

template<typename state , int epsilon = 0, bool isAllSolutions = false>
std::pair<int,int> DVCBSQueue< state, epsilon, isAllSolutions >::computeSingleClusterMinGTieBreakingWithSub ( std::vector< std::pair< int, int > > &  minimalVertexCovers,
std::vector< std::pair< double, uint64_t > > &  forwardCluster,
std::vector< std::pair< double, uint64_t > > &  backwardCluster 
)
inlineprivate

Definition at line 446 of file DVCBSQueue.h.

◆ computeSingleClusterMinNodesMaxGFTieBreaking()

template<typename state , int epsilon = 0, bool isAllSolutions = false>
std::pair<int,int> DVCBSQueue< state, epsilon, isAllSolutions >::computeSingleClusterMinNodesMaxGFTieBreaking ( std::vector< std::pair< int, int > > &  minimalVertexCovers,
std::vector< std::pair< double, uint64_t > > &  forwardCluster,
std::vector< std::pair< double, uint64_t > > &  backwardCluster 
)
inlineprivate

Definition at line 360 of file DVCBSQueue.h.

Referenced by DVCBSQueue< state >::computeTieBreaking().

◆ computeSingleClusterMinNodesTieBreaking()

template<typename state , int epsilon = 0, bool isAllSolutions = false>
std::pair<int,int> DVCBSQueue< state, epsilon, isAllSolutions >::computeSingleClusterMinNodesTieBreaking ( std::vector< std::pair< int, int > > &  minimalVertexCovers,
std::vector< std::pair< double, uint64_t > > &  forwardCluster,
std::vector< std::pair< double, uint64_t > > &  backwardCluster 
)
inlineprivate

Definition at line 314 of file DVCBSQueue.h.

Referenced by DVCBSQueue< state >::computeTieBreaking().

◆ computeTieBreaking()

template<typename state , int epsilon = 0, bool isAllSolutions = false>
std::pair<int,int> DVCBSQueue< state, epsilon, isAllSolutions >::computeTieBreaking ( std::vector< std::pair< int, int > > &  minimalVertexCovers,
std::vector< std::pair< double, uint64_t > > &  forwardCluster,
std::vector< std::pair< double, uint64_t > > &  backwardCluster,
int  TieBreakingPolicy 
)
inlineprivate

Definition at line 204 of file DVCBSQueue.h.

Referenced by DVCBSQueue< state >::getVertexCover().

◆ GetLowerBound()

template<typename state , int epsilon = 0, bool isAllSolutions = false>
double DVCBSQueue< state, epsilon, isAllSolutions >::GetLowerBound ( )
inline

Definition at line 176 of file DVCBSQueue.h.

◆ getVertexCover()

template<typename state , int epsilon = 0, bool isAllSolutions = false>
bool DVCBSQueue< state, epsilon, isAllSolutions >::getVertexCover ( std::vector< uint64_t > &  nextForward,
std::vector< uint64_t > &  nextBackward,
int  TieBreakingPolicy 
)
inline

Definition at line 23 of file DVCBSQueue.h.

◆ Reset()

template<typename state , int epsilon = 0, bool isAllSolutions = false>
void DVCBSQueue< state, epsilon, isAllSolutions >::Reset ( )
inline

Definition at line 170 of file DVCBSQueue.h.

◆ tieBreakCriteria() [1/2]

template<typename state , int epsilon = 0, bool isAllSolutions = false>
bool DVCBSQueue< state, epsilon, isAllSolutions >::tieBreakCriteria ( double  currentSum,
double  minSum 
)
inlineprivate

Definition at line 200 of file DVCBSQueue.h.

◆ tieBreakCriteria() [2/2]

template<typename state , int epsilon = 0, bool isAllSolutions = false>
bool DVCBSQueue< state, epsilon, isAllSolutions >::tieBreakCriteria ( int  i,
int  j,
int  minI,
int  minJ,
std::vector< std::pair< uint64_t, uint64_t > >  forwardCluster,
std::vector< std::pair< uint64_t, uint64_t > >  backwardCluster 
)
inlineprivate

Definition at line 181 of file DVCBSQueue.h.

Member Data Documentation

◆ backwardQueue

template<typename state , int epsilon = 0, bool isAllSolutions = false>
DVCBSOpenClosed<state> DVCBSQueue< state, epsilon, isAllSolutions >::backwardQueue

◆ CLowerBound

template<typename state , int epsilon = 0, bool isAllSolutions = false>
double DVCBSQueue< state, epsilon, isAllSolutions >::CLowerBound
private

◆ forwardQueue

template<typename state , int epsilon = 0, bool isAllSolutions = false>
DVCBSOpenClosed<state> DVCBSQueue< state, epsilon, isAllSolutions >::forwardQueue

The documentation for this class was generated from the following file: