EGalgPRedge_t Struct Reference
[EGalgPushRelabel]

#include <eg_push_relabel.h>

Collaboration diagram for EGalgPRedge_t:

Collaboration graph
[legend]

Detailed Description

Edge Structure needed to run Push-Relabel algorithm on a network.

Note:
Notice that the this edge actually has actually two capacited edge substructures, one for forward edges and one for backward edge, it is assumed that fw.type == 0 and bw.type == 1. This is needed because the algorithm asumes that both edges exists (althought one may have zero capacity). Moreover, while computing the residual capacities we need to access both edges e_ij and e_ji at the same time, thus our choice to represent both edges in just one structure. We also assume that the lower bound on the flow of all edges is zero. Note that we don't need to keep explicitly the flow on the edges, because given the residual capacity and the capacity on the edge we have that $ x_{ij} - x_{ji} = u_{ij} - r_{ij} $ and thus we can set $ x_{ij} = (u_{ij}-r_{ij})_+ $ and $ x_{ji} = (r_{ij}-u_{ij})_+ $ . if we have computed the maximal flow.
Examples:

eg_push_relabel.ex.c.

Definition at line 214 of file eg_push_relabel.h.

Data Fields

EGalgPRse_t bw
EGalgPRse_t fw


Field Documentation

EGalgPRse_t EGalgPRedge_t::bw
 

backward edge, we assume that bw.type = 1

Examples:
eg_push_relabel.ex.c.

Definition at line 217 of file eg_push_relabel.h.

EGalgPRse_t EGalgPRedge_t::fw
 

forward edge, we assum that fw.type = 0

Examples:
eg_push_relabel.ex.c.

Definition at line 216 of file eg_push_relabel.h.


The documentation for this struct was generated from the following file:
Generated on Mon Jan 30 08:54:50 2006 for EGlib by  doxygen 1.4.5