cs599: convex and combinatorial optimization fall 2013 ... › ~shaddin › cs599fa13 › slides ›...

35
CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 17: Combinatorial Problems as Linear Programs III Instructor: Shaddin Dughmi

Upload: others

Post on 05-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CS599: Convex and Combinatorial Optimization Fall 2013 ... › ~shaddin › cs599fa13 › slides › lec17.pdf · The Minimum Cost Spanning Tree Problem Given a connected undirected

CS599: Convex and Combinatorial OptimizationFall 2013

Lecture 17: Combinatorial Problems as LinearPrograms III

Instructor: Shaddin Dughmi

Page 2: CS599: Convex and Combinatorial Optimization Fall 2013 ... › ~shaddin › cs599fa13 › slides › lec17.pdf · The Minimum Cost Spanning Tree Problem Given a connected undirected

Announcements

Today: Spanning Trees and FlowsFlexibility awarded by polyhedral perspective

Page 3: CS599: Convex and Combinatorial Optimization Fall 2013 ... › ~shaddin › cs599fa13 › slides › lec17.pdf · The Minimum Cost Spanning Tree Problem Given a connected undirected

Outline

1 Spanning Trees

2 Flows

Page 4: CS599: Convex and Combinatorial Optimization Fall 2013 ... › ~shaddin › cs599fa13 › slides › lec17.pdf · The Minimum Cost Spanning Tree Problem Given a connected undirected

The Minimum Cost Spanning Tree Problem

Given a connected undirected graph G = (V,E), and costs ce onedges e, find a minimum cost spanning tree of G.

Spanning Tree: an acyclic set of edges connecting every pair ofnodesWhen graph is disconnected, can search for min-cost spanningforest insteadWe use n and m to denote |V | and |E|, respectively.

Spanning Trees 1/10

Page 5: CS599: Convex and Combinatorial Optimization Fall 2013 ... › ~shaddin › cs599fa13 › slides › lec17.pdf · The Minimum Cost Spanning Tree Problem Given a connected undirected

Kruskal’s Algorithm

The minimum spanning tree problem can be solved efficiently by asimple greedy algorithm

Kruskal’s algorithm1 T ← ∅2 Sort edges in increasing order of cost3 For each edge e in order

if T⋃e is acyclic, add e to T .

Proof of correctness is via a simple exchange argument.Generalizes to Matroids

Spanning Trees 2/10

Page 6: CS599: Convex and Combinatorial Optimization Fall 2013 ... › ~shaddin › cs599fa13 › slides › lec17.pdf · The Minimum Cost Spanning Tree Problem Given a connected undirected

Kruskal’s Algorithm

The minimum spanning tree problem can be solved efficiently by asimple greedy algorithm

Kruskal’s algorithm1 T ← ∅2 Sort edges in increasing order of cost3 For each edge e in order

if T⋃e is acyclic, add e to T .

Proof of correctness is via a simple exchange argument.Generalizes to Matroids

Spanning Trees 2/10

Page 7: CS599: Convex and Combinatorial Optimization Fall 2013 ... › ~shaddin › cs599fa13 › slides › lec17.pdf · The Minimum Cost Spanning Tree Problem Given a connected undirected

MST Linear Program

MST LPminimize

∑e∈E cexe

subject to∑e∈E

xe = n− 1∑e⊆X

xe ≤ |X| − 1, for X ⊂ V.

xe ≥ 0, for e ∈ E.

TheoremThe feasible region of the above LP is the convex hull of spanningtrees.

Proof by finding a dual solution with cost matching the output ofKruskal’s algorithm.Generalizes to MatroidsNote: this LP has an exponential (in n) number of constraints

Spanning Trees 3/10

Page 8: CS599: Convex and Combinatorial Optimization Fall 2013 ... › ~shaddin › cs599fa13 › slides › lec17.pdf · The Minimum Cost Spanning Tree Problem Given a connected undirected

MST Linear Program

MST LPminimize

∑e∈E cexe

subject to∑e∈E

xe = n− 1∑e⊆X

xe ≤ |X| − 1, for X ⊂ V.

xe ≥ 0, for e ∈ E.

TheoremThe feasible region of the above LP is the convex hull of spanningtrees.

Proof by finding a dual solution with cost matching the output ofKruskal’s algorithm.Generalizes to MatroidsNote: this LP has an exponential (in n) number of constraints

Spanning Trees 3/10

Page 9: CS599: Convex and Combinatorial Optimization Fall 2013 ... › ~shaddin › cs599fa13 › slides › lec17.pdf · The Minimum Cost Spanning Tree Problem Given a connected undirected

MST Linear Program

MST LPminimize

∑e∈E cexe

subject to∑e∈E

xe = n− 1∑e⊆X

xe ≤ |X| − 1, for X ⊂ V.

xe ≥ 0, for e ∈ E.

TheoremThe feasible region of the above LP is the convex hull of spanningtrees.

Proof by finding a dual solution with cost matching the output ofKruskal’s algorithm.

Generalizes to MatroidsNote: this LP has an exponential (in n) number of constraints

Spanning Trees 3/10

Page 10: CS599: Convex and Combinatorial Optimization Fall 2013 ... › ~shaddin › cs599fa13 › slides › lec17.pdf · The Minimum Cost Spanning Tree Problem Given a connected undirected

MST Linear Program

MST LPminimize

∑e∈E cexe

subject to∑e∈E

xe = n− 1∑e⊆X

xe ≤ |X| − 1, for X ⊂ V.

xe ≥ 0, for e ∈ E.

TheoremThe feasible region of the above LP is the convex hull of spanningtrees.

Proof by finding a dual solution with cost matching the output ofKruskal’s algorithm.Generalizes to Matroids

Note: this LP has an exponential (in n) number of constraints

Spanning Trees 3/10

Page 11: CS599: Convex and Combinatorial Optimization Fall 2013 ... › ~shaddin › cs599fa13 › slides › lec17.pdf · The Minimum Cost Spanning Tree Problem Given a connected undirected

MST Linear Program

MST LPminimize

∑e∈E cexe

subject to∑e∈E

xe = n− 1∑e⊆X

xe ≤ |X| − 1, for X ⊂ V.

xe ≥ 0, for e ∈ E.

TheoremThe feasible region of the above LP is the convex hull of spanningtrees.

Proof by finding a dual solution with cost matching the output ofKruskal’s algorithm.Generalizes to MatroidsNote: this LP has an exponential (in n) number of constraints

Spanning Trees 3/10

Page 12: CS599: Convex and Combinatorial Optimization Fall 2013 ... › ~shaddin › cs599fa13 › slides › lec17.pdf · The Minimum Cost Spanning Tree Problem Given a connected undirected

Solving the MST Linear Program

DefinitionA separation oracle for a linear program with feasible set P ⊆ Rm is analgorithm which takes as input x ∈ Rm, and either certifies that x ∈ Por identifies a violated constraint.

TheoremA linear program with a polynomial number of variables is solvable inpolynomial time if and only if it admits a polynomial time separationoracle.

Follows from the ellipsoid method, which we will see next week.

Spanning Trees 4/10

Page 13: CS599: Convex and Combinatorial Optimization Fall 2013 ... › ~shaddin › cs599fa13 › slides › lec17.pdf · The Minimum Cost Spanning Tree Problem Given a connected undirected

Solving the MST Linear Program

DefinitionA separation oracle for a linear program with feasible set P ⊆ Rm is analgorithm which takes as input x ∈ Rm, and either certifies that x ∈ Por identifies a violated constraint.

TheoremA linear program with a polynomial number of variables is solvable inpolynomial time if and only if it admits a polynomial time separationoracle.

Follows from the ellipsoid method, which we will see next week.Spanning Trees 4/10

Page 14: CS599: Convex and Combinatorial Optimization Fall 2013 ... › ~shaddin › cs599fa13 › slides › lec17.pdf · The Minimum Cost Spanning Tree Problem Given a connected undirected

Solving the MST Linear ProgramPrimal LP

minimize∑e∈E cexe

subject to∑e⊆X

xe ≤ |X| − 1, for X ⊂ V.∑e∈E

xe = n− 1

xe ≥ 0, for e ∈ E.

Given x ∈ Rm, separation oracle must find a violated constraint ifone exists

Reduces to finding X ⊂ V with∑

e⊆X xe > |X| − 1, if one exists

Equivalently1+

∑e⊆X xe

|X| > 1

In turn, this reduces to maximizing1+

∑e⊆X xe

|X| over X

We will see how to do this efficiently later in the class, since1+

∑e⊆X xe

|X|is a supermodular function of the set X.

Spanning Trees 5/10

Page 15: CS599: Convex and Combinatorial Optimization Fall 2013 ... › ~shaddin › cs599fa13 › slides › lec17.pdf · The Minimum Cost Spanning Tree Problem Given a connected undirected

Solving the MST Linear ProgramPrimal LP

minimize∑e∈E cexe

subject to∑e⊆X

xe ≤ |X| − 1, for X ⊂ V.∑e∈E

xe = n− 1

xe ≥ 0, for e ∈ E.

Given x ∈ Rm, separation oracle must find a violated constraint ifone existsReduces to finding X ⊂ V with

∑e⊆X xe > |X| − 1, if one exists

Equivalently1+

∑e⊆X xe

|X| > 1

In turn, this reduces to maximizing1+

∑e⊆X xe

|X| over X

We will see how to do this efficiently later in the class, since1+

∑e⊆X xe

|X|is a supermodular function of the set X.

Spanning Trees 5/10

Page 16: CS599: Convex and Combinatorial Optimization Fall 2013 ... › ~shaddin › cs599fa13 › slides › lec17.pdf · The Minimum Cost Spanning Tree Problem Given a connected undirected

Solving the MST Linear ProgramPrimal LP

minimize∑e∈E cexe

subject to∑e⊆X

xe ≤ |X| − 1, for X ⊂ V.∑e∈E

xe = n− 1

xe ≥ 0, for e ∈ E.

Given x ∈ Rm, separation oracle must find a violated constraint ifone existsReduces to finding X ⊂ V with

∑e⊆X xe > |X| − 1, if one exists

Equivalently1+

∑e⊆X xe

|X| > 1

In turn, this reduces to maximizing1+

∑e⊆X xe

|X| over X

We will see how to do this efficiently later in the class, since1+

∑e⊆X xe

|X|is a supermodular function of the set X.

Spanning Trees 5/10

Page 17: CS599: Convex and Combinatorial Optimization Fall 2013 ... › ~shaddin › cs599fa13 › slides › lec17.pdf · The Minimum Cost Spanning Tree Problem Given a connected undirected

Solving the MST Linear ProgramPrimal LP

minimize∑e∈E cexe

subject to∑e⊆X

xe ≤ |X| − 1, for X ⊂ V.∑e∈E

xe = n− 1

xe ≥ 0, for e ∈ E.

Given x ∈ Rm, separation oracle must find a violated constraint ifone existsReduces to finding X ⊂ V with

∑e⊆X xe > |X| − 1, if one exists

Equivalently1+

∑e⊆X xe

|X| > 1

In turn, this reduces to maximizing1+

∑e⊆X xe

|X| over X

We will see how to do this efficiently later in the class, since1+

∑e⊆X xe

|X|is a supermodular function of the set X.

Spanning Trees 5/10

Page 18: CS599: Convex and Combinatorial Optimization Fall 2013 ... › ~shaddin › cs599fa13 › slides › lec17.pdf · The Minimum Cost Spanning Tree Problem Given a connected undirected

Application of Fractional Spanning Trees

The LP formulation of spanning trees has many applicationsWe will look at one contrived yet simple application that shows theflexibility enabled by polyhedral formulation

Fault-Tolerant MSTYour tree is an overlay network on the internet used to transmitdataA hacker is looking to attack your tree, by knocking off one of theedges of the graphYou can foil the hacker by choosing a random treeThe hacker knows the algorithm you use, but not your randomcoins

Spanning Trees 6/10

Page 19: CS599: Convex and Combinatorial Optimization Fall 2013 ... › ~shaddin › cs599fa13 › slides › lec17.pdf · The Minimum Cost Spanning Tree Problem Given a connected undirected

Fault-tolerant MST LPminimize

∑e∈E cexe

subject to∑e⊆X

xe ≤ |X| − 1, for X ⊂ V.∑e∈E

xe = n− 1

xe ≤ p, for e ∈ E.xe ≥ 0, for e ∈ E.

Above LP can be solved efficientlyCan interpret resulting fractional spanning tree x as a recipe for aprobability distribution over trees T

e ∈ T with probability xeSince xe ≤ p, no edge is in the tree with probability more than p.

Such a probability distribution exists!x is in the (original) MST polytopeCaratheodory’s theorem: x is a convex combination of m+ 1vertices of MST polytopeBy integrality of MST polytope: x is the “expectation” of a probabilitydistribution over spanning trees.

Consequence of Ellipsoid algorithm: can compute such adecomposition of x efficiently!

Spanning Trees 7/10

Page 20: CS599: Convex and Combinatorial Optimization Fall 2013 ... › ~shaddin › cs599fa13 › slides › lec17.pdf · The Minimum Cost Spanning Tree Problem Given a connected undirected

Fault-tolerant MST LPminimize

∑e∈E cexe

subject to∑e⊆X

xe ≤ |X| − 1, for X ⊂ V.∑e∈E

xe = n− 1

xe ≤ p, for e ∈ E.xe ≥ 0, for e ∈ E.

Such a probability distribution exists!

x is in the (original) MST polytopeCaratheodory’s theorem: x is a convex combination of m+ 1vertices of MST polytopeBy integrality of MST polytope: x is the “expectation” of a probabilitydistribution over spanning trees.

Consequence of Ellipsoid algorithm: can compute such adecomposition of x efficiently!

Spanning Trees 7/10

Page 21: CS599: Convex and Combinatorial Optimization Fall 2013 ... › ~shaddin › cs599fa13 › slides › lec17.pdf · The Minimum Cost Spanning Tree Problem Given a connected undirected

Fault-tolerant MST LPminimize

∑e∈E cexe

subject to∑e⊆X

xe ≤ |X| − 1, for X ⊂ V.∑e∈E

xe = n− 1

xe ≤ p, for e ∈ E.xe ≥ 0, for e ∈ E.

Such a probability distribution exists!x is in the (original) MST polytopeCaratheodory’s theorem: x is a convex combination of m+ 1vertices of MST polytopeBy integrality of MST polytope: x is the “expectation” of a probabilitydistribution over spanning trees.

Consequence of Ellipsoid algorithm: can compute such adecomposition of x efficiently!

Spanning Trees 7/10

Page 22: CS599: Convex and Combinatorial Optimization Fall 2013 ... › ~shaddin › cs599fa13 › slides › lec17.pdf · The Minimum Cost Spanning Tree Problem Given a connected undirected

Fault-tolerant MST LPminimize

∑e∈E cexe

subject to∑e⊆X

xe ≤ |X| − 1, for X ⊂ V.∑e∈E

xe = n− 1

xe ≤ p, for e ∈ E.xe ≥ 0, for e ∈ E.

Such a probability distribution exists!x is in the (original) MST polytopeCaratheodory’s theorem: x is a convex combination of m+ 1vertices of MST polytopeBy integrality of MST polytope: x is the “expectation” of a probabilitydistribution over spanning trees.

Consequence of Ellipsoid algorithm: can compute such adecomposition of x efficiently!

Spanning Trees 7/10

Page 23: CS599: Convex and Combinatorial Optimization Fall 2013 ... › ~shaddin › cs599fa13 › slides › lec17.pdf · The Minimum Cost Spanning Tree Problem Given a connected undirected

Outline

1 Spanning Trees

2 Flows

Page 24: CS599: Convex and Combinatorial Optimization Fall 2013 ... › ~shaddin › cs599fa13 › slides › lec17.pdf · The Minimum Cost Spanning Tree Problem Given a connected undirected

The Maximum Flow ProblemGiven a directed graph G = (V,E) with capacities ue on edges e, asource node s, and a sink node t, find a maximum flow from s to trespecting the capacities.

maximize∑

e∈δ+(s) xe −∑

e∈δ−(s) xesubject to

∑e∈δ−(v) xe =

∑e∈δ+(v) xe, for v ∈ V \ {s, t} .

xe ≤ ue, for e ∈ E.xe ≥ 0, for e ∈ E.

Can be computed either by solving the LP, or by a combinatorialalgorithm such as Ford Fulkerson.

Flows 8/10

Page 25: CS599: Convex and Combinatorial Optimization Fall 2013 ... › ~shaddin › cs599fa13 › slides › lec17.pdf · The Minimum Cost Spanning Tree Problem Given a connected undirected

Primal LPmax

∑e∈δ+(s)

xe −∑

e∈δ−(s)

xe

s.t.∑e∈δ−(v)

xe =∑

e∈δ+(v)

xe, ∀v ∈ V \ {s, t} .

xe ≤ ue, ∀e ∈ E.xe ≥ 0, ∀e ∈ E.

Dual LP (Simplified)min

∑e∈E ueze

s.t.yv − yu ≤ ze, ∀e = (u, v) ∈ E.ys = 0yt = 1ze ≥ 0, ∀e ∈ E.

Dual solution describes fraction ze of each edge to fractionally cut

Dual constraints require that at least 1 edge is cut on every pathfrom s to t.∑

(u,v)∈P zuv ≥∑

(u,v)∈P yv − yu = yt − ys = 1

Every integral s− t cut is feasible.By weak duality: max flow ≤ minimum cutFord-Fulkerson shows that max flow = min cut

i.e. dual has integer optimalFord-Fulkerson also shows that there is an integral optimal flowwhen capacities are integer.

Flows 9/10

Page 26: CS599: Convex and Combinatorial Optimization Fall 2013 ... › ~shaddin › cs599fa13 › slides › lec17.pdf · The Minimum Cost Spanning Tree Problem Given a connected undirected

Primal LPmax

∑e∈δ+(s)

xe −∑

e∈δ−(s)

xe

s.t.∑e∈δ−(v)

xe =∑

e∈δ+(v)

xe, ∀v ∈ V \ {s, t} .

xe ≤ ue, ∀e ∈ E.xe ≥ 0, ∀e ∈ E.

Dual LP (Simplified)min

∑e∈E ueze

s.t.yv − yu ≤ ze, ∀e = (u, v) ∈ E.ys = 0yt = 1ze ≥ 0, ∀e ∈ E.

Dual solution describes fraction ze of each edge to fractionally cutDual constraints require that at least 1 edge is cut on every pathfrom s to t.∑

(u,v)∈P zuv ≥∑

(u,v)∈P yv − yu = yt − ys = 1

Every integral s− t cut is feasible.By weak duality: max flow ≤ minimum cutFord-Fulkerson shows that max flow = min cut

i.e. dual has integer optimalFord-Fulkerson also shows that there is an integral optimal flowwhen capacities are integer.

Flows 9/10

Page 27: CS599: Convex and Combinatorial Optimization Fall 2013 ... › ~shaddin › cs599fa13 › slides › lec17.pdf · The Minimum Cost Spanning Tree Problem Given a connected undirected

Primal LPmax

∑e∈δ+(s)

xe −∑

e∈δ−(s)

xe

s.t.∑e∈δ−(v)

xe =∑

e∈δ+(v)

xe, ∀v ∈ V \ {s, t} .

xe ≤ ue, ∀e ∈ E.xe ≥ 0, ∀e ∈ E.

Dual LP (Simplified)min

∑e∈E ueze

s.t.yv − yu ≤ ze, ∀e = (u, v) ∈ E.ys = 0yt = 1ze ≥ 0, ∀e ∈ E.

Every integral s− t cut is feasible.

By weak duality: max flow ≤ minimum cutFord-Fulkerson shows that max flow = min cut

i.e. dual has integer optimalFord-Fulkerson also shows that there is an integral optimal flowwhen capacities are integer.

Flows 9/10

Page 28: CS599: Convex and Combinatorial Optimization Fall 2013 ... › ~shaddin › cs599fa13 › slides › lec17.pdf · The Minimum Cost Spanning Tree Problem Given a connected undirected

Primal LPmax

∑e∈δ+(s)

xe −∑

e∈δ−(s)

xe

s.t.∑e∈δ−(v)

xe =∑

e∈δ+(v)

xe, ∀v ∈ V \ {s, t} .

xe ≤ ue, ∀e ∈ E.xe ≥ 0, ∀e ∈ E.

Dual LP (Simplified)min

∑e∈E ueze

s.t.yv − yu ≤ ze, ∀e = (u, v) ∈ E.ys = 0yt = 1ze ≥ 0, ∀e ∈ E.

Every integral s− t cut is feasible.By weak duality: max flow ≤ minimum cut

Ford-Fulkerson shows that max flow = min cuti.e. dual has integer optimal

Ford-Fulkerson also shows that there is an integral optimal flowwhen capacities are integer.

Flows 9/10

Page 29: CS599: Convex and Combinatorial Optimization Fall 2013 ... › ~shaddin › cs599fa13 › slides › lec17.pdf · The Minimum Cost Spanning Tree Problem Given a connected undirected

Primal LPmax

∑e∈δ+(s)

xe −∑

e∈δ−(s)

xe

s.t.∑e∈δ−(v)

xe =∑

e∈δ+(v)

xe, ∀v ∈ V \ {s, t} .

xe ≤ ue, ∀e ∈ E.xe ≥ 0, ∀e ∈ E.

Dual LP (Simplified)min

∑e∈E ueze

s.t.yv − yu ≤ ze, ∀e = (u, v) ∈ E.ys = 0yt = 1ze ≥ 0, ∀e ∈ E.

Every integral s− t cut is feasible.By weak duality: max flow ≤ minimum cutFord-Fulkerson shows that max flow = min cut

i.e. dual has integer optimal

Ford-Fulkerson also shows that there is an integral optimal flowwhen capacities are integer.

Flows 9/10

Page 30: CS599: Convex and Combinatorial Optimization Fall 2013 ... › ~shaddin › cs599fa13 › slides › lec17.pdf · The Minimum Cost Spanning Tree Problem Given a connected undirected

Primal LPmax

∑e∈δ+(s)

xe −∑

e∈δ−(s)

xe

s.t.∑e∈δ−(v)

xe =∑

e∈δ+(v)

xe, ∀v ∈ V \ {s, t} .

xe ≤ ue, ∀e ∈ E.xe ≥ 0, ∀e ∈ E.

Dual LP (Simplified)min

∑e∈E ueze

s.t.yv − yu ≤ ze, ∀e = (u, v) ∈ E.ys = 0yt = 1ze ≥ 0, ∀e ∈ E.

Every integral s− t cut is feasible.By weak duality: max flow ≤ minimum cutFord-Fulkerson shows that max flow = min cut

i.e. dual has integer optimalFord-Fulkerson also shows that there is an integral optimal flowwhen capacities are integer.Flows 9/10

Page 31: CS599: Convex and Combinatorial Optimization Fall 2013 ... › ~shaddin › cs599fa13 › slides › lec17.pdf · The Minimum Cost Spanning Tree Problem Given a connected undirected

Generalizations of Max Flow

max∑

e∈δ+(s)

xe −∑

e∈δ−(s)

xe

s.t.∑e∈δ−(v)

xe =∑

e∈δ+(v)

xe, ∀v ∈ V \ {s, t} .

xe ≤ ue, ∀e ∈ E.xe ≥ 0, ∀e ∈ E.

Writing as an LP shows that many generalizations are also tractable

Lower and upper bound constraints on flow: `e ≤ xe ≤ ueminimum cost flow of a certain amount r

Objective min∑e cexe

Additional constraint:∑

e∈δ+(s)

xe −∑

e∈δ−(s)

xe = r

Multiple commodities sharing the network. . .

Flows 10/10

Page 32: CS599: Convex and Combinatorial Optimization Fall 2013 ... › ~shaddin › cs599fa13 › slides › lec17.pdf · The Minimum Cost Spanning Tree Problem Given a connected undirected

Generalizations of Max Flow

max∑

e∈δ+(s)

xe −∑

e∈δ−(s)

xe

s.t.∑e∈δ−(v)

xe =∑

e∈δ+(v)

xe, ∀v ∈ V \ {s, t} .

xe ≤ ue, ∀e ∈ E.xe ≥ 0, ∀e ∈ E.

Writing as an LP shows that many generalizations are also tractableLower and upper bound constraints on flow: `e ≤ xe ≤ ue

minimum cost flow of a certain amount rObjective min

∑e cexe

Additional constraint:∑

e∈δ+(s)

xe −∑

e∈δ−(s)

xe = r

Multiple commodities sharing the network. . .

Flows 10/10

Page 33: CS599: Convex and Combinatorial Optimization Fall 2013 ... › ~shaddin › cs599fa13 › slides › lec17.pdf · The Minimum Cost Spanning Tree Problem Given a connected undirected

Generalizations of Max Flow

max∑

e∈δ+(s)

xe −∑

e∈δ−(s)

xe

s.t.∑e∈δ−(v)

xe =∑

e∈δ+(v)

xe, ∀v ∈ V \ {s, t} .

xe ≤ ue, ∀e ∈ E.xe ≥ 0, ∀e ∈ E.

Writing as an LP shows that many generalizations are also tractableLower and upper bound constraints on flow: `e ≤ xe ≤ ueminimum cost flow of a certain amount r

Objective min∑e cexe

Additional constraint:∑

e∈δ+(s)

xe −∑

e∈δ−(s)

xe = r

Multiple commodities sharing the network. . .

Flows 10/10

Page 34: CS599: Convex and Combinatorial Optimization Fall 2013 ... › ~shaddin › cs599fa13 › slides › lec17.pdf · The Minimum Cost Spanning Tree Problem Given a connected undirected

Generalizations of Max Flow

max∑

e∈δ+(s)

xe −∑

e∈δ−(s)

xe

s.t.∑e∈δ−(v)

xe =∑

e∈δ+(v)

xe, ∀v ∈ V \ {s, t} .

xe ≤ ue, ∀e ∈ E.xe ≥ 0, ∀e ∈ E.

Writing as an LP shows that many generalizations are also tractableLower and upper bound constraints on flow: `e ≤ xe ≤ ueminimum cost flow of a certain amount r

Objective min∑e cexe

Additional constraint:∑

e∈δ+(s)

xe −∑

e∈δ−(s)

xe = r

Multiple commodities sharing the network

. . .

Flows 10/10

Page 35: CS599: Convex and Combinatorial Optimization Fall 2013 ... › ~shaddin › cs599fa13 › slides › lec17.pdf · The Minimum Cost Spanning Tree Problem Given a connected undirected

Generalizations of Max Flow

max∑

e∈δ+(s)

xe −∑

e∈δ−(s)

xe

s.t.∑e∈δ−(v)

xe =∑

e∈δ+(v)

xe, ∀v ∈ V \ {s, t} .

xe ≤ ue, ∀e ∈ E.xe ≥ 0, ∀e ∈ E.

Writing as an LP shows that many generalizations are also tractableLower and upper bound constraints on flow: `e ≤ xe ≤ ueminimum cost flow of a certain amount r

Objective min∑e cexe

Additional constraint:∑

e∈δ+(s)

xe −∑

e∈δ−(s)

xe = r

Multiple commodities sharing the network. . .

Flows 10/10