Build routing matrix from table of link relationships

Description

Constructs routing matrix from link relationships. Determines routes using (weighted) shortest-path calculation (mirroring OSPF). Currently handles tied paths arbitrarily; will incorporate fractions for tie resolution in next version. Can optionally include aggregate source and destination flows for each node; this can make a major difference for some topologies. Tomogravity methods typically make use of such information, which most routers collect. Note that resulting routing matrix need not be of full row rank.

Usage

1
2
buildRoutingMatrix(nodes, src, dest, weights = NULL, agg = FALSE,
  sep = "_", aggChar = "*", verbose = 0)

Arguments

nodes

vector (lenght n) of node identifiers

src

vector (length m) of sources, one per link, matched with dest

dest

vector (length n) of destination identifiers, one per link, matched with src

weights

numeric vector (length m) of weights for each link; used in shortest-path routing calculations (roughly OSPF)

agg

logical for whether to include aggregate source and destination flows for each node

sep

character separator between node id's for link and OD names

aggChar

character to indicate aggregate flows; should be distinct from sep

verbose

integer level of verbosity; 0 is silent, >=1 are increasing levels of reporting

Value

List consisting of routing matrix A (dense) of dimensions m x n and iGraph object for network topo

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.