netmic.network_utility

Auxiliary functions concerning graph properties.

 
Modules
       
networkx
sys
warnings

 
Functions
       
GHDemandViolated(N, S)
Return true if the GH-inequality in demand-form is violated for S.
GHSupplyViolated(N, S)
Return true if the GH-inequality in supply-form is violated for S.
GHViolated(N, S)
Return true if one of the GH-inequalities is violated for S.
allNeighbours(N, v)
Return list of all neighbours of a node,
necessary because networkx.all_neighbors is buggy.
arcPairNetwork(N)
Return N with additional arcs (w,v) for all (v,w) in N, u(w,v)=0
arcsOnPath(path)
Return list of all arcs on path.
arcsOnPath_iter(path)
Return a generator for all arcs on path.
areArcBoundsFeasible(N)
Return true if lower bound <= upper bound on all arcs.
checkPreconditions(N)
Return true if the network is balanced and arc bounds are consistent.
computeBigM(N)
Return $\max bs(u_a) + \max bs(\ell_a) +
\sum_{v\in V | -\inf < b_v < \inf} b_v$.
delta(N, S)
Return $\delta(S)$ as a list.
deltaMinus(N, S)
Return $\delta^-(S)$ as a list.
deltaMinusIfLowerBound(N, S)
Return $\delta^-(S)\setminus \{a: l_a=0\}$ as a list.
deltaPlus(N, S)
Return $\delta^+(S)$ as a list.
deltaPlusIfLowerBound(N, S)
Return $\delta^+(S)\setminus \{a: l_a=0\}$ as a list.
ensureArcDirectionToLargerBound(N)
Reverse arcs for which abs(l) > abs(u).
ensureNetworkForm(N)
Return network without reversed arcs, without lower bounds, and u>=0.
feasibilityCheck(N)
Return true if the network problem is feasible by computing the max-flow
value in the single-source-sink-network.
isNetworkBalanced(N)
Return true if b(V) = 0.
listDegreeOneNodes(N)
Return list of all v with deg(v) = 1.
listOfDemandNodes(N)
Return a list of the sinks in N.
listOfDemandNodes_iter(N)
Return a generator for the sinks in N.
listOfInNodes(N)
Return a list of the intermediate nodes in N.
listOfSupplyNodes(N)
Return a list of the sources in N.
listOfSupplyNodes_iter(N)
Return a generator for the sources in N.
maxAbsWithoutInf(L)
Return the maximum absolute value in L without 'inf'.
Raise ValueError if there is no value.
networkArcFromEdge(N, e)
Return the arc in N corresponding to the "undirected" e.
removeAntiParallelArcs(N)
Check for pairs of oppositely directed arcs and remove one of them.
removeBoundsEdgesForMaxFlow(N, edges)
For arcs in "N" corresponding to "edges", remove upper bound, ie, set to
infty, and add reversed arc without bound, ie, set lower bound to -infty.
removeInfiniteUpperBoundsForMaxFlow(N)
Remove all upper bounds with value "inf", including the key.
removeLowerBoundOnArc(N, a, bigM=9223372036854775807)
Remove non-null lower bound on arc a. 
If l = -inf, use bigM for supply and mark node in network correspondingly.
removeLowerBounds(N)
Remove all nonzero lower bounds, direct arcs to larger bound
if necessary (l_a=-inf, u_a < inf).
reverseArcWithBounds(N, a)
Reverse arc a.
setUpInfiniteBoundSingleSourceSinkNetwork(N)
Return auxiliary network with a single source s and sink t, use keyword
capacity for bounds from s and to t.
setUpSingleSourceSinkNetwork(N, checkLowerBounds=True)
Return auxiliary network with a single source s and sink t,
remove lower bounds if necessary.
sumAbsWithoutInf(L)
Return the sum of absolute values in L without 'inf'.
Raise ValueError if there is no value.
sumBInS(N, S)
Return b(S).
sumBPlus(N)
Return overall supply in N.
sumLInA(N, A)
Return l(A).
sumUInA(N, A)
Return u(A).