Classes | |
struct | Node |
struct | Config |
struct | UpdateHeights |
struct | ResetHeights |
struct | FindWork |
struct | Process |
Typedefs | |
typedef Galois::Graph::FirstGraph < Node, int, true > | Graph |
typedef Graph::GraphNode | GNode |
Functions | |
std::ostream & | operator<< (std::ostream &os, const Node &n) |
void | checkAugmentingPath () |
void | checkHeights () |
void | checkConservation (Config &orig) |
void | verify (Config &orig) |
void | reduceCapacity (const GNode &src, const GNode &dst, int amount) |
template<Galois::MethodFlag flag, typename IncomingWL > | |
void | globalRelabel (IncomingWL &incoming) |
void | initializeGraph (const char *inputFile, int sourceId, int sinkId, Config *newApp) |
template<typename C > | |
void | initializePreflow (C &initial) |
template<Galois::MethodFlag flag> | |
void | run () |
Variables | |
const char * | name = "Preflow Push" |
const char * | description |
const char * | url = "preflow_push" |
const char * | help = "[-serial] <input file> <source id> <sink id> [global relabel interval]" |
const int | ALPHA = 6 |
Alpha parameter the original Goldberg algorithm to control when global relabeling occurs. | |
const int | BETA = 12 |
Beta parameter the original Goldberg algorithm to control when global relabeling occurs. | |
Config | app |
typedef Graph::GraphNode anonymous_namespace{Preflowpush.cpp}::GNode |
void anonymous_namespace{Preflowpush.cpp}::checkAugmentingPath | ( | ) |
void anonymous_namespace{Preflowpush.cpp}::checkConservation | ( | Config & | orig | ) |
void anonymous_namespace{Preflowpush.cpp}::checkHeights | ( | ) |
void anonymous_namespace{Preflowpush.cpp}::globalRelabel | ( | IncomingWL & | incoming | ) | [inline] |
void anonymous_namespace{Preflowpush.cpp}::initializeGraph | ( | const char * | inputFile, | |
int | sourceId, | |||
int | sinkId, | |||
Config * | newApp | |||
) |
void anonymous_namespace{Preflowpush.cpp}::initializePreflow | ( | C & | initial | ) | [inline] |
std::ostream& anonymous_namespace{Preflowpush.cpp}::operator<< | ( | std::ostream & | os, | |
const Node & | n | |||
) |
void anonymous_namespace{Preflowpush.cpp}::reduceCapacity | ( | const GNode & | src, | |
const GNode & | dst, | |||
int | amount | |||
) |
void anonymous_namespace{Preflowpush.cpp}::run | ( | ) | [inline] |
void anonymous_namespace{Preflowpush.cpp}::verify | ( | Config & | orig | ) |
const int anonymous_namespace{Preflowpush.cpp}::ALPHA = 6 |
Alpha parameter the original Goldberg algorithm to control when global relabeling occurs.
For comparison purposes, we keep them the same as before, but it is possible to achieve much better performance by adjusting the global relabel frequency.
const int anonymous_namespace{Preflowpush.cpp}::BETA = 12 |
Beta parameter the original Goldberg algorithm to control when global relabeling occurs.
For comparison purposes, we keep them the same as before, but it is possible to achieve much better performance by adjusting the global relabel frequency.
const char* anonymous_namespace{Preflowpush.cpp}::description |
"Finds the maximum flow in a network using the preflow push technique\n"
const char* anonymous_namespace{Preflowpush.cpp}::help = "[-serial] <input file> <source id> <sink id> [global relabel interval]" |
const char* anonymous_namespace{Preflowpush.cpp}::name = "Preflow Push" |
const char* anonymous_namespace{Preflowpush.cpp}::url = "preflow_push" |