kevin wayne princeton university - computer science department at
TRANSCRIPT
![Page 1: Kevin Wayne Princeton University - Computer Science Department at](https://reader036.vdocuments.net/reader036/viewer/2022071600/613d1db9736caf36b75980c6/html5/thumbnails/1.jpg)
Generalized Min Cost Circulation
Kevin Wayne
Princeton University
www.cs.princeton.edu/∼wayne
40 30v wγ = 3/4
![Page 2: Kevin Wayne Princeton University - Computer Science Department at](https://reader036.vdocuments.net/reader036/viewer/2022071600/613d1db9736caf36b75980c6/html5/thumbnails/2.jpg)
Outline of Talk
• Problem, applications, and history
• Combinatorial structure
• Algorithms and analyses
• Conclusions
– Typeset by FoilTEX (not a Microsoft product) –
![Page 3: Kevin Wayne Princeton University - Computer Science Department at](https://reader036.vdocuments.net/reader036/viewer/2022071600/613d1db9736caf36b75980c6/html5/thumbnails/3.jpg)
Generalized Min Cost Circulation
1
2
3
4
5
6
capacity
cost
c = −6
u = 120
Find flow of minimum cost• capacity constraints• flow conservation constraints (generalized)
Kevin Wayne 1
![Page 4: Kevin Wayne Princeton University - Computer Science Department at](https://reader036.vdocuments.net/reader036/viewer/2022071600/613d1db9736caf36b75980c6/html5/thumbnails/4.jpg)
Generalized Min Cost Circulation
1
2
3
4
5
6
gain/loss factor
γ = 3/4
Find flow of minimum cost• capacity constraints• flow conservation constraints (generalized)
40 30v wγ = 3/4
![Page 5: Kevin Wayne Princeton University - Computer Science Department at](https://reader036.vdocuments.net/reader036/viewer/2022071600/613d1db9736caf36b75980c6/html5/thumbnails/5.jpg)
LP Formulation
min∑vwcvwgvw
∀ v :∑wgvw −
∑wγwvgwv = b︸︷︷︸
w.l.o.g. b=0
∀ vw : 0 ≤ gvw ≤ uvw
Input Data0 < γvw = gain factor
cvw = cost0 < uvw = capacity
bv = supply / demand vector
A circulation is function g ≥ 0 thatsatisfies the flow conservation constraints
It is feasible if it also satisfies the capacityconstraints
Kevin Wayne 2
![Page 6: Kevin Wayne Princeton University - Computer Science Department at](https://reader036.vdocuments.net/reader036/viewer/2022071600/613d1db9736caf36b75980c6/html5/thumbnails/6.jpg)
Applications
I discovered that a whole range of problems ofthe most diverse character relating to the scientificorganization of production lead to the formulation ofa single group of mathematical problems.
Kantorovich ’39 (MS 1960, pp. 366-422)
“do not arise in the economy of a capatilistic society”since “the majority of enterprises work at half capacity.There the choice of output is determined not by theplan but by the interests and profits of individualcapatilists.”
Kevin Wayne 3
![Page 7: Kevin Wayne Princeton University - Computer Science Department at](https://reader036.vdocuments.net/reader036/viewer/2022071600/613d1db9736caf36b75980c6/html5/thumbnails/7.jpg)
Applications
Commodity leaks:leaky pipes, defects, production yields, evaporation,spoilage, theft, taxes
Transform one commodity into another:currency conversion, machine loading, fuelutilization, crop management, aircraft fleetassignment
$40 £20$ £γ = 1/2
80 hrs 800 units
Machine Product
i j10 units/hr
Kevin Wayne 3
![Page 8: Kevin Wayne Princeton University - Computer Science Department at](https://reader036.vdocuments.net/reader036/viewer/2022071600/613d1db9736caf36b75980c6/html5/thumbnails/8.jpg)
Machine Loading
Schedule p products on q machines to minimize cost
• machines have limited capacity
• producing 1 unit of product i on machine j takesγij hours and costs cij dollars
• find optimal product mix for each machine
i j t
Products
Machines
30 units
γij = unit production time
cij = unit cost
$20/unit4 hrs/unit
100 hrs.
Kevin Wayne 4
![Page 9: Kevin Wayne Princeton University - Computer Science Department at](https://reader036.vdocuments.net/reader036/viewer/2022071600/613d1db9736caf36b75980c6/html5/thumbnails/9.jpg)
General Approach
• Can be solved by general purpose LP techniques
– linear algebraic methods
• We take combinatorial (flow-based) approach
– exploit underlying network structure– superior algorithms for many network problems
• Why generalized flows are harder:
– total supply 6= total demand– no max-flow min-cut theorem– no integrality theorem
Kevin Wayne 5
![Page 10: Kevin Wayne Princeton University - Computer Science Department at](https://reader036.vdocuments.net/reader036/viewer/2022071600/613d1db9736caf36b75980c6/html5/thumbnails/10.jpg)
Problem History
Kantorovich ’39 dual simplex
Dantzig ’62 network simplex
Jewell ’62 primal-dual
Vaidya ’89 interior point – O∗(m1.5n2 logB) time
No previous polynomial combinatorial algorithm
No strongly polynomial (approximation) algorithm
m = # arcs O∗ = hides polylog(m) factorsn = # nodes B = biggest integer
Kevin Wayne 6
![Page 11: Kevin Wayne Princeton University - Computer Science Department at](https://reader036.vdocuments.net/reader036/viewer/2022071600/613d1db9736caf36b75980c6/html5/thumbnails/11.jpg)
New Results
• Generalized min cost circulation
– first polynomial combinatorial algorithm– version without costs previously solved:
Goldberg, Plotkin, Tardos ’88 Goldfarb, Jin, Orlin ’97Cohen, Megiddo ’92 Tardos, W ’98Radzik ’93a, ’93b Fleischer, W ’99Goldfarb, Jin ’95,’96
– first strongly polynomial approximation scheme– primal “cycle-canceling” algorithm
• Two variable per inequality linear programs
– first polynomial combinatorial algorithm– feasibility version previously solved:
Aspvall, Shiloach ’80 Cohen, Megiddo ’94Megiddo ’83 Hochbaum, Naor ’94
Kevin Wayne 7
![Page 12: Kevin Wayne Princeton University - Computer Science Department at](https://reader036.vdocuments.net/reader036/viewer/2022071600/613d1db9736caf36b75980c6/html5/thumbnails/12.jpg)
Residual Network
Original network: G = (V,E, u)
40 20v w
flow sent
u = 100γ = 1/2, c = 17
g = 40
γ = gain, c = cost, u = capacity
Residual network: Gg = (V,Eg, ug)
v w
can undo shipment
ug = 60γ = 1/2, c = 17
γ = 2, c = −34ug = 20
Kevin Wayne 8
![Page 13: Kevin Wayne Princeton University - Computer Science Department at](https://reader036.vdocuments.net/reader036/viewer/2022071600/613d1db9736caf36b75980c6/html5/thumbnails/13.jpg)
Unit-Gain Cycles
Residual network Gg:
1
2
3
4
5
6
gain γ
5
1
3
2
2
1/6
1
1
3/4
Unit-gain cycle: cycle with∏e∈Γ
γ(e) = 1
Corresponding circulation:g24 = 2, g43 = 6, g32 = 1
Negative cost: if∑vw
cvwgvw < 0
Kevin Wayne 9
![Page 14: Kevin Wayne Princeton University - Computer Science Department at](https://reader036.vdocuments.net/reader036/viewer/2022071600/613d1db9736caf36b75980c6/html5/thumbnails/14.jpg)
Unit-Gain Cycles
Residual network Gg:
1
2
3
4
5
6
circulation x
2
1 6
Unit-gain cycle: cycle with∏e∈Γ
γ(e) = 1
Corresponding circulation:x24 = 2, x43 = 6, x32 = 1
Negative cost: if∑vw
cvwxvw < 0
![Page 15: Kevin Wayne Princeton University - Computer Science Department at](https://reader036.vdocuments.net/reader036/viewer/2022071600/613d1db9736caf36b75980c6/html5/thumbnails/15.jpg)
Optimality Conditions
optimal ⇐⇒ no negative cost unit-gain cycles? No.
1
2
3
4
5
6
Gg :
5
1
1/3
1/2
2
6 1
1
3/4
Theorem: optimal iff no negative cost residual unit-gain cycles or bicycles
Kevin Wayne 10
![Page 16: Kevin Wayne Princeton University - Computer Science Department at](https://reader036.vdocuments.net/reader036/viewer/2022071600/613d1db9736caf36b75980c6/html5/thumbnails/16.jpg)
Bicycles
optimal ⇐⇒ no negative cost unit-gain cycles? No.
1
2
3
4
5
6
5
1/21
6
1
3/4
1
gain γ
Flow-generating cycle: cycle with∏e∈Γ γ(e) > 1
Flow-absorbing cycle: cycle with∏e∈Γ γ(e) < 1
Bicycle: flow-generating cycle ; flow-absorbing cycle
Negative cost: if∑vw
cvwgvw < 0
![Page 17: Kevin Wayne Princeton University - Computer Science Department at](https://reader036.vdocuments.net/reader036/viewer/2022071600/613d1db9736caf36b75980c6/html5/thumbnails/17.jpg)
Bicycles
optimal ⇐⇒ no negative cost unit-gain cycles? No.
1
2
3
4
5
6
2
102
3 72
72
54
circulation x
Flow-generating cycle: cycle with∏e∈Γ γ(e) > 1
Flow-absorbing cycle: cycle with∏e∈Γ γ(e) < 1
Bicycle: flow-generating cycle ; flow-absorbing cycle
Negative cost: if∑vw
cvwxvw < 0
![Page 18: Kevin Wayne Princeton University - Computer Science Department at](https://reader036.vdocuments.net/reader036/viewer/2022071600/613d1db9736caf36b75980c6/html5/thumbnails/18.jpg)
Optimality Conditions
optimal ⇐⇒ no negative cost unit-gain cycles? No.
1
2
3
4
5
6
Theorem [1960s]: optimal ⇐⇒ no negative costresidual unit-gain cycles or bicycles
![Page 19: Kevin Wayne Princeton University - Computer Science Department at](https://reader036.vdocuments.net/reader036/viewer/2022071600/613d1db9736caf36b75980c6/html5/thumbnails/19.jpg)
Circuit Canceling Algorithm
We generalize Klein’s cycle-canceling algorithm:
A circuit is a circulation that sends flow only onthe arcs of a single unit-gain cycle or bicycle.
Initialize g ← 0repeat
Cancel a negative cost circuit in GgUpdate g
until optimal
Complexity: Very bad!
Can we even find a negative cost circuit?
• NP-hard even to detect a unit-gain cycle
Kevin Wayne 11
![Page 20: Kevin Wayne Princeton University - Computer Science Department at](https://reader036.vdocuments.net/reader036/viewer/2022071600/613d1db9736caf36b75980c6/html5/thumbnails/20.jpg)
Min Mean Circuit Canceling Algorithm
We generalize the Goldberg-Tarjan algorithm:
The mean cost of a cycle Γ is∑e∈Γ c(e)|Γ|
The mean cost of a circuit x is∑e c(e)x(e)∑e x(e)
Initialize g ← 0repeat
Cancel a min mean cost circuit in GgUpdate g
until optimal
Theorem: Finite complexity
Kevin Wayne 12
![Page 21: Kevin Wayne Princeton University - Computer Science Department at](https://reader036.vdocuments.net/reader036/viewer/2022071600/613d1db9736caf36b75980c6/html5/thumbnails/21.jpg)
Min Ratio Cycle Algorithm
Wallacher’s traditional min cost flow algorithm:
The ratio of cycle Γ is∑e∈Γ c(e)∑e∈Γ
1u(e)
Initialize f ← 0repeat
Cancel a min ratio cycle in GfUpdate f
until optimal
Related work:• Wallacher, Zimmerman ’97 submodular flow• Goldberg, Rao ’98 adaptive length function, max flow• McCormick, Shioura ’99 unimodular linear programs• Schulz, Weismantel ’99 special class of integer programs
Kevin Wayne 13
![Page 22: Kevin Wayne Princeton University - Computer Science Department at](https://reader036.vdocuments.net/reader036/viewer/2022071600/613d1db9736caf36b75980c6/html5/thumbnails/22.jpg)
Min Ratio Circuit Algorithm
We generalize Wallacher’s algorithm:
The ratio of cycle Γ is∑e∈Γ c(e)∑e∈Γ
1u(e)
The ratio of a circuit x is∑e c(e)x(e)∑ex(e)u(e)
Initialize g ← 0repeat
Cancel a min ratio circuit in GgUpdate g
until ε-optimal
Kevin Wayne 14
![Page 23: Kevin Wayne Princeton University - Computer Science Department at](https://reader036.vdocuments.net/reader036/viewer/2022071600/613d1db9736caf36b75980c6/html5/thumbnails/23.jpg)
Overview of Analysis
Fact: Canceling circuit with ratio µ improves objectiveby at least µ
Key Lemma: There exists a circuit with good ratio
• captures at least 1/m fraction of remaining profit• m log(1/ε) iterations
Lemma: Can find min ratio circuit in O∗(mn3) time
Theorem: PTAS, can find ε-optimal circulation inO∗(m2n3 log(1/ε)) time
Lemma: ε = B−4m⇒ can “round” to optimal vertex
Kevin Wayne 15
![Page 24: Kevin Wayne Princeton University - Computer Science Department at](https://reader036.vdocuments.net/reader036/viewer/2022071600/613d1db9736caf36b75980c6/html5/thumbnails/24.jpg)
Analysis
Fact: Canceling circuit x with ratio µ improvesobjective by at least µ
µ =∑e
c(e)x(e) /∑e
x(e)u(e)︸ ︷︷ ︸≥1
x canceled⇒ rescaled so that some arc is saturated
∑e
c(e)x(e)︸ ︷︷ ︸improvement
≤ µ ≤ 0
Kevin Wayne 16
![Page 25: Kevin Wayne Princeton University - Computer Science Department at](https://reader036.vdocuments.net/reader036/viewer/2022071600/613d1db9736caf36b75980c6/html5/thumbnails/25.jpg)
Analysis
Lemma: There exists a good circuit
• geometric improvement
• captures at least 1/m fraction of remaining profit
x = min ratio circuit, µ = value
x∗ = optimal circulation
µ ≤∑e
c(e)x∗(e)︸ ︷︷ ︸OPT
/∑e
x∗(e)u(e)︸ ︷︷ ︸≤m
Kevin Wayne 17
![Page 26: Kevin Wayne Princeton University - Computer Science Department at](https://reader036.vdocuments.net/reader036/viewer/2022071600/613d1db9736caf36b75980c6/html5/thumbnails/26.jpg)
Finding a Negative Cost Circuit
• Suffices to find negative cost circulation
∑vw
cvwxvw < 0, x circulation (I)
∀vw : cvw + πv − γvwπw︸ ︷︷ ︸reduced cost
≥ 0 (II)
• Farkas: ∃ negative cost circuit iff (II) infeasible
• Can detect feasibility of (II) using Bellman-Fordupdates since it has two variables per inequality....
Kevin Wayne 18
![Page 27: Kevin Wayne Princeton University - Computer Science Department at](https://reader036.vdocuments.net/reader036/viewer/2022071600/613d1db9736caf36b75980c6/html5/thumbnails/27.jpg)
Detecting Feasibility of System (II)
Build intuition from familiar TVPI system
Shortest path: Bellman-Ford-Moore ’58
• node labels πv = cost of cheapest s-v path
• inequalities: ∀ vw : πw ≤ πv + cvw
v wc = 17
• πs = 0, update πw ← minvw{πw, πv + cvw}
• negative cost cycles identify infeasibilities
Kevin Wayne 19
![Page 28: Kevin Wayne Princeton University - Computer Science Department at](https://reader036.vdocuments.net/reader036/viewer/2022071600/613d1db9736caf36b75980c6/html5/thumbnails/28.jpg)
Detecting Feasibility of System (II)
Idea: extend shortest path algorithm + binary search
TVPI feasibility: Shostak ’81
• general TVPI: πw ≤ γvwπv + cvw
• guess πs ≤ 17 and binary search
• update πw ← minvw{πw, γvwπv + cvw}
• negative cost circuits identify infeasibilities
• what about non unit-gain cycles?
2πx ≤ 6πy + 56πy ≤ 14πz + 16
14πz ≤ πx2πx ≤ πx + 21
x
y
z
6/2
14/6
1/14
Kevin Wayne 20
![Page 29: Kevin Wayne Princeton University - Computer Science Department at](https://reader036.vdocuments.net/reader036/viewer/2022071600/613d1db9736caf36b75980c6/html5/thumbnails/29.jpg)
Finding a Min Ratio Circuit
• Consider parametric system of inequalities
∑e
c(e)x(e)− µ∑e
x(e)u(e)
< 0, x circuit (Iµ)
• (Iµ) feasible iff µ > µ∗
• Test feasibility of (Iµ) in O∗(mn2) time since dualsystem is TVPI
• Binary search for µ∗ in O(m logB) iterations
• Megiddo’s parametric search ⇒ O∗(mn3) time
Kevin Wayne 21
![Page 30: Kevin Wayne Princeton University - Computer Science Department at](https://reader036.vdocuments.net/reader036/viewer/2022071600/613d1db9736caf36b75980c6/html5/thumbnails/30.jpg)
Rounding to a Vertex
Goal: Given feasible circulation g, “round” to a vertexwithout increasing objective value.
Notation: S(g) := {e ∈ E : 0 < g(e) < u(e)}
Lemma: g is a vertex ⇔ S(g) has no bicycles orunit-gain cycles.
Input: feasible circulation grepeat
Cancel a bicycle or unit-gain cycle in subgraphS(g) in direction that does not increase objectivevalue, and update g.
until S(g) has no bicycles or unit-gain cycles
Complexity: O(m2n).
• At most m iterations, since |S(g)| strictlydecreases.• Can find a bicycle or unit-gain cycle in O(mn)
time using 2 shortest path computations.
Kevin Wayne 22
![Page 31: Kevin Wayne Princeton University - Computer Science Department at](https://reader036.vdocuments.net/reader036/viewer/2022071600/613d1db9736caf36b75980c6/html5/thumbnails/31.jpg)
A Faster Scaling Version
Idea: Cancel approximately min ratio circuits
Improvement: cancel negative cost circuits instead ofmin ratio circuits (factor n speedup)
Initialize g ← 0, µ← min ratio circuit valuec̄(e)← c(e)− µ
2ug(e)repeat
while ∃ negative c̄-cost circuit doCancel such a circuit and update g, c̄
µ← µ/2until ε-optimal
Theorem: O∗(m2n2 log(1/ε)) approximation schemeO∗(m3n2 logB) exact algorithm
Kevin Wayne 23
![Page 32: Kevin Wayne Princeton University - Computer Science Department at](https://reader036.vdocuments.net/reader036/viewer/2022071600/613d1db9736caf36b75980c6/html5/thumbnails/32.jpg)
TVPI︸ ︷︷ ︸two variables per inequality
Linear Programming
Dual of generalized flow problem with costs ismonotone TVPI linear program:
max∑vbv πv
∀ vw : cvw − πv + γvwπw ≥ 0(D)
Allow negative gain factors ⇒ general TVPI
Theorem: O∗(m3n2 logB) combinatorial algorithmfor optimizing TVPI liner programs
Kevin Wayne 24
![Page 33: Kevin Wayne Princeton University - Computer Science Department at](https://reader036.vdocuments.net/reader036/viewer/2022071600/613d1db9736caf36b75980c6/html5/thumbnails/33.jpg)
Closing Remarks
Conclusions
• Generalized min cost circulation problem
– first combinatorial polynomial algorithm– first strongly polynomial approximation scheme– primal method
• TVPI linear programming
– first combinatorial polynomial algorithm
Open Problems
• dualize
• polynomial simplex variant
• strongly polynomial complexity
• generalized multicommodity flow
Kevin Wayne 25
![Page 34: Kevin Wayne Princeton University - Computer Science Department at](https://reader036.vdocuments.net/reader036/viewer/2022071600/613d1db9736caf36b75980c6/html5/thumbnails/34.jpg)
Optimization is as Easy as Feasibility
min cxs.t. Ax = 0
l ≤ x ≤ u(P )
Ax = 0l′ ≤ x ≤ u′ (F )
Theorem [McCormick, W]: Can solve (P ) using apolynomial number of calls to (F )
Idea: dualize min-ratio algorithm and generalize to LP
Kevin Wayne 26