Network::admissibleFlow
-- checks a flow for admissibility in a network
IntroductionNetwork::admissibleFlow(N,f) checks if the
flow f is admissible in the network N
according to its vertices and their capacities.
Call(s)Network::admissibleFlow(N, f)
ParametersN |
- | network |
f |
- | flow (a table) |
Returns
DetailsNetwork::admissibleFlow checks whether a given flow is
an admissible flow in the specified network. A flow in a network is a
table t, where t[[i,j]] gives the number of
units flowing from node i to node j.
Network::admissibleFlow returns TRUE if the flow is admissible.
Otherwise FALSE is
returned.Network::admissibleFlow does not check whether the
flow is admissible if a flow from node i to node
j is allowed to pass through other nodes. See
example 2.
Example
1In a cyclic network with default capacities (1), the flow with one unit flowing from each node to its successor is certainly admissible.
>> N1 := Network::cycle([v1,v2,v3,v4]):
Network::admissibleFlow( N1, table([v1,v2]=1,
[v2,v3]=1, [v3,v4]=1, [v4,v1]=1))
TRUE
Example
2The flow must give each connection to use directly.
Network::admissibleFlow does not introduce ``hops''.
>> Network::admissibleFlow( Network::cycle([v1,v2,v3]),
table([v1,v3]=1))
FALSE
Network::AdmissibleFlow