a polynomial combinatorial algorithm for generalized minimum cost flow, kevin d. wayne eyal dushkin...
TRANSCRIPT
A POLYNOMIAL COMBINATORIAL ALGORITHM FOR GENERALIZED
MINIMUMCOST FLOW, KEVIN D. WAYNE
Eyal Dushkin – 03.06.13
REMINDER – GENERALIZED FLOWS We are given a graph
We associate a positive with every arc
Assume that if 1 unit of flow was sent from node along the arc then units of flow arrived at node
Notice that the model is a generalization of the minimal cost flow problem, with every arc having the multiplier
u10 v
V received 8 units of flow!
REMINDER - GENERALIZED MINIMUM COST FLOWS G=(V,E) is a directed graph
Capacity function
Gain function
Cost function
Balance function
n = |V| ; m = |E|
Minimize
Subject to:
And
PROBLEM HISTORY
POLYNOMIAL COMBINATORIAL ALGORITHM FOR GENERALIZED MINIMUM COST FLOW (2003) We solve the generalized minimum cost circulation problem, in which all supplies and demands are zero
We present combinatorial algorithms which solve the problem in a polynomial time
These algorithms are strongly polynomial approximation schemes for the minimum cost circulation problem
GENERALIZED MINIMUM COST CIRCULATION
Balance function
A circulation is a nonnegative function that satisfies the flow conservation constraints:
It is feasible if it satisfies the capacity constraints:
Define
The problem is to find a feasible generalized circulation of minimum cost
ASSUMPTIONS
Costs and capacities are integral
Gain factors are ratios of two integers p/q
Let B the biggest integer among the above (costs, capacities, p, q) , we assume
RESIDUAL NETWORKS
Residual Capacity
Gain Factor
Cost
u v
u v40
20
𝛾 (𝑒 )=12,𝑐 (𝑒 )=17 ,𝑢𝑔 (𝑒 )=60
𝛾 (𝑒 )=2,𝑐 (𝑒)=−34 ,𝑢𝑔 (𝑒 )=20
CIRCULATION DECOMPOSITION
The gain of a cycle is the product of the gain factors of arcs participating in that cycle
A unit-gain cycle is a cycle whose gain is equal to one
A flow-generating cycle is a cycle whose gain is greater than one
A flow-absorbing cycle is a cycle whose gain is less than one
CIRCULATION DECOMPOSITION
A unit-gain cycle is a cycle whose gain is equal to one
A flow-generating cycle is a cycle whose gain is greater than one
A flow-absorbing cycle is a cycle whose gain is less than one
CIRCULATION DECOMPOSITION
A bicycle is a flow-generating cycle, a flow-absorbing cycle, and a (possibly trivial) path from the first to the second
CIRCULATION DECOMPOSITION
A circuit is a circulation that sends flow only along the arcs of a single unit-gain cycle or bicycle
Decomposition Lemma (without proof):
A generalized circulation g can be decomposed into components such that and each component is a circuit that is positive only on arcs with
Optimality Condition (without proof):
optimal --- no negative cost residual unit-gain cycles or bicycles
CIRCUITS AND COSTS
CIRCUIT CANCELING ALGORITHM
We start with a feasible circulation g = 0 and then repeatedly cancel a negative cost residual circuit
Klein's cycle-canceling (in non-generalized networks): Initialize g = 0Repeat:
Cancel a negative cost circuit in Gg Update g
until optimal
Complexity: Very bad!
NP-hard even to detect a unit-gain cycle …
CIRCUIT CANCELING ALGORITHM (2ND TRY)
The mean cost of a cycle is
Repeatedly cancelling the minimum mean cost residual cycle is a strongly polynomial for non-generalized flow
Unfortunately for generalized flow, the complexity analysis changes
u v
u
−20
−10−15
Cost = -15-20-10 = -45Mean Cost = (-15-20-10)/3 = -15
CIRCUIT CANCELING ALGORITHM (3RD TRY)
We are interested in cycles with very negative cost and with large residual capacity
Let a time function
The ratio of a cycle is - the ratio of its cost to time
Consider
For traditional networks this gives a weakly polynomial algorithm
u v
u
−20
−10−15
𝑢𝑔 (𝑒 )=10
𝑢𝑔 (𝑒 )=1𝑢𝑔 (𝑒 )=2
= 28.125
CIRCUIT CANCELING ALGORITHM (3RD TRY)
We define the ratio of a circuit x to be:
where and c(x)=
Examples on board
CIRCUIT CANCELING ALGORITHM
ALGORITHM CORRECTNESS
Lemma 1 - Let g be a feasible circulation. Let x be a negative cost circuit in and let denote its ratio. Cancelling circuit x improves the objective function value by at least
Proof: On Board
Lemma 2 – Let g be a feasible circulation that is not optimal. Let denote the minimum ratio circuit value in . Then
Proof: On Board
ALGORITHM CORRECTNESS
Lemma 1 - Cancelling circuit x improves the objective function value by at least
Lemma 2 –
Lemma 3 – There are cancellations of min ratio circuits
Proof: On Board
ALGORITHM CORRECTNESS
Lemma 3 – There are cancellations of min ratio circuits
Giving a time subroutine for computing a minimum ratio circuit,
the minimum ratio circuit-cancelling algorithm computes an
generalized minimum cost circulation in a strongly Polynomial time!
MINIMUM RATIO CIRCUIT ALGORITHM
In this section we discuss 3 matters:1. Detecting a circuit2. Detecting a negative cost circuit3. Finding a minimum ratio circuit
DETECTING A CIRCUIT
A circuit is either a bicycle or a unit-gain cycle
Recall: a bicycle is a flow-generating cycle and a flow-absorbing cycle connected by a path from the first to the second
Detecting a circuit:
Step 1 - Detecting a bicycle
Step 2 - Remove the bicycles and detect unit-gain cycles
STEP1 - DETECTING A BICYCLE
First find a subset of nodes that leads to a flow-absorbing cycle or participate in such one
STEP1 - DETECTING A BICYCLE
𝜋 𝑖 (𝑣 )=min (𝜋 𝑖−1 (𝑣 ) ,𝛾 (𝑣 ,𝑤 ) 𝜋𝑖− 1 (𝑤 ))1
1
1
1
1
1
5
1
1/26 1
3/4
1
STEP1 - DETECTING A BICYCLE
𝜋 𝑖 (𝑣 )=min (𝜋 𝑖−1 (𝑣 ) ,𝛾 (𝑣 ,𝑤 ) 𝜋𝑖− 1 (𝑤 ))3/4
1
1
1
1/2
1
5
1
1/26 1
3/4
1
STEP1 - DETECTING A BICYCLE
𝜋 𝑖 (𝑣 )=min (𝜋 𝑖−1 (𝑣 ) ,𝛾 (𝑣 ,𝑤 ) 𝜋𝑖− 1 (𝑤 ))3/4
1
3/4
1
1/2
1
5
1
1/26 1
3/4
1
STEP1 - DETECTING A BICYCLE
𝜋 𝑖 (𝑣 )=min (𝜋 𝑖−1 (𝑣 ) ,𝛾 (𝑣 ,𝑤 ) 𝜋𝑖− 1 (𝑤 ))3/4
3/4
3/4
1
1/2
1
5
1
1/26 1
3/4
1
STEP1 - DETECTING A BICYCLE
𝜋 𝑖 (𝑣 )=min (𝜋 𝑖−1 (𝑣 ) ,𝛾 (𝑣 ,𝑤 ) 𝜋𝑖− 1 (𝑤 ))9/16
9/16
9/16
1
1/2
1
5
1
1/26 1
3/4
1
nth-step
STEP1 - DETECTING A BICYCLE
𝜋 𝑖 (𝑣 )=min (𝜋 𝑖−1 (𝑣 ) ,𝛾 (𝑣 ,𝑤 ) 𝜋𝑖− 1 (𝑤 ))0.31
6
0.42
0.316
1
1/2
1
5
1
1/26 1
3/4
1
(2n-1)th-step
STEP1 - DETECTING A BICYCLE
𝜋 𝑖 (𝑣 )=min (𝜋 𝑖−1 (𝑣 ) ,𝛾 (𝑣 ,𝑤 ) 𝜋𝑖− 1 (𝑤 ))0.31
6
0.316
0.316
1
1/2
1
5
1
1/26 1
3/4
1
(2n)th-step
STEP1 - DETECTING A BICYCLE
Then detect flow-generating cycles on the sub-graph induced by N, with the update rule:
If we find a flow-generating cycle, then by the definition of we can extract a bicycle
STEP2 - DETECTING A UNIT-GAIN CYCLE
1. Detect unit-gain cycles in the subgraph induced by V\N – On Board
2. Detect unit-gain cycles in the subgraph induced by N – On Board
MINIMUM RATIO CIRCUIT ALGORITHM
In this section we discuss 3 matters:1. Detecting a circuit a2. Detecting a negative cost circuit3. Finding a minimum ratio circuit
DETECTING A NEGATIVE COST CIRCUIT
Any circulation can be decomposed into circuits, thus it’s sufficient to detect a negative cost circulation.
That is, we want to find a solution to the system:
(I)
Now let variables, and lets look at:
(II)
2VPI (2 Variables Per Inequality) Feasibility
(I)
(II)
System (I) + (II) can’t both be feasible!
There exists a negative cost circulation if and only if the system (II) is infeasible
Thus is it sufficient to have a 2VPI feasibility subroutine
2VPI Feasibility
Fortunately, researchers have previously developed such specialized 2VPI feasibility algorithms
Moreover, all of these algorithms either return a feasible solution to (II) or output a minimal certificate of infeasibility
Hochbaum et al. [21], and Cohen and Megiddo ( מגידו (נמרודdesigned an algorithm in .
MINIMUM RATIO CIRCUIT ALGORITHM
In this section we discuss 3 matters:1. Detecting a circuit a2. Detecting a negative cost circuit a 3. Finding a minimum ratio circuit
FINDING A MINIMUM RATIO CIRCUIT
1. Estimate with a guess
2. Linearize the objective function with the parametric cost function
3. Find a negative cost circuit with respect to cost function : 3.1. If there is a negative cost circuit, then over estimate 3.2. If every non-trivial circuit has positive cost, then is too small 3.3. Else
FINDING A MINIMUM RATIO CIRCUIT – ANAYLSIS (NO PROOF)
3. Find a negative cost circuit with respect to cost function : 3.1. If there is a negative cost circuit, then over estimate 3.2. If every non-trivial circuit has positive cost, then is too small 3.3. Else
3.1 -
By incorporating the parametric search techniques of Megiddo ( מדיגו (נמרודand using parallel implementation, we can do it in -
how much in binary search?
MINIMUM RATIO CIRCUIT ALGORITHM
In this section we discuss 3 matters:1. Detecting a circuit a2. Detecting a negative cost circuit a 3. Finding a minimum ratio circuit a on O(n) Processors
ALGORITHM CORRECTNESS
The minimum ratio circuit-cancelling algorithm computes an
generalized minimum cost circulation in a strongly Polynomial time!
~𝑂 (𝑚𝑛3 )
SCALING VERSION
The bottleneck computation in the former was detecting min ratio circuits
Idea: Cancel approximately min ratio circuits
Improvement: Cancel negative cost circuits instead of min ratio circuits (factor n speeds up)
SCALING VERSION
SCALING VERSION
Lemma 4 – There are at most 2m cancelations per scaling phase
Proof: On Board
Lemma 5 – Suppose at the end of a scaling phase we have , where g is the current circulation. Then g is Proof: On Board
SCALING VERSION
Lemma 4 – There are at most 2m cancelations per scaling phase
Lemma 5 – Suppose at the end of a scaling phase we have , where g is the current circulation. Then g is
Lemma 6 – The scaling algorithm finds an circulation in time.Proof: On Board
ALGORITHMS SUMMARY
Approximation Algorithms
1st Algorithm Faster Scaling Version
What About Exact Algorithms ?
ROUNDING TO A VERTEX
Lemma 7 – Let g be a feasible generalized circulation and let Then g is a vertex if and only if the subgraph induced by A has no unit-gain cycles or bicycles
Giving feasible circulation g, we can detect circuits in g in time and cancel them; each cancelation saturates at least one new arc in A, resulted in a time
ROUNDING TO A VERTEX
Lemma 8 – Giving a generalized circulation g we can determine an optimal circulation in n) time
Proof: On Board.
ALGORITHMS SUMMARY
Approximation Algorithms
1st Algorithm Faster Scaling Version
Exact Algorithms
1st Algorithm Faster Scaling Version
QUESTIONS? Eyal Dushkin – 03.06.13