extendedcactusgraph

class vnep_approx.extendedcactusgraph.ExtendedCactusGraph(request, substrate)
LAYER_NODE = 2
SINK_NODE = 3
SOURCE_NODE = 1
bfs_request = None

this will be a copy of the request, with all edges oriented according to the BFS orde

cycle_layer_nodes = None

“layer nodes” within cycles

get_associated_original_resources(ext_node)
initialize()
path_layer_nodes = None

“layer nodes” within paths (i.e. the nodes from “substrate copies”)

reversed_request_edges = None

this contains edges that point towards the root. edges are stored in their original orientation

sink_nodes = None

“super sink” nodes, on which inflow will be induced

source_nodes = None

“super source” nodes, on which outflow is induced

exception vnep_approx.extendedcactusgraph.ExtendedCactusGraphError
class vnep_approx.extendedcactusgraph.ExtendedGraphCycle(start_node, end_node, original_branches, ext_graph_branches)

This namedtuple represents a cycle in the extended graph.

  • start_node/end_node: The start/end node of the cycle in the original request, as defined by the BFS ordering
  • original_branches: A represention of the cycles’s branches as a list of lists containing the original request edges for each branch
  • ext_graph_branches: A representation of the branches in the extended graph as a list of branches. A branch is a dictionary, mapping each possible substrate end node to an ExtendedGraphPath instance (see description below)
end_node

Alias for field number 1

ext_graph_branches

Alias for field number 3

original_branches

Alias for field number 2

start_node

Alias for field number 0

class vnep_approx.extendedcactusgraph.ExtendedGraphPath(start_node, end_node, original_path, extended_path, extended_edges, extended_nodes)

This namedtuple represents a path in the extended graph.

  • start_node/end_node: The start/end node of the cycle in the original request, as defined by the BFS ordering
  • original_path: A represention of the cycles’s branches as a list containing the original request edges in the BFS ordering (i.e. some might be reversed)
  • extended_path: A dictionary mapping each request node on the path to the extended graph edges associated with the node mapping (inter-layer edges) and each request edge on the path to the extended graph edges associated with the edge mapping (layer edges)
  • extended_edges: A set containing each extended graph edge that is associated with the path.
  • extended_nodes: A set containing each extended graph node that is associated with the path
end_node

Alias for field number 1

extended_edges

Alias for field number 4

extended_nodes

Alias for field number 5

extended_path

Alias for field number 3

original_path

Alias for field number 2

start_node

Alias for field number 0