Transportation network (graph theory)
   HOME

TheInfoList



OR:

In
graph theory In mathematics, graph theory is the study of ''graphs'', which are mathematical structures used to model pairwise relations between objects. A graph in this context is made up of '' vertices'' (also called ''nodes'' or ''points'') which are conn ...
, a flow network (also known as a transportation network) is a
directed graph In mathematics, and more specifically in graph theory, a directed graph (or digraph) is a graph that is made up of a set of vertices connected by directed edges, often called arcs. Definition In formal terms, a directed graph is an ordered pa ...
where each edge has a capacity and each edge receives a flow. The amount of flow on an edge cannot exceed the capacity of the edge. Often in
operations research Operations research ( en-GB, operational research) (U.S. Air Force Specialty Code: Operations Analysis), often shortened to the initialism OR, is a discipline that deals with the development and application of analytical methods to improve decis ...
, a directed graph is called a network, the vertices are called nodes and the edges are called arcs. A flow must satisfy the restriction that the amount of flow into a node equals the amount of flow out of it, unless it is a source, which has only outgoing flow, or sink, which has only incoming flow. A network can be used to model traffic in a computer network, circulation with demands, fluids in pipes, currents in an electrical circuit, or anything similar in which something travels through a network of nodes.


Definition

A network is a graph , where is a set of vertices and is a set of 's edges – a subset of – together with a non-negative
function Function or functionality may refer to: Computing * Function key, a type of key on computer keyboards * Function model, a structured representation of processes in a system * Function object or functor or functionoid, a concept of object-oriente ...
, called the capacity function.
Without loss of generality ''Without loss of generality'' (often abbreviated to WOLOG, WLOG or w.l.o.g.; less commonly stated as ''without any loss of generality'' or ''with no loss of generality'') is a frequently used expression in mathematics. The term is used to indicat ...
, we may assume that if then is also a member of , since if then we may add to ''E'' and then set . If two nodes in are distinguished, a source and a sink , then is called a flow network.


Flows

There are various notions of a flow function that can be defined in a flow graph. Flow functions model the net flow of units between pairs of nodes, and are useful when asking questions such as ''what is the maximum number of units that can be transferred from the source node s to the sink node t?'' The simplest example of a flow function is known as a pseudo-flow. :A pseudo-flow is a function that satisfies the following two constraints for all nodes and : :*''Skew symmetry'': Only encode the net flow of units between a pair of nodes and (see
intuition Intuition is the ability to acquire knowledge without recourse to conscious reasoning. Different fields use the word "intuition" in very different ways, including but not limited to: direct access to unconscious knowledge; unconscious cognition; ...
below), that is: . :*''Capacity constraint'': An arc's flow cannot exceed its capacity, that is: .
Given a pseudo-flow in a flow network, it is often useful to consider the net flow entering a given node , that is, the sum of the flows entering . The excess function is defined by . A node is said to be active if , deficient if or conserving if . These final definitions lead to two strengthenings of the definition of a pseudo-flow: :A pre-flow is a pseudo-flow that, for all , satisfies the additional constraint: :*''Non-deficient flows'': The net flow ''entering'' the node is non-negative, except for the source, which "produces" flow. That is: for all . :A feasible flow, or just a flow, is a pseudo-flow that, for all , satisfies the additional constraint: :*''Flow conservation'': The net flow ''entering'' the node is 0, except for the source, which "produces" flow, and the sink, which "consumes" flow. That is: for all .
The value of a feasible flow , denoted , is the net flow into the sink of the flow network. That is, .


Intuition

In the context of flow analysis, there is only an interest in considering how units are transferred between nodes in a holistic sense. Put another way, it is not necessary to distinguish multiple arcs between a pair of nodes: *Given any two nodes and , if there are two arcs from to with capacities and respectively, this is equivalent to considering only a single arc between and with capacity — it is only useful to know that units can be transferred from to , not how they can be transferred. *Again, given two nodes and , if there is a flow of units from to , and another flow of units from to , this is equivalent to a net flow of units from to , or a net flow of units from to (so sign indicates direction) — it is only useful to know that a net flow of units will flow between and , and the direction that they will flow, not how that net flow is achieved. For this reason, the ''capacity function'' , which does not allow for multiple arcs starting and ending at the same nodes, is sufficient for flow analysis. Similarly, it is enough to impose the ''skew symmetry'' constraint on flow functions to ensure that flow between two vertices is encoded by a single number (to indicate magnitude), and a sign (to indicate direction) — by knowing the flow between and you implicitly, via skew symmetry, know the flow between and . These simplifications of the model aren't always immediately intuitive, but they are convenient when it comes time to analyze flows. The ''capacity constraint'' simply ensures that a flow on any one arc within the network cannot exceed the capacity of that arc.


Concepts useful to flow problems


Residuals

The residual capacity of an arc with respect to a pseudo-flow , denoted , is the difference between the arc's capacity and its flow. That is, . From this we can construct a residual network, denoted , which models the amount of ''available'' capacity on the set of arcs in . More formally, given a flow network , the residual network   has the node set , arc set and capacity function . This concept is used in Ford–Fulkerson algorithm which computes the
maximum flow In optimization theory, maximum flow problems involve finding a feasible flow through a flow network that obtains the maximum possible flow rate. The maximum flow problem can be seen as a special case of more complex network flow problems, such ...
in a flow network. Note that there can be an unsaturated path (a path with available capacity) from to in the residual network, even though there is no such path from to in the original network. Since flows in opposite directions cancel out, ''decreasing'' the flow from to is the same as ''increasing'' the flow from to .


Augmenting paths

An augmenting path is a path in the residual network, where , , and . A network is at
maximum flow In optimization theory, maximum flow problems involve finding a feasible flow through a flow network that obtains the maximum possible flow rate. The maximum flow problem can be seen as a special case of more complex network flow problems, such ...
if and only if there is no augmenting path in the residual network .


Multiple sources and/or sinks

Sometimes, when modeling a network with more than one source, a supersource is introduced to the graph. This consists of a vertex connected to each of the sources with edges of infinite capacity, so as to act as a global source. A similar construct for sinks is called a supersink.


Example

To the left you see a flow network with source labeled , sink , and four additional nodes. The flow and capacity is denoted f/c. Notice how the network upholds skew symmetry, capacity constraints and flow conservation. The total amount of flow from to is 5, which can be easily seen from the fact that the total outgoing flow from is 5, which is also the incoming flow to . We know that no flow appears or disappears in any of the other nodes. Below you see the residual network for the given flow. Notice how there is positive residual capacity on some edges where the original capacity is zero, for example for the edge (d,c). This flow is not a
maximum flow In optimization theory, maximum flow problems involve finding a feasible flow through a flow network that obtains the maximum possible flow rate. The maximum flow problem can be seen as a special case of more complex network flow problems, such ...
. There is available capacity along the paths (s,a,c,t), (s,a,b,d,t) and (s,a,b,d,c,t), which are then the augmenting paths. The residual capacity of the first path is \min(c(s,a)-f(s,a), c(a,c)-f(a,c), c(c,t)-f(c,t)) = \min(5-3, 3-2, 2-1) = \min(2, 1, 1) = 1. Notice that as long as there exists some path with a positive residual capacity, the flow will not be maximum. The residual capacity for some path is the minimum residual capacity of all edges in that path.


Applications

Picture a series of water pipes, fitting into a network. Each pipe is of a certain diameter, so it can only maintain a flow of a certain amount of water. Anywhere that pipes meet, the total amount of water coming into that junction must be equal to the amount going out, otherwise we would quickly run out of water, or we would have a buildup of water. We have a water inlet, which is the source, and an outlet, the sink. A flow would then be one possible way for water to get from source to sink so that the total amount of water coming out of the outlet is consistent. Intuitively, the total flow of a network is the rate at which water comes out of the outlet. Flows can pertain to people or material over transportation networks, or to electricity over
electrical distribution Electric power distribution is the final stage in the delivery of electric power; it carries electricity from the transmission system to individual consumers. Distribution substations connect to the transmission system and lower the transmissi ...
systems. For any such physical network, the flow coming into any intermediate node needs to equal the flow going out of that node. This conservation constraint is equivalent to
Kirchhoff's current law Kirchhoff's circuit laws are two equalities that deal with the current and potential difference (commonly known as voltage) in the lumped element model of electrical circuits. They were first described in 1845 by German physicist Gustav Kirchho ...
. Flow networks also find applications in
ecology Ecology () is the study of the relationships between living organisms, including humans, and their physical environment. Ecology considers organisms at the individual, population, community, ecosystem, and biosphere level. Ecology overl ...
: flow networks arise naturally when considering the flow of nutrients and energy between different organisms in a
food web A food web is the natural interconnection of food chains and a graphical representation of what-eats-what in an ecological community. Another name for food web is consumer-resource system. Ecologists can broadly lump all life forms into one o ...
. The mathematical problems associated with such networks are quite different from those that arise in networks of fluid or traffic flow. The field of ecosystem network analysis, developed by
Robert Ulanowicz Robert Edward Ulanowicz ( ) is an American theoretical ecologist and philosopher of Polish descent who in his search for a ''unified theory of ecology'' has formulated a paradigm he calls ''Process Ecology''. He was born September 17, 1943 in B ...
and others, involves using concepts from information theory and
thermodynamics Thermodynamics is a branch of physics that deals with heat, work, and temperature, and their relation to energy, entropy, and the physical properties of matter and radiation. The behavior of these quantities is governed by the four laws of th ...
to study the evolution of these networks over time.


Classifying flow problems

The simplest and most common problem using flow networks is to find what is called the
maximum flow In optimization theory, maximum flow problems involve finding a feasible flow through a flow network that obtains the maximum possible flow rate. The maximum flow problem can be seen as a special case of more complex network flow problems, such ...
, which provides the largest possible total flow from the source to the sink in a given graph. There are many other problems which can be solved using max flow algorithms, if they are appropriately modeled as flow networks, such as
bipartite matching In the mathematical discipline of graph theory, a matching or independent edge set in an undirected graph is a set of edges without common vertices. Finding a matching in a bipartite graph can be treated as a network flow problem. Definit ...
, the
assignment problem The assignment problem is a fundamental combinatorial optimization problem. In its most general form, the problem is as follows: :The problem instance has a number of ''agents'' and a number of ''tasks''. Any agent can be assigned to perform any ta ...
and the
transportation problem In mathematics and economics, transportation theory or transport theory is a name given to the study of optimal transportation and allocation of resources. The problem was formalized by the French mathematician Gaspard Monge in 1781.G. Monge. '' ...
. Maximum flow problems can be solved efficiently with the push–relabel algorithm. The max-flow min-cut theorem states that finding a maximal network flow is equivalent to finding a Cut (graph theory), cut of minimum capacity that separates the source and the sink, where a cut is the division of vertices such that the source is in one division and the sink is in another. In a multi-commodity flow problem, you have multiple sources and sinks, and various "commodities" which are to flow from a given source to a given sink. This could be for example various goods that are produced at various factories, and are to be delivered to various given customers through the ''same'' transportation network. In a minimum cost flow problem, each edge u,v has a given cost k(u,v), and the cost of sending the flow f(u,v) across the edge is f(u,v) \cdot k(u,v). The objective is to send a given amount of flow from the source to the sink, at the lowest possible price. In a circulation problem, you have a lower bound \ell(u,v) on the edges, in addition to the upper bound c(u,v). Each edge also has a cost. Often, flow conservation holds for ''all'' nodes in a circulation problem, and there is a connection from the sink back to the source. In this way, you can dictate the total flow with \ell(t,s) and c(t,s). The flow ''circulates'' through the network, hence the name of the problem. In a network with gains or generalized network each edge has a gain graph, gain, a real number (not zero) such that, if the edge has gain ''g'', and an amount ''x'' flows into the edge at its tail, then an amount ''gx'' flows out at the head. In a source localization problem, an algorithm tries to identify the most likely source node of information diffusion through a partially observed network. This can be done in linear time for trees and cubic time for arbitrary networks and has applications ranging from tracking mobile phone users to identifying the originating source of disease outbreaks.


See also

* Braess's paradox * Centrality * Ford–Fulkerson algorithm * Dinic's algorithm * Flow (computer networking) * Flow graph (disambiguation) * Max-flow min-cut theorem * Oriented matroid * Shortest path problem * Nowhere-zero flow


References


Further reading

* * * * * * *


External links


Maximum Flow Problem

Real graph instances

Lemon C++ library with several maximum flow and minimum cost circulation algorithms

QuickGraph
{{Webarchive, url=https://web.archive.org/web/20180121140629/http://quickgraph.codeplex.com/ , date=2018-01-21 , graph data structures and algorithms for .Net Network flow problem