Here is a concrete example, suppose there is a
process in which a substance passes through a system
from the source where it is produced to the sink where
it is consumed. The origin produces the substance at
a fixed rate, while the sink consumes the substance at
the same rate. Intuitively, the "flow" of matter at any
point in the system is the speed at which that matter
travels through the system. A "network flow" can be
used to model "flow" problems such as liquids
flowing through pipes, components passing through
assembly lines, currents in the power grid, and
information transmitted through communication
networks (Zhang Xiaowei, 2009). After any
optimization situation is abstracted into a network
graph, it can be converted into a maximum flow
problem, that is, to find a flow that maximizes the
total flow(Chen Tian,2018).
In addition, the study of network flow has also
driven the development of algorithms, such as the
famous Ford-Fulkerson method and Edmonds-Karp
algorithm,Dinic algorithm. These algorithms are
effective tools for solving the maximum flow
problem (Hua bo,2012). The development and
optimization of these algorithms not only solve
practical problems, but also enrich the theory of graph
theory and algorithms.
In summary, the study of network flow not only
helps to solve specific engineering and social
problems, but also promotes the development of
related mathematics and computational technology.
For scientists and engineers, deep understanding and
application of network flow theory is an important
tool for solving resource allocation problems in
complex systems.
2 MODEL FORMULATION
A network consists of a set of vertices and directed
edges connecting these vertices. This directed graph
is usually denoted as (G(V, E)), where (V) is the set
of vertices and (E) is the set of edges(
Du Linrui,2014).
And network flow is a special type of network where
each edge (u, v) has a non-negative capacity c(u,
v),indicating the capacity of an edge is the maximum
amount of data or material that can flow through it,
denoted as c(u, v). Note that if there is no edge from
vertex (u) to vertex (v), then c(u, v) = 0. The
maximum flow rate edge(u,v) is allowed to pass
through is f(u,v),and they satisfy an inequality
f(u,v)≤c(u,v)(Zhu Hui,2018). Network flow problems
mainly involve transmitting as much "flow" as
possible from a source node to a sink node in a
directed graph,in which source means the the starting
point of the network flow, a point with an in-degree
of 0 and an outflow capacity of infinity,and sink
means the ending point of the network flow, a point
with an out-degree of 0 and an inflow capacity of
infinity(Yan Jixing,2015).
In general, each edge in a directed graph has a
capacity limit mentioned before. At the same time,
the inflow and outflow of traffic at any point in the
network (except the source and sink points) must be
equal to ensure flow conservation. The source and
sink points serve as bounding points for input and
output flows in this framework, defining the
boundaries of network flow. And the research focus
of network flow problem is to find the maximum flow
from one or more sources to one or more sinks while
satisfying the above capacity constraints, flow
conservation, and non-negative flow volume.
Solving network flow problems relies on some
core theorems and algorithms. The most commonly
used is the Maximum Flow Minimum Cut theorem
and its related algorithms, such as the Ford-Fulkerson
method, Edmonds-Karp algorithm, and Dinic
algorithm. The Maximum Flow Minimum Cut
theorem is the cornerstone of network flow theory. It
points out that in a flow network, the maximum flow
from the source to the sink is equal to the minimum
capacity of any cut that separates the source and the
sink in the network(Lu Shengtao,2015). This theorem
not only provides an elegant optimal condition but
also is the theoretical basis for many algorithm
designs.
The Ford-Fulkerson method is a method to solve
the maximum flow problem, which relies on the
concept of augmenting path, which refers to a path
from the source to the sink where additional flow can
be added. In each iteration, the algorithm searches for
an augmenting path and increases the flow based on
the minimum capacity edge on this path until there
are no more augmenting paths(Liu Yaonian et
al.,2012). The time complexity of this algorithm
depends on the edge capacities in the network and
could be non-polynomial in the worst case.
The Edmonds-Karp algorithm is an improved
version of the Ford-Fulkerson method that uses
breadth-first search (BFS) to find augmenting paths,
ensuring that the shortest augmenting path is always
found(Xu Yongda,2015). This method has a time
complexity of O(V*E^2) in the worst case, where V
is the number of vertices and E is the number of
edges. The Edmonds-Karp algorithm has excellent
convergence speed, stable time performance, and is
easy to implement, but it also has limitations in
efficiency and may not perform well on some extreme
or demanding problems.
The Dinic algorithm is another efficient maximum