network design and optimization coursenetwork design and optimization course lecture 5 alberto...
TRANSCRIPT
![Page 1: Network Design and Optimization courseNetwork Design and Optimization course Lecture 5 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell’Informazione Universit](https://reader034.vdocuments.net/reader034/viewer/2022042321/5f0af2617e708231d42e1ee8/html5/thumbnails/1.jpg)
Effective maximum flow algorithmsModeling with flows
Network Design and Optimization courseLecture 5
Alberto [email protected]
Dipartimento di Tecnologie dell’InformazioneUniversita degli Studi di Milano
November 7, 2011
A. Ceselli, DTI – Univ. of Milan Network Design and Optimization course
![Page 2: Network Design and Optimization courseNetwork Design and Optimization course Lecture 5 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell’Informazione Universit](https://reader034.vdocuments.net/reader034/viewer/2022042321/5f0af2617e708231d42e1ee8/html5/thumbnails/2.jpg)
15
Review of the Ford-Fulkerson Algorithm
Beginx := 0;create the residual network G(x);while there is some directed path from s to t in
G(x) dobegin
let P be a path from s to t in G(x);δ* := δ(P);send δ* units of flow along P; update the r's;
endend {the flow x is now maximum}.
![Page 3: Network Design and Optimization courseNetwork Design and Optimization course Lecture 5 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell’Informazione Universit](https://reader034.vdocuments.net/reader034/viewer/2022042321/5f0af2617e708231d42e1ee8/html5/thumbnails/3.jpg)
Effective maximum flow algorithmsModeling with flows
Limits of Ford-FulkersonCapacity scalingShortest Augmenting Path algorithm
Limits of Ford-Fulkerson
Computational complexity of O(nmU);
bad behaviour also on simple instances;
may not converge to optimal solutions when data is irrational.
A. Ceselli, DTI – Univ. of Milan Network Design and Optimization course
![Page 4: Network Design and Optimization courseNetwork Design and Optimization course Lecture 5 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell’Informazione Universit](https://reader034.vdocuments.net/reader034/viewer/2022042321/5f0af2617e708231d42e1ee8/html5/thumbnails/4.jpg)
Effective maximum flow algorithmsModeling with flows
Limits of Ford-FulkersonCapacity scalingShortest Augmenting Path algorithm
How to improve Ford-Fulkerson
Some ways to improve them:
augmenting in large increments of flow (capacity scalingalgorithms),
using a combinatorial strategy to choose augmenting paths(shortest augmenting path algorithms),
relax flow conservation constraints in intermediate steps of thealgorithm (preflow-push algorithms).
Preflow-push yield O(nm + n2 logU) time complexity.
A. Ceselli, DTI – Univ. of Milan Network Design and Optimization course
![Page 5: Network Design and Optimization courseNetwork Design and Optimization course Lecture 5 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell’Informazione Universit](https://reader034.vdocuments.net/reader034/viewer/2022042321/5f0af2617e708231d42e1ee8/html5/thumbnails/5.jpg)
Effective maximum flow algorithmsModeling with flows
Limits of Ford-FulkersonCapacity scalingShortest Augmenting Path algorithm
∆-Residual network
Given a flow x and a parameter ∆, let us define as ∆-residualnetwork G (x ,∆) the subgraph obtained from the residual networkby removing arcs of residual capacity less than ∆.
A. Ceselli, DTI – Univ. of Milan Network Design and Optimization course
![Page 6: Network Design and Optimization courseNetwork Design and Optimization course Lecture 5 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell’Informazione Universit](https://reader034.vdocuments.net/reader034/viewer/2022042321/5f0af2617e708231d42e1ee8/html5/thumbnails/6.jpg)
Effective maximum flow algorithmsModeling with flows
Limits of Ford-FulkersonCapacity scalingShortest Augmenting Path algorithm
Capacity scaling algorithm
BEGINx := 0∆ := 2blog Uc
while ∆ ≥ 1 dobegin
while G (x ,∆) contains a path from s to t dobegin
identify a path P in G (x ,∆)δ := min{rij : (i , j) ∈ P}augment δ units of flow along P and update G (x ,∆)
end∆ := ∆/2
endEND
A. Ceselli, DTI – Univ. of Milan Network Design and Optimization course
![Page 7: Network Design and Optimization courseNetwork Design and Optimization course Lecture 5 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell’Informazione Universit](https://reader034.vdocuments.net/reader034/viewer/2022042321/5f0af2617e708231d42e1ee8/html5/thumbnails/7.jpg)
Effective maximum flow algorithmsModeling with flows
Limits of Ford-FulkersonCapacity scalingShortest Augmenting Path algorithm
Complexity of capacity scaling
We can prove that capacity scaling solves the maximum flowproblem
within O(m logU) augmentations,
using O(m2 logU) time overall.
A. Ceselli, DTI – Univ. of Milan Network Design and Optimization course
![Page 8: Network Design and Optimization courseNetwork Design and Optimization course Lecture 5 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell’Informazione Universit](https://reader034.vdocuments.net/reader034/viewer/2022042321/5f0af2617e708231d42e1ee8/html5/thumbnails/8.jpg)
Effective maximum flow algorithmsModeling with flows
Limits of Ford-FulkersonCapacity scalingShortest Augmenting Path algorithm
Basic observations
Observation 1: ∆ := 2blog Uc in the beginning, and halves at everyiteration (scaling phase), ⇒ at most logU scaling phases areperformed.Observation 2: when ∆ == 1 (i.e. during the last iteration)G (x ,∆) == G (x), ⇒ capacity scaling outputs an optimal flow.
A. Ceselli, DTI – Univ. of Milan Network Design and Optimization course
![Page 9: Network Design and Optimization courseNetwork Design and Optimization course Lecture 5 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell’Informazione Universit](https://reader034.vdocuments.net/reader034/viewer/2022042321/5f0af2617e708231d42e1ee8/html5/thumbnails/9.jpg)
Effective maximum flow algorithmsModeling with flows
Limits of Ford-FulkersonCapacity scalingShortest Augmenting Path algorithm
More observations
Observation 3: capacity scaling performs at most 2maugmentations per scaling phase.Proof:
Let x ′ be the flow after scaling phase with ∆ = ∆, and let v ′
be its value,
let S be the set of nodes reachable from s in G (x ′, ∆),
then [S , S ] forms an s-t cut
→ the residual capacity of each arc in the cut is < ∆,
→ the residual capacity of the cut is ≤ m∆
→ v∗ ≤ v ′ + m∆ (weak duality)
→ at most m∆ units of flow remain to be carried in the nextscaling phases.
each augmentation in the next scaling phase carries at least∆/2 units of flow
→ at most 2m augmentations can be performed
A. Ceselli, DTI – Univ. of Milan Network Design and Optimization course
![Page 10: Network Design and Optimization courseNetwork Design and Optimization course Lecture 5 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell’Informazione Universit](https://reader034.vdocuments.net/reader034/viewer/2022042321/5f0af2617e708231d42e1ee8/html5/thumbnails/10.jpg)
Effective maximum flow algorithmsModeling with flows
Limits of Ford-FulkersonCapacity scalingShortest Augmenting Path algorithm
More observations
Observation 3: capacity scaling performs at most 2maugmentations per scaling phase.Proof:
Let x ′ be the flow after scaling phase with ∆ = ∆, and let v ′
be its value,
let S be the set of nodes reachable from s in G (x ′, ∆),
then [S , S ] forms an s-t cut
→ the residual capacity of each arc in the cut is < ∆,
→ the residual capacity of the cut is ≤ m∆
→ v∗ ≤ v ′ + m∆ (weak duality)
→ at most m∆ units of flow remain to be carried in the nextscaling phases.
each augmentation in the next scaling phase carries at least∆/2 units of flow
→ at most 2m augmentations can be performed
A. Ceselli, DTI – Univ. of Milan Network Design and Optimization course
![Page 11: Network Design and Optimization courseNetwork Design and Optimization course Lecture 5 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell’Informazione Universit](https://reader034.vdocuments.net/reader034/viewer/2022042321/5f0af2617e708231d42e1ee8/html5/thumbnails/11.jpg)
Effective maximum flow algorithmsModeling with flows
Limits of Ford-FulkersonCapacity scalingShortest Augmenting Path algorithm
More observations
Observation 3: capacity scaling performs at most 2maugmentations per scaling phase.Proof:
Let x ′ be the flow after scaling phase with ∆ = ∆, and let v ′
be its value,
let S be the set of nodes reachable from s in G (x ′, ∆),
then [S , S ] forms an s-t cut
→ the residual capacity of each arc in the cut is < ∆,
→ the residual capacity of the cut is ≤ m∆
→ v∗ ≤ v ′ + m∆ (weak duality)
→ at most m∆ units of flow remain to be carried in the nextscaling phases.
each augmentation in the next scaling phase carries at least∆/2 units of flow
→ at most 2m augmentations can be performed
A. Ceselli, DTI – Univ. of Milan Network Design and Optimization course
![Page 12: Network Design and Optimization courseNetwork Design and Optimization course Lecture 5 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell’Informazione Universit](https://reader034.vdocuments.net/reader034/viewer/2022042321/5f0af2617e708231d42e1ee8/html5/thumbnails/12.jpg)
Effective maximum flow algorithmsModeling with flows
Limits of Ford-FulkersonCapacity scalingShortest Augmenting Path algorithm
More observations
Observation 3: capacity scaling performs at most 2maugmentations per scaling phase.Proof:
Let x ′ be the flow after scaling phase with ∆ = ∆, and let v ′
be its value,
let S be the set of nodes reachable from s in G (x ′, ∆),
then [S , S ] forms an s-t cut
→ the residual capacity of each arc in the cut is < ∆,
→ the residual capacity of the cut is ≤ m∆
→ v∗ ≤ v ′ + m∆ (weak duality)
→ at most m∆ units of flow remain to be carried in the nextscaling phases.
each augmentation in the next scaling phase carries at least∆/2 units of flow
→ at most 2m augmentations can be performed
A. Ceselli, DTI – Univ. of Milan Network Design and Optimization course
![Page 13: Network Design and Optimization courseNetwork Design and Optimization course Lecture 5 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell’Informazione Universit](https://reader034.vdocuments.net/reader034/viewer/2022042321/5f0af2617e708231d42e1ee8/html5/thumbnails/13.jpg)
Effective maximum flow algorithmsModeling with flows
Limits of Ford-FulkersonCapacity scalingShortest Augmenting Path algorithm
More observations
Observation 3: capacity scaling performs at most 2maugmentations per scaling phase.Proof:
Let x ′ be the flow after scaling phase with ∆ = ∆, and let v ′
be its value,
let S be the set of nodes reachable from s in G (x ′, ∆),
then [S , S ] forms an s-t cut
→ the residual capacity of each arc in the cut is < ∆,
→ the residual capacity of the cut is ≤ m∆
→ v∗ ≤ v ′ + m∆ (weak duality)
→ at most m∆ units of flow remain to be carried in the nextscaling phases.
each augmentation in the next scaling phase carries at least∆/2 units of flow
→ at most 2m augmentations can be performed
A. Ceselli, DTI – Univ. of Milan Network Design and Optimization course
![Page 14: Network Design and Optimization courseNetwork Design and Optimization course Lecture 5 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell’Informazione Universit](https://reader034.vdocuments.net/reader034/viewer/2022042321/5f0af2617e708231d42e1ee8/html5/thumbnails/14.jpg)
Effective maximum flow algorithmsModeling with flows
Limits of Ford-FulkersonCapacity scalingShortest Augmenting Path algorithm
More observations
Observation 3: capacity scaling performs at most 2maugmentations per scaling phase.Proof:
Let x ′ be the flow after scaling phase with ∆ = ∆, and let v ′
be its value,
let S be the set of nodes reachable from s in G (x ′, ∆),
then [S , S ] forms an s-t cut
→ the residual capacity of each arc in the cut is < ∆,
→ the residual capacity of the cut is ≤ m∆
→ v∗ ≤ v ′ + m∆ (weak duality)
→ at most m∆ units of flow remain to be carried in the nextscaling phases.
each augmentation in the next scaling phase carries at least∆/2 units of flow
→ at most 2m augmentations can be performed
A. Ceselli, DTI – Univ. of Milan Network Design and Optimization course
![Page 15: Network Design and Optimization courseNetwork Design and Optimization course Lecture 5 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell’Informazione Universit](https://reader034.vdocuments.net/reader034/viewer/2022042321/5f0af2617e708231d42e1ee8/html5/thumbnails/15.jpg)
Effective maximum flow algorithmsModeling with flows
Limits of Ford-FulkersonCapacity scalingShortest Augmenting Path algorithm
More observations
Observation 3: capacity scaling performs at most 2maugmentations per scaling phase.Proof:
Let x ′ be the flow after scaling phase with ∆ = ∆, and let v ′
be its value,
let S be the set of nodes reachable from s in G (x ′, ∆),
then [S , S ] forms an s-t cut
→ the residual capacity of each arc in the cut is < ∆,
→ the residual capacity of the cut is ≤ m∆
→ v∗ ≤ v ′ + m∆ (weak duality)
→ at most m∆ units of flow remain to be carried in the nextscaling phases.
each augmentation in the next scaling phase carries at least∆/2 units of flow
→ at most 2m augmentations can be performed
A. Ceselli, DTI – Univ. of Milan Network Design and Optimization course
![Page 16: Network Design and Optimization courseNetwork Design and Optimization course Lecture 5 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell’Informazione Universit](https://reader034.vdocuments.net/reader034/viewer/2022042321/5f0af2617e708231d42e1ee8/html5/thumbnails/16.jpg)
Effective maximum flow algorithmsModeling with flows
Limits of Ford-FulkersonCapacity scalingShortest Augmenting Path algorithm
More observations
Observation 3: capacity scaling performs at most 2maugmentations per scaling phase.Proof:
Let x ′ be the flow after scaling phase with ∆ = ∆, and let v ′
be its value,
let S be the set of nodes reachable from s in G (x ′, ∆),
then [S , S ] forms an s-t cut
→ the residual capacity of each arc in the cut is < ∆,
→ the residual capacity of the cut is ≤ m∆
→ v∗ ≤ v ′ + m∆ (weak duality)
→ at most m∆ units of flow remain to be carried in the nextscaling phases.
each augmentation in the next scaling phase carries at least∆/2 units of flow
→ at most 2m augmentations can be performed
A. Ceselli, DTI – Univ. of Milan Network Design and Optimization course
![Page 17: Network Design and Optimization courseNetwork Design and Optimization course Lecture 5 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell’Informazione Universit](https://reader034.vdocuments.net/reader034/viewer/2022042321/5f0af2617e708231d42e1ee8/html5/thumbnails/17.jpg)
Effective maximum flow algorithmsModeling with flows
Limits of Ford-FulkersonCapacity scalingShortest Augmenting Path algorithm
More observations
Observation 4: each scaling phase requires at most O(m) time
O(m) time to find an augmenting path (depth first search),
O(m) time to update the residual network.
So, overall 2mblogUc iterations, each of cost O(m)→ O(m2blogUc).
A. Ceselli, DTI – Univ. of Milan Network Design and Optimization course
![Page 18: Network Design and Optimization courseNetwork Design and Optimization course Lecture 5 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell’Informazione Universit](https://reader034.vdocuments.net/reader034/viewer/2022042321/5f0af2617e708231d42e1ee8/html5/thumbnails/18.jpg)
Effective maximum flow algorithmsModeling with flows
Limits of Ford-FulkersonCapacity scalingShortest Augmenting Path algorithm
Shortest augmenting path algorithm
See Orlin’s slides (cut and paste ahead!)
A. Ceselli, DTI – Univ. of Milan Network Design and Optimization course
![Page 19: Network Design and Optimization courseNetwork Design and Optimization course Lecture 5 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell’Informazione Universit](https://reader034.vdocuments.net/reader034/viewer/2022042321/5f0af2617e708231d42e1ee8/html5/thumbnails/19.jpg)
17
The Shortest Augmenting Path Algorithm
Overview:• We will establish the following:
• We can determine each augmentation in O(n) time if we maintain "distance labels" and can carry out the augmentation in O(n) time.
• The total time to maintain and update all distance labels is O(nm).
• The total number of augmentations is O(nm).
Conclusion. The total running time is O(n2m).
![Page 20: Network Design and Optimization courseNetwork Design and Optimization course Lecture 5 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell’Informazione Universit](https://reader034.vdocuments.net/reader034/viewer/2022042321/5f0af2617e708231d42e1ee8/html5/thumbnails/20.jpg)
18
Distance Labels
A distance label is a function d: N → Z+. A distance label is said to be valid if it satisfies the following:
d(t) = 0.d(i) ≤ d(j) + 1 for each (i,j) ∈ G(x).
An arc (i,j) ∈ G(x) is admissible if d(i) =d(j) + 1.
![Page 21: Network Design and Optimization courseNetwork Design and Optimization course Lecture 5 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell’Informazione Universit](https://reader034.vdocuments.net/reader034/viewer/2022042321/5f0af2617e708231d42e1ee8/html5/thumbnails/21.jpg)
19
An example of valid distance labels
422
11
21
3
3
1
s
2
4
5
3
t02
1
1
1
1
The distance labels are on the nodes.
The admissible arcs are thick and red.
The labels would not be valid if there were an arc from “2” to “0”.
All arcs are in the residual network.
t
![Page 22: Network Design and Optimization courseNetwork Design and Optimization course Lecture 5 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell’Informazione Universit](https://reader034.vdocuments.net/reader034/viewer/2022042321/5f0af2617e708231d42e1ee8/html5/thumbnails/22.jpg)
20
More on valid distance labels
Lemma. Let d( ) be a valid distance label. Then d(i) is a lower bound on the distance from i to t in the residual network. (The distance is measured in terms of the number of arcs.)
Proof. Let P be any path from i to t in G(x) with k arcs. We claim to show that d(i) ≤ k. Assume the claim is true for paths of k-1 or fewer arcs.
P has k arcs
tji0≤ k-1≤ k
P’ has k-1 arcs
![Page 23: Network Design and Optimization courseNetwork Design and Optimization course Lecture 5 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell’Informazione Universit](https://reader034.vdocuments.net/reader034/viewer/2022042321/5f0af2617e708231d42e1ee8/html5/thumbnails/23.jpg)
21
On Finding Paths shortest s-t paths
Lemma. If there is an admissible path P from s to t, then it is a shortest path.
Proof. The length of the path is d(s) which is at most the length of the shortest path.
t0123
s4
![Page 24: Network Design and Optimization courseNetwork Design and Optimization course Lecture 5 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell’Informazione Universit](https://reader034.vdocuments.net/reader034/viewer/2022042321/5f0af2617e708231d42e1ee8/html5/thumbnails/24.jpg)
22
The shortest augmenting path algorithm
beginwhile d(s) < n dobegin
if there is a node with d(i) ≤ d(s) and no admissible arcs from j then Relabel(i)
else find an admissible path from s to t and augment flow along the path
endend
Procedure Relabel(i)begin
if there are no admissible arcs coming out of node i, thend(i) := 1 + min ( d(j) : rij > 0};
if d(s) > n-1, then quit;end Shortest augmenting
path animation
![Page 25: Network Design and Optimization courseNetwork Design and Optimization course Lecture 5 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell’Informazione Universit](https://reader034.vdocuments.net/reader034/viewer/2022042321/5f0af2617e708231d42e1ee8/html5/thumbnails/25.jpg)
23
Comments on the run time analysis
Bound the relabels, and the time for relabelsO(n2) relabels, O(nm) time.
Bound the number of augmentations, and the time to carry out the augmentations
O(nm) augmentationsO(n2m) arcs in augmentationsO(n2m) time.
Bound the time spent looking for augmentations.O(n2m) time spent identifying the arcs in augmentations.
![Page 26: Network Design and Optimization courseNetwork Design and Optimization course Lecture 5 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell’Informazione Universit](https://reader034.vdocuments.net/reader034/viewer/2022042321/5f0af2617e708231d42e1ee8/html5/thumbnails/26.jpg)
24
Bounding the number of relabels.
Claim: after a relabel of node i, the distances are still valid, and the distance label of node i strictly increased.
Claim: Once d(i) > n-1, there is no path from node i to the sink node t, and so one can ignore node i subsequently.
Conclusion: There can be at most n relabels of node i, and at most n2 relabels in total.
![Page 27: Network Design and Optimization courseNetwork Design and Optimization course Lecture 5 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell’Informazione Universit](https://reader034.vdocuments.net/reader034/viewer/2022042321/5f0af2617e708231d42e1ee8/html5/thumbnails/27.jpg)
25
Bounding the time for relabelsTail Head Res.
Cap Admissible
? 4 1 0 No
4 2 1 No
4 3 4 No
4 5 0 No
4 6 0 No
3
Maintain a current arc for each adjacency list.
4
1 2
3
56
1 3
2
4
2
Scan through A(4).
Each arc in A(4) is scanned once per relabel, at most n times over all relabels.
Total time for relabels:
O(nm).
d(3) := 4
![Page 28: Network Design and Optimization courseNetwork Design and Optimization course Lecture 5 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell’Informazione Universit](https://reader034.vdocuments.net/reader034/viewer/2022042321/5f0af2617e708231d42e1ee8/html5/thumbnails/28.jpg)
26
Bounding the Number of Augmentations
If an augmentation uses up the residual capacity of an arc, then the arc is said to be saturated.At least one arc is saturated at each augmentation.If arc (i,j) is saturated, then it is not admissible until flow is sent from j to i, and this cannot happen until d(j) increases. (see next slide)Conclusion: each arc is saturated at most n times.Corollary. There are O(nm) augmentations.
The number of arcs in these augmentations is O(n2m).
![Page 29: Network Design and Optimization courseNetwork Design and Optimization course Lecture 5 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell’Informazione Universit](https://reader034.vdocuments.net/reader034/viewer/2022042321/5f0af2617e708231d42e1ee8/html5/thumbnails/29.jpg)
27
(2,1) is saturated in the augmentation
22
2422
3
11
1
2
1
1
s
2
4
5
3
t02
2
1
1
1
2
12
3
1
1
32
3
123
01
2
After the saturation, arc (2,1) is deleted from G(x).It doesn’t get added until there is flow in (1,2)But for that, the distance label must increase from 1 to 3.And to send flow back, the distance label must increase from 2 to 4.
![Page 30: Network Design and Optimization courseNetwork Design and Optimization course Lecture 5 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell’Informazione Universit](https://reader034.vdocuments.net/reader034/viewer/2022042321/5f0af2617e708231d42e1ee8/html5/thumbnails/30.jpg)
28
Time spent looking for augmentations
We need to find admissible arcs, and know when they do not exist.
22
2422
11
1
3
1
1
s
2
4
5
3
t02
2
1
1
1
2
1
Start with s and do a depth first search using admissible arcs.
If there are no admissible arcs from i, then relabel(i) and reverse along the path leading to i.
![Page 31: Network Design and Optimization courseNetwork Design and Optimization course Lecture 5 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell’Informazione Universit](https://reader034.vdocuments.net/reader034/viewer/2022042321/5f0af2617e708231d42e1ee8/html5/thumbnails/31.jpg)
29
Bounding number of arcs in paths
Each arc added to a path either ends up being reversed or ends up in an augmentation.
O(n2m) arcs in augmentation
O(n2) arcs in reversals, since a reversal immediately follows a relabel.
O(n2m) arcs added to paths in total.
![Page 32: Network Design and Optimization courseNetwork Design and Optimization course Lecture 5 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell’Informazione Universit](https://reader034.vdocuments.net/reader034/viewer/2022042321/5f0af2617e708231d42e1ee8/html5/thumbnails/32.jpg)
30
Last step: finding admissible arcsTail Head Res.
Cap Admissible
? 4 1 0 No
4 2 1 No
4 3 4 No
4 5 2 Yes
4 6 0 No
3 4
1 2
3
56
1 3
2
4
2
Scan arcs in A(4) looking for an admissible arc.
key observation: if (4, j) is not admissible, it cannot be admissible again until after node 4 is relabeled.
So, current arc is moved at most |A(4)| times between relabels of node 4.
![Page 33: Network Design and Optimization courseNetwork Design and Optimization course Lecture 5 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell’Informazione Universit](https://reader034.vdocuments.net/reader034/viewer/2022042321/5f0af2617e708231d42e1ee8/html5/thumbnails/33.jpg)
Effective maximum flow algorithmsModeling with flows
Network reliabilityResource assignment
Network reliability
Given a network and two clients of this network
what is the number of link-disjoint paths between these twoclients?
how can we find them?
A. Ceselli, DTI – Univ. of Milan Network Design and Optimization course
![Page 34: Network Design and Optimization courseNetwork Design and Optimization course Lecture 5 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell’Informazione Universit](https://reader034.vdocuments.net/reader034/viewer/2022042321/5f0af2617e708231d42e1ee8/html5/thumbnails/34.jpg)
2
Network Reliability
Communication Network What is the maximum number of arc disjoint paths from s to t?
How can we determine this number?
Theorem. Let G = (N,A) be a directed graph. Then the maximum number of arc-disjoint paths from s to t is equal to the minimum number of arcs upon whose deletion there is no directed s-t path.
ts
![Page 35: Network Design and Optimization courseNetwork Design and Optimization course Lecture 5 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell’Informazione Universit](https://reader034.vdocuments.net/reader034/viewer/2022042321/5f0af2617e708231d42e1ee8/html5/thumbnails/35.jpg)
3
There are 3 arc-disjoint s-t paths
s t
1
2
3
4
5
6
7
8
9
10
11
12
![Page 36: Network Design and Optimization courseNetwork Design and Optimization course Lecture 5 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell’Informazione Universit](https://reader034.vdocuments.net/reader034/viewer/2022042321/5f0af2617e708231d42e1ee8/html5/thumbnails/36.jpg)
4
Deleting 3 arcs disconnects s and t
t
1
2
5
6
7
9
10
11
12
s
3
4 8
Let S = {s, 3, 4, 8}. The only arcs from S to T = N\S are the 3 deleted arcs.
![Page 37: Network Design and Optimization courseNetwork Design and Optimization course Lecture 5 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell’Informazione Universit](https://reader034.vdocuments.net/reader034/viewer/2022042321/5f0af2617e708231d42e1ee8/html5/thumbnails/37.jpg)
Effective maximum flow algorithmsModeling with flows
Network reliabilityResource assignment
Network reliability
Given a network and two clients of this network
what is the number of node-disjoint paths between these twoclients?
how can we find them?
A. Ceselli, DTI – Univ. of Milan Network Design and Optimization course
![Page 38: Network Design and Optimization courseNetwork Design and Optimization course Lecture 5 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell’Informazione Universit](https://reader034.vdocuments.net/reader034/viewer/2022042321/5f0af2617e708231d42e1ee8/html5/thumbnails/38.jpg)
Effective maximum flow algorithmsModeling with flows
Network reliabilityResource assignment
Maximum matching
Given
a set of computers and a set of tasks,
for each computer, the subset of tasks that can be performedon it
each computer can perform at most 1 task at a time
each task can be performed at most by 1 computer at a time
find the allocation of tasks to computers that maximizes thenumber of tasks performed.
A. Ceselli, DTI – Univ. of Milan Network Design and Optimization course
![Page 39: Network Design and Optimization courseNetwork Design and Optimization course Lecture 5 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell’Informazione Universit](https://reader034.vdocuments.net/reader034/viewer/2022042321/5f0af2617e708231d42e1ee8/html5/thumbnails/39.jpg)
8
Matchings
An undirected network G = (N, A) is bipartite 1
2
3
4
5
6
7
8
9
10
if N can be partitioned into N1 and N2 so that for every arc (i,j) either i ∈N1 and j ∈ N2.
A matching in N is a set of arcs no two of which are incident to a common node.
Matching Problem: Find a matching of maximum cardinality
![Page 40: Network Design and Optimization courseNetwork Design and Optimization course Lecture 5 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell’Informazione Universit](https://reader034.vdocuments.net/reader034/viewer/2022042321/5f0af2617e708231d42e1ee8/html5/thumbnails/40.jpg)
9
Transformation to a Max Flow Problem
1
2
3
4
5
6
7
8
9
10
s t
Replace original arcs by pairs, and put infinite capacity on original arcs.
Each arc (s, i) has a capacity of 1.
Each arc (j, t) has a capacity of 1.
![Page 41: Network Design and Optimization courseNetwork Design and Optimization course Lecture 5 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell’Informazione Universit](https://reader034.vdocuments.net/reader034/viewer/2022042321/5f0af2617e708231d42e1ee8/html5/thumbnails/41.jpg)
10
Find a max flow
1
2
3
4
5
6
7
8
9
10
s t
The maximum s-t flow is 4.
The max matching has cardinality 4.
![Page 42: Network Design and Optimization courseNetwork Design and Optimization course Lecture 5 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell’Informazione Universit](https://reader034.vdocuments.net/reader034/viewer/2022042321/5f0af2617e708231d42e1ee8/html5/thumbnails/42.jpg)
Effective maximum flow algorithmsModeling with flows
Network reliabilityResource assignment
Network surveillance
Given
two networks
a set of links connecting them
install surveillance software on some computers to checkconnection links
so that each link is under surveillance
and the number of software licenses is minimized
A. Ceselli, DTI – Univ. of Milan Network Design and Optimization course
![Page 43: Network Design and Optimization courseNetwork Design and Optimization course Lecture 5 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell’Informazione Universit](https://reader034.vdocuments.net/reader034/viewer/2022042321/5f0af2617e708231d42e1ee8/html5/thumbnails/43.jpg)
11
Determine the minimum cut
1
2
3
4
5
6
7
8
9
10
s t
1
3
4
6
8s
S = {s, 1, 3, 4, 6, 8}. T = {2, 5, 7, 9, 10, t}.
There is no arc from {1, 3, 4} to {7, 9, 10} or from {6, 8} to {2, 5}. Any such arc would have an infinite capacity.
![Page 44: Network Design and Optimization courseNetwork Design and Optimization course Lecture 5 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell’Informazione Universit](https://reader034.vdocuments.net/reader034/viewer/2022042321/5f0af2617e708231d42e1ee8/html5/thumbnails/44.jpg)
12
Interpret the minimum cut
1
2
3
4
5
6
7
8
9
10
s t
1
3
4
6
8s
2
5
6
8ss t
Look at the original nodes incident to the minimum cut. Every original arc is incident to one of them.
![Page 45: Network Design and Optimization courseNetwork Design and Optimization course Lecture 5 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell’Informazione Universit](https://reader034.vdocuments.net/reader034/viewer/2022042321/5f0af2617e708231d42e1ee8/html5/thumbnails/45.jpg)
13
Matching Duality 1
1
2
3
4
5
6
7
8
9
10
1
3
4
6
8
2
5
6
8Such a collection of nodes is called a node cover
The maximum cardinality of a matching is the minimum number of nodes that “covers” all of the arcs.