Push–relabel maximum flow algorithm

Push–relabel maximum flow algorithm

In mathematical optimization, the push–relabel algorithm (alternatively, preflow–push algorithm) is an algorithm for computing maximum flows in a flow network. The name "push–relabel" comes from the two basic operations used in the algorithm. Throughout its execution, the algorithm maintains a "preflow" and gradually converts it into a maximum flow by moving flow locally between neighboring nodes using push operations under the guidance of an admissible network maintained by relabel operations. In comparison, the Ford–Fulkerson algorithm performs global augmentations that send flow following paths from the source all the way to the sink.

Align
encenter
Alt
enFinal maximum flow network graph
enInitial flow network graph
Border
1
Caption
enFinal maximum flow network graph
enInitial flow network graph
Comment
enIn mathematical optimization, the push–relabel algorithm (alternatively, preflow–push algorithm) is an algorithm for computing maximum flows in a flow network. The name "push–relabel" comes from the two basic operations used in the algorithm. Throughout its execution, the algorithm maintains a "preflow" and gradually converts it into a maximum flow by moving flow locally between neighboring nodes using push operations under the guidance of an admissible network maintained by relabel operations. In comparison, the Ford–Fulkerson algorithm performs global augmentations that send flow following paths from the source all the way to the sink.
Depiction
Push-Relabel Algorithm Example - Final Network Graph.svg
Push-Relabel Algorithm Example - Step 1.svg
Push-Relabel Algorithm Example - Step 2.svg
Push-Relabel Algorithm Example - Step 3.svg
Push-Relabel Algorithm Example - Step 4.svg
Push-Relabel Algorithm Example - Step 5.svg
Push-Relabel Algorithm Example - Step 6.svg
Push-Relabel Algorithm Example - Step 7.svg
Push-Relabel Algorithm Example - Step 8.svg
Push-Relabel Algorithm Example - Step 9.svg
Push Relabel Algoritm Example - Initial Graph.svg
Has abstract
enIn mathematical optimization, the push–relabel algorithm (alternatively, preflow–push algorithm) is an algorithm for computing maximum flows in a flow network. The name "push–relabel" comes from the two basic operations used in the algorithm. Throughout its execution, the algorithm maintains a "preflow" and gradually converts it into a maximum flow by moving flow locally between neighboring nodes using push operations under the guidance of an admissible network maintained by relabel operations. In comparison, the Ford–Fulkerson algorithm performs global augmentations that send flow following paths from the source all the way to the sink. The push–relabel algorithm is considered one of the most efficient maximum flow algorithms. The generic algorithm has a strongly polynomial O(V 2E) time complexity, which is asymptotically more efficient than the O(VE 2) Edmonds–Karp algorithm. Specific variants of the algorithms achieve even lower time complexities. The variant based on the highest label node selection rule has O(V 2√E) time complexity and is generally regarded as the benchmark for maximum flow algorithms. Subcubic O(VElog(V 2/E)) time complexity can be achieved using dynamic trees, although in practice it is less efficient. The push–relabel algorithm has been extended to compute minimum cost flows. The idea of distance labels has led to a more efficient augmenting path algorithm, which in turn can be incorporated back into the push–relabel algorithm to create a variant with even higher empirical performance.
Hypernym
Algorithm
Image
enPush Relabel Algoritm Example - Initial Graph.svg
enPush-Relabel Algorithm Example - Final Network Graph.svg
Is primary topic of
Push–relabel maximum flow algorithm
Label
enPush–relabel maximum flow algorithm
Link from a Wikipage to an external page
www.adrian-haarbach.de/idp-graph-algorithms/implementation/maxflow-push-relabel/index_en.html
Link from a Wikipage to another Wikipage
0%5D * n for in range(n)%5D
Alexander V. Karzanov
Amortized complexity
Andrew V. Goldberg
Breadth-first search
C (programming language)
Category:Graph algorithms
Category:Network flow problem
Edmonds–Karp algorithm
FIFO (computing and electronics)
File:Push-Relabel Algorithm Example - Step 1.svg
File:Push-Relabel Algorithm Example - Step 2.svg
File:Push-Relabel Algorithm Example - Step 3.svg
File:Push-Relabel Algorithm Example - Step 4.svg
File:Push-Relabel Algorithm Example - Step 5.svg
File:Push-Relabel Algorithm Example - Step 6.svg
File:Push-Relabel Algorithm Example - Step 7.svg
File:Push-Relabel Algorithm Example - Step 8.svg
File:Push-Relabel Algorithm Example - Step 9.svg
Flow network
Ford–Fulkerson algorithm
Link-cut tree
Mathematical optimization
Max-flow min-cut theorem
Maximum flow
Minimum cost flow
Potential method
Python (programming language)
Robert Tarjan
Strongly polynomial
Topological sorting
Uzi Vishkin
SameAs
2PZSU
Algorytm push-relabel
Goldberg-Tarjan-Algorithmus
Goldbergův algoritmus
m.09cr90
Push-relabel algoritam maksimalnog protoka grafa
Q25423274
Q583889
réétiquetage
Алгоритм проталкивания предпотока
الگوریتم Goldberg و Tarjan
الگوریتم ارسال-برچسب
ขั้นตอนวิธีการผลักดัน - ติดป้ายใหม่
Subject
Category:Graph algorithms
Category:Network flow problem
Thumbnail
Push Relabel Algoritm Example - Initial Graph.svg?width=300
Title
enC implementation
enPython implementation
Titlestyle
entext-align:center
WasDerivedFrom
Push–relabel maximum flow algorithm?oldid=1109375636&ns=0
Width
350
WikiPageLength
35860
Wikipage page ID
3444072
Wikipage revision ID
1109375636
WikiPageUsesTemplate
Template:!
Template:'
Template:(
Template:)
Template:=
Template:Clear
Template:Hidden begin
Template:Hidden end
Template:Main
Template:Math
Template:Multiple image
Template:Mvar
Template:Optimization algorithms
Template:Reflist
Template:Sqrt