223
Combinatorial Optimization and Graph Theory ORCO Introduction + Flows Zolt´ an Szigeti Z. Szigeti OCG-ORCO 1 / 38

Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Combinatorial Optimization and Graph Theory

ORCOIntroduction + Flows

Zoltan Szigeti

Z. Szigeti OCG-ORCO 1 / 38

Page 2: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Teachers

Teachers1 SZIGETI, Zoltan (8 weeks)

Professor at Ensimag, e-mail: [email protected]

2 STEHLIK, Matej (4 weeks)

Assistant Professor at UGA, e-mail: [email protected]

Z. Szigeti OCG-ORCO 1 / 38

Page 3: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Teachers

Teachers1 SZIGETI, Zoltan (8 weeks)

Professor at Ensimag, e-mail: [email protected]

2 STEHLIK, Matej (4 weeks)

Assistant Professor at UGA, e-mail: [email protected]

Researchers:1 Research at G-SCOP Laboratory.2 Research subjects:

Combinatorial Optimization,Graph Theory,Connectivity (network reliability),Matchings (resource allocation).

Z. Szigeti OCG-ORCO 1 / 38

Page 4: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Course:

Combinatorial Optimization

1 Discrete optimization part of Operations Research, consists of”Finding the best solution in a very large set of possibilities”.

Z. Szigeti OCG-ORCO 2 / 38

Page 5: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Course:

Combinatorial Optimization

1 Discrete optimization part of Operations Research, consists of”Finding the best solution in a very large set of possibilities”.

Previously seen:

Shortest paths,Minimum cost spanning trees.

Z. Szigeti OCG-ORCO 2 / 38

Page 6: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Course:

Combinatorial Optimization

1 Discrete optimization part of Operations Research, consists of”Finding the best solution in a very large set of possibilities”.

Previously seen:

Shortest paths,Minimum cost spanning trees.

2 Structural results

Z. Szigeti OCG-ORCO 2 / 38

Page 7: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Course:

Combinatorial Optimization

1 Discrete optimization part of Operations Research, consists of”Finding the best solution in a very large set of possibilities”.

Previously seen:

Shortest paths,Minimum cost spanning trees.

2 Structural resultsPreviously seen:

Subpath of a shortest path is a shortest path.Maximal forest is maximum forest.

Z. Szigeti OCG-ORCO 2 / 38

Page 8: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Course:

Combinatorial Optimization

1 Discrete optimization part of Operations Research, consists of”Finding the best solution in a very large set of possibilities”.

Previously seen:

Shortest paths,Minimum cost spanning trees.

2 Structural resultsPreviously seen:

Subpath of a shortest path is a shortest path.Maximal forest is maximum forest.

3 Efficient algorithms

Z. Szigeti OCG-ORCO 2 / 38

Page 9: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Course:

Combinatorial Optimization

1 Discrete optimization part of Operations Research, consists of”Finding the best solution in a very large set of possibilities”.

Previously seen:

Shortest paths,Minimum cost spanning trees.

2 Structural resultsPreviously seen:

Subpath of a shortest path is a shortest path.Maximal forest is maximum forest.

3 Efficient algorithmsPreviously seen:

Bellmann, Dijkstra, Floyd-Warshall for shortest paths,Kruskal (greedy) for minimum cost spanning trees.

Z. Szigeti OCG-ORCO 2 / 38

Page 10: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Planning

Subjects treated in my part:

1 Network flows,

2 Push-Relabel algorithm for flows,

3 Matchings in bipartite graphs,

4 Matchings in general graphs,

5 Matroids,

6 Submodular functions in graph theory,

7 Paper presentations (2 weeks),

Z. Szigeti OCG-ORCO 3 / 38

Page 11: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Planning

Subjects treated in my part:

1 Network flows,

2 Push-Relabel algorithm for flows,

3 Matchings in bipartite graphs,

4 Matchings in general graphs,

5 Matroids,

6 Submodular functions in graph theory,

7 Paper presentations (2 weeks),

Citation about flows :

”But anyone who has experienced flow knows that the deep enjoyment it

provides requires an equal degree of disciplined concentration.”Mihaly Csikszentmihalyi

Z. Szigeti OCG-ORCO 3 / 38

Page 12: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Books

Books for further study

1 Ahuja, Magnanti, Orlin, Network flows; Theory, Algorithms and

Applications,

2 Cook, Cunningham, Pulleyblank, Schrijver, Combinatorial

Optimization,

3 Frank, Connections in Combinatorial Optimization,

4 Korte, Vygen, Combinatorial Optimization; Theory and Algorithms,

5 Lovasz, Plummer, Matching Theory,

6 Schrijver, Combinatorial Optimization; Polyhedra and Efficiency, 3volumes.

Z. Szigeti OCG-ORCO 4 / 38

Page 13: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Introduction to flows

Problem

How many trucks can we send from a starting point to a destination pointrespecting the capacity constraints of the streets?

Z. Szigeti OCG-ORCO 5 / 38

Page 14: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Introduction to flows

Problem

How many trucks can we send from a starting point to a destination pointrespecting the capacity constraints of the streets?

Model1 Given

1 a directed graph G = (V ,A),

2 source s ∈ V and sink t ∈ V ,

3 a capacity function g on the arcs,

ts

1

3

1

1

3

Z. Szigeti OCG-ORCO 5 / 38

Page 15: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Introduction to flows

Problem

How many trucks can we send from a starting point to a destination pointrespecting the capacity constraints of the streets?

Model1 Given

1 a directed graph G = (V ,A),

2 source s ∈ V and sink t ∈ V ,

3 a capacity function g on the arcs,

ts

1

3

1

1

3

2 find a set P of (s, t)-paths such that each arc e belongs to at mostg(e) paths of P.

Z. Szigeti OCG-ORCO 5 / 38

Page 16: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Introduction to flows

Problem

How many trucks can we send from a starting point to a destination pointrespecting the capacity constraints of the streets?

Model1 Given

1 a directed graph G = (V ,A),

2 source s ∈ V and sink t ∈ V ,

3 a capacity function g on the arcs,

ts

(1, 1)

(2, 3)

(1, 1)

(1, 1)

(2, 3)

(x(e), g(e))

2 find a set P of (s, t)-paths such that each arc e belongs to at mostg(e) paths of P.

3 It suffices to know the number x(e) of paths in P containing e ∈ A.

Z. Szigeti OCG-ORCO 5 / 38

Page 17: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Introduction to flows

Problem

How many trucks can we send from a starting point to a destination pointrespecting the capacity constraints of the streets?

Model1 Given

1 a directed graph G = (V ,A),

2 source s ∈ V and sink t ∈ V ,

3 a capacity function g on the arcs,

ts

(1, 1)

(2, 3)

(1, 1)

(1, 1)

(2, 3)

(x(e), g(e))

2 find a set P of (s, t)-paths such that each arc e belongs to at mostg(e) paths of P.

3 It suffices to know the number x(e) of paths in P containing e ∈ A.

4 The function x : A→ R is called flow.

Z. Szigeti OCG-ORCO 5 / 38

Page 18: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Definition of flows

Definition1 Given

1 a directed graph G = (V ,A),

2 s, t ∈ V such that δ−(s) = ∅ = δ+(t),

3 a non-negative capacity g on the arcs,

ts

1

3

1

1

3

Z. Szigeti OCG-ORCO 6 / 38

Page 19: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Definition of flows

Definition1 Given

1 a directed graph G = (V ,A),

2 s, t ∈ V such that δ−(s) = ∅ = δ+(t),

3 a non-negative capacity g on the arcs,

ts

(1, 1)

(2, 3)

(1, 1)

(1, 1)

(2, 3)

(x(e), g(e))

2 a function x on the arcs is

Z. Szigeti OCG-ORCO 6 / 38

Page 20: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Definition of flows

Definition1 Given

1 a directed graph G = (V ,A),

2 s, t ∈ V such that δ−(s) = ∅ = δ+(t),

3 a non-negative capacity g on the arcs,

ts

(1, 1)

(2, 3)

(1, 1)

(1, 1)

(2, 3)

(x(e), g(e))

2 a function x on the arcs is

1 an (s, t)-flow if the flow conservation is satisfied:

Z. Szigeti OCG-ORCO 6 / 38

Page 21: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Definition of flows

Definition1 Given

1 a directed graph G = (V ,A),

2 s, t ∈ V such that δ−(s) = ∅ = δ+(t),

3 a non-negative capacity g on the arcs,

ts

(1, 1)

(2, 3)

(1, 1)

(1, 1)

(2, 3)

(x(e), g(e))

2 a function x on the arcs is

1 an (s, t)-flow if the flow conservation is satisfied:

uv∈A

x(uv) =∑

vu∈A

x(vu) ∀v ∈ V \ {s, t}.

Z. Szigeti OCG-ORCO 6 / 38

Page 22: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Definition of flows

Definition1 Given

1 a directed graph G = (V ,A),

2 s, t ∈ V such that δ−(s) = ∅ = δ+(t),

3 a non-negative capacity g on the arcs,

ts

(1, 1)

(2, 3)

(1, 1)

(1, 1)

(2, 3)

(x(e), g(e))

2 a function x on the arcs is

1 an (s, t)-flow if the flow conservation is satisfied:

uv∈A

x(uv) =∑

vu∈A

x(vu) ∀v ∈ V \ {s, t}.

2 feasible if the capacity contraint is satisfied:

Z. Szigeti OCG-ORCO 6 / 38

Page 23: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Definition of flows

Definition1 Given

1 a directed graph G = (V ,A),

2 s, t ∈ V such that δ−(s) = ∅ = δ+(t),

3 a non-negative capacity g on the arcs,

ts

(1, 1)

(2, 3)

(1, 1)

(1, 1)

(2, 3)

(x(e), g(e))

2 a function x on the arcs is

1 an (s, t)-flow if the flow conservation is satisfied:

uv∈A

x(uv) =∑

vu∈A

x(vu) ∀v ∈ V \ {s, t}.

2 feasible if the capacity contraint is satisfied:0 ≤ x(e) ≤ g(e) ∀e ∈ A.

Z. Szigeti OCG-ORCO 6 / 38

Page 24: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Notation

Notation

Given directed graph G = (V ,A), s, t ∈ V , capacity g , flow x , Z ⊆ V ,

ts

(1, 1)

(2, 3)

(1, 1)

(1, 1)

(2, 3)

(x(e), g(e))

Z

d+x (Z ) = 4

d+x (s) = 3

d+g (Z ) = 6

Z. Szigeti OCG-ORCO 7 / 38

Page 25: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Notation

Notation

Given directed graph G = (V ,A), s, t ∈ V , capacity g , flow x , Z ⊆ V ,

1 δ+(Z): the arcs leaving Z ,

ts

(1, 1)

(2, 3)

(1, 1)

(1, 1)

(2, 3)

(x(e), g(e))

Z

d+x (Z ) = 4

d+x (s) = 3

d+g (Z ) = 6

Z. Szigeti OCG-ORCO 7 / 38

Page 26: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Notation

Notation

Given directed graph G = (V ,A), s, t ∈ V , capacity g , flow x , Z ⊆ V ,

1 δ+(Z): the arcs leaving Z ,

2 Out-value of Z : d+x (Z ):=

e∈δ+(Z) x(e),

ts

(1, 1)

(2, 3)

(1, 1)

(1, 1)

(2, 3)

(x(e), g(e))

Z

d+x (Z ) = 4

d+x (s) = 3

d+g (Z ) = 6

Z. Szigeti OCG-ORCO 7 / 38

Page 27: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Notation

Notation

Given directed graph G = (V ,A), s, t ∈ V , capacity g , flow x , Z ⊆ V ,

1 δ+(Z): the arcs leaving Z ,

2 Out-value of Z : d+x (Z ):=

e∈δ+(Z) x(e),

3 Flow conservation: d−x (v) = d+

x (v),

ts

(1, 1)

(2, 3)

(1, 1)

(1, 1)

(2, 3)

(x(e), g(e))

Z

d+x (Z ) = 4

d+x (s) = 3

d+g (Z ) = 6

Z. Szigeti OCG-ORCO 7 / 38

Page 28: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Notation

Notation

Given directed graph G = (V ,A), s, t ∈ V , capacity g , flow x , Z ⊆ V ,

1 δ+(Z): the arcs leaving Z ,

2 Out-value of Z : d+x (Z ):=

e∈δ+(Z) x(e),

3 Flow conservation: d−x (v) = d+

x (v),

4 Flow value: val(x) := d+x (s),

ts

(1, 1)

(2, 3)

(1, 1)

(1, 1)

(2, 3)

(x(e), g(e))

Z

d+x (Z ) = 4

d+x (s) = 3

d+g (Z ) = 6

Z. Szigeti OCG-ORCO 7 / 38

Page 29: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Notation

Notation

Given directed graph G = (V ,A), s, t ∈ V , capacity g , flow x , Z ⊆ V ,

1 δ+(Z): the arcs leaving Z ,

2 Out-value of Z : d+x (Z ):=

e∈δ+(Z) x(e),

3 Flow conservation: d−x (v) = d+

x (v),

4 Flow value: val(x) := d+x (s),

5 (s, t)-cut Z : if s ∈ Z ⊆ V \ t,

ts

(1, 1)

(2, 3)

(1, 1)

(1, 1)

(2, 3)

(x(e), g(e))

Z

d+x (Z ) = 4

d+x (s) = 3

d+g (Z ) = 6

Z. Szigeti OCG-ORCO 7 / 38

Page 30: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Notation

Notation

Given directed graph G = (V ,A), s, t ∈ V , capacity g , flow x , Z ⊆ V ,

1 δ+(Z): the arcs leaving Z ,

2 Out-value of Z : d+x (Z ):=

e∈δ+(Z) x(e),

3 Flow conservation: d−x (v) = d+

x (v),

4 Flow value: val(x) := d+x (s),

5 (s, t)-cut Z : if s ∈ Z ⊆ V \ t,

6 Capacity of (s, t)-cut Z : cap(Z ) := d+g (Z ).

ts

(1, 1)

(2, 3)

(1, 1)

(1, 1)

(2, 3)

(x(e), g(e))

Z

d+x (Z ) = 4

d+x (s) = 3

d+g (Z ) = 6

Z. Szigeti OCG-ORCO 7 / 38

Page 31: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Flow value

Lemma

For all (s, t)-flow x and for all (s, t)-cut Z :val(x) = d+

x (Z )− d−x (Z ).

ts

1

2

1

1

2

Z

Z. Szigeti OCG-ORCO 8 / 38

Page 32: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Flow value

Lemma

For all (s, t)-flow x and for all (s, t)-cut Z :val(x) = d+

x (Z )− d−x (Z ).

Proof

ts

1

2

1

1

2

Z

Z. Szigeti OCG-ORCO 8 / 38

Page 33: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Flow value

Lemma

For all (s, t)-flow x and for all (s, t)-cut Z :val(x) = d+

x (Z )− d−x (Z ).

Proof

val(x) = d+x (s)

ts

1

2

1

1

2

Z

Z. Szigeti OCG-ORCO 8 / 38

Page 34: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Flow value

Lemma

For all (s, t)-flow x and for all (s, t)-cut Z :val(x) = d+

x (Z )− d−x (Z ).

Proof

val(x) = d+x (s)

= d+x (s)−

0︷ ︸︸ ︷

d−x (s)+

v∈Z−s

0︷ ︸︸ ︷

(d+x (v)− d−

x (v))

ts

1

2

1

1

2

Z

Z. Szigeti OCG-ORCO 8 / 38

Page 35: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Flow value

Lemma

For all (s, t)-flow x and for all (s, t)-cut Z :val(x) = d+

x (Z )− d−x (Z ).

Proof

val(x) = d+x (s)

= d+x (s)−

0︷ ︸︸ ︷

d−x (s)+

v∈Z−s

0︷ ︸︸ ︷

(d+x (v)− d−

x (v))

=∑

v∈Z

(d+x (v)− d−

x (v))

ts

1

2

1

1

2

Z

Z. Szigeti OCG-ORCO 8 / 38

Page 36: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Flow value

Lemma

For all (s, t)-flow x and for all (s, t)-cut Z :val(x) = d+

x (Z )− d−x (Z ).

Proof

val(x) = d+x (s)

= d+x (s)−

0︷ ︸︸ ︷

d−x (s)+

v∈Z−s

0︷ ︸︸ ︷

(d+x (v)− d−

x (v))

=∑

v∈Z

(d+x (v)− d−

x (v))

= d+x (Z )− d−

x (Z ).

ts

1

2

1

1

2

Z

Z. Szigeti OCG-ORCO 8 / 38

Page 37: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Max Flow ≤ Min Cut

Lemma

For all g -feasible (s, t)-flow x and for all (s, t)-cut Z : val(x) ≤ cap(Z ).

ts

(1, 1)

(2, 3)

(1, 1)

(1, 1)

(2, 3)

Z

Z. Szigeti OCG-ORCO 9 / 38

Page 38: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Max Flow ≤ Min Cut

Lemma

For all g -feasible (s, t)-flow x and for all (s, t)-cut Z : val(x) ≤ cap(Z ).

Proof

ts

(1, 1)

(2, 3)

(1, 1)

(1, 1)

(2, 3)

Z

Z. Szigeti OCG-ORCO 9 / 38

Page 39: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Max Flow ≤ Min Cut

Lemma

For all g -feasible (s, t)-flow x and for all (s, t)-cut Z : val(x) ≤ cap(Z ).

Proof

val(x) = d+x (Z )− d−

x (Z )

ts

(1, 1)

(2, 3)

(1, 1)

(1, 1)

(2, 3)

Z

Z. Szigeti OCG-ORCO 9 / 38

Page 40: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Max Flow ≤ Min Cut

Lemma

For all g -feasible (s, t)-flow x and for all (s, t)-cut Z : val(x) ≤ cap(Z ).

Proof

val(x) = d+x (Z )− d−

x (Z )

≤ d+g (Z )− d−

0 (Z )

ts

(1, 1)

(2, 3)

(1, 1)

(1, 1)

(2, 3)

Z

Z. Szigeti OCG-ORCO 9 / 38

Page 41: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Max Flow ≤ Min Cut

Lemma

For all g -feasible (s, t)-flow x and for all (s, t)-cut Z : val(x) ≤ cap(Z ).

Proof

val(x) = d+x (Z )− d−

x (Z )

≤ d+g (Z )− d−

0 (Z )

= d+g (Z ) ts

(1, 1)

(2, 3)

(1, 1)

(1, 1)

(2, 3)

Z

Z. Szigeti OCG-ORCO 9 / 38

Page 42: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Max Flow ≤ Min Cut

Lemma

For all g -feasible (s, t)-flow x and for all (s, t)-cut Z : val(x) ≤ cap(Z ).

Proof

val(x) = d+x (Z )− d−

x (Z )

≤ d+g (Z )− d−

0 (Z )

= d+g (Z )

= cap(Z ).

ts

(1, 1)

(2, 3)

(1, 1)

(1, 1)

(2, 3)

Z

Z. Szigeti OCG-ORCO 9 / 38

Page 43: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Max Flow ≤ Min Cut

Lemma

For all g -feasible (s, t)-flow x and for all (s, t)-cut Z : val(x) ≤ cap(Z ).

Proof

val(x) = d+x (Z )− d−

x (Z )

≤ d+g (Z )− d−

0 (Z )

= d+g (Z )

= cap(Z ).

ts

(1, 1)

(2, 3)

(1, 1)

(1, 1)

(2, 3)

Z

Problem: How to find

Z. Szigeti OCG-ORCO 9 / 38

Page 44: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Max Flow ≤ Min Cut

Lemma

For all g -feasible (s, t)-flow x and for all (s, t)-cut Z : val(x) ≤ cap(Z ).

Proof

val(x) = d+x (Z )− d−

x (Z )

≤ d+g (Z )− d−

0 (Z )

= d+g (Z )

= cap(Z ).

ts

(1, 1)

(2, 3)

(1, 1)

(1, 1)

(2, 3)

Z

Problem: How to find1 a g -feasible (s, t)-flow of maximum value and

Z. Szigeti OCG-ORCO 9 / 38

Page 45: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Max Flow ≤ Min Cut

Lemma

For all g -feasible (s, t)-flow x and for all (s, t)-cut Z : val(x) ≤ cap(Z ).

Proof

val(x) = d+x (Z )− d−

x (Z )

≤ d+g (Z )− d−

0 (Z )

= d+g (Z )

= cap(Z ).

ts

(1, 1)

(2, 3)

(1, 1)

(1, 1)

(2, 3)

Z

Problem: How to find1 a g -feasible (s, t)-flow of maximum value and

2 an (s, t)-cut of minimum capacity?

Z. Szigeti OCG-ORCO 9 / 38

Page 46: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Flow augmentation

First idea

Z. Szigeti OCG-ORCO 10 / 38

Page 47: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Flow augmentation

First idea1 x(e) = 0 ∀e ∈ A is a feasible flow.

ts

(0, 1)

(0, 1)

(0, 1)

(0, 1)

(0, 1)

Z. Szigeti OCG-ORCO 10 / 38

Page 48: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Flow augmentation

First idea1 x(e) = 0 ∀e ∈ A is a feasible flow.

2 How to augment a flow?

ts

(0, 1)

(0, 1)

(0, 1)

(0, 1)

(0, 1)

Z. Szigeti OCG-ORCO 10 / 38

Page 49: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Flow augmentation

First idea1 x(e) = 0 ∀e ∈ A is a feasible flow.

2 How to augment a flow?

3 G ′:= (V ,A1x) where A1

x := {uv ∈ A : x(uv) < g(uv)}.

ts

(0, 1)

(0, 1)

(0, 1)

(0, 1)

(0, 1)

ts

1

11

1

1

Z. Szigeti OCG-ORCO 10 / 38

Page 50: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Flow augmentation

First idea1 x(e) = 0 ∀e ∈ A is a feasible flow.

2 How to augment a flow?

3 G ′:= (V ,A1x) where A1

x := {uv ∈ A : x(uv) < g(uv)}.

4 If there exists an (s, t)-path P in G ′ then we can augment the valueof the flow

ts

(0, 1)

(0, 1)

(0, 1)

(0, 1)

(0, 1)

ts

1

11

1

1

Z. Szigeti OCG-ORCO 10 / 38

Page 51: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Flow augmentation

First idea1 x(e) = 0 ∀e ∈ A is a feasible flow.

2 How to augment a flow?

3 G ′:= (V ,A1x) where A1

x := {uv ∈ A : x(uv) < g(uv)}.

4 If there exists an (s, t)-path P in G ′ then we can augment the valueof the flow by ε1x := min{g(uv)− x(uv) : uv ∈ A(P) ∩ A1

x},

ts

(0, 1)

(0, 1)

(0, 1)

(0, 1)

(0, 1)

ts

1

11

1

1

Z. Szigeti OCG-ORCO 10 / 38

Page 52: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Flow augmentation

First idea1 x(e) = 0 ∀e ∈ A is a feasible flow.

2 How to augment a flow?

3 G ′:= (V ,A1x) where A1

x := {uv ∈ A : x(uv) < g(uv)}.

4 If there exists an (s, t)-path P in G ′ then we can augment the valueof the flow by ε1x := min{g(uv)− x(uv) : uv ∈ A(P) ∩ A1

x},

5 x ′(uv) :=

{

ts

(0, 1)

(0, 1)

(0, 1)

(0, 1)

(0, 1)

ts

1

11

1

1

Z. Szigeti OCG-ORCO 10 / 38

Page 53: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Flow augmentation

First idea1 x(e) = 0 ∀e ∈ A is a feasible flow.

2 How to augment a flow?

3 G ′:= (V ,A1x) where A1

x := {uv ∈ A : x(uv) < g(uv)}.

4 If there exists an (s, t)-path P in G ′ then we can augment the valueof the flow by ε1x := min{g(uv)− x(uv) : uv ∈ A(P) ∩ A1

x},

5 x ′(uv) :=

{x(uv) + ε1x if uv ∈ A(P) ∩ A1

x

ts

(0, 1)

(0, 1)

(0, 1)

(0, 1)

(0, 1)

ts

1

11

1

1

ts

(0, 1)

(1, 1)

(1, 1)

(0, 1)

(1, 1)

Z. Szigeti OCG-ORCO 10 / 38

Page 54: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Flow augmentation

First idea1 x(e) = 0 ∀e ∈ A is a feasible flow.

2 How to augment a flow?

3 G ′:= (V ,A1x) where A1

x := {uv ∈ A : x(uv) < g(uv)}.

4 If there exists an (s, t)-path P in G ′ then we can augment the valueof the flow by ε1x := min{g(uv)− x(uv) : uv ∈ A(P) ∩ A1

x},

5 x ′(uv) :=

{x(uv) + ε1x if uv ∈ A(P) ∩ A1

x

x(uv) otherwise.

ts

(0, 1)

(0, 1)

(0, 1)

(0, 1)

(0, 1)

ts

1

11

1

1

ts

(0, 1)

(1, 1)

(1, 1)

(0, 1)

(1, 1)

Z. Szigeti OCG-ORCO 10 / 38

Page 55: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Flow augmentation

Example: this idea is not enough

ts

(0, 1)

(1, 1)

(1, 1)

(0, 1)

(1, 1)

Z. Szigeti OCG-ORCO 11 / 38

Page 56: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Flow augmentation

Example: this idea is not enough

ts

(0, 1)

(1, 1)

(1, 1)

(0, 1)

(1, 1)

ts

1

1

Z. Szigeti OCG-ORCO 11 / 38

Page 57: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Flow augmentation

Example: this idea is not enough

ts

(0, 1)

(1, 1)

(1, 1)

(0, 1)

(1, 1)

ts

1

1

This flow is not of maximum value and no (s, t)-path exists in G ′.

Z. Szigeti OCG-ORCO 11 / 38

Page 58: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Flow augmentation

Second idea

Z. Szigeti OCG-ORCO 12 / 38

Page 59: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Flow augmentation

Second idea1 Use the arcs uv such that x(uv) > 0 in the reverse direction.

ts

(0, 1)

(1, 1)

(1, 1)

(0, 1)

(1, 1)

Z. Szigeti OCG-ORCO 12 / 38

Page 60: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Flow augmentation

Second idea1 Use the arcs uv such that x(uv) > 0 in the reverse direction.

2 Gx := (V ,A1x ∪ A2

x) where

ts

(0, 1)

(1, 1)

(1, 1)

(0, 1)

(1, 1)

ts

1

1

Z. Szigeti OCG-ORCO 12 / 38

Page 61: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Flow augmentation

Second idea1 Use the arcs uv such that x(uv) > 0 in the reverse direction.

2 Gx := (V ,A1x ∪ A2

x) where A2x := {vu : uv ∈ A, x(uv) > 0}.

ts

(0, 1)

(1, 1)

(1, 1)

(0, 1)

(1, 1)

ts

1

11

1

1

Z. Szigeti OCG-ORCO 12 / 38

Page 62: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Flow augmentation

Second idea1 Use the arcs uv such that x(uv) > 0 in the reverse direction.

2 Gx := (V ,A1x ∪ A2

x) where A2x := {vu : uv ∈ A, x(uv) > 0}.

3 If there exists an (s, t)-path P in Gx then we can augment the valueof the flow

ts

(0, 1)

(1, 1)

(1, 1)

(0, 1)

(1, 1)

ts

1

11

1

1

Z. Szigeti OCG-ORCO 12 / 38

Page 63: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Flow augmentation

Second idea1 Use the arcs uv such that x(uv) > 0 in the reverse direction.

2 Gx := (V ,A1x ∪ A2

x) where A2x := {vu : uv ∈ A, x(uv) > 0}.

3 If there exists an (s, t)-path P in Gx then we can augment the valueof the flow by εx := min{ε1x , ε

2x}, where

ε2x := min{x(uv) : vu ∈ A(P) ∩ A2x},

ts

(0, 1)

(1, 1)

(1, 1)

(0, 1)

(1, 1)

ts

1

11

1

1

Z. Szigeti OCG-ORCO 12 / 38

Page 64: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Flow augmentation

Second idea1 Use the arcs uv such that x(uv) > 0 in the reverse direction.

2 Gx := (V ,A1x ∪ A2

x) where A2x := {vu : uv ∈ A, x(uv) > 0}.

3 If there exists an (s, t)-path P in Gx then we can augment the valueof the flow by εx := min{ε1x , ε

2x}, where

ε2x := min{x(uv) : vu ∈ A(P) ∩ A2x},

4 x ′(uv) :=

ts

(0, 1)

(1, 1)

(1, 1)

(0, 1)

(1, 1)

ts

1

11

1

1

ts

(1, 1)

(1, 1)

(0, 1)

(1, 1)

(1, 1)

Z. Szigeti OCG-ORCO 12 / 38

Page 65: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Flow augmentation

Second idea1 Use the arcs uv such that x(uv) > 0 in the reverse direction.

2 Gx := (V ,A1x ∪ A2

x) where A2x := {vu : uv ∈ A, x(uv) > 0}.

3 If there exists an (s, t)-path P in Gx then we can augment the valueof the flow by εx := min{ε1x , ε

2x}, where

ε2x := min{x(uv) : vu ∈ A(P) ∩ A2x},

4 x ′(uv) :=

x(uv) + εx if uv ∈ A(P) ∩ A1x

ts

(0, 1)

(1, 1)

(1, 1)

(0, 1)

(1, 1)

ts

1

11

1

1

ts

(1, 1)

(1, 1)

(0, 1)

(1, 1)

(1, 1)

Z. Szigeti OCG-ORCO 12 / 38

Page 66: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Flow augmentation

Second idea1 Use the arcs uv such that x(uv) > 0 in the reverse direction.

2 Gx := (V ,A1x ∪ A2

x) where A2x := {vu : uv ∈ A, x(uv) > 0}.

3 If there exists an (s, t)-path P in Gx then we can augment the valueof the flow by εx := min{ε1x , ε

2x}, where

ε2x := min{x(uv) : vu ∈ A(P) ∩ A2x},

4 x ′(uv) :=

x(uv) + εx if uv ∈ A(P) ∩ A1x

x(uv)− εx if vu ∈ A(P) ∩ A2x

ts

(0, 1)

(1, 1)

(1, 1)

(0, 1)

(1, 1)

ts

1

11

1

1

ts

(1, 1)

(1, 1)

(0, 1)

(1, 1)

(1, 1)

Z. Szigeti OCG-ORCO 12 / 38

Page 67: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Flow augmentation

Second idea1 Use the arcs uv such that x(uv) > 0 in the reverse direction.

2 Gx := (V ,A1x ∪ A2

x) where A2x := {vu : uv ∈ A, x(uv) > 0}.

3 If there exists an (s, t)-path P in Gx then we can augment the valueof the flow by εx := min{ε1x , ε

2x}, where

ε2x := min{x(uv) : vu ∈ A(P) ∩ A2x},

4 x ′(uv) :=

x(uv) + εx if uv ∈ A(P) ∩ A1x

x(uv)− εx if vu ∈ A(P) ∩ A2x

x(uv) otherwise.

ts

(0, 1)

(1, 1)

(1, 1)

(0, 1)

(1, 1)

ts

1

11

1

1

ts

(1, 1)

(1, 1)

(0, 1)

(1, 1)

(1, 1)

Z. Szigeti OCG-ORCO 12 / 38

Page 68: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Min-Max theorem

Theorem (Ford-Fulkerson)

1 A feasible (s, t)-flow x is of maximum value if and only if there existsno (s, t)-path in Gx .

Z. Szigeti OCG-ORCO 13 / 38

Page 69: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Min-Max theorem

Theorem (Ford-Fulkerson)

1 A feasible (s, t)-flow x is of maximum value if and only if there existsno (s, t)-path in Gx .

2 max{val(x) : feasible (s, t)-flow x} = min{cap(Z ) : (s, t)-cut Z}.

❄✻

✲✻

✒✲❘s t

(1, 1)

(1, 1)

(1, 1)

(1, 1)

(1, 1)

(1, 2)

(1, 2)

(1, 2)

(0, 2)(0, 2)

(0, 2)(0, 2)

(1, 2)

Z

Z. Szigeti OCG-ORCO 13 / 38

Page 70: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of necessity

Z. Szigeti OCG-ORCO 14 / 38

Page 71: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of necessity

1 Suppose there exists an (s, t)-path P in Gx .

Z. Szigeti OCG-ORCO 14 / 38

Page 72: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of necessity

1 Suppose there exists an (s, t)-path P in Gx .

2 x ′(uv) :=

x(uv) + εx if uv ∈ A(P) ∩ A1x

x(uv)− εx if vu ∈ A(P) ∩ A2x

x(uv) otherwise.

Z. Szigeti OCG-ORCO 14 / 38

Page 73: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of necessity

1 Suppose there exists an (s, t)-path P in Gx .

2 x ′(uv) :=

x(uv) + εx if uv ∈ A(P) ∩ A1x

x(uv)− εx if vu ∈ A(P) ∩ A2x

x(uv) otherwise.

3 x ′ is a feasible (s, t)-flow of value val(x) + εx > val(x).

Z. Szigeti OCG-ORCO 14 / 38

Page 74: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of necessity

1 Suppose there exists an (s, t)-path P in Gx .

2 x ′(uv) :=

x(uv) + εx if uv ∈ A(P) ∩ A1x

x(uv)− εx if vu ∈ A(P) ∩ A2x

x(uv) otherwise.

3 x ′ is a feasible (s, t)-flow of value val(x) + εx > val(x).1 εx > 0,

Z. Szigeti OCG-ORCO 14 / 38

Page 75: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of necessity

1 Suppose there exists an (s, t)-path P in Gx .

2 x ′(uv) :=

x(uv) + εx if uv ∈ A(P) ∩ A1x

x(uv)− εx if vu ∈ A(P) ∩ A2x

x(uv) otherwise.

3 x ′ is a feasible (s, t)-flow of value val(x) + εx > val(x).1 εx > 0,2 x ′ is an (s, t)-flow,

Z. Szigeti OCG-ORCO 14 / 38

Page 76: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of necessity

1 Suppose there exists an (s, t)-path P in Gx .

2 x ′(uv) :=

x(uv) + εx if uv ∈ A(P) ∩ A1x

x(uv)− εx if vu ∈ A(P) ∩ A2x

x(uv) otherwise.

3 x ′ is a feasible (s, t)-flow of value val(x) + εx > val(x).1 εx > 0,2 x ′ is an (s, t)-flow,3 x ′ is feasible,

Z. Szigeti OCG-ORCO 14 / 38

Page 77: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of necessity

1 Suppose there exists an (s, t)-path P in Gx .

2 x ′(uv) :=

x(uv) + εx if uv ∈ A(P) ∩ A1x

x(uv)− εx if vu ∈ A(P) ∩ A2x

x(uv) otherwise.

3 x ′ is a feasible (s, t)-flow of value val(x) + εx > val(x).1 εx > 0,2 x ′ is an (s, t)-flow,3 x ′ is feasible,4 val(x ′) = val(x) + εx .

Z. Szigeti OCG-ORCO 14 / 38

Page 78: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of necessity

1 Suppose there exists an (s, t)-path P in Gx .

2 x ′(uv) :=

x(uv) + εx if uv ∈ A(P) ∩ A1x

x(uv)− εx if vu ∈ A(P) ∩ A2x

x(uv) otherwise.

3 x ′ is a feasible (s, t)-flow of value val(x) + εx > val(x).1 εx > 0,2 x ′ is an (s, t)-flow,3 x ′ is feasible,4 val(x ′) = val(x) + εx .

4 x is not of maximum value, contradiction.

Z. Szigeti OCG-ORCO 14 / 38

Page 79: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of necessity

1. εx > 0:

Z. Szigeti OCG-ORCO 15 / 38

Page 80: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of necessity

1. εx > 0:

1 g(uv)− x(uv) > 0 ∀uv ∈ A1x ,

Z. Szigeti OCG-ORCO 15 / 38

Page 81: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of necessity

1. εx > 0:

1 g(uv)− x(uv) > 0 ∀uv ∈ A1x , hence

ε1x = min{g(uv)− x(uv) : uv ∈ A(P) ∩ A1x} > 0,

Z. Szigeti OCG-ORCO 15 / 38

Page 82: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of necessity

1. εx > 0:

1 g(uv)− x(uv) > 0 ∀uv ∈ A1x , hence

ε1x = min{g(uv)− x(uv) : uv ∈ A(P) ∩ A1x} > 0,

2 x(uv) > 0 ∀vu ∈ A2x ,

Z. Szigeti OCG-ORCO 15 / 38

Page 83: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of necessity

1. εx > 0:

1 g(uv)− x(uv) > 0 ∀uv ∈ A1x , hence

ε1x = min{g(uv)− x(uv) : uv ∈ A(P) ∩ A1x} > 0,

2 x(uv) > 0 ∀vu ∈ A2x , hence

ε2x = min{x(uv) : vu ∈ A(P) ∩ A2x} > 0,

Z. Szigeti OCG-ORCO 15 / 38

Page 84: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of necessity

1. εx > 0:

1 g(uv)− x(uv) > 0 ∀uv ∈ A1x , hence

ε1x = min{g(uv)− x(uv) : uv ∈ A(P) ∩ A1x} > 0,

2 x(uv) > 0 ∀vu ∈ A2x , hence

ε2x = min{x(uv) : vu ∈ A(P) ∩ A2x} > 0,

3 thus εx = min{ε1x , ε2x} > 0.

Z. Szigeti OCG-ORCO 15 / 38

Page 85: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of necessity

2. x ′ is an (s, t)-flow:

Z. Szigeti OCG-ORCO 16 / 38

Page 86: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of necessity

2. x ′ is an (s, t)-flow:

Pin Gx

in G

P ′+εx +εx −εx −εx +εx

s t

s t

Z. Szigeti OCG-ORCO 16 / 38

Page 87: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of necessity

2. x ′ is an (s, t)-flow:

Pin Gx

in G

P ′+εx +εx −εx −εx +εx

s t

s t

1 xP′(uv) :=

+εx if uv ∈ A(P) ∩ A1x

−εx if vu ∈ A(P) ∩ A2x

0 otherwise.est un (s, t)-flot.

Z. Szigeti OCG-ORCO 16 / 38

Page 88: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of necessity

2. x ′ is an (s, t)-flow:

Pin Gx

in G

P ′+εx +εx −εx −εx +εx

s t

s t

1 xP′(uv) :=

+εx if uv ∈ A(P) ∩ A1x

−εx if vu ∈ A(P) ∩ A2x

0 otherwise.est un (s, t)-flot.

2 x ′ = x + xP′ .

Z. Szigeti OCG-ORCO 16 / 38

Page 89: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of necessity

2. x ′ is an (s, t)-flow:

Pin Gx

in G

P ′+εx +εx −εx −εx +εx

s t

s t

1 xP′(uv) :=

+εx if uv ∈ A(P) ∩ A1x

−εx if vu ∈ A(P) ∩ A2x

0 otherwise.est un (s, t)-flot.

2 x ′ = x + xP′ .

3 d−x ′(v)− d+

x ′ (v)

Z. Szigeti OCG-ORCO 16 / 38

Page 90: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of necessity

2. x ′ is an (s, t)-flow:

Pin Gx

in G

P ′+εx +εx −εx −εx +εx

s t

s t

1 xP′(uv) :=

+εx if uv ∈ A(P) ∩ A1x

−εx if vu ∈ A(P) ∩ A2x

0 otherwise.est un (s, t)-flot.

2 x ′ = x + xP′ .

3 d−x ′(v)− d+

x ′ (v) = d−x+xP′

(v)− d+x+xP′

(v)

Z. Szigeti OCG-ORCO 16 / 38

Page 91: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of necessity

2. x ′ is an (s, t)-flow:

Pin Gx

in G

P ′+εx +εx −εx −εx +εx

s t

s t

1 xP′(uv) :=

+εx if uv ∈ A(P) ∩ A1x

−εx if vu ∈ A(P) ∩ A2x

0 otherwise.est un (s, t)-flot.

2 x ′ = x + xP′ .

3 d−x ′(v)− d+

x ′ (v) = d−x+xP′

(v)− d+x+xP′

(v)

= (d−x (v)− d+

x (v)) + (d−xP′

(v)− d+xP′

(v)) ∀v 6= s, t

Z. Szigeti OCG-ORCO 16 / 38

Page 92: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of necessity

2. x ′ is an (s, t)-flow:

Pin Gx

in G

P ′+εx +εx −εx −εx +εx

s t

s t

1 xP′(uv) :=

+εx if uv ∈ A(P) ∩ A1x

−εx if vu ∈ A(P) ∩ A2x

0 otherwise.est un (s, t)-flot.

2 x ′ = x + xP′ .

3 d−x ′(v)− d+

x ′ (v) = d−x+xP′

(v)− d+x+xP′

(v)

= (d−x (v)− d+

x (v)) + (d−xP′

(v)− d+xP′

(v)) ∀v 6= s, t= 0 + 0 = 0

Z. Szigeti OCG-ORCO 16 / 38

Page 93: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of necessity

2. x ′ is an (s, t)-flow:

Pin Gx

in G

P ′+εx +εx −εx −εx +εx

s t

s t

1 xP′(uv) :=

+εx if uv ∈ A(P) ∩ A1x

−εx if vu ∈ A(P) ∩ A2x

0 otherwise.est un (s, t)-flot.

2 x ′ = x + xP′ .

3 d−x ′(v)− d+

x ′ (v) = d−x+xP′

(v)− d+x+xP′

(v)

= (d−x (v)− d+

x (v)) + (d−xP′

(v)− d+xP′

(v)) ∀v 6= s, t= 0 + 0 = 0

4 x ′ is hence an (s, t)-flot.

Z. Szigeti OCG-ORCO 16 / 38

Page 94: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of necessity

3. x ′ is feasible:

Pin Gx

in G

P ′+εx +εx −εx −εx +εx

s t

s t

Z. Szigeti OCG-ORCO 17 / 38

Page 95: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of necessity

3. x ′ is feasible: Since x is feasible, 0 ≤ x(uv) ≤ g(uv).

Pin Gx

in G

P ′+εx +εx −εx −εx +εx

s t

s t

Z. Szigeti OCG-ORCO 17 / 38

Page 96: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of necessity

3. x ′ is feasible: Since x is feasible, 0 ≤ x(uv) ≤ g(uv).

1 e ∈ A \ A(P) :

Pin Gx

in G

P ′+εx +εx −εx −εx +εx

s t

s t

Z. Szigeti OCG-ORCO 17 / 38

Page 97: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of necessity

3. x ′ is feasible: Since x is feasible, 0 ≤ x(uv) ≤ g(uv).

1 e ∈ A \ A(P) : xP′(e)

Pin Gx

in G

P ′+εx +εx −εx −εx +εx

s t

s t

Z. Szigeti OCG-ORCO 17 / 38

Page 98: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of necessity

3. x ′ is feasible: Since x is feasible, 0 ≤ x(uv) ≤ g(uv).

1 e ∈ A \ A(P) : 0 = xP′(e) = 0

Pin Gx

in G

P ′+εx +εx −εx −εx +εx

s t

s t

Z. Szigeti OCG-ORCO 17 / 38

Page 99: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of necessity

3. x ′ is feasible: Since x is feasible, 0 ≤ x(uv) ≤ g(uv).

1 e ∈ A \ A(P) : -x(e) ≤ 0 = xP′(e) = 0

Pin Gx

in G

P ′+εx +εx −εx −εx +εx

s t

s t

Z. Szigeti OCG-ORCO 17 / 38

Page 100: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of necessity

3. x ′ is feasible: Since x is feasible, 0 ≤ x(uv) ≤ g(uv).

1 e ∈ A \ A(P) : -x(e) ≤ 0 = xP′(e) = 0 ≤ g(e)− x(e).

Pin Gx

in G

P ′+εx +εx −εx −εx +εx

s t

s t

Z. Szigeti OCG-ORCO 17 / 38

Page 101: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of necessity

3. x ′ is feasible: Since x is feasible, 0 ≤ x(uv) ≤ g(uv).

1 e ∈ A \ A(P) : -x(e) ≤ 0 = xP′(e) = 0 ≤ g(e)− x(e).

2 e ∈ A1x ∩ A(P) :

Pin Gx

in G

P ′+εx +εx −εx −εx +εx

s t

s t

Z. Szigeti OCG-ORCO 17 / 38

Page 102: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of necessity

3. x ′ is feasible: Since x is feasible, 0 ≤ x(uv) ≤ g(uv).

1 e ∈ A \ A(P) : -x(e) ≤ 0 = xP′(e) = 0 ≤ g(e)− x(e).

2 e ∈ A1x ∩ A(P) : xP′(e)

Pin Gx

in G

P ′+εx +εx −εx −εx +εx

s t

s t

Z. Szigeti OCG-ORCO 17 / 38

Page 103: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of necessity

3. x ′ is feasible: Since x is feasible, 0 ≤ x(uv) ≤ g(uv).

1 e ∈ A \ A(P) : -x(e) ≤ 0 = xP′(e) = 0 ≤ g(e)− x(e).

2 e ∈ A1x ∩ A(P) : εx = xP′(e) = εx

Pin Gx

in G

P ′+εx +εx −εx −εx +εx

s t

s t

Z. Szigeti OCG-ORCO 17 / 38

Page 104: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of necessity

3. x ′ is feasible: Since x is feasible, 0 ≤ x(uv) ≤ g(uv).

1 e ∈ A \ A(P) : -x(e) ≤ 0 = xP′(e) = 0 ≤ g(e)− x(e).

2 e ∈ A1x ∩ A(P) : 0 ≤ εx = xP′(e) = εx

Pin Gx

in G

P ′+εx +εx −εx −εx +εx

s t

s t

Z. Szigeti OCG-ORCO 17 / 38

Page 105: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of necessity

3. x ′ is feasible: Since x is feasible, 0 ≤ x(uv) ≤ g(uv).

1 e ∈ A \ A(P) : -x(e) ≤ 0 = xP′(e) = 0 ≤ g(e)− x(e).

2 e ∈ A1x ∩ A(P) : -x(e) ≤ 0 ≤ εx = xP′(e) = εx

Pin Gx

in G

P ′+εx +εx −εx −εx +εx

s t

s t

Z. Szigeti OCG-ORCO 17 / 38

Page 106: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of necessity

3. x ′ is feasible: Since x is feasible, 0 ≤ x(uv) ≤ g(uv).

1 e ∈ A \ A(P) : -x(e) ≤ 0 = xP′(e) = 0 ≤ g(e)− x(e).

2 e ∈ A1x ∩ A(P) : -x(e) ≤ 0 ≤ εx = xP′(e) = εx ≤ ε1x

Pin Gx

in G

P ′+εx +εx −εx −εx +εx

s t

s t

Z. Szigeti OCG-ORCO 17 / 38

Page 107: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of necessity

3. x ′ is feasible: Since x is feasible, 0 ≤ x(uv) ≤ g(uv).

1 e ∈ A \ A(P) : -x(e) ≤ 0 = xP′(e) = 0 ≤ g(e)− x(e).

2 e ∈ A1x ∩ A(P) : -x(e) ≤ 0 ≤ εx = xP′(e) = εx ≤ ε1x ≤ g(e)− x(e).

Pin Gx

in G

P ′+εx +εx −εx −εx +εx

s t

s t

Z. Szigeti OCG-ORCO 17 / 38

Page 108: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of necessity

3. x ′ is feasible: Since x is feasible, 0 ≤ x(uv) ≤ g(uv).

1 e ∈ A \ A(P) : -x(e) ≤ 0 = xP′(e) = 0 ≤ g(e)− x(e).

2 e ∈ A1x ∩ A(P) : -x(e) ≤ 0 ≤ εx = xP′(e) = εx ≤ ε1x ≤ g(e)− x(e).

3←−e ∈ A2

x ∩ A(P) :

Pin Gx

in G

P ′+εx +εx −εx −εx +εx

s t

s t

Z. Szigeti OCG-ORCO 17 / 38

Page 109: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of necessity

3. x ′ is feasible: Since x is feasible, 0 ≤ x(uv) ≤ g(uv).

1 e ∈ A \ A(P) : -x(e) ≤ 0 = xP′(e) = 0 ≤ g(e)− x(e).

2 e ∈ A1x ∩ A(P) : -x(e) ≤ 0 ≤ εx = xP′(e) = εx ≤ ε1x ≤ g(e)− x(e).

3←−e ∈ A2

x ∩ A(P) : xP′(e)

Pin Gx

in G

P ′+εx +εx −εx −εx +εx

s t

s t

Z. Szigeti OCG-ORCO 17 / 38

Page 110: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of necessity

3. x ′ is feasible: Since x is feasible, 0 ≤ x(uv) ≤ g(uv).

1 e ∈ A \ A(P) : -x(e) ≤ 0 = xP′(e) = 0 ≤ g(e)− x(e).

2 e ∈ A1x ∩ A(P) : -x(e) ≤ 0 ≤ εx = xP′(e) = εx ≤ ε1x ≤ g(e)− x(e).

3←−e ∈ A2

x ∩ A(P) : -εx = xP′(e) = -εx

Pin Gx

in G

P ′+εx +εx −εx −εx +εx

s t

s t

Z. Szigeti OCG-ORCO 17 / 38

Page 111: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of necessity

3. x ′ is feasible: Since x is feasible, 0 ≤ x(uv) ≤ g(uv).

1 e ∈ A \ A(P) : -x(e) ≤ 0 = xP′(e) = 0 ≤ g(e)− x(e).

2 e ∈ A1x ∩ A(P) : -x(e) ≤ 0 ≤ εx = xP′(e) = εx ≤ ε1x ≤ g(e)− x(e).

3←−e ∈ A2

x ∩ A(P) : -ε2x ≤ -εx = xP′(e) = -εx

Pin Gx

in G

P ′+εx +εx −εx −εx +εx

s t

s t

Z. Szigeti OCG-ORCO 17 / 38

Page 112: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of necessity

3. x ′ is feasible: Since x is feasible, 0 ≤ x(uv) ≤ g(uv).

1 e ∈ A \ A(P) : -x(e) ≤ 0 = xP′(e) = 0 ≤ g(e)− x(e).

2 e ∈ A1x ∩ A(P) : -x(e) ≤ 0 ≤ εx = xP′(e) = εx ≤ ε1x ≤ g(e)− x(e).

3←−e ∈ A2

x ∩ A(P) : -x(e) ≤ -ε2x ≤ -εx = xP′(e) = -εx

Pin Gx

in G

P ′+εx +εx −εx −εx +εx

s t

s t

Z. Szigeti OCG-ORCO 17 / 38

Page 113: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of necessity

3. x ′ is feasible: Since x is feasible, 0 ≤ x(uv) ≤ g(uv).

1 e ∈ A \ A(P) : -x(e) ≤ 0 = xP′(e) = 0 ≤ g(e)− x(e).

2 e ∈ A1x ∩ A(P) : -x(e) ≤ 0 ≤ εx = xP′(e) = εx ≤ ε1x ≤ g(e)− x(e).

3←−e ∈ A2

x ∩ A(P) : -x(e) ≤ -ε2x ≤ -εx = xP′(e) = -εx ≤ 0 ≤ g(e)− x(e).

Pin Gx

in G

P ′+εx +εx −εx −εx +εx

s t

s t

Z. Szigeti OCG-ORCO 17 / 38

Page 114: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of necessity

3. x ′ is feasible: Since x is feasible, 0 ≤ x(uv) ≤ g(uv).

1 e ∈ A \ A(P) : -x(e) ≤ 0 = xP′(e) = 0 ≤ g(e)− x(e).

2 e ∈ A1x ∩ A(P) : -x(e) ≤ 0 ≤ εx = xP′(e) = εx ≤ ε1x ≤ g(e)− x(e).

3←−e ∈ A2

x ∩ A(P) : -x(e) ≤ -ε2x ≤ -εx = xP′(e) = -εx ≤ 0 ≤ g(e)− x(e).

4 e ∈ A :

Pin Gx

in G

P ′+εx +εx −εx −εx +εx

s t

s t

Z. Szigeti OCG-ORCO 17 / 38

Page 115: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of necessity

3. x ′ is feasible: Since x is feasible, 0 ≤ x(uv) ≤ g(uv).

1 e ∈ A \ A(P) : -x(e) ≤ 0 = xP′(e) = 0 ≤ g(e)− x(e).

2 e ∈ A1x ∩ A(P) : -x(e) ≤ 0 ≤ εx = xP′(e) = εx ≤ ε1x ≤ g(e)− x(e).

3←−e ∈ A2

x ∩ A(P) : -x(e) ≤ -ε2x ≤ -εx = xP′(e) = -εx ≤ 0 ≤ g(e)− x(e).

4 e ∈ A : x ′(e)

Pin Gx

in G

P ′+εx +εx −εx −εx +εx

s t

s t

Z. Szigeti OCG-ORCO 17 / 38

Page 116: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of necessity

3. x ′ is feasible: Since x is feasible, 0 ≤ x(uv) ≤ g(uv).

1 e ∈ A \ A(P) : -x(e) ≤ 0 = xP′(e) = 0 ≤ g(e)− x(e).

2 e ∈ A1x ∩ A(P) : -x(e) ≤ 0 ≤ εx = xP′(e) = εx ≤ ε1x ≤ g(e)− x(e).

3←−e ∈ A2

x ∩ A(P) : -x(e) ≤ -ε2x ≤ -εx = xP′(e) = -εx ≤ 0 ≤ g(e)− x(e).

4 e ∈ A : (x + xP′)(e) = x ′(e) = (x + xP′)(e)

Pin Gx

in G

P ′+εx +εx −εx −εx +εx

s t

s t

Z. Szigeti OCG-ORCO 17 / 38

Page 117: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of necessity

3. x ′ is feasible: Since x is feasible, 0 ≤ x(uv) ≤ g(uv).

1 e ∈ A \ A(P) : -x(e) ≤ 0 = xP′(e) = 0 ≤ g(e)− x(e).

2 e ∈ A1x ∩ A(P) : -x(e) ≤ 0 ≤ εx = xP′(e) = εx ≤ ε1x ≤ g(e)− x(e).

3←−e ∈ A2

x ∩ A(P) : -x(e) ≤ -ε2x ≤ -εx = xP′(e) = -εx ≤ 0 ≤ g(e)− x(e).

4 e ∈ A : 0 ≤ (x + xP′)(e) = x ′(e) = (x + xP′)(e)

Pin Gx

in G

P ′+εx +εx −εx −εx +εx

s t

s t

Z. Szigeti OCG-ORCO 17 / 38

Page 118: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of necessity

3. x ′ is feasible: Since x is feasible, 0 ≤ x(uv) ≤ g(uv).

1 e ∈ A \ A(P) : -x(e) ≤ 0 = xP′(e) = 0 ≤ g(e)− x(e).

2 e ∈ A1x ∩ A(P) : -x(e) ≤ 0 ≤ εx = xP′(e) = εx ≤ ε1x ≤ g(e)− x(e).

3←−e ∈ A2

x ∩ A(P) : -x(e) ≤ -ε2x ≤ -εx = xP′(e) = -εx ≤ 0 ≤ g(e)− x(e).

4 e ∈ A : 0 ≤ (x + xP′)(e) = x ′(e) = (x + xP′)(e) ≤ g(e).

Pin Gx

in G

P ′+εx +εx −εx −εx +εx

s t

s t

Z. Szigeti OCG-ORCO 17 / 38

Page 119: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of necessity

3. x ′ is feasible: Since x is feasible, 0 ≤ x(uv) ≤ g(uv).

1 e ∈ A \ A(P) : -x(e) ≤ 0 = xP′(e) = 0 ≤ g(e)− x(e).

2 e ∈ A1x ∩ A(P) : -x(e) ≤ 0 ≤ εx = xP′(e) = εx ≤ ε1x ≤ g(e)− x(e).

3←−e ∈ A2

x ∩ A(P) : -x(e) ≤ -ε2x ≤ -εx = xP′(e) = -εx ≤ 0 ≤ g(e)− x(e).

4 e ∈ A : 0 ≤ (x + xP′)(e) = x ′(e) = (x + xP′)(e) ≤ g(e).

5 x ′ is hence feasible.

Pin Gx

in G

P ′+εx +εx −εx −εx +εx

s t

s t

Z. Szigeti OCG-ORCO 17 / 38

Page 120: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of necessity

4. val(x ′) = val(x) + εx :

Z. Szigeti OCG-ORCO 18 / 38

Page 121: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of necessity

4. val(x ′) = val(x) + εx : Since δ−G (s) = ∅, the first arc su of P belongs toA1x and hence to A.

Z. Szigeti OCG-ORCO 18 / 38

Page 122: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of necessity

4. val(x ′) = val(x) + εx : Since δ−G (s) = ∅, the first arc su of P belongs toA1x and hence to A.

val(x ′) = d+x ′(s)

Z. Szigeti OCG-ORCO 18 / 38

Page 123: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of necessity

4. val(x ′) = val(x) + εx : Since δ−G (s) = ∅, the first arc su of P belongs toA1x and hence to A.

val(x ′) = d+x ′(s) =

sv∈δ+G(s)\su

x ′(sv)

+ x ′(su)

Z. Szigeti OCG-ORCO 18 / 38

Page 124: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of necessity

4. val(x ′) = val(x) + εx : Since δ−G (s) = ∅, the first arc su of P belongs toA1x and hence to A.

val(x ′) = d+x ′(s) =

sv∈δ+G(s)\su

x ′(sv)

+ x ′(su)

=

sv∈δ+G(s)\su

x(sv)

+ (x(su) + εx)

Z. Szigeti OCG-ORCO 18 / 38

Page 125: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of necessity

4. val(x ′) = val(x) + εx : Since δ−G (s) = ∅, the first arc su of P belongs toA1x and hence to A.

val(x ′) = d+x ′(s) =

sv∈δ+G(s)\su

x ′(sv)

+ x ′(su)

=

sv∈δ+G(s)\su

x(sv)

+ (x(su) + εx)

= d+x (s) + εx

Z. Szigeti OCG-ORCO 18 / 38

Page 126: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of necessity

4. val(x ′) = val(x) + εx : Since δ−G (s) = ∅, the first arc su of P belongs toA1x and hence to A.

val(x ′) = d+x ′(s) =

sv∈δ+G(s)\su

x ′(sv)

+ x ′(su)

=

sv∈δ+G(s)\su

x(sv)

+ (x(su) + εx)

= d+x (s) + εx

= val(x) + εx .

Z. Szigeti OCG-ORCO 18 / 38

Page 127: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of sufficiency

Z. Szigeti OCG-ORCO 19 / 38

Page 128: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of sufficiency

1 Suppose there exists no (s, t)-path in Gx .

Z. Szigeti OCG-ORCO 19 / 38

Page 129: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of sufficiency

1 Suppose there exists no (s, t)-path in Gx .

2 Z := {v ∈ V : ∃ an (s, v)-path in Gx}

Z. Szigeti OCG-ORCO 19 / 38

Page 130: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of sufficiency

1 Suppose there exists no (s, t)-path in Gx .

2 Z := {v ∈ V : ∃ an (s, v)-path in Gx} =⇒

3 s ∈ Z ⊆ V \ t and

Z. Szigeti OCG-ORCO 19 / 38

Page 131: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of sufficiency

1 Suppose there exists no (s, t)-path in Gx .

2 Z := {v ∈ V : ∃ an (s, v)-path in Gx} =⇒

3 s ∈ Z ⊆ V \ t and

4 δ+Gx(Z ) = ∅.

Z. Szigeti OCG-ORCO 19 / 38

Page 132: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of sufficiency

1 Suppose there exists no (s, t)-path in Gx .

2 Z := {v ∈ V : ∃ an (s, v)-path in Gx} =⇒

3 s ∈ Z ⊆ V \ t and

4 δ+Gx(Z ) = ∅. =⇒

Z. Szigeti OCG-ORCO 19 / 38

Page 133: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of sufficiency

1 Suppose there exists no (s, t)-path in Gx .

2 Z := {v ∈ V : ∃ an (s, v)-path in Gx} =⇒

3 s ∈ Z ⊆ V \ t and

4 δ+Gx(Z ) = ∅. =⇒

5 ∀uv ∈ δ+G (Z ) :

Z. Szigeti OCG-ORCO 19 / 38

Page 134: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of sufficiency

1 Suppose there exists no (s, t)-path in Gx .

2 Z := {v ∈ V : ∃ an (s, v)-path in Gx} =⇒

3 s ∈ Z ⊆ V \ t and

4 δ+Gx(Z ) = ∅. =⇒

5 ∀uv ∈ δ+G (Z ) : x(uv) = g(uv) and,

Z. Szigeti OCG-ORCO 19 / 38

Page 135: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of sufficiency

1 Suppose there exists no (s, t)-path in Gx .

2 Z := {v ∈ V : ∃ an (s, v)-path in Gx} =⇒

3 s ∈ Z ⊆ V \ t and

4 δ+Gx(Z ) = ∅. =⇒

5 ∀uv ∈ δ+G (Z ) : x(uv) = g(uv) and,

6 ∀uv ∈ δ−G (Z ) :

Z. Szigeti OCG-ORCO 19 / 38

Page 136: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of sufficiency

1 Suppose there exists no (s, t)-path in Gx .

2 Z := {v ∈ V : ∃ an (s, v)-path in Gx} =⇒

3 s ∈ Z ⊆ V \ t and

4 δ+Gx(Z ) = ∅. =⇒

5 ∀uv ∈ δ+G (Z ) : x(uv) = g(uv) and,

6 ∀uv ∈ δ−G (Z ) : x(uv) = 0.

Z. Szigeti OCG-ORCO 19 / 38

Page 137: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of sufficiency

1 Suppose there exists no (s, t)-path in Gx .

2 Z := {v ∈ V : ∃ an (s, v)-path in Gx} =⇒

3 s ∈ Z ⊆ V \ t and

4 δ+Gx(Z ) = ∅. =⇒

5 ∀uv ∈ δ+G (Z ) : x(uv) = g(uv) and,

6 ∀uv ∈ δ−G (Z ) : x(uv) = 0. =⇒

Z. Szigeti OCG-ORCO 19 / 38

Page 138: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of sufficiency

1 Suppose there exists no (s, t)-path in Gx .

2 Z := {v ∈ V : ∃ an (s, v)-path in Gx} =⇒

3 s ∈ Z ⊆ V \ t and

4 δ+Gx(Z ) = ∅. =⇒

5 ∀uv ∈ δ+G (Z ) : x(uv) = g(uv) and,

6 ∀uv ∈ δ−G (Z ) : x(uv) = 0. =⇒

7 cap(Z )

Z. Szigeti OCG-ORCO 19 / 38

Page 139: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of sufficiency

1 Suppose there exists no (s, t)-path in Gx .

2 Z := {v ∈ V : ∃ an (s, v)-path in Gx} =⇒

3 s ∈ Z ⊆ V \ t and

4 δ+Gx(Z ) = ∅. =⇒

5 ∀uv ∈ δ+G (Z ) : x(uv) = g(uv) and,

6 ∀uv ∈ δ−G (Z ) : x(uv) = 0. =⇒

7 cap(Z ) = d+g (Z )

Z. Szigeti OCG-ORCO 19 / 38

Page 140: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of sufficiency

1 Suppose there exists no (s, t)-path in Gx .

2 Z := {v ∈ V : ∃ an (s, v)-path in Gx} =⇒

3 s ∈ Z ⊆ V \ t and

4 δ+Gx(Z ) = ∅. =⇒

5 ∀uv ∈ δ+G (Z ) : x(uv) = g(uv) and,

6 ∀uv ∈ δ−G (Z ) : x(uv) = 0. =⇒

7 cap(Z ) = d+g (Z ) = d+

x (Z )− d−x (Z )

Z. Szigeti OCG-ORCO 19 / 38

Page 141: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of sufficiency

1 Suppose there exists no (s, t)-path in Gx .

2 Z := {v ∈ V : ∃ an (s, v)-path in Gx} =⇒

3 s ∈ Z ⊆ V \ t and

4 δ+Gx(Z ) = ∅. =⇒

5 ∀uv ∈ δ+G (Z ) : x(uv) = g(uv) and,

6 ∀uv ∈ δ−G (Z ) : x(uv) = 0. =⇒

7 cap(Z ) = d+g (Z ) = d+

x (Z )− d−x (Z ) = val(x)

Z. Szigeti OCG-ORCO 19 / 38

Page 142: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of sufficiency

1 Suppose there exists no (s, t)-path in Gx .

2 Z := {v ∈ V : ∃ an (s, v)-path in Gx} =⇒

3 s ∈ Z ⊆ V \ t and

4 δ+Gx(Z ) = ∅. =⇒

5 ∀uv ∈ δ+G (Z ) : x(uv) = g(uv) and,

6 ∀uv ∈ δ−G (Z ) : x(uv) = 0. =⇒

7 cap(Z ) = d+g (Z ) = d+

x (Z )− d−x (Z ) = val(x) ≤ Max Flow

Z. Szigeti OCG-ORCO 19 / 38

Page 143: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of sufficiency

1 Suppose there exists no (s, t)-path in Gx .

2 Z := {v ∈ V : ∃ an (s, v)-path in Gx} =⇒

3 s ∈ Z ⊆ V \ t and

4 δ+Gx(Z ) = ∅. =⇒

5 ∀uv ∈ δ+G (Z ) : x(uv) = g(uv) and,

6 ∀uv ∈ δ−G (Z ) : x(uv) = 0. =⇒

7 cap(Z ) = d+g (Z ) = d+

x (Z )− d−x (Z ) = val(x) ≤ Max Flow ≤

Min Cut

Z. Szigeti OCG-ORCO 19 / 38

Page 144: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of sufficiency

1 Suppose there exists no (s, t)-path in Gx .

2 Z := {v ∈ V : ∃ an (s, v)-path in Gx} =⇒

3 s ∈ Z ⊆ V \ t and

4 δ+Gx(Z ) = ∅. =⇒

5 ∀uv ∈ δ+G (Z ) : x(uv) = g(uv) and,

6 ∀uv ∈ δ−G (Z ) : x(uv) = 0. =⇒

7 cap(Z ) = d+g (Z ) = d+

x (Z )− d−x (Z ) = val(x) ≤ Max Flow ≤

Min Cut ≤ cap(Z ),

Z. Szigeti OCG-ORCO 19 / 38

Page 145: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of sufficiency

1 Suppose there exists no (s, t)-path in Gx .

2 Z := {v ∈ V : ∃ an (s, v)-path in Gx} =⇒

3 s ∈ Z ⊆ V \ t and

4 δ+Gx(Z ) = ∅. =⇒

5 ∀uv ∈ δ+G (Z ) : x(uv) = g(uv) and,

6 ∀uv ∈ δ−G (Z ) : x(uv) = 0. =⇒

7 cap(Z ) = d+g (Z ) = d+

x (Z )− d−x (Z ) = val(x) ≤ Max Flow ≤

Min Cut ≤ cap(Z ), =⇒

Z. Szigeti OCG-ORCO 19 / 38

Page 146: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of sufficiency

1 Suppose there exists no (s, t)-path in Gx .

2 Z := {v ∈ V : ∃ an (s, v)-path in Gx} =⇒

3 s ∈ Z ⊆ V \ t and

4 δ+Gx(Z ) = ∅. =⇒

5 ∀uv ∈ δ+G (Z ) : x(uv) = g(uv) and,

6 ∀uv ∈ δ−G (Z ) : x(uv) = 0. =⇒

7 cap(Z ) = d+g (Z ) = d+

x (Z )− d−x (Z ) = val(x) ≤ Max Flow ≤

Min Cut ≤ cap(Z ), =⇒

8 We have hence equality everywhere, in particular,

Z. Szigeti OCG-ORCO 19 / 38

Page 147: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of sufficiency

1 Suppose there exists no (s, t)-path in Gx .

2 Z := {v ∈ V : ∃ an (s, v)-path in Gx} =⇒

3 s ∈ Z ⊆ V \ t and

4 δ+Gx(Z ) = ∅. =⇒

5 ∀uv ∈ δ+G (Z ) : x(uv) = g(uv) and,

6 ∀uv ∈ δ−G (Z ) : x(uv) = 0. =⇒

7 cap(Z ) = d+g (Z ) = d+

x (Z )− d−x (Z ) = val(x) ≤ Max Flow ≤

Min Cut ≤ cap(Z ), =⇒

8 We have hence equality everywhere, in particular,

9 the flow x is of maximum value and

Z. Szigeti OCG-ORCO 19 / 38

Page 148: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Proof

Proof of sufficiency

1 Suppose there exists no (s, t)-path in Gx .

2 Z := {v ∈ V : ∃ an (s, v)-path in Gx} =⇒

3 s ∈ Z ⊆ V \ t and

4 δ+Gx(Z ) = ∅. =⇒

5 ∀uv ∈ δ+G (Z ) : x(uv) = g(uv) and,

6 ∀uv ∈ δ−G (Z ) : x(uv) = 0. =⇒

7 cap(Z ) = d+g (Z ) = d+

x (Z )− d−x (Z ) = val(x) ≤ Max Flow ≤

Min Cut ≤ cap(Z ), =⇒

8 We have hence equality everywhere, in particular,

9 the flow x is of maximum value and

10 Max Flow = Min Cut.

Z. Szigeti OCG-ORCO 19 / 38

Page 149: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Algorithm

Algorithm of Edmonds-Karp

Input : Network (G , g) such that g ≥ 0 et s, t ∈ V : δ−(s) = ∅ = δ+(t).Output : feasible (s, t)-flow x and (s, t)-cut Z such that val(x) = cap(Z ).

❄✻

✲✻

✒✲❘s t

(1, 1)

(1, 1)

(1, 1)

(1, 1)

(1, 1)

(1, 2)

(1, 2)

(1, 2)

(0, 2)(0, 2)

(0, 2)(0, 2)

(1, 2)

Z

Z. Szigeti OCG-ORCO 20 / 38

Page 150: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Algorithm

Step 0: x0(e) = 0 ∀e ∈ A, i := 0.Step 1: Construct the auxiliary graph Gi := (V ,A1

i ∪ A2i ) where

A1i := {uv : uv ∈ A, xi (uv) < g(uv)} and

A2i := {vu : uv ∈ A, xi (uv) > 0}.

Step 2: Execute algorithm Breadth First Search on Gi and s to get Zi ⊆ V

and an s-arborescence Fi of Gi [Zi ] such that δ+Gi(Zi) = ∅.

Step 3: If t /∈ Zi then stop with x := xi and Z := Zi .Step 4: Otherwise, Pi := Fi [s, t], the unique (s, t)-path in Fi .Step 5: ε1i := min{g(uv)− xi (uv) : uv ∈ A(Pi) ∩ A1

i },ε2i := min{xi (uv) : vu ∈ A(Pi ) ∩ A2

i },εi := min{ε1i , ε

2i }.

Step 6: xi+1(uv) :=

xi(uv) + εi if uv ∈ A(Pi ) ∩ A1i

xi(uv)− εi if vu ∈ A(Pi ) ∩ A2i

xi(uv) otherwise.

Step 7: i := i + 1 and go to Step 1.

Z. Szigeti OCG-ORCO 21 / 38

Page 151: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Complexity of the algorithm

Theorem

The algorithm of Edmonds-Karp stops in polynomial time.

Z. Szigeti OCG-ORCO 22 / 38

Page 152: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Complexity of the algorithm

Theorem

The algorithm of Edmonds-Karp stops in polynomial time.

Remark1 Since the algorithm BFS is executed in Step 2, the algorithm always

augments the flow on a shortest (s, t)-path in Gx .

Z. Szigeti OCG-ORCO 22 / 38

Page 153: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Complexity of the algorithm

Theorem

The algorithm of Edmonds-Karp stops in polynomial time.

Remark1 Since the algorithm BFS is executed in Step 2, the algorithm always

augments the flow on a shortest (s, t)-path in Gx .

2 If the algorithm BFS is replaced in Step 2 by an arbitrary searchalgorithm, then it may happen that the algorithm does not stop.

Z. Szigeti OCG-ORCO 22 / 38

Page 154: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Integer Flows

Theorem

If g(e) is integer for every arc e of G , then there exists a feasible flow x ofmaximum value such that x(e) is integer for every arc e of G .

Z. Szigeti OCG-ORCO 23 / 38

Page 155: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Integer Flows

Theorem

If g(e) is integer for every arc e of G , then there exists a feasible flow x ofmaximum value such that x(e) is integer for every arc e of G .

Proof

Z. Szigeti OCG-ORCO 23 / 38

Page 156: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Integer Flows

Theorem

If g(e) is integer for every arc e of G , then there exists a feasible flow x ofmaximum value such that x(e) is integer for every arc e of G .

Proof1 By executing the algorithm of Edmond-Karp, we see by induction on i

that every xi (e) is integer:

Z. Szigeti OCG-ORCO 23 / 38

Page 157: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Integer Flows

Theorem

If g(e) is integer for every arc e of G , then there exists a feasible flow x ofmaximum value such that x(e) is integer for every arc e of G .

Proof1 By executing the algorithm of Edmond-Karp, we see by induction on i

that every xi (e) is integer:

2 For i = 0, x0(e) = 0 is integer ∀e ∈ A.

Z. Szigeti OCG-ORCO 23 / 38

Page 158: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Integer Flows

Theorem

If g(e) is integer for every arc e of G , then there exists a feasible flow x ofmaximum value such that x(e) is integer for every arc e of G .

Proof1 By executing the algorithm of Edmond-Karp, we see by induction on i

that every xi (e) is integer:

2 For i = 0, x0(e) = 0 is integer ∀e ∈ A.

3 Suppose that it is true for i .

Z. Szigeti OCG-ORCO 23 / 38

Page 159: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Integer Flows

Theorem

If g(e) is integer for every arc e of G , then there exists a feasible flow x ofmaximum value such that x(e) is integer for every arc e of G .

Proof1 By executing the algorithm of Edmond-Karp, we see by induction on i

that every xi (e) is integer:

2 For i = 0, x0(e) = 0 is integer ∀e ∈ A.

3 Suppose that it is true for i .4 εi = min{ε1i , ε

2i } is integer:

Z. Szigeti OCG-ORCO 23 / 38

Page 160: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Integer Flows

Theorem

If g(e) is integer for every arc e of G , then there exists a feasible flow x ofmaximum value such that x(e) is integer for every arc e of G .

Proof1 By executing the algorithm of Edmond-Karp, we see by induction on i

that every xi (e) is integer:

2 For i = 0, x0(e) = 0 is integer ∀e ∈ A.

3 Suppose that it is true for i .4 εi = min{ε1i , ε

2i } is integer:

1 ε1i = min{g(uv)− xi (uv) : uv ∈ A(Pi ) ∩ A1i } is integer:

Z. Szigeti OCG-ORCO 23 / 38

Page 161: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Integer Flows

Theorem

If g(e) is integer for every arc e of G , then there exists a feasible flow x ofmaximum value such that x(e) is integer for every arc e of G .

Proof1 By executing the algorithm of Edmond-Karp, we see by induction on i

that every xi (e) is integer:

2 For i = 0, x0(e) = 0 is integer ∀e ∈ A.

3 Suppose that it is true for i .4 εi = min{ε1i , ε

2i } is integer:

1 ε1i = min{g(uv)− xi (uv) : uv ∈ A(Pi ) ∩ A1i } is integer: every

g(e)− xi (e) is integer.

Z. Szigeti OCG-ORCO 23 / 38

Page 162: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Integer Flows

Theorem

If g(e) is integer for every arc e of G , then there exists a feasible flow x ofmaximum value such that x(e) is integer for every arc e of G .

Proof1 By executing the algorithm of Edmond-Karp, we see by induction on i

that every xi (e) is integer:

2 For i = 0, x0(e) = 0 is integer ∀e ∈ A.

3 Suppose that it is true for i .4 εi = min{ε1i , ε

2i } is integer:

1 ε1i = min{g(uv)− xi (uv) : uv ∈ A(Pi ) ∩ A1i } is integer: every

g(e)− xi (e) is integer.2 ε2i = min{xi(uv) : vu ∈ A(Pi ) ∩ A2

i } is integer:

Z. Szigeti OCG-ORCO 23 / 38

Page 163: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Integer Flows

Theorem

If g(e) is integer for every arc e of G , then there exists a feasible flow x ofmaximum value such that x(e) is integer for every arc e of G .

Proof1 By executing the algorithm of Edmond-Karp, we see by induction on i

that every xi (e) is integer:

2 For i = 0, x0(e) = 0 is integer ∀e ∈ A.

3 Suppose that it is true for i .4 εi = min{ε1i , ε

2i } is integer:

1 ε1i = min{g(uv)− xi (uv) : uv ∈ A(Pi ) ∩ A1i } is integer: every

g(e)− xi (e) is integer.2 ε2i = min{xi(uv) : vu ∈ A(Pi ) ∩ A2

i } is integer: every xi(e) is integer.

Z. Szigeti OCG-ORCO 23 / 38

Page 164: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Integer Flows

Theorem

If g(e) is integer for every arc e of G , then there exists a feasible flow x ofmaximum value such that x(e) is integer for every arc e of G .

Proof1 By executing the algorithm of Edmond-Karp, we see by induction on i

that every xi (e) is integer:

2 For i = 0, x0(e) = 0 is integer ∀e ∈ A.

3 Suppose that it is true for i .4 εi = min{ε1i , ε

2i } is integer:

1 ε1i = min{g(uv)− xi (uv) : uv ∈ A(Pi ) ∩ A1i } is integer: every

g(e)− xi (e) is integer.2 ε2i = min{xi(uv) : vu ∈ A(Pi ) ∩ A2

i } is integer: every xi(e) is integer.

5 xi+1(e), = either xi(e) or xi (e) + εi or xi(e) − εi , is integer ∀e ∈ A.

Z. Szigeti OCG-ORCO 23 / 38

Page 165: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Applications

Citation

”Knowledge is useless without consistent application.” - Julian Hall

Z. Szigeti OCG-ORCO 24 / 38

Page 166: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Applications

Citation

”Knowledge is useless without consistent application.” - Julian Hall

Applications of integer flows

Z. Szigeti OCG-ORCO 24 / 38

Page 167: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Applications

Citation

”Knowledge is useless without consistent application.” - Julian Hall

Applications of integer flows

1 Menger’s Theorem on connectivity,

Z. Szigeti OCG-ORCO 24 / 38

Page 168: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Applications

Citation

”Knowledge is useless without consistent application.” - Julian Hall

Applications of integer flows

1 Menger’s Theorem on connectivity,

2 Konig’s Theorem on matchings.

Z. Szigeti OCG-ORCO 24 / 38

Page 169: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Applications

Citation

”Knowledge is useless without consistent application.” - Julian Hall

Applications of integer flows

1 Menger’s Theorem on connectivity,

2 Konig’s Theorem on matchings.

Applications of flows and cuts

Z. Szigeti OCG-ORCO 24 / 38

Page 170: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Applications

Citation

”Knowledge is useless without consistent application.” - Julian Hall

Applications of integer flows

1 Menger’s Theorem on connectivity,

2 Konig’s Theorem on matchings.

Applications of flows and cuts

1 Open pit mining,

Z. Szigeti OCG-ORCO 24 / 38

Page 171: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Applications

Citation

”Knowledge is useless without consistent application.” - Julian Hall

Applications of integer flows

1 Menger’s Theorem on connectivity,

2 Konig’s Theorem on matchings.

Applications of flows and cuts

1 Open pit mining,

2 Distributed computing on a two-processor computer,

Z. Szigeti OCG-ORCO 24 / 38

Page 172: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Applications

Citation

”Knowledge is useless without consistent application.” - Julian Hall

Applications of integer flows

1 Menger’s Theorem on connectivity,

2 Konig’s Theorem on matchings.

Applications of flows and cuts

1 Open pit mining,

2 Distributed computing on a two-processor computer,

3 Image segmentation.

Z. Szigeti OCG-ORCO 24 / 38

Page 173: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Exercices

Exercice 1

Let G := (V ,A) be a directed graph, s, t ∈ V and k ∈ Z+ such that

d+(s)− d−(s) = k ,

d+(t)− d−(t) = −k ,

d+(v)− d−(v) = 0 ∀v ∈ V \ {s, t}.s t

Prove that G admits k arc-disjoints directed (s, t)-paths.

Exercice 2

Given a directed graph G = (V ,A), s, t ∈ V and an integer (s, t)-flow x ,prove that G contains val(x) directed (s, t)-paths such that each arc a

belongs to x(a) of the paths.

Z. Szigeti OCG-ORCO 25 / 38

Page 174: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Exercice 3

Theorem of Menger

Given a directed graph G = (V ,A) and s, t ∈ V ,maximum number of arc-disjoint (s, t)-paths =minimum out-degree of an (s, t)-cut.

s t

Ford-Fulkerson =⇒ Menger

Let G ′:= G − δ+(t)− δ−(s) and g(e) := 1 e ∈ A(G ′).

(a) Prove that max = maximum value of a feasible (s, t)-flow in (G ′, g).

(b) Prove that min = minimum capacity of an (s, t)-cut in (G ′, g).

(c) Deduce Menger’s Theorem from (a), (b) and the integer version ofFord-Fulkerson’s Theorem.

Z. Szigeti OCG-ORCO 26 / 38

Page 175: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Exercice 4

Theorem of Konig:

Given a bipartite graph G= (U,V ;E ),maximum cardinality of a matching of G =minimum cardinality of a transversal of G .

Ford-Fulkerson =⇒ Konig

Let (D:= (W ,A), g) be a network where W := U ∪ V ∪ {s, t},A:= {su : u ∈ U} ∪ {vt : v ∈ V } ∪ {uv : u ∈ U, v ∈ V , uv ∈ E},g(su) := 1 ∀u ∈ U, g(vt) := 1 ∀v ∈ V and g(uv) := |U|+ 1 ∀uv ∈ E ,

x an integer feasible (s, t)-flow of max. value, Z an (s, t)-cut of min. capacity,

M := {uv ∈ E : x(uv) = 1} and T := (U − Z ) ∪ (V ∩ Z ).

(a) Prove that M is a matching of G of size val(x).

(b) Prove that T is a transversal of G of size cap(Z ).

(c) Deduce Konig Theorem from (a), (b) and Ford-Fulkerson Theorem.

Z. Szigeti OCG-ORCO 27 / 38

Page 176: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Applications: Open pit mining

Open pit mining

A company wants to exploit an open pit mining

by removing blocksto maximize the profit.

A block can be removed only if the blocks lying above it have alreadybeen removed.

Each block has a net profit obtained from removing it.This value can be positive or negative, it depends on the cost of

exploiting the block andthe richness of its contents.

We show how to model the problem by a problem of minimumcapacity cut in a network.

2

-2

-2 -2-1

-1

1

1

3

Z. Szigeti OCG-ORCO 28 / 38

Page 177: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Open pit mining

Model1 p(v) := profit of the block v ,

2 P := blocks of positive profit,

3 N := blocks of negative profit,4 Network (G := (V ,A), g) where

2

-2

-2 -2-1

-1

1

1

3

2 1

1

3

2 2

2 1 1

s

t

Z. Szigeti OCG-ORCO 29 / 38

Page 178: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Open pit mining

Model1 p(v) := profit of the block v ,

2 P := blocks of positive profit,

3 N := blocks of negative profit,4 Network (G := (V ,A), g) where

1 V := P ∪ N ∪ {s, t},

2

-2

-2 -2-1

-1

1

1

3

2 1

1

3

2 2

2 1 1

s

t

Z. Szigeti OCG-ORCO 29 / 38

Page 179: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Open pit mining

Model1 p(v) := profit of the block v ,

2 P := blocks of positive profit,

3 N := blocks of negative profit,4 Network (G := (V ,A), g) where

1 V := P ∪ N ∪ {s, t},2 A :={the arcs of constraint}∪{sv : v ∈ P} ∪ {ut : u ∈ N},

2

-2

-2 -2-1

-1

1

1

3

2 1

1

3

2 2

2 1 1

s

t

Z. Szigeti OCG-ORCO 29 / 38

Page 180: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Open pit mining

Model1 p(v) := profit of the block v ,

2 P := blocks of positive profit,

3 N := blocks of negative profit,4 Network (G := (V ,A), g) where

1 V := P ∪ N ∪ {s, t},2 A :={the arcs of constraint}∪{sv : v ∈ P} ∪ {ut : u ∈ N},

3 g(uv) :=

2

-2

-2 -2-1

-1

1

1

3

2 1

1

3

2 2

2 1 1

s

t

Z. Szigeti OCG-ORCO 29 / 38

Page 181: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Open pit mining

Model1 p(v) := profit of the block v ,

2 P := blocks of positive profit,

3 N := blocks of negative profit,4 Network (G := (V ,A), g) where

1 V := P ∪ N ∪ {s, t},2 A :={the arcs of constraint}∪{sv : v ∈ P} ∪ {ut : u ∈ N},

3 g(uv) :=

∞ if uv arc of constraint,

2

-2

-2 -2-1

-1

1

1

3

2 1

1

3

2 2

2 1 1

s

t

Z. Szigeti OCG-ORCO 29 / 38

Page 182: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Open pit mining

Model1 p(v) := profit of the block v ,

2 P := blocks of positive profit,

3 N := blocks of negative profit,4 Network (G := (V ,A), g) where

1 V := P ∪ N ∪ {s, t},2 A :={the arcs of constraint}∪{sv : v ∈ P} ∪ {ut : u ∈ N},

3 g(uv) :=

∞ if uv arc of constraint,p(v) if u = s,

2

-2

-2 -2-1

-1

1

1

3

2 1

1

3

2 2

2 1 1

s

t

Z. Szigeti OCG-ORCO 29 / 38

Page 183: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Open pit mining

Model1 p(v) := profit of the block v ,

2 P := blocks of positive profit,

3 N := blocks of negative profit,4 Network (G := (V ,A), g) where

1 V := P ∪ N ∪ {s, t},2 A :={the arcs of constraint}∪{sv : v ∈ P} ∪ {ut : u ∈ N},

3 g(uv) :=

∞ if uv arc of constraint,p(v) if u = s,

−p(u) if v = t.

2

-2

-2 -2-1

-1

1

1

3

2 1

1

3

2 2

2 1 1

s

t

Z. Szigeti OCG-ORCO 29 / 38

Page 184: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Open pit mining

Lemma

the blocks in B satisfy the contraint of removing ⇐⇒ cap(B ∪ s) <∞.(By construction.)

2

-2

-2 -2-1

-1

1

1

3

2 1

1

3

2 2

2 1 1

s

t

Z. Szigeti OCG-ORCO 30 / 38

Page 185: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Open pit mining

Lemma

cap(B ∪ s)

2

-2

-2 -2-1

-1

1

1

3

2 1

1

3

2 2

2 1 1

s

t

Z. Szigeti OCG-ORCO 31 / 38

Page 186: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Open pit mining

Lemma

cap(B ∪ s) =∑

v∈P\B

g(sv) +∑

v∈N∩B

g(vt) =∑

v∈P\B

p(v) +∑

v∈N∩B

−p(v)

2

-2

-2 -2-1

-1

1

1

3

2 1

1

3

2 2

2 1 1

s

t

Z. Szigeti OCG-ORCO 31 / 38

Page 187: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Open pit mining

Lemma

cap(B ∪ s) =∑

v∈P\B

g(sv) +∑

v∈N∩B

g(vt) =∑

v∈P\B

p(v) +∑

v∈N∩B

−p(v)

= (∑

v∈P

p(v)−∑

v∈P∩B

p(v))− (∑

v∈B

p(v)−∑

v∈P∩B

p(v))

2

-2

-2 -2-1

-1

1

1

3

2 1

1

3

2 2

2 1 1

s

t

Z. Szigeti OCG-ORCO 31 / 38

Page 188: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Open pit mining

Lemma

cap(B ∪ s) =∑

v∈P\B

g(sv) +∑

v∈N∩B

g(vt) =∑

v∈P\B

p(v) +∑

v∈N∩B

−p(v)

= (∑

v∈P

p(v)−∑

v∈P∩B

p(v))− (∑

v∈B

p(v)−∑

v∈P∩B

p(v))

=∑

v∈P

p(v)−∑

v∈B

p(v).

2

-2

-2 -2-1

-1

1

1

3

2 1

1

3

2 2

2 1 1

s

t

Z. Szigeti OCG-ORCO 31 / 38

Page 189: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Open pit mining

Lemma

cap(B ∪ s) =∑

v∈P\B

g(sv) +∑

v∈N∩B

g(vt) =∑

v∈P\B

p(v) +∑

v∈N∩B

−p(v)

= (∑

v∈P

p(v)−∑

v∈P∩B

p(v))− (∑

v∈B

p(v)−∑

v∈P∩B

p(v))

=∑

v∈P

p(v)−∑

v∈B

p(v).

maximize

2

-2

-2 -2-1

-1

1

1

3

2 1

1

3

2 2

2 1 1

s

t

Z. Szigeti OCG-ORCO 31 / 38

Page 190: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Open pit mining

Lemma

cap(B ∪ s) =∑

v∈P\B

g(sv) +∑

v∈N∩B

g(vt) =∑

v∈P\B

p(v) +∑

v∈N∩B

−p(v)

= (∑

v∈P

p(v)−∑

v∈P∩B

p(v))− (∑

v∈B

p(v)−∑

v∈P∩B

p(v))

=∑

v∈P

p(v)−∑

v∈B

p(v).

constant − maximize

2

-2

-2 -2-1

-1

1

1

3

2 1

1

3

2 2

2 1 1

s

t

Z. Szigeti OCG-ORCO 31 / 38

Page 191: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Open pit mining

Lemma

cap(B ∪ s) =∑

v∈P\B

g(sv) +∑

v∈N∩B

g(vt) =∑

v∈P\B

p(v) +∑

v∈N∩B

−p(v)

= (∑

v∈P

p(v)−∑

v∈P∩B

p(v))− (∑

v∈B

p(v)−∑

v∈P∩B

p(v))

=∑

v∈P

p(v)−∑

v∈B

p(v).

minimize = constant − maximize

2

-2

-2 -2-1

-1

1

1

3

2 1

1

3

2 2

2 1 1

s

t

Z. Szigeti OCG-ORCO 31 / 38

Page 192: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Distributed computing on a two-processor computer

Distributed computing on a two-processor computer

Assign the modules of a program to two processors in a way thatminimizes the total cost of

computation andinterprocessor communication.

We know in advance

for each module, its computation cost on each of the two processors,for each pair of modules, their interprocessor communication cost

if they are assigned to different processors.

We show how to model the problem by a problem of minimumcapacity cut in a network.

Z. Szigeti OCG-ORCO 32 / 38

Page 193: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Distributed computing on a two-processor computer

computation cost

M1 M2 M3 M4

P1 4 4 1 2 aiP2 1 2 4 4 bi

communication cost

M1 M2 M3 M4

M1 0 5 1 1M2 5 0 1 1 cijM3 1 1 0 5M3 1 1 5 0

Z. Szigeti OCG-ORCO 33 / 38

Page 194: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Distributed computing on a two-processor computer

computation cost

M1 M2 M3 M4

P1 4 4 1 2 aiP2 1 2 4 4 bi

communication cost

M1 M2 M3 M4

M1 0 5 1 1M2 5 0 1 1 cijM3 1 1 0 5M3 1 1 5 0

Cost to minimize

total cost =

Z. Szigeti OCG-ORCO 33 / 38

Page 195: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Distributed computing on a two-processor computer

computation cost

M1 M2 M3 M4

P1 4 4 1 2 aiP2 1 2 4 4 bi

communication cost

M1 M2 M3 M4

M1 0 5 1 1M2 5 0 1 1 cijM3 1 1 0 5M3 1 1 5 0

Cost to minimize

total cost =computation cost of modules executed on P1 (C1) +

Z. Szigeti OCG-ORCO 33 / 38

Page 196: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Distributed computing on a two-processor computer

computation cost

M1 M2 M3 M4

P1 4 4 1 2 aiP2 1 2 4 4 bi

communication cost

M1 M2 M3 M4

M1 0 5 1 1M2 5 0 1 1 cijM3 1 1 0 5M3 1 1 5 0

Cost to minimize

total cost =computation cost of modules executed on P1 (C1) +computation cost of modules executed on P2 (C2) +

Z. Szigeti OCG-ORCO 33 / 38

Page 197: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Distributed computing on a two-processor computer

computation cost

M1 M2 M3 M4

P1 4 4 1 2 aiP2 1 2 4 4 bi

communication cost

M1 M2 M3 M4

M1 0 5 1 1M2 5 0 1 1 cijM3 1 1 0 5M3 1 1 5 0

Cost to minimize

total cost =computation cost of modules executed on P1 (C1) +computation cost of modules executed on P2 (C2) +communication cost for the pair of modules executed on differents processors

Z. Szigeti OCG-ORCO 33 / 38

Page 198: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Distributed computing on a two-processor computer

computation cost

M1 M2 M3 M4

P1 4 4 1 2 aiP2 1 2 4 4 bi

communication cost

M1 M2 M3 M4

M1 0 5 1 1M2 5 0 1 1 cijM3 1 1 0 5M3 1 1 5 0

Cost to minimize

total cost =computation cost of modules executed on P1 (C1) +computation cost of modules executed on P2 (C2) +communication cost for the pair of modules executed on differents processors

=∑

Mi∈C1

ai +∑

Mj∈C2

bj +∑

Mi∈C1,Mj∈C2

cij .

Z. Szigeti OCG-ORCO 33 / 38

Page 199: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Distributed computing on a two-processor computer

Model

Network (G := (V ,A), g) where

1 14

M1

M4

M2

M3

s t

4

1

2 4

4

2

15

5

1

1

M1 M2 M3 M4

P1 4 4 1 2 aiP2 1 2 4 4 bi

M1 M2 M3 M4

M1 0 5 1 1M2 5 0 1 1 cijM3 1 1 0 5M3 1 1 5 0

Z. Szigeti OCG-ORCO 34 / 38

Page 200: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Distributed computing on a two-processor computer

Model

Network (G := (V ,A), g) where

1 V := {M1,M2,M3,M4, s = P1, t = P2},

1 14

M1

M4

M2

M3

s t

4

1

2 4

4

2

15

5

1

1

M1 M2 M3 M4

P1 4 4 1 2 aiP2 1 2 4 4 bi

M1 M2 M3 M4

M1 0 5 1 1M2 5 0 1 1 cijM3 1 1 0 5M3 1 1 5 0

Z. Szigeti OCG-ORCO 34 / 38

Page 201: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Distributed computing on a two-processor computer

Model

Network (G := (V ,A), g) where

1 V := {M1,M2,M3,M4, s = P1, t = P2},

2 A:= {uv , vu : u, v ∈ V \ {s, t}}∪{sv : v ∈ V \ {s, t}}∪{vt : v ∈ V \ {s, t}},

1 14

M1

M4

M2

M3

s t

4

1

2 4

4

2

15

5

1

1

M1 M2 M3 M4

P1 4 4 1 2 aiP2 1 2 4 4 bi

M1 M2 M3 M4

M1 0 5 1 1M2 5 0 1 1 cijM3 1 1 0 5M3 1 1 5 0

Z. Szigeti OCG-ORCO 34 / 38

Page 202: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Distributed computing on a two-processor computer

Model

Network (G := (V ,A), g) where

1 V := {M1,M2,M3,M4, s = P1, t = P2},

2 A:= {uv , vu : u, v ∈ V \ {s, t}}∪{sv : v ∈ V \ {s, t}}∪{vt : v ∈ V \ {s, t}},

3 g(uv) :=

1 14

M1

M4

M2

M3

s t

4

1

2 4

4

2

15

5

1

1

M1 M2 M3 M4

P1 4 4 1 2 aiP2 1 2 4 4 bi

M1 M2 M3 M4

M1 0 5 1 1M2 5 0 1 1 cijM3 1 1 0 5M3 1 1 5 0

Z. Szigeti OCG-ORCO 34 / 38

Page 203: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Distributed computing on a two-processor computer

Model

Network (G := (V ,A), g) where

1 V := {M1,M2,M3,M4, s = P1, t = P2},

2 A:= {uv , vu : u, v ∈ V \ {s, t}}∪{sv : v ∈ V \ {s, t}}∪{vt : v ∈ V \ {s, t}},

3 g(uv) :=

cij if uv = MiMj ,

1 14

M1

M4

M2

M3

s t

4

1

2 4

4

2

15

5

1

1

M1 M2 M3 M4

P1 4 4 1 2 aiP2 1 2 4 4 bi

M1 M2 M3 M4

M1 0 5 1 1M2 5 0 1 1 cijM3 1 1 0 5M3 1 1 5 0

Z. Szigeti OCG-ORCO 34 / 38

Page 204: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Distributed computing on a two-processor computer

Model

Network (G := (V ,A), g) where

1 V := {M1,M2,M3,M4, s = P1, t = P2},

2 A:= {uv , vu : u, v ∈ V \ {s, t}}∪{sv : v ∈ V \ {s, t}}∪{vt : v ∈ V \ {s, t}},

3 g(uv) :=

cij if uv = MiMj ,ai if uv = sMi ,

1 14

M1

M4

M2

M3

s t

4

1

2 4

4

2

15

5

1

1

M1 M2 M3 M4

P1 4 4 1 2 aiP2 1 2 4 4 bi

M1 M2 M3 M4

M1 0 5 1 1M2 5 0 1 1 cijM3 1 1 0 5M3 1 1 5 0

Z. Szigeti OCG-ORCO 34 / 38

Page 205: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Distributed computing on a two-processor computer

Model

Network (G := (V ,A), g) where

1 V := {M1,M2,M3,M4, s = P1, t = P2},

2 A:= {uv , vu : u, v ∈ V \ {s, t}}∪{sv : v ∈ V \ {s, t}}∪{vt : v ∈ V \ {s, t}},

3 g(uv) :=

cij if uv = MiMj ,ai if uv = sMi ,bj if uv = Mj t.

1 14

M1

M4

M2

M3

s t

4

1

2 4

4

2

15

5

1

1

M1 M2 M3 M4

P1 4 4 1 2 aiP2 1 2 4 4 bi

M1 M2 M3 M4

M1 0 5 1 1M2 5 0 1 1 cijM3 1 1 0 5M3 1 1 5 0

Z. Szigeti OCG-ORCO 34 / 38

Page 206: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Distributed computing on a two-processor computer

Lemme

cap(C2 ∪ s) =

24

M1

M4

M2

M3

s t

4

1

2 4

4

15

5

1

1

1 1

ai bi

cij

C2

Z. Szigeti OCG-ORCO 35 / 38

Page 207: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Distributed computing on a two-processor computer

Lemme

cap(C2 ∪ s) =∑

Mi∈C1

g(sMi) +∑

Mj∈C2

g(Mj t) +∑

Mi∈C1,Mj∈C2

g(MiMj)

=∑

Mi∈C1

ai +∑

Mj∈C2

bj +∑

Mi∈C1,Mj∈C2

cij ,

24

M1

M4

M2

M3

s t

4

1

2 4

4

15

5

1

1

1 1

ai bi

cij

C2

Z. Szigeti OCG-ORCO 35 / 38

Page 208: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Distributed computing on a two-processor computer

Lemme

cap(C2 ∪ s) =∑

Mi∈C1

g(sMi) +∑

Mj∈C2

g(Mj t) +∑

Mi∈C1,Mj∈C2

g(MiMj)

=∑

Mi∈C1

ai +∑

Mj∈C2

bj +∑

Mi∈C1,Mj∈C2

cij ,

which is the total cost to minimize (Ci = the modules executed on Pi ).

24

M1

M4

M2

M3

s t

4

1

2 4

4

15

5

1

1

1 1

ai bi

cij

C2

Z. Szigeti OCG-ORCO 35 / 38

Page 209: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Image segmentation

Image segmentation

We have to locate objects in a digital image.

Every i ∈ V , where V is the set of pixels of the image,

belongs to an object with likelihood pi andbelongs to the background with likelihood qi .

We also have a penalty function r(i , j) of separation for every pair(i , j) ∈ E where E is the set of pairs of neighboring pixels.

We have to find a partition S ,T of Vthat maximizes

i∈S

pi +∑

j∈T

qj −∑

i∈S,j∈T ,(i ,j)∈E

r(i , j).

We show how to model the problem by aproblem of minimum capacity cut in anetwork.

Z. Szigeti OCG-ORCO 36 / 38

Page 210: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Image segmentation

Model

Network (G = (V ′,A), g) where

s t

r(i, j)

pi qj

Z. Szigeti OCG-ORCO 37 / 38

Page 211: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Image segmentation

Model

Network (G = (V ′,A), g) where

1 V ′:= V ∪ {s, t},

s t

r(i, j)

pi qj

Z. Szigeti OCG-ORCO 37 / 38

Page 212: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Image segmentation

Model

Network (G = (V ′,A), g) where

1 V ′:= V ∪ {s, t},

2 A:= {uv , vu : uv ∈ E} ∪ {sv : v ∈ V } ∪ {vt : v ∈ V },

s t

r(i, j)

pi qj

Z. Szigeti OCG-ORCO 37 / 38

Page 213: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Image segmentation

Model

Network (G = (V ′,A), g) where

1 V ′:= V ∪ {s, t},

2 A:= {uv , vu : uv ∈ E} ∪ {sv : v ∈ V } ∪ {vt : v ∈ V },

3 g(uv) :=

s t

r(i, j)

pi qj

Z. Szigeti OCG-ORCO 37 / 38

Page 214: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Image segmentation

Model

Network (G = (V ′,A), g) where

1 V ′:= V ∪ {s, t},

2 A:= {uv , vu : uv ∈ E} ∪ {sv : v ∈ V } ∪ {vt : v ∈ V },

3 g(uv) :=

pi if uv = si ,

s t

r(i, j)

pi qj

Z. Szigeti OCG-ORCO 37 / 38

Page 215: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Image segmentation

Model

Network (G = (V ′,A), g) where

1 V ′:= V ∪ {s, t},

2 A:= {uv , vu : uv ∈ E} ∪ {sv : v ∈ V } ∪ {vt : v ∈ V },

3 g(uv) :=

pi if uv = si ,qj if uv = jt,

s t

r(i, j)

pi qj

Z. Szigeti OCG-ORCO 37 / 38

Page 216: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Image segmentation

Model

Network (G = (V ′,A), g) where

1 V ′:= V ∪ {s, t},

2 A:= {uv , vu : uv ∈ E} ∪ {sv : v ∈ V } ∪ {vt : v ∈ V },

3 g(uv) :=

pi if uv = si ,qj if uv = jt,r(i , j) if uv = ij ∈ E .

s t

r(i, j)

pi qj

Z. Szigeti OCG-ORCO 37 / 38

Page 217: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Image segmentation

Lemma

cap(S ∪ s)

s t

r(i, j)

pi qj

Z. Szigeti OCG-ORCO 38 / 38

Page 218: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Image segmentation

Lemma

cap(S ∪ s) =∑

j∈T

g(sj) +∑

i∈S

g(it) +∑

i∈S,j∈T ,ij∈E

g(ij)

s t

r(i, j)

pi qj

Z. Szigeti OCG-ORCO 38 / 38

Page 219: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Image segmentation

Lemma

cap(S ∪ s) =∑

j∈T

g(sj) +∑

i∈S

g(it) +∑

i∈S,j∈T ,ij∈E

g(ij)

=∑

j∈T

pj +∑

i∈S

qi +∑

i∈S,j∈T ,ij∈E

r(i , j)

s t

r(i, j)

pi qj

Z. Szigeti OCG-ORCO 38 / 38

Page 220: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Image segmentation

Lemma

cap(S ∪ s) =∑

j∈T

g(sj) +∑

i∈S

g(it) +∑

i∈S,j∈T ,ij∈E

g(ij)

=∑

j∈T

pj +∑

i∈S

qi +∑

i∈S,j∈T ,ij∈E

r(i , j)

=∑

i∈V

(pi + qi )− (∑

i∈S

pi +∑

j∈T

qj −∑

i∈S,j∈T ,ij∈E

r(i , j)).

s t

r(i, j)

pi qj

Z. Szigeti OCG-ORCO 38 / 38

Page 221: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Image segmentation

Lemma

cap(S ∪ s) =∑

j∈T

g(sj) +∑

i∈S

g(it) +∑

i∈S,j∈T ,ij∈E

g(ij)

=∑

j∈T

pj +∑

i∈S

qi +∑

i∈S,j∈T ,ij∈E

r(i , j)

=∑

i∈V

(pi + qi )− (∑

i∈S

pi +∑

j∈T

qj −∑

i∈S,j∈T ,ij∈E

r(i , j)).

maximize

s t

r(i, j)

pi qj

Z. Szigeti OCG-ORCO 38 / 38

Page 222: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Image segmentation

Lemma

cap(S ∪ s) =∑

j∈T

g(sj) +∑

i∈S

g(it) +∑

i∈S,j∈T ,ij∈E

g(ij)

=∑

j∈T

pj +∑

i∈S

qi +∑

i∈S,j∈T ,ij∈E

r(i , j)

=∑

i∈V

(pi + qi )− (∑

i∈S

pi +∑

j∈T

qj −∑

i∈S,j∈T ,ij∈E

r(i , j)).

constant − maximize

s t

r(i, j)

pi qj

Z. Szigeti OCG-ORCO 38 / 38

Page 223: Combinatorial Optimization and Graph Theory ORCO ...Flows_OCG.pdf · Planning Subjects treated in my part: 1 Network flows, 2 Push-Relabel algorithm for flows, 3 Matchings in bipartite

Image segmentation

Lemma

cap(S ∪ s) =∑

j∈T

g(sj) +∑

i∈S

g(it) +∑

i∈S,j∈T ,ij∈E

g(ij)

=∑

j∈T

pj +∑

i∈S

qi +∑

i∈S,j∈T ,ij∈E

r(i , j)

=∑

i∈V

(pi + qi )− (∑

i∈S

pi +∑

j∈T

qj −∑

i∈S,j∈T ,ij∈E

r(i , j)).

minimize = constant − maximize

s t

r(i, j)

pi qj

Z. Szigeti OCG-ORCO 38 / 38