



Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Algorithms for minimizing congestion in a graph with multiple commodities, each having a source and destination. The goal is to find a path for each commodity while minimizing the maximum congestion along any edge. Ilp formulations, lp relaxation, and rounding strategies, including randomized rounding. It also introduces lp duality and its application in obtaining lower bounds on lp solutions.
Typology: Study notes
1 / 6
This page cannot be seen from the preview
Don't miss anything!




CS787: Advanced Algorithms Scribe: Archit Gupta, Pavan Kuppili Lecturer: Shuchi Chawla Topic: Randomized rounding (contd.), LP duality. Date: 10/15/
We are given a graph G = (V, E) and k “commodities”. Each commodity i has a source si and a destination ti. The goal is to find an (si, ti) path in the graph G for every commodity i, while minimizing the maximum congestion along any edge. The latter can be written formally as Minimize congestion C = maxe|{i : Pi 3 e}|, where Pi is the (si, ti) path of commodity i and e is an edge.
It can be noted that this problem is similar to a network flow problem. But it is not a net- work flow problem because for each commodity i, we need to have a single path between si and ti. We cannot have the flow splitting along multiple branches.
This problem is an NP-hard problem. So we will solve it by formulating it as an ILP problem, relaxing it to an LP problem, solving the LP, and rounding the solution to an ILP solution.
Let i = 1,... , k be the k commodities. Let Pi be the set of all paths from si to ti. We have a variable xP for every P ∈ Pi, ∀i
Minimze t s.t ∑
P ∈Pi
xP = 1, ∀i (13.1.1) ∑
i
P ∈Pi,e∈P
xP ≤ t, ∀e ∈ E (13.1.2)
t ≥ 0 (13.1.3) xP ∈ { 0 , 1 }∀P (13.1.4)
Note that the actual objective function which is in a min-max form is not linear. So, we employ a trick of introducing a new variable t. We introduce the constraint (13.1.2) that congestion on any edge ≤ t, and so all we need to do now is minimze t, which is equivalent to minimizing the maximum congestion. The constaint 13.1.1 makes sure that we select exactly one path for each commodity.
The problem with this ILP formulation is that we can have an exponential number of paths between si and ti (for example, in a completely connected graph). So even if we relax it to an LP problem,
we will still have an exponential number of variables and constraints. We would like a formulation with a polynomial (polynominal in |V |, |E|, and k) number of variables and constraints. Next we consider an alternative ILP formulation.
Rather than looking at all the paths, we look at an edge granularity and see if a commodity is routed along any edge. We have variables xe,i, ∀e ∈ E, i = 1,... , k xe,i = 1, if e ∈ Pi, and 0 otherwise. [Pi is the chosen (si, ti) path of commodity i] The ILP formulation is
Minimize t s.t
∑
e∈δ+(ti)
xe,i =
e∈δ−(si)
xe,i = 1∀i (13.1.5)
∀i, ∀v 6 = si, ti
e∈δ+(v)
xe,i =
e∈δ−(v)
xe,i (13.1.6)
∑
i
xe,i ≤ t∀e ∈ E (13.1.7)
t ≥ 0 (13.1.8) xe,i ∈ { 0 , 1 } (13.1.9)
In the above formulation, δ+^ indicates the flow coming into a vertex, and δ−^ indicates the flow going out of a vertex. Constraint 13.1.5 makes sure that we have a unit flow being routed out of every si, and a unit flow being routed into every ti. Constraint 13.1.6 is like flow conservation at every other vertex. Congestion along an edge is just the number of commodities being routed along that edge, and constraint 13.1.7 ensures that t ≥ congestion along any edge. The objective function is to minimze t.
The problem can be relaxed to an LP problem by letting xe,i ∈ [0, 1]. It can be noted that this formulation (let’s call it edge formulation) is equivalent to the formulation in Section 13.1. (let’s call it path formulation). From the LP solution to this edge formulation, one can obtain the LP solution to the path formulation. (This is left as an exercise to the reader). Now, we have a fractional solution {xP } for each variable xP. We also know that the solution to the LP t ≤ C∗, where C∗^ is the optimal solution to the ILP. Now, we need to round the LP solution to an ILP solution such that we achieve a reasonable approximation to t, the LP solution.
First, we can note that a deterministic rounding doesn’t help us get a good approximation. For example, let us look at a deterministic strategy. A reasonable strategy would be to look at all P ∈ Pi, and round the one with highest value to 1, and others to 0. Say if Pi has n paths, it might
The motivation behind using an LP dual is they provide lower bounds on LP solutions. For instance, consider the following LP problem. Minimize 7x + 3y, such that x + y ≥ 2 3 x + y ≥ 4 x, y ≥ 0
Say, by inspection, we get a solution x = 1, y = 1, with an objective function value of 10. We can show that this is the optimal solution in the following way. Proof: If we multiply the constraints with some values and add them such that the coeffiecients of x and y are < 7 and 3, respectively, we can get a lower bound on the solution. For instance, if we add the two constraints, we get 4x + 2y ≥ 6, and since x, y ≥ 0, we have 7x + 3y > 4 x + 2y ≥ 6. So, 6 is a lower bound to the optimal solution. Likewise, if we multiply the first constraint with 1, and the second constraint with 2, we have
7 x + 3y = (x + y) + 2(3x + y) ≥ 2 + 2(4) = 10
Hence, 10 is a lower bound on the solution, and so (x = 1, y = 1) with an objective function value of 10 is an optimal solution. Similar to the above example, LP duality is a general way of obtaining lower bounds on the LP solution. The idea is we multiply each constraint with a multiplier and add them, such that the sum of coefficients of any variable is ≤ the coefficient of the variable in the objective function. This gives us a lower bound on the LP solution. We want to choose the multipliers such that the lower bound is maximized (giving us the tightest possible lower bound).
To convert the primimal to the dual, we do the following.
Minimize
i cixi, such that,^ ∑
i
Aij xi ≥ bj ∀j
xi ≥ 0 ∀i
We call this the primal LP. This LP can be expressed in the matrix form as:
Minimize cT^ x, such that, Ax ≥ b x ≥ 0
The corresponding dual problem is: Maximize
j bj^ yj^ , such that, ∑
j
Aij yj ≤ ci∀i
yj ≥ 0 ∀j
Expressed in matrix form, the dual problem is, Maximize bT^ y, such that
AT^ y ≤ c
y ≥ 0
Note that the dual of a dual LP is the original primal LP.
Theorem 13.2.1 Weak LP duality theorem If x is any primal feasible solution and y is any dual feasible solution, then V alP (x) ≥ V alD(y)
Proof: ∑
i
cixi ≥
i
j
Aij yj
(^) xi
j
i
Aij xi
yj
j
bj yj
So, the weak duality thoerem says that any dual feasible solution is a lower bound to the primal optimal solution. This is a particularly nice result in the context of approximation algorithms. In the previous lectures, we were solving the primal LP exactly and using the LP solution as a lower bound to the optimal ILP solution. By using the weak duality theorem, instead of solving the LP exactly to obtain a lower bound on the optimal value of a problem, we can (more easily) use any dual feasible solution to obtain a lower bound.
Theorem 13.2.2 Strong LP duality theorem If the primal has an optimal solution x∗^ and the dual has an optimal solution y∗, then cT^ x∗^ = bT^ y∗, i.e, the primal and the dual have the same optimal objective function value.