V9 MaxFlow
V9 MaxFlow
V9 MaxFlow
Arbeitsgruppe Verkehrslogistik
Folie 2
Maximum Flow Problem
Network Flow Model
Question:
Folie 3
Network Flow Model - Examples
material flow system for conveying and processing pallets
Folie 4
Network Flow Model - Examples
flight networks for the tansportation of air cargo
Folie 5
Network Flow Model - Examples
intermodal networks for cargo tansportation
Folie 6
Network Flow Model - Examples
liquid flows through pipes
Folie 7
Network Flow Model
Representation by a directed Graph 𝐺 = (𝑉, 𝐴) with
for 𝑖, 𝑗 ∈ 𝐴:
Folie 8
Maximum Flow Problem
Flow properties
… no negative flows
if 𝑖, 𝑗 ∉ 𝐴 then 𝑐𝑖𝑗 = 0
(1) define 𝐴 = 𝑉 ∗ 𝑉
Folie 9
Maximum Flow Problem
Flow properties
Folie 10
Maximum Flow Problem
Flow properties
𝑹
Capacity Flow Residual Capacity 𝒄𝒊𝒋 = 𝒄𝒊𝒋 − 𝒇𝒊𝒋
20 10 / 20 20 – 10 = 10
i j i j i j
0 - 10 / 0 0 – (-10) =10
You can add another 10 CU to flow (i,j).
You can delete 10 CU from the flow (i,j).
Folie 11
Maximum Flow Problem
Flow properties
Net Flow
12 units 12 units
leaving s arriving at t
Folie 12
Maximum Flow Problem
Problem Formulation
Objective: 𝑚𝑎𝑥 σ𝑗∈𝑉 𝑓𝑠𝑗 … maximize total outgoing flow from source s
Constraints:
Integrality theorem:
If all arc capacities are integers, then the optimal solution only contains integer flow values.
Folie 13
Maximum Flow Problem
Solution
(2) Ford-Fulkerson-Algorithm
(3) Edmonds-Karp-Algorithm
Folie 14
Maximum Flow Problem
Folie 15
Maximum Flow Problem
Ford-Fulkerson-Algorithm (1956 by Lester R. Ford and Delbert R. Fulkerson)
Idea:
Increase the flow from source node to target node as long as there is a path with available capacity (a so
called augmenting path)! So the idea is to search for such a path.
Auxiliary means:
Residual network 𝐺 𝑅 = 𝑉, 𝐴𝑅 , where all arcs have a capacity 𝑐𝑖𝑗
𝑅
= 𝑐𝑖𝑗 − 𝑓𝑖𝑗 , containing also back-arcs
(describing flows that can be added or delete from an arc)
Folie 16
Maximum Flow Problem
Ford-Fulkerson-Algorithm (1956 by Lester R. Ford and Delbert R. Fulkerson)
Input: Given a network G=(V,A) with flow capacity, source node and target node
a) Find 𝑐 𝑅 𝑝 = min{𝑐𝑖𝑗
𝑅
∶ 𝑖, 𝑗 ∈ 𝑝} … determine the bottleneck section of the path
i) original arc: 𝑓𝑖𝑗 ← 𝑓𝑖𝑗 + 𝑐 𝑅 (𝑝) … add flow to the original arc
ii) reverse arc: 𝑓𝑗𝑖 ← 𝑓𝑗𝑖 − 𝑐 𝑅 (𝑝) … delete flow from the original arc
Folie 17
Maximum Flow Problem
Ford-Fulkerson-Algorithm (1956 by Lester R. Ford and Delbert R. Fulkerson)
Input: Given a network G=(V,A) with flow capacity, source node and target node
a) Find 𝑐 𝑅 𝑝 = min{𝑐𝑖𝑗
𝑅
∶ 𝑖, 𝑗 ∈ 𝑝} … determine the bottleneck section of the path
i) original arc: 𝑓𝑖𝑗 ← 𝑓𝑖𝑗 + 𝑐 𝑅 (𝑝) … add flow to the original arc
ii) reverse arc: 𝑓𝑗𝑖 ← 𝑓𝑗𝑖 − 𝑐 𝑅 (𝑝) … delete flow from the original arc
Folie 18
Maximum Flow Problem
Edmonds-Karp-Algorithm (1956 by Lester R. Ford and Delbert R. Fulkerson)
Folie 19
Maximum Flow Problem
Avoid reverse arcs in the original graph. They would appear in the residual graph as well.
This may cause some confusion.
Instead: Introduce an addition node
Folie 20
Maximum Flow Problem
Split the node and introduce an arc between. Assign the node capacity to this arc.
Folie 21
Maximum Flow Problem
A „cut“ divides the set of nodes into a subset including the source and a subset including the target (sink).
The minimal cut represents the (composed) bottleneck of the network and therefore is equal to the
maximum network flow.
Folie 22
Minimum Cost Flow Problem
Problem Formulation
Objective: 𝑚𝑖𝑛 σ 𝑖,𝑗 ∈𝐴 𝑓𝑖𝑗 𝑎𝑖𝑗 … maximize total outgoing flow from source s
Constraints: