GomoryHuTree.cpp
Go to the documentation of this file.
22 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
134 /* counts occurences of node distances in set of alive nodes, i.e., nodes not contained in the set of nodes
161 /* breadth first search to get exact distance labels from sink with reordering of stack of active nodes */
233 /* identify nodes that are marked alive but have not been reached by BFS and mark them as dead */
248 * Determines maximum flow and minimum cut between nodes s (= *s_ptr) and t (= *t_ptr) in an undirected graph
251 * A. Goldberg/ E. Tarjan: "A New Approach to the Maximum Flow Problem", in Proc. 18th ACM Symp. on Theory of Computing, 1986.
468 /* put all nodes v with dist[v] >= dist[a] into the set of "dead" nodes since they are disconnected from
572 * If the non-zero-edges of a TSP relaxation induce a non-connected graph, an according cut is generated, using
612 * The tree structures is represented by parent pointers which are part of the node structure, the capacity of a tree
613 * edge is stored at the child node, the root of the cut tree is the first node in the list of graph nodes
static SCIP_Bool nodeOnRootPath(GRAPH *gr, int i, int j)
Definition: GomoryHuTree.cpp:553
generator for global cuts in undirected graphs
static void global_relabel(GRAPH *gr, GRAPHNODE *tptr)
Definition: GomoryHuTree.cpp:156
C++ wrapper classes for SCIP.
static double maxflow(GRAPH *gr, GRAPHNODE *s_ptr, GRAPHNODE *t_ptr)
Definition: GomoryHuTree.cpp:254
static void constructSingleCut(GRAPH *gr, SCIP_Bool **cuts)
Definition: GomoryHuTree.cpp:600
Definition: GomoryHuTree.h:31
SCIP_Bool ghc_tree(GRAPH *gr, SCIP_Bool **cuts, int *ncuts, double minviol)
Definition: GomoryHuTree.cpp:623
Definition: GomoryHuTree.h:54
static void constructCutList(GRAPH *gr, SCIP_Bool **cuts, int *ncuts, double minviol)
Definition: GomoryHuTree.cpp:576