Approximation Algorithms for Min-Max Resource Sharing Problems and Its Application in the Multicast Congestion Problem Hu Zhang Joint work with Klaus Jansen McMaster Optimization Seminar November 15, 2004 1
Approximation Algorithms
for Min-Max Resource Sharing Problems
and Its Application
in the Multicast Congestion Problem
Hu Zhang
Joint work with Klaus Jansen
McMaster Optimization Seminar
November 15, 2004
1
Overview
• Min-max resource sharing problems, approximate block solver
• Potential function, price vector
• Main ideas of the approximation algorithms
• Analysis of the approximation algorithms
• The multicast congestion problem in communication networks
• Future work
2
Min-Max Resource Sharing (MMRS) Problems
min λ
s.t. fm(x1, . . . , xN) ≤λ, m = 1, . . . ,M ;
(x1, . . . , xN)T ∈ B,
where B ⊆ IRN is a nonempty convex compact set and
fm : B → IR+ are nonnegative continuous convex functions on B
for m ∈ {1, . . . ,M}. Let f(x)= (f1(x), . . . , fM(x))T and
λ(x)= maxm∈{1,...,M} fm(x) for x = (x1, . . . , xN)T ∈ B.
3
Duality Relation
λ∗= minx∈B
maxp∈P
pT f(x) = maxp∈P
minx∈B
pT f(x),
where P = {(p1, . . . , pM)T |∑M
m=1 pm = 1, pm ≥ 0}.
Let Λ(p)= minx∈B pT f(x).
• For any pair x ∈ B, p ∈ P it holds: Λ(p) ≤ λ∗ ≤ λ(x).
• A pair x ∈ B and p ∈ P is optimal, iff λ(x) = Λ(p).
4
Approximate Problem
Goal: compute an x ∈ B such that f(x) ≤ c(1 + ε)λ∗ ·~1.
Block problem: Λ(p) = min{pT f(x)|x ∈ B} where p ∈ P .
Block solver ABS(p,t,c): compute an x ∈ B such that
pT f(x) ≤ c(1 + t)Λ(p).
5
Main Results I
Primal and dual problem
(Pc,ε) compute an x ∈ B such that f(x) ≤ c(1 + ε)λ∗ ·~1,
(Dc,ε) compute a p ∈ P such that Λ(p) ≥ 1c(1 − ε)λ∗.
Theorem: For any ε > 0 there is an algorithm that solves (Pc,ε) and
(Dc,ε) in O(M(ε−2 + ln M + ε−3 ln c)) iterations (calls to the
block solver), provided that there is an approximate block solver
ABS(p,O(ε), c) for any p ∈ P .
6
Main Results II
Theorem: There is an algorithm that for any relative error tolerance
ε ∈ (0, 1) solves the problem (Pc,ε) in
O(M(ln M + ε−2 ln ε−1))
iterations, provided that there is an approximate block solver
ABS(p,O(ε), c) for any p ∈ P .
Theorem: If ln c = O(ε), then O(M(ln M + ε−2)) iterations are
necessary to solve both (Pc,ε) and (Dc,ε).
7
Previous Results
• for linear functions and c = 1: O(ε−2ρ ln(Mε−1)) iterations, (Plotkin,
Shmoys and Tardos 91) .
• for linear functions: O(ε−2ρ′(λ∗)−1 lnM) iterations, (Young 95) .
• for convex functions and c = 1: O(M(lnM + ε−2 ln ε−1)) iterations,
(Grigoriadis and Khachiyan 96), (Villavicencio and Grigor iadis 97) .
• for linear functions and c = 1: O(Mε−2 lnM) iterations, (Garg and
Konemann 98) .
• for linear functions: O(ε−2ρ ln(Mε−1)) iterations, (Charikar, Chekuri,
Goel, Guha and Plotkin 98) .
8
Results for Max-Min Resource Sharing Problems
• for linear functions and c = 1: O(M + ρ ln2 M + ε−2ρ ln(Mε−1))
iterations, (Plotkin, Shmoys and Tardos 91) .
• for concave functions and c = 1: O(M(lnM + ε−2 ln ε−1)) iterations,
(Grigoriadis, Khachiyan, Porkolab and Villavicencio) .
• for general case: O(M(ε−2 + lnM + ε−3 ln c)) iterations, (Jansen and
Porkolab 02) .
• for general case: O(Mε−2 ln(Mε−1)) iterations, (Jansen 02) .
• for linear functions and c = 1: O(Mε−2 ln(MC)) iterations, (Fleischer 04) .
• for linear functions and c = 1: O(Mε−2 lnM + min{N, ln lnC})
iterations, (Garg and Khandekar 04) .
• for general case: O(M(lnM + ε−2 ln ε−1)) iterations, (Jansen 04) .
9
Results for Mixed Problems
• O(Mdε−2 ln M) iterations, (Young 01) .
• O(Mε−2 ln(Mε−1)) iterations, (Jansen 04) .
• O(M(ln M + ε−2 ln ε−1)) iterations, (Jansen 04) .
10
Logarithmic Potential Function
Φt(θ, x)= ln θ −t
M
M∑
m=1
ln(θ − fm(x)),
where θ ∈ IR, x ∈ B and t > 0 is the parameter in ABS(p, t, c).
Φt is well-defined for λ(x) < θ < ∞.
The minimizer θ(x) can be determined from
tθ
M
M∑
m=1
1
θ − fm(x)= 1.
based on (Villavicencio and Grigoriadis 97) .
11
Properties of the Potential Function
Lemma:λ(x)
(1 − t/M)≤ θ(x) ≤
λ(x)
(1 − t).
Lemma:
(1 − t) ln λ(x) ≤ φt(x) ≤ (1 − t) ln λ(x) + t ln(e/t),
where φt(x)= Φt(θ(x), x) is the reduced potential function.
12
Price Vector
The price (dual) vector p(x) = (p1(x), . . . , pM(x))T is given by:
pm(x) =t
M
θ(x)
θ(x) − fm(x), m = 1, . . . ,M.
Lemma:
(1) p(x) ∈ P ,
(2) p(x)T f(x) = (1 − t)θ(x).
13
Coordination
Step 1: compute the price vector p ∈ P using current iterate x ∈ B;
Step 2: call a block solver to compute an (approximate) solution x ∈ B
using price vector p;
Step 3: move from x to (1 − τ)x + τ x with a step length τ ∈ (0, 1] for
the new iterate x.
14
Coordination
����
����
����
����
����
������������
���������������������������������������������������������������������������������������������������������
���������������������������������������������������������������������������������������������������������
������
������
������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
������
������
������������������������������������������������������������������������������������������������������������������������
������������������������������������������������������������������������������������������������������������������������
������
������
������������������������������������������������������������������������������������������������������
������������������������������������������������������������������������������������������������������
������
������
��������������������������������������������������������������������������������������������������������������������������������������������
��������������������������������������������������������������������������������������������������������������������������������������������
Bx
x
x
x
xx
x
xx*
^
^
^
0
1
2
N−1
N
15
Scaling Phase
• the relative error tolerance σ1 = 1 in the first phase;
• halve the relative error tolerance in each phase (σs = σs−1/2);
• the relative error tolerance σsN≤ ε in the last phase.
16
Stopping Rule 1
Let x ∈ B be the solution of ABS(p, σs/6, c). We define
ν(x, x) =p(x)T f(x) − p(x)T f(x)
p(x)T f(x) + p(x)T f(x).
Rule 1:
ν(x, x) ≤ σs/6.
17
Stopping Rule 2
For phase s we define the parameter:
ws =
1+σ1
(1+σ1/6)M, for s = 1;
1+σs
1+2σs, otherwise.
Rule 2:
λ(x) ≤ ws λ(x(s−1)).
18
Flowchart
Start
Initialization
End
LagrangianCoordination
ScalingTolerance
Output
StoppingRule 1 or 2?
AccuracyAchieved?
No!
No!
Yes!
Yes!
19
Approximation Algorithm
(1) compute initial solution x(0), s := 0, σ1 := 1;
(2) repeat {scaling phase }
(2.1) s := s + 1; x := x(s−1); finished := false;
(2.2) while not(finished) do
(2.2.1) compute θ(x) and p(x);
(2.2.2) x := ABS(p(x), σs/6, c);
(2.2.3) if either stopping rule 1 or 2 is satisfied
then finished := true; x(s) := x;
else x = (1 − τ)x + τ x;
(2.3) σs+1 = σs/2 until σs ≤ ε;
(3) return(x(s)).
20
Initial Solution
Let x(0) ∈ B be the solution of ABS(~1/M, 1/6, c).
Lemma:
λ(x(0)) ≤ (7/6)cMλ∗.
Proof:
fm(x(0)) ≤∑M
m=1 fm(x(0)) = M(~1/M)T f(x(0))
≤ M(7/6)cΛ(~1/M) ≤ (7/6)cMλ∗.
This implies that λ(x(0)) = maxm fm(x(0)) ≤ (7/6)cMλ∗.
21
Analysis I
Lemma: If the algorithm stops, then the computed vector x(s) solves
the problem (Pc,ε).
Proof: consider two different cases:
Case 1: Stopping rule 1 is satisfied. Since ν(x(s), x(s)) ≤ ts = σs/6, we have
(1 − ts)p(x(s))T f(x(s)) ≤ (1 + ts)p(x(s))T f(x(s)). This implies
θ(x(s)) = p(x(s))T f(x(s))1−ts
≤ (1+ts)p(x(s))T f(x(s))(1−ts)2
≤ c (1+ts)2
(1−ts)2 Λ(p) ≤ c(1 + σs)λ∗.
Therefore,
fm(x(s)) ≤ λ(x(s)) ≤ θ(x(s)) ≤ c(1 + σs)λ∗.
22
Analysis I
Case 2: Stopping rule 2 is satisfied.
Case 2.1: s = 1. Then, λ(x(1)) ≤ (1+σ1)(1+σ1/6)M λ(x(0)).
Since λ(x(0)) ≤ (1 + σ1/6)cMλ∗, we get λ(x(1)) ≤ (1 + σ1)cλ∗.
Case 2.2: s > 1. By induction λ(x(s−1)) ≤ (1 + σs−1)cλ∗. Using
σs = σs−1/2,
λ(x(s)) ≤(1 + σs)
(1 + 2σs)λ(x(s−1)) ≤ (1 + σs)cλ
∗.
23
Analysis II
Lemma: For any two consecutive iterates x, x′ ∈ B within scaling
phase s, φts(x′) ≤ φts(x) − tsν
2/(4M), where ts = σs/6.
Theorem: For any ε ∈ (0, 1), our algorithm needs at most
O(M(ln M + ε−2 ln ε−1)) iterations.
Proofidea: Let Ns be the number of iterations in phase s, let x be the
initial solution of phase s.
24
Proofidea
(a) φts(x) − φts(x) ≥ (Ns − 1)t3s/(4M) where x is the solution
after Ns − 1 iterations;
(b) φts(x) − φts(x) ≤ (1 − ts) ln λ(x)λ(x)
+ ts ln ets
using the lower
and upper bounds for the reduced potential function;
(c) if s = 1 thenλ(x)λ(x)
≤ 2M1+σ1
. This gives N1 = O(M ln M);
(d) if s > 1 thenλ(x)λ(x)
≤ 1 + σs
1+σs. This gives
Ns = O(Mσ−2s ln σ−1
s ).
25
Special Case of Small c
For ln c = O(ε), strategy: only Stopping Rule 1.
Lemma: For any two arbitrary iterates x, x′ ∈ B within scaling phase
s, φts(x) − φts(x′) ≤ (1 − ts) ln p(x)T f(x)
Λ(p(x)).
Theorem: For any ε ∈ (0, 1), our algorithm needs at most
O(M(ln M + ε−2)) iterations.
26
Applications
• Scheduling unrelated machines (Plotkin, Shmoys & Tardos 91), (Jansen 01) .
• Job shop scheduling (Plotkin, Shmoys & Tardos 91) .
• Network embeddings (Plotkin, Shmoys & Tardos 91) .
• Held-Karp bound for TSP (Plotkin, Shmoys & Tardos 91) .
• Multicommodity flows (Grigoriadis & Khachiyan 96), (Garg & K onemann 98) .
• Bin covering (Jansen & Solis-Oba 02) .
• Spreading metrics (Even, Naor, Rao & Schieber 99) .
• Approximating metric spaces/edge weighted graphs (Charikar, Chekuri, Goel,
Guha & Plotkin 98), (Fakcharoenphol, Rao & Talwar 03), (Chle bıkov a, Ye &
Z. 04).
• Multicast congestion in communication networks (Jansen & Z. 02) .
• Range assignment in ad-hoc networks (Ye & Z. 04), (Chlebıkov a, Ye & Z. 04).
27
Multicast Edge Congestion
Given:
• a communication network G = (V,E),
• k multicast requests S1, . . . , Sk ⊆ V .
Solution: set of trees T1, . . . , Tk where Ti spans the vertex set Si
for i = 1, . . . , k.
Goal: minimize the maximum edge congestion (number of trees that
use an edge).
28
Example - Multicast Congestion
������������������������������������������������������������������������������������������������������������������������
������������������������������������������������������������������������������������������������������������������������
����������������������������������������������������������������������������������������������������������������������������������������
������������������������������������������������������������������������������������������������������������������������
�������������������������������
���������������
1 2 3 4
5 6
29
Example - Multicast Congestion
������������������������������������������������������������������������������������������������������������������������
������������������������������������������������������������������������������������������������������������������������
����������������������������������������������������������������������������������������������������������������������������������������
������������������������������������������������������������������������������������������������������������������������
���������������
�������������������������������
1 2 3 4
5 6
30
Related Graph Problems
The multicast congestion problem is related to:
• integral paths with minimum edge congestion (where |Si| = 2 for
each 1 ≤ i ≤ k) that generalize itself the edge disjoint path
problem),
• minimum Steiner trees in graphs.
31
Integer Linear Programming
min λ
s.t.∑k
i=1
∑
T∈Ti,e∈T xi(T ) ≤λ, e ∈ E;∑
T∈Tixi(T ) = 1, i = 1, . . . , k;
xi(T ) ∈ {0, 1}, i = 1, . . . , k, T ∈ Ti,
where Ti is the set of all trees spanning Si for i = 1, . . . ,m and
xi(T ) is the indicator variable.
Main Approach:
• solving LP-relaxation;
• rounding.
32
Packing Formulation
min λ
s.t.∑k
i=1
∑
T∈Ti,e∈T xi(T ) ≤λ, e ∈ E,
(xi(T )) ∈ B,
where
B = {(xi(T ))|∑
T∈Ti
xi(T ) = 1, xi(T ) ≥ 0, T ∈ Ti, i = 1, . . . , k}.
33
Block Problem
Λ(p) = minx∈B pT f(x) with p ∈ P is an instance of the minimum
Steiner tree problem.
• NP-hard , even for unweighted graphs (Karp 72) .
• c = 2, β = O(m + n lnn) (Moore (cf. Gilbert and Pollak 68), Mehlhorn
88, Floren 91) .
• c = 11/6, β = O(mn + s4) (Zelikovsky 93) .
• c = 1 + ln 3/2 ≈ 1.550, β polynomial (Robins and Zelikovsky 00) .
• there exists a constant c > 1 such that there is no polynomial-time
approximation algorithm with c < c (Bern and Plassmann 89) .
• c ≥ 96/95 ≈ 1.0105 (Chlebık and Chlebıkov a 02).
where β is the running time.
34
Running Times of LP-Relaxation
• O(n6α2 + n7α) (where α involves k and other logarithmic terms) (Vempala
and Vocking 99) .
• O(n7) (Carr and Vempala 00) .
• O(βnk3 ln3(mε−1)ε−9 min{lnm, ln k}) (Baltz and Srivastav 01) .
• O(βk2 ln(mε−1)ε−2 ln(kε−1)) using the approach in (Charikar, Chekuri,
Goel, Guha and Plotkin 98) .
• O(m(lnm + ε−2 ln ε−1)(βk + m ln ln(mε−1))) (Jansen and Z. 02) .
• O(k(m + β)ε−2 ln k lnm) (Baltz and Srivastav 03) .
35
Future Work
• Theoretical work:
– negative constraints;
– block structure of B;
– max-min resource sharing problems and mixed problems;
– . . .
• Applications:
– routing in VLSI design;
– routing in optical networks;
– cylindrical reconstruction;
– maximum independent set in t-perfect graphs;
– . . .
• Implementation.
36