Primal-Dual Algorithms for Connected Facility Location Problems

Size: px
Start display at page:

Download "Primal-Dual Algorithms for Connected Facility Location Problems"

Transcription

1 Primal-Dual Algorithms for Connected Facility Location Problems Lecture Notes for the course Approximation algorithms by Martin Korff Matias Sevel Rasmussen Tor Justesen Department of Computer Science, University of Copenhagen January, 2006

2 Contents Preface 2 1 Incentive 3 2 Problem description IP formulation The rent-or-buy problem A naive algorithm The rent-or-buy Problem The algorithm Phase Phase Example Analysis The connected facility location problem The algorithm Analysis Implementation and extensions 23 References 24 1

3 Preface These lecture notes are a presentation of the article Primal-Dual Algorithms for Connected Facility Location Problems by Chaitanya Swamy and Amit Kumar (see [Swamy & Kumar 2004]). The lecture notes are written by Martin Korff, Matias Sevel Rasmussen and Tor Justesen as a part of the course Approximation algorithms held at Department of Computer Science, University of Copenhagen, winter The lecture notes are written on the assumption that the reader is at a professional level equivalent to the course Approximation algorithms. 2

4 1 Incentive The facility location problem has occupied a central place in research since the early 1960 s. It models design situations such as deciding placement of factories, warehouses, schools, and hospitals. Modern day applications include placement of proxy servers on the web. The metric uncapacitated facility location problem (FL) Given an undirected graph G = (V, E) with nonnegative edge costs, a set F V of facilities with opening costs f i, i F and a set of clients D V. Let c i denote the connection costs for connecting client D to facility i F. The connection costs satisfy the triangle inequality. The problem is to find a subset I F of facilities to open and a function σ() : D I assigning clients to open facilities in such a way that the total cost of opening facilities and connecting clients to open facilities is minimized. Several constant factor approximation algorithms have already been found for the facility location problem, however, many modern applications occur settings where the open facilities want to communicate with each other. That is, the problem is to find a minimal cost solution in which the demands are first clustered around the opened facilities, and then the opened facilities are interconnected allowing them to communicate. This problem is also known as the metric uncapacitated connected facility location problem. A typical example is a telecommunication network consisting of a central core and a set of endnodes. The core consists of a set of interconnected core nodes (facilities) which have switching capability with a certain switch cost for each core node (opening costs). The problem now consists in selecting a subset of core nodes, connecting the core nodes to each other, and routing traffic from the endnodes (clients) to the selected core nodes. Another example arises when considering a data management/caching problem. Here we have some users issuing read and write requests for data obects. Each obect has to be stored in a memory module by paying a certain storage cost and an obect may be replicated and stored in multiple locations. Given a placement of obects, a read request for an obect issued at node is served by the nearest location i() that has a copy of the obect. A write request however needs to update all copies of the obect. The goal is now to find a placement of obects to memory modules that minimizes the sum of storage, read, and write request costs. In this case, the facilities are the memory modules, the clients are the nodes issuing read/write requests, and the opening cost of a facility is the storage cost associated with the memory module. The demand of a client is the number of requests issued by the node. A virtual private network (VPN) is a private data network that makes use of the public telecommunication infrastructure, maintaining privacy through the use of a tunneling protocol and security procedures. That is, rather than building a new physical network, the private network is established by reserving bandwidth on the public telecommunication network. Since bandwidth must be reserved at a cost, the goal is to reserve as little as necessary to support the expected communication. At the same time, the VPN must be flexible enough to support a range of possible communication patterns among the nodes it serves. In other words, a single traffic matrix is not known in advance, since communication patterns will be changing over time. Finally, it is often desirable for the subgraph on which bandwidth is reserved to have a simple structure that will facilitate routing in the resulting VPN. In the simplest form of the model (the symmetric case) each terminal has an upper bound on the cumulative amount of traffic that can be sent or received at any point in time. We must hence 3

5 choose bandwidth reservations and node-to-node paths so that any set of demands respecting these upper bounds can be feasibly routed. In addition to the symmetric model, there is a more general asymmetric formulation of the problem in which each node now has two upper bounds, (b in (v), b out (v)), which represent upper bounds on the amount of flow that the terminal v can receive and send, respectively. According to [Gupta et al. 2001] the symmetric VPN problem is in P, whereas the asymmetric VPN is in NP. However, [Gupta et al. 2001] also describes how an instance of the asymmetric VPN can be reduced to an instance of the metric uncapacitated connected facility location problem. An approximation algorithm for the metric uncapacited connected facility location problem is thus also an approximation algorithm for the asymmetric VPN problem. In general, the best way to interconnect the facilities is by finding a minimal cost Steiner tree over the opened facilities. This problem is also know as the metric Steiner tree problem. The metric Steiner tree problem (ST) Given an undirected graph G = (V, E) with nonnegative edge costs and whose vertices are partitioned into two sets, R V (required vertices) and S = V \R (Steiner vertices), find a minimum cost tree in G that contains all the vertices in R and any subset of the Steiner vertices. We can hence think of the metric uncapacitated facility location problem as a combination of FL and ST. The metric uncapacitated connected facility location problem (ConFL) Given an undirected graph G = (V, E) with nonnegative edge costs, a set F V of facilities with opening costs f i, i F and a set of clients D V with demands d, D. Furthermore we are given a parameter M 1. Let i() : D F denote the facility that client D is assigned to in the final solution and let c i denote the connection costs (with respect to the edge costs) for connecting client D to facility i F. Moreover, assume that the assignment costs for a client D are proportional to the demand d. The problem is to find a subset I F of facilities to open, a function σ() : D I assigning clients to open facilities and a Steiner tree T connecting all of the opened facilities, in such a way that the total cost of opening facilities, connecting clients to open facilities and connecting the opened facilities is minimized. The cost of connecting the facilities is simply the cost of the Steiner tree T scaled by a factor of M. A recently published report ([Swamy & Kumar 2004]) presents a 8.55-approximation algorithm for ConFL, which is currently the best-known approximation factor. Previously the best approximation factor for the problem was and this result was not combinatorial it was obtained by solving an exponential size linear programming relaxation. The algorithm presented in [Swamy & Kumar 2004] integrates the primal-dual approaches for FL problem and ST. In the following we will give a description of the algorithm a present the basic analysis of the theory behind the algorithm. 4

6 2 Problem description In the following we will introduce an IP formulation for ConFL. It is based on this formulation the primal dual algorithms are developed. 2.1 IP formulation Let y i indicate if facility i is open, x i indicate if client D is connected to facility i F and z e indicate if edge e E is included in the Steiner tree. Furthermore assume that we know a facility v that is opened and hence belongs to the Steiner tree constructed by the optimal solution. We can make this assumption because we can try all F different possibilities for v and select the cheapest solution. The connected facility location problem can thus be formulated as the following integer program minimize f i y i + d c i x i + M c e z e i e subect to i i x i 1 for all, x i y i for all i,, y v = 1 x i z e for all S V, v / S,, i S e δ(s) x i, z e {0, 1} The constraint i x i 1 specifies that each client must be connected to at least one facility. Notice, that even though the constraint is an inequality, we will in the final solution have that for all x i = 1 i because it is a minimization problem. The constraint x i y i specifies that a client may only be connected to an open facility and the constraint y v = 1 specifies that facility v F is open. From the first constraint we have each client will be connected to exactly one facility, thus for any set S V the sum i S x i will be at most one. If the sum is one the constraint i S x i e δ(s) z e thus prescribes, that there must be at least one edge e δs that is included in the Steiner tree. Considering the set S = {i} we thus see that the constraint specifies that if a client is connected to an i, then i must be connected to the Steiner tree. 2.2 The rent-or-buy problem The rent-or-buy problem is a type of network design problem, in which there are two ways to install capacity on any given edge. Capacity can either be rented, with cost incurred on a per-unit basis, or bought, which allows unlimited use after payment of a large fixed cost. Given an undirected graph G = (V, E) and a set D = {(s 1, t 1 ),..., (s p, t p )} of vertex pairs called demands, we seek a minimum-cost way of installing sufficient capacity on the edges E so that a prescribed amount of flow can be sent simultaneously from each source s k to the corresponding sink t k. A special case of the rent-or-buy problem is the so-called single-sink version, where all sinks t k are identical. 5

7 In a solution to the connected facility problem we have that each client is connected to exactly one open facility i and that the open facilities are connected to each other by a Steiner tree. We thus have, that the solution forms a tree. Now, assume that we know a facility v that is opened and hence belongs to the Steiner tree constructed by the optimal solution. Furthermore we assume that f i = 0 for all facilities i F and that F = V, that is, a facility may be opened anywhere in the network without any opening costs. With these assumptions the connected facility location problem can be seen as a special case of the singlesink rent-or-buy problem, where the demands are given by the set of vertex pairs (, v), D and the prescribed flow for each demand is given by d. For the sake of simplicity we will assume that d = 1 for all D. If we let y i, x i and z e be defined as in Section 2 we can formulate the rent-or-buy problem as the following integer program minimize c i x i + M c e z e e subect to i A naive algorithm i x i 1 for all, x i z e for all S V, v / S,, i S e δ(s) x i, z e {0, 1} Basically, the connected metric uncapacitated facility location problem is a combination of FL and ST, as we require, that the opened facilities be connected to each other by a Steiner tree. This gives occasion to an obvious naive algorithm for ConFL. For the sake of simplicity, let us look only at the rent-or-buy problem. Algorithm 1 Naive rent-or-buy algorithm 1: run a constant factor approximation FL algorithm on the problem instance. Open facilities and assign demands. 2: run a constant factor approximation ST algorithm on the opened facilities. Connect facilities by the Steiner tree The first step in the naive algorithm will open a facility at each demand. So the Steiner tree is build on all demands. The example illustrated in Figure 1 shows an instance where the naive algorithm finds a solution with costs as high as Ω(M) OPT. This should motivate the development of a better algorithm. 6

8 (a) n v n open facility node client (b) v Figure 1: Naive algorithm (a): the costs are 2M(n 1). Optimal (b): the costs are 2M + 2n. The illustration is based on [Swamy & Kumar 2002]. 7

9 3 The rent-or-buy Problem In this section we will give a description of the approximation algorithm for the rent-or-buy problem presented in [Swamy & Kumar 2004]. The rent-or-buy and its corresponding integer program are described in Section 2. We now relax the integrality constraints of the IP giving us the following linear program (LP) minimize subect to The dual of this LP is maximize α c i x i + M e i i c e z e x i 1 for all, x i z e for all S V, v / S,, i S x i, z e 0. e δ(s) subect to α c i + S V :e δ(s),v / S S V :i S,v / S θ S,, for all i v,, α c v. for all, θ S, Mc e for all e, α, θ S, 0. The constraints of the IP and the LP are the same except for the last constraint that x i and z e have to be 0 or 1 in the integer version and this is relaxed to the variables being positive in the linear version. The constraints of the primal LP are explained for the IP formulation in Section 2 so there is no need to repeat those. Instead we will now give an explanation of the constraints of the dual LP. Intuitively we can think of the dual variable α as being the amount that client is willing to pay for the construction of a feasible primal solution. That is, for all, α represents the amount that client is willing to contribute to get connected to a facility i and to the constructing of the part of the Steiner tree which connects i to v. Correspondingly we may intuitively think of the the variable θ S, as being the amount client is willing to contribute in order to get facility a i connected to v via the set S, if client is connected to i. For a given client and facility i, the first constraint thus specifies that is at most willing to pay the sum of the cost of being connected to i and the cost of connecting i to v. Because otherwise, client would have payed more than necessary. The second constraint is special case of the second constraint, and the sum S V :v S,v / S θ S, is clearly 0 since v can never both be in S and not be in S at the same time. We know that the price of buying an edge e E is given by Mc e. The fourth constraint thus specifies that for each edge e E, the total amount that the clients are willing to pay in order to get connected to v via e will never be larger than the prize of buying e. The basic idea is now to consider the integer programming formulation (IP) of the problem and the dual of its linear programming relaxation (LP), and construct simultaneously an 8

10 integer primal solution and a dual solution. The dual linear program can be interpreted as comprising two parts; a part resembling the dual of the facility location problem and a part corresponding to the dual of the Steiner tree problem. The algorithm is in two phases. The first phase is a facility location phase where it is decided which facilities to open, demand are connected to facilities and the demands are clustered at each facility. At the end of this phase, a primal facility location solution is obtained as well as a feasible dual solution. In the primal solution the demands are clustered so that each open facility serves at least M demand points, satisfying the demand lower bound. This is done by charging some of the cost incurred to the Steiner tree portion of the dual solution, thereby exploiting the fact that any ConFL solution also needs to connect the facilities it opens. Despite the added clustering requirement, the algorithm has a fairly simple description. Each demand keeps raising its dual variable, α, till it gets connected to a facility and is near a point at which M demands are clustered. All other variables simply respond to this change trying to maintain feasibility or complementary slackness. Phase 2 is a Steiner phase where the open facilities are connected by a Steiner tree. The dual solution constructed in this phase is not feasible, but it is possible to show that the infeasibility is bounded by a small additive factor. 3.1 The algorithm To describe the algorithm, we will first introduce some definitions. We begin with a simplifying assumption. We assume that a facility can be opened anywhere along an edge. We collectively refer to vertices in V and internal points on an edge as locations. We reserve the term facility for a vertex in F. Initially all dual variables are set to 0. Thus, α = θ S, = 0 for all S V,. The algorithm uses a time t (initially also 0) to keep track of the dual variables in the algorithm. We raise t at unit rate in each iteration and we let α and θ S, follow. Let S be the set of vertices with which is tight. A client is said to be tight with a facility i if α c i. We also say that a demand can be in two different states: frozen and unfrozen. A demand stays unfrozen until its dual variable α stops being raised. When this happens becomes frozen. Let C denote the set of unfrozen demands. Initially all demands C. Finally, let D i denote the set of demands that are tight with facility i, and let T denote the Steiner tree that connects the facility locations. The last thing we need to do before we can start the algorithm is to tentatively open a facility v Phase 1 The goal of Phase 1 is to connect all demands to open facilities, i.e. to freeze all demands. Whenever a demand freezes it is removed from C and we only update α for C. If at any time t, is not frozen, we have that α = t. Furthermore, we have that when freezes it no longer becomes tight with any new location. During the process of raising the dual variables there are several events which can take place. Whenever a demand becomes tight with a location i, is added to D i. Furthermore, if i is a tentatively open location, freezes. If the location i, however, is not open yet we need to see if the total demand connected to i is big enough for us to tentatively open location i, that is, D i M. If this condition holds then add i to the set of tentatively open locations L and freeze all demands in D i, including the demands which instituted the condition. 9

11 At the end of Phase 1 there is a bit of a magic box. It is not really part of any of the phases but merely a cleaning up process that removes any dependent facility locations. If for any locations i, i L there exists a demand to which both locations are tight, the locations i, i are said to be dependent. We remove the location that was added to L latest, meaning, if for i, i L, i and i are dependent we remove the one added latest, lets say i. We thereby create the set L L of independent open locations. Note that v is in the set L since it was the first location to tentatively open. Even if it is dependent on some i L, we remove i before v and then v is no longer dependent. If L L there must be some i L\L. Therefore we need to assign the demands that previously was assigned to i to a new location. If demand is tight with some other location i L, assign to i. If is not tight with any location in L, then there must exist a location i which made i become dependent and we then assign to i Phase 2 Let S denote the set of minimal violated sets, that is, a set of connected nodes S V {v} such that no edges are crossing the cut (S, S). We denote the set of edges crossing the cut as δ(s), see [Vazirani 2003, p 198] for more detail on the definition of δ. This set S is used to make sure we end up with one connected component. The dual variable α is set to 0 again at the beginning of the second phase. We only raise α if D = i L {v} D i. The rate at which α and also θ S, are raised is 1/ D S. This ensures that the sum D S, increases at rate 1 for all of the sets S S We raise the dual variables until an edge e goes tight. An edge goes tight when θ S, = Mc e S V :e δ(s),v / S When the egde e goes tight, it is added to the tree T. In each step S is updated. Updating S gives the new set of minimal violated set. When the algorithm returns there are no longer any violated sets and thus all components are connected. When the dependent locations are removed in Phase 1, they are inspected in the order they were put into L. This ensures that v L. The last task of the algorithm, however, removes the redundant edges in the reverse order they were added. Again this gives us that v is in the solution. As stated earlier, the algorithm allows locations to be opened on an internal point of an edge, e = (u, w). However, we can easily move those non-vertex locations to the nearest vertex. Let e be an edge which holds a non-vertex location and let D e denote the set of demands assigned to this location. D u, D w are the demands that are assigned to e and go through u and w respectively. We then have that D u D e. The same holds for w. The Steiner tree T must hold u, w or both of u and w. We can split this into 2 different situations 1. u, w T. Then clients in D u are assigned to u and likewise for clients in D w. 2. Suppose u T, w / T. Then let l, be the open location on e which is farthest from u. All demands of D u are assigned to u. If D w < M, then all the clients in D w are assigned to u and remove all edges along e. If, however, D w M we assign all client in D w to w and add all of e to T. 10

12 T is still a Steiner tree and in fact it is possible to show that the total cost cannot grow larger then it was before we started moving the locations. The steps can be seen in Algorithm 2. Algorithm 2 Rent-or-buy 1: {Phase 1} 2: (Initialization) L = {v} 3: while C do 4: if C and α c i then 5: D i = D i {} 6: if i L then 7: C = C {} 8: end if 9: end if 10: if i / L v and D i M then 11: C = C D i { Actually C D i {}, but this is set i step 5.} 12: L = L {i} 13: end if 14: raise t, α if C and θ S, a unit 15: end while 16: remove dependent locations from L thus creating L 17: if i is removed then 18: for all D i do 19: D i 20: end for 21: end if 22: {Phase 2} 23: (Initialization) T =, D = i L {v} D i, set t = α theta S, = 0 24: while S = do 25: if θ S, = Mc e then S V :δ(s),v / S 26: T = T {e} 27: update S 28: end if 29: raise t, α if D and θ S, by 1/ D S 30: end while 31: remove all redundant edges in T 11

13 3.2 Example An example illustrating the use of the algorithm where M = 2 is shown in Figures 2 and 3. In Figure 2, the circles illustrate the levels of the dual variables α during phase 1 and in Figure 3, the circles illustrate the levels of the sum S V :e δ(s),v / S θ S, during Phase 2. The black squares represent closed locations and the blue squares represent opened locations. The red dots represent clients. (a) t = 0 (b) t = 1 (c) t = 2 (d) t = 3 (e) t = 3 Figure 2: Phase 1 of the rent-or-buy Problem 12

14 (a) t = 3 (b) t = 4 (c) t = 5 (d) t = 6 (e) t = 7 Figure 3: Phase 2 of the rent-or-buy Problem 13

15 3.3 Analysis In this section we will show the algorithm for the rent-or-buy algorithm presented in Section 3 is a 4.55-approximation algorithm for the rent-or-buy problem. In the following ( α (1), θ (1)) and ( α (2), θ (2)) will denote the value of the dual variables at the end of Phases 1 and 2, respectively. We start out by showing the following lemmas. Lemma 3.1 The dual solution ( α (1), θ (1)) is feasible. Proof To prove that the dual solution ( α (1), θ (1)) is feasible we must show that it satisfies each of the constraints of the dual LP. Re (2) At the end of Phase 1, all clients are connected connected for open location, i.e. all clients are frozen. A client may become tight with a given location i before it freezes. Once becomes tight with location i, we may raise α and S V :i S,v / S at the same rate, because it is no longer necessary for to contribute to the cost of getting connected to i. Recalling that demand is tight with a location i if α c i, we must hence have that α (1) c i + θ S, θ S, S V :i S,v / S Re (3) This constraint is satisfied because freezes once it reaches v, because no extra costs are neede in order for to get connected to the Steiner tree (v is the root). Re (4) Consider an edge e = (u, w) and let l() be the contribution of to the left-hand side of (4) for this edge, i.e. l() = S V :e δ(s),v / S Assume that c u c w, that is, becomes tight with u before it gets tight with w and consider a point p on the edge e = (u, w) at distance x from u. We now define the function { 1 if α c f(, x) = p and does not freeze when it becomes tight with p 0 otherwise The function f thus indicates whether or not freezes when it becomes tight with p. If does not freeze, but becomes tight with p it means both that α can still be raised and that still hasn t satisfied its demand. The sum f(, x) θ (1) S, 14

16 thus indicates the number of demands that are still unsatified when the part (u, p) of the edge e is considered. It can be seen that for all x we have that f(, x) M Because otherwise we would have that more than M clients are tight with p but still haven t satisfied their demand. This would contradict that p would be tentatively opened as soon as f(, x) > M. Now, assume that p is the last point on e with which becomes tight before it freezes. Since c e equals the length of the edge e we have that and that ce 0 f(, s) ds = x 0 f(, s) ds + ce x f(, s) ds = x l() x S V :e δ(s),v / S θ (1) S, ce 0 f(, s) ds This gives us S V :e δ(s),v / S θ (1) S, ce 0 f(, s) ds = ce 0 f(, s) ds ce 0 M ds = Mc e We have thus proved that the dual solution ( α (1), θ (1)) satisfies each of the constraints of the dual LP and is hence feasible. This completes the proof. Lemma 3.2 At the end of Phase 1, the assignment cost of any demand is at most 3α (1), i.e. for all c i() 3α (1) Proof Consider a demand. At the end of Phase 1, two situations may occur: is tight with a location in L If is tight with a location i L it means that is tight with a tentatively opened location that is independent. We can hence assign to i implying that c i α (1) < 3α (1). is tight with a location in L Let i denote the location in L that causes to become frozen, and let i denote a previously opened location in L such that i and i are dependent. According to the algorithm will be assigned to i. Now, let t i and t i denote the times at which the locations i and i were opened. We have that t i t i. Since i is the location that causes to become frozen we must have that is tight with i and that t i α (1) 15

17 Since i and i are dependent, there must exist some demand k which is tight with both i and i. Suppose that k becomes tight with i first. If i is tentatively open at this time, then k will freeze and so it will never become tight with i. Therefore i cannot be tentatively open when k becomes tight with it. We therefore have that k must freeze when i becomes tentatively open, i.e. α (1) k t i t i. Similarly we can show for the case where k becomes tight with i first. We hence have that We now see that This completes the proof. α (1) k t i t i α (1) c i c i + c ki + c ki α (1) + 2α (1) k 3α (1) Lemma 3.3 If i is an open location and D i, then c σ() α (1) Proof Recall, that σ() denotes the location to which is assigned. For every open location i, all demands in D i are assigned to i. We thus have that σ() = i and hence that c σ() α (1) To summarize we have now proved that the following will hold at the end of Phase 1 The dual solution ( α (1), θ (1)) is feasible Each demand is assigned to σ() such that c σ() 3α (1) Each open facility i has more than M clients assigned to it, and each of these clients is assigned to i such that c i α (1) Now, let OPT denote the value of an optimal solution for the rent-or-buy problem, and assume that we have a ρ ST -approximation algorithm to build the Steiner tree on the opened facilities. Lemma The algoritm 2 produces a solution of cost at most (3 + ρ ST ) OPT. Proof Let C and S denote the assignment costs and the Steiner tree costs in the optimal solution, i.e. OPT = C + S. The idea of the proof is now to obtain an upper bound for total cost of the solution by extending the Steiner tree in OPT, in such a way that it yields a Steiner tree on the locations opened by algorithm 2. Let i () denote the facility to which is assigned in the optimal solution. The extention is now done by connecting each l L to the Steiner tree in OPT via the shortest l i () path for D l as illustrated in Figure 4. Let c l denote the length of the shortest l i () path. For all l L we have that 16

18 Figure 4: Connection of open facilities l L to the Steiner tree in an optimal solution. D l M, because otherwise l would not have been opened. The cost of adding l L to the Steiner tree in OPT is thus bounded by Mc l D l (c l + c i ()) Locations l L that are allready in the optimal tree Steiner tree need not be considered and we may hence discard the node v. Now, summing over all l L we see that the cost of adding the opened locations is bounded by (c l + c i ()) = (c σ() + c i ()) = c σ() + C l L v D l D D where D = l L D l The last inequality is due to the fact that we are discarding the node v, however in the optimal solution a demand may be directly connected to v. The total cost of the obtained Steiner tree is thus bounded by S + C + c σ() = OPT + c σ() D D An upper bound for the cost of the Steiner tree in the generated solution is thus OPT + ρ ST D c σ() 17

19 By using Lemma 3.2 and 3.3, we thus see that the total cost of the solution generated by algorithm 2 is bounded by c σ() + ρ ST OPT + c σ() = c σ() + c σ() + ρ ST OPT + ρ ST D D / D = (1 + ρ ST ) c σ() + c σ() + ρ ST OPT D / D (1 + ρ ST ) α (1) D + 3 α (1) / D + ρ ST OPT D c σ() According to Theorem 3.2 in [Vazirani 2003] the cost of a minimum spanning tree (MST) on the open facilities (L ) is within a factor 2 of the cost of the optimal Steiner tree. A straightforward factor 2-approximation algorithm for finding the Steiner tree connecting the open facilities is thus simply to find an MST on L, because the minimum spanning tree is in P. We therefore have that ρ ST 2 which gives us (1 + ρ ST ) ρ ST OPT ρ ST OPT D α (1) / D α (1) = 3 D α (1) α (1) / D α (1) + ρ ST OPT According to Lemma 3.1, α (1) is a feasible solution to the dual problem. The sum α(1) will therefore be a lower bound for OPT. This implies that 3 α (1) + ρ ST OPT 3 OPT + ρ ST OPT = (3 + ρ ST ) OPT which completes the proof. We can now prove the main theorem. Theorem 3.7 There is a 4.55-approximation algorithm for the rent-or-buy problem. Proof According to [Swamy & Kumar 2004] there exists an ρ ST = 1.55-approximation algorithm for the Steiner tree problem. 18

20 4 The connected facility location problem In this section we will present an approximation algorithm for the ConFL problem. Compared with the rent-or-buy problem we now have a facility opening cost of f i 0 for all facilities i F. Furthermore we cannot open facilities at every vertex, i.e. F V. The main idea, though, is the same: we want to gather at least M demands around a facility i before we open it and connect to it, so that these demands can pay for opening facility i and for connecting facility i to the Steiner tree. 4.1 The algorithm All demands have d = 1 and all dual variable incrementation is at unit rate. Compared to the rent-or-buy problem some extra notions must be presented. A demand can still be either frozen or unfrozen, and furthermore a demand can be free or slave. Initially a demand is unfrozen and free, then becomes slave and finally frozen. The demand properties control how and when we increase our dual variables. A demand is said to be tight with a location l if α c l, and a location can be anywhere on an edge. A demand is bound to a location l if is tight with l and was free when it became tight with l. When the weight of a location l, i.e. the number of demands bound to l, becomes at least M, l is said to be a terminal location. The steps can be seen in Algorithm 3. 19

21 Algorithm 3 Connected Facility Location, Phase 1, part 1 1: (Initialization) Set t = α = θ S, = β i = 0. All demands are free and unfrozen. Pick a facility v to tentatively open and set f v = 0. Facility v will be the root of the Steiner tree. 2: while there are unfrozen demands do 3: if the weight of a location l becomes at least M then 4: l is declared a terminal location. All free tight with l become slaves to l. (Influence on dual variable incrementation: For all these new slaves to l we stop increasing θ S, and for all facilities i S (if any) we start increasing β i.) 5: end if 6: if a free becomes tight with a terminal location l then 7: becomes a slave to l 8: if l = v then 9: connect to l and freeze 10: end if 11: end if 12: if a facility i gets paid for, i.e. β i = f i then 13: tentatively open facility i. All unfrozen slaves tight with i gets connected to i and frozen. 14: end if 15: if a slave gets tight with a tentatively open facility i then 16: connect to i and freeze 17: end if 18: increase t, increase α for all unfrozen demands, increase θ S, for all free demands, for all slaves increase β i for facilities i in S 19: end while Whenever a demand becomes tight with a facility i, that is not tentatively open, starts to pay towards to the opening cost of the facility by increasing β i. This ensures that the first constraint in the dual problem is not violated. The incrementation of α and β i can be seen in Figure 5. The solution obtained at the end of Phase 1, part 1 is called (α (1), β (1), θ (1) ). The next part of Phase 1, see Algorithm 4, is less detailed in order to maintain focus. Algorithm 4 Connected Facility Location, Phase 1, part 2 1: for all terminal locations l we associate a terminal facility, which can be considered as a nearby facility. 2: pick terminal locations and open associated terminal facilities, ensuring that a demand does not pay for opening or Steiner tree connecting more than one facility. 3: the selected terminal locations are connected to their associated terminal facilities by buying Steiner edges on a shortest path from l to i, see Figure 6 4: demands are assigned to the opened terminal facilities through their terminal locations We now have opened a subset of the facilities F F, we have assigned all demands to the open facilities, and we have bought a set of Steiner edges T. Thus we need to connect the open facilities in a Steiner tree in Phase 2. Phase 2 in the generel ConFL is quite similar to Phase 2 in the rent-or-buy problem, so we will not explain it here. 20

22 Figure 5: Incrementation of dual variables α and β i. The illustration is a modified version of an illustration from slides by David P. Williamson, IBM, Figure 6: Connecting terminal locations l to terminal facilities i along Steiner edges. At least M demands are collected at l, and l is near i. The illustration is from [Swamy & Kumar 2004, p. 257]. 21

23 4.2 Analysis We will now give a proof for the approximation factor of the ConFL algorithm. Technical parts of the proof are omitted and can be found in [Swamy & Kumar 2004]. Reminding that T is the set of edges found in Phase 1 and that F is the set of opened facilities found in Phase 1, it can be shown that the solution satisfies 7 i F f i + c i() + cost(t ) + 2 c σ() 7 D α (1). (1) It can also be shown that (α (1), β (1), θ (1) ) is a dual feasible solution. The latter can be shown in a way similar to the corresponding statement for the rent-or-buy-problem. Theorem 1 Using ρ ST = 1.55, the ConFL-algorithm gives a solution of cost at most 8.55 OPT Proof Let again C be the assignment costs and S be the Steiner tree costs of an optimal solution. As in the rent-or-buy problem analysis it is possible to show that the constructed Steiner tree at the end of Phase 2 has costs of at most ρ ST (S + C + D c σ()). The costs of opening facilities and assigning demands end the end of Phase 1 is f i + c i() + cost(t ), i F so the total cost TOT of the generated solution is thus bounded by TOT f i + c i() + cost(t ) + ρ ST c σ() + ρ ST (S + C ). i F D Using S + C OPT, ρ ST 2 and (1) we get that TOT f i + c i() + cost(t ) + ρ ST c σ() + ρ ST (S + C ) i F D f i + c i() + cost(t ) + ρ ST c σ() + ρ ST OPT i F D f i + c i() + cost(t ) + 2 c σ() + ρ ST OPT i F D 7 f i + c i() + cost(t ) + 2 c σ() + ρ ST OPT i F D 7 α (1) + ρ ST OPT. Now, since v is tentatively open at t = 0, all demands that get tight with v freezes, so β v is never increased for any, especially we have β (1) v = 0 for all. Because (α (1), β (1), θ (1) ) is a dual feasible solution, it gives a lower bound for the primal problem, that is we have β(1) v OPT giving α(1) OPT. Finally, we get α(1) TOT (7 + ρ ST ) OPT, or, taking ρ ST = 1.55, TOT 8.55 OPT. This completes the proof. 22

24 5 Implementation and extensions In this last section we will shortly mention how the algorithm could be implemented, and we will shortly look at possible extensions of the ConFL problem. To implement the algorithm it is needed to know the time when the next event (e.g. a demand becoming tight with a tentatively open location) will occur. This can be done by keeping the events in a priority queue 1, prioritized by time. The following extensions are described in detail in [Swamy & Kumar 2004]. Demands of arbitrary size In the previous presented rent-or-buy and ConFL problems, we have required the demands d for all clients to be of unit size, i.e. d = 1. A naturally extension is to look at demands of arbitrary size, i.e. d 0 is allowed. If demands are integers, the same algorithm can be used by making d copies of client. If the demands are not integers, the dual variables for client are increased by a rate of d. The approximation factor for the modified algorithm is the same. Connected k-median problem The Connected k-median problem is ConFL augmented with the constraint that at most k facilities can be opened. Since v is always opened initially, a linear program for the problem is obtained be adding the constraint y i k 1, i i v to the linear program of ConFL. [Swamy & Kumar 2004] shows that there exists a factor approximation algorithm using Phase 1 of the ConFL algorithm for the Connected k-median problem. Capacitated edges Another natural extension is to look at edges with capacities. For all edges e, we add the notion of length c e. Consider a telecommunications network scenario. We have two kinds of cables. The first cable has a cost of σ per unit length and capacity u, the second cable has a cost of M per unit length and infinite capacity. Facilities are opened and clients get connected to them with the first cable type. The facilities are connected to each other in a Steiner tree by the second cable type. For unit demands, [Swamy & Kumar 2004] shows a 10.1-approximation factor for edgecapacitated ConFL and a 6.1-approximation factor for the edge-capacitated rent-or-buy problem. With arbitrary demands, the edge-capacitated ConFL gets a 17.1-approximation factor, and the edge-capacitated rent-or-buy problem gets a 9.1-approximation factor. 1 A priority queue is a data structure with two operations: 1) adding of elements with a priority to the queue, and 2) get the element with the highest priority from the queue 23

25 References [Gupta et al. 2001] Gupta, Anupam et al.: Provisioning a Virtual Private Network: A Network Design Problem for Multicommodity Flow, Proceedings of the 33rd ACM Symposium on Theory of Computing (2001): [Swamy & Kumar 2002] Swamy, Chaitanya & Amit Kumar: Primal Dual Algorithms for Connected Facility Location Problems, Slides, Theory Seminar, Cornell University, October 2002 [Swamy & Kumar 2004] Swamy, Chaitanya & Amit Kumar: Primal Dual Algorithms for Connected Facility Location Problems, Algorithmica 40 (2004): [Vazirani 2003] Vazirani, Viay V.: Approximation Algorithms, Springer-Verlag, Berlin

Approximation Algorithms: The Primal-Dual Method. My T. Thai

Approximation Algorithms: The Primal-Dual Method. My T. Thai Approximation Algorithms: The Primal-Dual Method My T. Thai 1 Overview of the Primal-Dual Method Consider the following primal program, called P: min st n c j x j j=1 n a ij x j b i j=1 x j 0 Then the

More information

Steiner Trees and Forests

Steiner Trees and Forests Massachusetts Institute of Technology Lecturer: Adriana Lopez 18.434: Seminar in Theoretical Computer Science March 7, 2006 Steiner Trees and Forests 1 Steiner Tree Problem Given an undirected graph G

More information

Network Design Foundations Fall 2011 Lecture 10

Network Design Foundations Fall 2011 Lecture 10 Network Design Foundations Fall 2011 Lecture 10 Instructor: Mohammad T. Hajiaghayi Scribe: Catalin-Stefan Tiseanu November 2, 2011 1 Overview We study constant factor approximation algorithms for CONNECTED

More information

Group Strategyproof Mechanisms via Primal-Dual Algorithms. Key Points to Discuss

Group Strategyproof Mechanisms via Primal-Dual Algorithms. Key Points to Discuss Group Strategyproof Mechanisms via Primal-Dual Algorithms Martin Pál and Éva Tardos (2003) Key Points to Discuss The Cost-Sharing Problem Metric Facility Location Single Source Rent-or-Buy Definition of

More information

The Online Connected Facility Location Problem

The Online Connected Facility Location Problem The Online Connected Facility Location Problem Mário César San Felice 1, David P. Willamson 2, and Orlando Lee 1 1 Unicamp, Institute of Computing, Campinas SP 13083-852, Brazil felice@ic.unicamp.br, lee@ic.unicamp.br

More information

Approximation Algorithms

Approximation Algorithms Approximation Algorithms Prof. Tapio Elomaa tapio.elomaa@tut.fi Course Basics A new 4 credit unit course Part of Theoretical Computer Science courses at the Department of Mathematics There will be 4 hours

More information

Approximation Algorithms

Approximation Algorithms Approximation Algorithms Prof. Tapio Elomaa tapio.elomaa@tut.fi Course Basics A 4 credit unit course Part of Theoretical Computer Science courses at the Laboratory of Mathematics There will be 4 hours

More information

A Constant Factor Approximation Algorithm for the Multicommodity Rent-or-Buy Problem

A Constant Factor Approximation Algorithm for the Multicommodity Rent-or-Buy Problem A Constant Factor Approximation Algorithm for the Multicommodity Rent-or-Buy Problem Amit Kumar Bell Labs joint work with Anupam Gupta Tim Roughgarden CMU Cornell The Rent-or-Buy Problem t 1 t 2 s 1 s

More information

6. Lecture notes on matroid intersection

6. Lecture notes on matroid intersection Massachusetts Institute of Technology 18.453: Combinatorial Optimization Michel X. Goemans May 2, 2017 6. Lecture notes on matroid intersection One nice feature about matroids is that a simple greedy algorithm

More information

1 Linear programming relaxation

1 Linear programming relaxation Cornell University, Fall 2010 CS 6820: Algorithms Lecture notes: Primal-dual min-cost bipartite matching August 27 30 1 Linear programming relaxation Recall that in the bipartite minimum-cost perfect matching

More information

Primal-Dual Methods for Approximation Algorithms

Primal-Dual Methods for Approximation Algorithms Primal-Dual Methods for Approximation Algorithms Nadia Hardy, April 2004 The following is based on: Approximation Algorithms for NP-Hard Problems. D.Hochbaum, ed. Chapter 4: The primal-dual method for

More information

Lecture Overview. 2 The Steiner Tree Problem. 2.1 Steiner tree: a 2-approximation algorithm. COMPSCI 590.1: Graph Algorithms March 22, 2015

Lecture Overview. 2 The Steiner Tree Problem. 2.1 Steiner tree: a 2-approximation algorithm. COMPSCI 590.1: Graph Algorithms March 22, 2015 COMPCI 590.1: Graph Algorithms March 22, 2015 Lecturer: Debmalya Panigrahi Lecture 16-17 cribe: Yuhao Hu 1 Overview The main topics of this lecture are the offline edge-weighted teiner tree and teiner

More information

1 The Traveling Salesperson Problem (TSP)

1 The Traveling Salesperson Problem (TSP) CS 598CSC: Approximation Algorithms Lecture date: January 23, 2009 Instructor: Chandra Chekuri Scribe: Sungjin Im In the previous lecture, we had a quick overview of several basic aspects of approximation

More information

In this lecture, we ll look at applications of duality to three problems:

In this lecture, we ll look at applications of duality to three problems: Lecture 7 Duality Applications (Part II) In this lecture, we ll look at applications of duality to three problems: 1. Finding maximum spanning trees (MST). We know that Kruskal s algorithm finds this,

More information

Algorithms for Provisioning Virtual Private Networks in the Hose Model

Algorithms for Provisioning Virtual Private Networks in the Hose Model IEEE/ACM TRANSACTIONS ON NETWORKING, VOL 10, NO 4, AUGUST 2002 565 Algorithms for Provisioning Virtual Private Networks in the Hose Model Amit Kumar, Rajeev Rastogi, Avi Silberschatz, Fellow, IEEE, and

More information

CS261: A Second Course in Algorithms Lecture #16: The Traveling Salesman Problem

CS261: A Second Course in Algorithms Lecture #16: The Traveling Salesman Problem CS61: A Second Course in Algorithms Lecture #16: The Traveling Salesman Problem Tim Roughgarden February 5, 016 1 The Traveling Salesman Problem (TSP) In this lecture we study a famous computational problem,

More information

Approximation Algorithms

Approximation Algorithms Approximation Algorithms Group Members: 1. Geng Xue (A0095628R) 2. Cai Jingli (A0095623B) 3. Xing Zhe (A0095644W) 4. Zhu Xiaolu (A0109657W) 5. Wang Zixiao (A0095670X) 6. Jiao Qing (A0095637R) 7. Zhang

More information

15-854: Approximations Algorithms Lecturer: Anupam Gupta Topic: Direct Rounding of LP Relaxations Date: 10/31/2005 Scribe: Varun Gupta

15-854: Approximations Algorithms Lecturer: Anupam Gupta Topic: Direct Rounding of LP Relaxations Date: 10/31/2005 Scribe: Varun Gupta 15-854: Approximations Algorithms Lecturer: Anupam Gupta Topic: Direct Rounding of LP Relaxations Date: 10/31/2005 Scribe: Varun Gupta 15.1 Introduction In the last lecture we saw how to formulate optimization

More information

College of Computer & Information Science Fall 2007 Northeastern University 14 September 2007

College of Computer & Information Science Fall 2007 Northeastern University 14 September 2007 College of Computer & Information Science Fall 2007 Northeastern University 14 September 2007 CS G399: Algorithmic Power Tools I Scribe: Eric Robinson Lecture Outline: Linear Programming: Vertex Definitions

More information

5. Lecture notes on matroid intersection

5. Lecture notes on matroid intersection Massachusetts Institute of Technology Handout 14 18.433: Combinatorial Optimization April 1st, 2009 Michel X. Goemans 5. Lecture notes on matroid intersection One nice feature about matroids is that a

More information

Lower-Bounded Facility Location

Lower-Bounded Facility Location Lower-Bounded Facility Location Zoya Svitkina Abstract We study the lower-bounded facility location problem, which generalizes the classical uncapacitated facility location problem in that it comes with

More information

Theorem 2.9: nearest addition algorithm

Theorem 2.9: nearest addition algorithm There are severe limits on our ability to compute near-optimal tours It is NP-complete to decide whether a given undirected =(,)has a Hamiltonian cycle An approximation algorithm for the TSP can be used

More information

Repetition: Primal Dual for Set Cover

Repetition: Primal Dual for Set Cover Repetition: Primal Dual for Set Cover Primal Relaxation: k min i=1 w ix i s.t. u U i:u S i x i 1 i {1,..., k} x i 0 Dual Formulation: max u U y u s.t. i {1,..., k} u:u S i y u w i y u 0 Harald Räcke 428

More information

Lecture Overview. 2 Shortest s t path. 2.1 The LP. 2.2 The Algorithm. COMPSCI 530: Design and Analysis of Algorithms 11/14/2013

Lecture Overview. 2 Shortest s t path. 2.1 The LP. 2.2 The Algorithm. COMPSCI 530: Design and Analysis of Algorithms 11/14/2013 COMPCI 530: Design and Analysis of Algorithms 11/14/2013 Lecturer: Debmalya Panigrahi Lecture 22 cribe: Abhinandan Nath 1 Overview In the last class, the primal-dual method was introduced through the metric

More information

Solutions for the Exam 6 January 2014

Solutions for the Exam 6 January 2014 Mastermath and LNMB Course: Discrete Optimization Solutions for the Exam 6 January 2014 Utrecht University, Educatorium, 13:30 16:30 The examination lasts 3 hours. Grading will be done before January 20,

More information

The Design of Approximation Algorithms

The Design of Approximation Algorithms The Design of Approximation Algorithms David P. Williamson Cornell University David B. Shmoys Cornell University m Щ0 CAMBRIDGE UNIVERSITY PRESS Contents Preface page ix I An Introduction to the Techniques

More information

Distributed minimum spanning tree problem

Distributed minimum spanning tree problem Distributed minimum spanning tree problem Juho-Kustaa Kangas 24th November 2012 Abstract Given a connected weighted undirected graph, the minimum spanning tree problem asks for a spanning subtree with

More information

Treewidth and graph minors

Treewidth and graph minors Treewidth and graph minors Lectures 9 and 10, December 29, 2011, January 5, 2012 We shall touch upon the theory of Graph Minors by Robertson and Seymour. This theory gives a very general condition under

More information

Combinatorial Optimization

Combinatorial Optimization Combinatorial Optimization Frank de Zeeuw EPFL 2012 Today Introduction Graph problems - What combinatorial things will we be optimizing? Algorithms - What kind of solution are we looking for? Linear Programming

More information

Lecture 7: Asymmetric K-Center

Lecture 7: Asymmetric K-Center Advanced Approximation Algorithms (CMU 18-854B, Spring 008) Lecture 7: Asymmetric K-Center February 5, 007 Lecturer: Anupam Gupta Scribe: Jeremiah Blocki In this lecture, we will consider the K-center

More information

CS 473: Algorithms. Ruta Mehta. Spring University of Illinois, Urbana-Champaign. Ruta (UIUC) CS473 1 Spring / 36

CS 473: Algorithms. Ruta Mehta. Spring University of Illinois, Urbana-Champaign. Ruta (UIUC) CS473 1 Spring / 36 CS 473: Algorithms Ruta Mehta University of Illinois, Urbana-Champaign Spring 2018 Ruta (UIUC) CS473 1 Spring 2018 1 / 36 CS 473: Algorithms, Spring 2018 LP Duality Lecture 20 April 3, 2018 Some of the

More information

CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 14: Combinatorial Problems as Linear Programs I. Instructor: Shaddin Dughmi

CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 14: Combinatorial Problems as Linear Programs I. Instructor: Shaddin Dughmi CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 14: Combinatorial Problems as Linear Programs I Instructor: Shaddin Dughmi Announcements Posted solutions to HW1 Today: Combinatorial problems

More information

Topic: Local Search: Max-Cut, Facility Location Date: 2/13/2007

Topic: Local Search: Max-Cut, Facility Location Date: 2/13/2007 CS880: Approximations Algorithms Scribe: Chi Man Liu Lecturer: Shuchi Chawla Topic: Local Search: Max-Cut, Facility Location Date: 2/3/2007 In previous lectures we saw how dynamic programming could be

More information

ACO Comprehensive Exam October 12 and 13, Computability, Complexity and Algorithms

ACO Comprehensive Exam October 12 and 13, Computability, Complexity and Algorithms 1. Computability, Complexity and Algorithms Given a simple directed graph G = (V, E), a cycle cover is a set of vertex-disjoint directed cycles that cover all vertices of the graph. 1. Show that there

More information

1 Variations of the Traveling Salesman Problem

1 Variations of the Traveling Salesman Problem Stanford University CS26: Optimization Handout 3 Luca Trevisan January, 20 Lecture 3 In which we prove the equivalence of three versions of the Traveling Salesman Problem, we provide a 2-approximate algorithm,

More information

Graphs and Network Flows IE411. Lecture 21. Dr. Ted Ralphs

Graphs and Network Flows IE411. Lecture 21. Dr. Ted Ralphs Graphs and Network Flows IE411 Lecture 21 Dr. Ted Ralphs IE411 Lecture 21 1 Combinatorial Optimization and Network Flows In general, most combinatorial optimization and integer programming problems are

More information

6 Randomized rounding of semidefinite programs

6 Randomized rounding of semidefinite programs 6 Randomized rounding of semidefinite programs We now turn to a new tool which gives substantially improved performance guarantees for some problems We now show how nonlinear programming relaxations can

More information

Notes for Lecture 24

Notes for Lecture 24 U.C. Berkeley CS170: Intro to CS Theory Handout N24 Professor Luca Trevisan December 4, 2001 Notes for Lecture 24 1 Some NP-complete Numerical Problems 1.1 Subset Sum The Subset Sum problem is defined

More information

4 Integer Linear Programming (ILP)

4 Integer Linear Programming (ILP) TDA6/DIT37 DISCRETE OPTIMIZATION 17 PERIOD 3 WEEK III 4 Integer Linear Programg (ILP) 14 An integer linear program, ILP for short, has the same form as a linear program (LP). The only difference is that

More information

Homework 2: Multi-unit combinatorial auctions (due Nov. 7 before class)

Homework 2: Multi-unit combinatorial auctions (due Nov. 7 before class) CPS 590.1 - Linear and integer programming Homework 2: Multi-unit combinatorial auctions (due Nov. 7 before class) Please read the rules for assignments on the course web page. Contact Vince (conitzer@cs.duke.edu)

More information

Online Facility Location

Online Facility Location Online Facility Location Adam Meyerson Abstract We consider the online variant of facility location, in which demand points arrive one at a time and we must maintain a set of facilities to service these

More information

Matching Algorithms. Proof. If a bipartite graph has a perfect matching, then it is easy to see that the right hand side is a necessary condition.

Matching Algorithms. Proof. If a bipartite graph has a perfect matching, then it is easy to see that the right hand side is a necessary condition. 18.433 Combinatorial Optimization Matching Algorithms September 9,14,16 Lecturer: Santosh Vempala Given a graph G = (V, E), a matching M is a set of edges with the property that no two of the edges have

More information

The Encoding Complexity of Network Coding

The Encoding Complexity of Network Coding The Encoding Complexity of Network Coding Michael Langberg Alexander Sprintson Jehoshua Bruck California Institute of Technology Email: mikel,spalex,bruck @caltech.edu Abstract In the multicast network

More information

8 Matroid Intersection

8 Matroid Intersection 8 Matroid Intersection 8.1 Definition and examples 8.2 Matroid Intersection Algorithm 8.1 Definitions Given two matroids M 1 = (X, I 1 ) and M 2 = (X, I 2 ) on the same set X, their intersection is M 1

More information

3 No-Wait Job Shops with Variable Processing Times

3 No-Wait Job Shops with Variable Processing Times 3 No-Wait Job Shops with Variable Processing Times In this chapter we assume that, on top of the classical no-wait job shop setting, we are given a set of processing times for each operation. We may select

More information

12.1 Formulation of General Perfect Matching

12.1 Formulation of General Perfect Matching CSC5160: Combinatorial Optimization and Approximation Algorithms Topic: Perfect Matching Polytope Date: 22/02/2008 Lecturer: Lap Chi Lau Scribe: Yuk Hei Chan, Ling Ding and Xiaobing Wu In this lecture,

More information

12 Introduction to LP-Duality

12 Introduction to LP-Duality 12 Introduction to LP-Duality A large fraction of the theory of approximation algorithms, as we know it today, is built around linear programming (LP). In Section 12.1 we will review some key concepts

More information

Mathematical and Algorithmic Foundations Linear Programming and Matchings

Mathematical and Algorithmic Foundations Linear Programming and Matchings Adavnced Algorithms Lectures Mathematical and Algorithmic Foundations Linear Programming and Matchings Paul G. Spirakis Department of Computer Science University of Patras and Liverpool Paul G. Spirakis

More information

Lecture 3: Totally Unimodularity and Network Flows

Lecture 3: Totally Unimodularity and Network Flows Lecture 3: Totally Unimodularity and Network Flows (3 units) Outline Properties of Easy Problems Totally Unimodular Matrix Minimum Cost Network Flows Dijkstra Algorithm for Shortest Path Problem Ford-Fulkerson

More information

1. Lecture notes on bipartite matching February 4th,

1. Lecture notes on bipartite matching February 4th, 1. Lecture notes on bipartite matching February 4th, 2015 6 1.1.1 Hall s Theorem Hall s theorem gives a necessary and sufficient condition for a bipartite graph to have a matching which saturates (or matches)

More information

LECTURES 3 and 4: Flows and Matchings

LECTURES 3 and 4: Flows and Matchings LECTURES 3 and 4: Flows and Matchings 1 Max Flow MAX FLOW (SP). Instance: Directed graph N = (V,A), two nodes s,t V, and capacities on the arcs c : A R +. A flow is a set of numbers on the arcs such that

More information

Methods and Models for Combinatorial Optimization Exact methods for the Traveling Salesman Problem

Methods and Models for Combinatorial Optimization Exact methods for the Traveling Salesman Problem Methods and Models for Combinatorial Optimization Exact methods for the Traveling Salesman Problem L. De Giovanni M. Di Summa The Traveling Salesman Problem (TSP) is an optimization problem on a directed

More information

Integer Programming ISE 418. Lecture 7. Dr. Ted Ralphs

Integer Programming ISE 418. Lecture 7. Dr. Ted Ralphs Integer Programming ISE 418 Lecture 7 Dr. Ted Ralphs ISE 418 Lecture 7 1 Reading for This Lecture Nemhauser and Wolsey Sections II.3.1, II.3.6, II.4.1, II.4.2, II.5.4 Wolsey Chapter 7 CCZ Chapter 1 Constraint

More information

Primal Dual Schema Approach to the Labeling Problem with Applications to TSP

Primal Dual Schema Approach to the Labeling Problem with Applications to TSP 1 Primal Dual Schema Approach to the Labeling Problem with Applications to TSP Colin Brown, Simon Fraser University Instructor: Ramesh Krishnamurti The Metric Labeling Problem has many applications, especially

More information

CSE 417 Network Flows (pt 4) Min Cost Flows

CSE 417 Network Flows (pt 4) Min Cost Flows CSE 417 Network Flows (pt 4) Min Cost Flows Reminders > HW6 is due Monday Review of last three lectures > Defined the maximum flow problem find the feasible flow of maximum value flow is feasible if it

More information

A Primal-Dual Approximation Algorithm for Partial Vertex Cover: Making Educated Guesses

A Primal-Dual Approximation Algorithm for Partial Vertex Cover: Making Educated Guesses A Primal-Dual Approximation Algorithm for Partial Vertex Cover: Making Educated Guesses Julián Mestre Department of Computer Science University of Maryland, College Park, MD 20742 jmestre@cs.umd.edu Abstract

More information

Problem set 2. Problem 1. Problem 2. Problem 3. CS261, Winter Instructor: Ashish Goel.

Problem set 2. Problem 1. Problem 2. Problem 3. CS261, Winter Instructor: Ashish Goel. CS261, Winter 2017. Instructor: Ashish Goel. Problem set 2 Electronic submission to Gradescope due 11:59pm Thursday 2/16. Form a group of 2-3 students that is, submit one homework with all of your names.

More information

A Note on Polyhedral Relaxations for the Maximum Cut Problem

A Note on Polyhedral Relaxations for the Maximum Cut Problem A Note on Polyhedral Relaxations for the Maximum Cut Problem Alantha Newman Abstract We consider three well-studied polyhedral relaxations for the maximum cut problem: the metric polytope of the complete

More information

EXERCISES SHORTEST PATHS: APPLICATIONS, OPTIMIZATION, VARIATIONS, AND SOLVING THE CONSTRAINED SHORTEST PATH PROBLEM. 1 Applications and Modelling

EXERCISES SHORTEST PATHS: APPLICATIONS, OPTIMIZATION, VARIATIONS, AND SOLVING THE CONSTRAINED SHORTEST PATH PROBLEM. 1 Applications and Modelling SHORTEST PATHS: APPLICATIONS, OPTIMIZATION, VARIATIONS, AND SOLVING THE CONSTRAINED SHORTEST PATH PROBLEM EXERCISES Prepared by Natashia Boland 1 and Irina Dumitrescu 2 1 Applications and Modelling 1.1

More information

22 Elementary Graph Algorithms. There are two standard ways to represent a

22 Elementary Graph Algorithms. There are two standard ways to represent a VI Graph Algorithms Elementary Graph Algorithms Minimum Spanning Trees Single-Source Shortest Paths All-Pairs Shortest Paths 22 Elementary Graph Algorithms There are two standard ways to represent a graph

More information

Linear Programming Duality and Algorithms

Linear Programming Duality and Algorithms COMPSCI 330: Design and Analysis of Algorithms 4/5/2016 and 4/7/2016 Linear Programming Duality and Algorithms Lecturer: Debmalya Panigrahi Scribe: Tianqi Song 1 Overview In this lecture, we will cover

More information

Notes on Binary Dumbbell Trees

Notes on Binary Dumbbell Trees Notes on Binary Dumbbell Trees Michiel Smid March 23, 2012 Abstract Dumbbell trees were introduced in [1]. A detailed description of non-binary dumbbell trees appears in Chapter 11 of [3]. These notes

More information

Lecture 4: Primal Dual Matching Algorithm and Non-Bipartite Matching. 1 Primal/Dual Algorithm for weighted matchings in Bipartite Graphs

Lecture 4: Primal Dual Matching Algorithm and Non-Bipartite Matching. 1 Primal/Dual Algorithm for weighted matchings in Bipartite Graphs CMPUT 675: Topics in Algorithms and Combinatorial Optimization (Fall 009) Lecture 4: Primal Dual Matching Algorithm and Non-Bipartite Matching Lecturer: Mohammad R. Salavatipour Date: Sept 15 and 17, 009

More information

Network Design for Information Networks

Network Design for Information Networks Network Design for Information Networks (Extended Abstract) Ara Hayrapetyan Chaitanya Swamy Éva Tardos Abstract We define a new class of network design problems motivated by designing information networks.

More information

Lecture 14: Linear Programming II

Lecture 14: Linear Programming II A Theorist s Toolkit (CMU 18-859T, Fall 013) Lecture 14: Linear Programming II October 3, 013 Lecturer: Ryan O Donnell Scribe: Stylianos Despotakis 1 Introduction At a big conference in Wisconsin in 1948

More information

Solution for Homework set 3

Solution for Homework set 3 TTIC 300 and CMSC 37000 Algorithms Winter 07 Solution for Homework set 3 Question (0 points) We are given a directed graph G = (V, E), with two special vertices s and t, and non-negative integral capacities

More information

CS 580: Algorithm Design and Analysis. Jeremiah Blocki Purdue University Spring 2018

CS 580: Algorithm Design and Analysis. Jeremiah Blocki Purdue University Spring 2018 CS 580: Algorithm Design and Analysis Jeremiah Blocki Purdue University Spring 2018 Chapter 11 Approximation Algorithms Slides by Kevin Wayne. Copyright @ 2005 Pearson-Addison Wesley. All rights reserved.

More information

Math 5593 Linear Programming Lecture Notes

Math 5593 Linear Programming Lecture Notes Math 5593 Linear Programming Lecture Notes Unit II: Theory & Foundations (Convex Analysis) University of Colorado Denver, Fall 2013 Topics 1 Convex Sets 1 1.1 Basic Properties (Luenberger-Ye Appendix B.1).........................

More information

Lecture 7. s.t. e = (u,v) E x u + x v 1 (2) v V x v 0 (3)

Lecture 7. s.t. e = (u,v) E x u + x v 1 (2) v V x v 0 (3) COMPSCI 632: Approximation Algorithms September 18, 2017 Lecturer: Debmalya Panigrahi Lecture 7 Scribe: Xiang Wang 1 Overview In this lecture, we will use Primal-Dual method to design approximation algorithms

More information

22 Elementary Graph Algorithms. There are two standard ways to represent a

22 Elementary Graph Algorithms. There are two standard ways to represent a VI Graph Algorithms Elementary Graph Algorithms Minimum Spanning Trees Single-Source Shortest Paths All-Pairs Shortest Paths 22 Elementary Graph Algorithms There are two standard ways to represent a graph

More information

Approximation Algorithms

Approximation Algorithms Approximation Algorithms Given an NP-hard problem, what should be done? Theory says you're unlikely to find a poly-time algorithm. Must sacrifice one of three desired features. Solve problem to optimality.

More information

Algorithms for Euclidean TSP

Algorithms for Euclidean TSP This week, paper [2] by Arora. See the slides for figures. See also http://www.cs.princeton.edu/~arora/pubs/arorageo.ps Algorithms for Introduction This lecture is about the polynomial time approximation

More information

1. Lecture notes on bipartite matching

1. Lecture notes on bipartite matching Massachusetts Institute of Technology 18.453: Combinatorial Optimization Michel X. Goemans February 5, 2017 1. Lecture notes on bipartite matching Matching problems are among the fundamental problems in

More information

Stanford University CS261: Optimization Handout 1 Luca Trevisan January 4, 2011

Stanford University CS261: Optimization Handout 1 Luca Trevisan January 4, 2011 Stanford University CS261: Optimization Handout 1 Luca Trevisan January 4, 2011 Lecture 1 In which we describe what this course is about and give two simple examples of approximation algorithms 1 Overview

More information

Approximating Node-Weighted Multicast Trees in Wireless Ad-Hoc Networks

Approximating Node-Weighted Multicast Trees in Wireless Ad-Hoc Networks Approximating Node-Weighted Multicast Trees in Wireless Ad-Hoc Networks Thomas Erlebach Department of Computer Science University of Leicester, UK te17@mcs.le.ac.uk Ambreen Shahnaz Department of Computer

More information

Randomized rounding of semidefinite programs and primal-dual method for integer linear programming. Reza Moosavi Dr. Saeedeh Parsaeefard Dec.

Randomized rounding of semidefinite programs and primal-dual method for integer linear programming. Reza Moosavi Dr. Saeedeh Parsaeefard Dec. Randomized rounding of semidefinite programs and primal-dual method for integer linear programming Dr. Saeedeh Parsaeefard 1 2 3 4 Semidefinite Programming () 1 Integer Programming integer programming

More information

THREE LECTURES ON BASIC TOPOLOGY. 1. Basic notions.

THREE LECTURES ON BASIC TOPOLOGY. 1. Basic notions. THREE LECTURES ON BASIC TOPOLOGY PHILIP FOTH 1. Basic notions. Let X be a set. To make a topological space out of X, one must specify a collection T of subsets of X, which are said to be open subsets of

More information

ON THE EQUIVALENCE BETWEEN THE PRIMAL-DUAL SCHEMA AND THE LOCAL RATIO TECHNIQUE

ON THE EQUIVALENCE BETWEEN THE PRIMAL-DUAL SCHEMA AND THE LOCAL RATIO TECHNIQUE ON THE EQUIVALENCE BETWEEN THE PRIMAL-DUAL SCHEMA AND THE LOCAL RATIO TECHNIQUE REUVEN BAR-YEHUDA AND DROR RAWITZ Abstract. We discuss two approximation paradigms that were used to construct many approximation

More information

Basic Graph Theory with Applications to Economics

Basic Graph Theory with Applications to Economics Basic Graph Theory with Applications to Economics Debasis Mishra February, 0 What is a Graph? Let N = {,..., n} be a finite set. Let E be a collection of ordered or unordered pairs of distinct elements

More information

Approximating Buy-at-Bulk and Shallow-light k-steiner trees

Approximating Buy-at-Bulk and Shallow-light k-steiner trees Approximating Buy-at-Bulk and Shallow-light k-steiner trees MohammadTaghi Hajiaghayi Guy Kortsarz Mohammad R. Salavatipour Abstract We study two related network design problems with two cost functions.

More information

11. APPROXIMATION ALGORITHMS

11. APPROXIMATION ALGORITHMS 11. APPROXIMATION ALGORITHMS load balancing center selection pricing method: vertex cover LP rounding: vertex cover generalized load balancing knapsack problem Lecture slides by Kevin Wayne Copyright 2005

More information

Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret

Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret Greedy Algorithms (continued) The best known application where the greedy algorithm is optimal is surely

More information

Minimum-Spanning-Tree problem. Minimum Spanning Trees (Forests) Minimum-Spanning-Tree problem

Minimum-Spanning-Tree problem. Minimum Spanning Trees (Forests) Minimum-Spanning-Tree problem Minimum Spanning Trees (Forests) Given an undirected graph G=(V,E) with each edge e having a weight w(e) : Find a subgraph T of G of minimum total weight s.t. every pair of vertices connected in G are

More information

Advanced Operations Research Techniques IE316. Quiz 1 Review. Dr. Ted Ralphs

Advanced Operations Research Techniques IE316. Quiz 1 Review. Dr. Ted Ralphs Advanced Operations Research Techniques IE316 Quiz 1 Review Dr. Ted Ralphs IE316 Quiz 1 Review 1 Reading for The Quiz Material covered in detail in lecture. 1.1, 1.4, 2.1-2.6, 3.1-3.3, 3.5 Background material

More information

Introduction to Mathematical Programming IE496. Final Review. Dr. Ted Ralphs

Introduction to Mathematical Programming IE496. Final Review. Dr. Ted Ralphs Introduction to Mathematical Programming IE496 Final Review Dr. Ted Ralphs IE496 Final Review 1 Course Wrap-up: Chapter 2 In the introduction, we discussed the general framework of mathematical modeling

More information

Approximation Algorithms

Approximation Algorithms Approximation Algorithms Lecture 14 01/25/11 1 - Again Problem: Steiner Tree. Given an undirected graph G=(V,E) with non-negative edge costs c : E Q + whose vertex set is partitioned into required vertices

More information

A Reduction of Conway s Thrackle Conjecture

A Reduction of Conway s Thrackle Conjecture A Reduction of Conway s Thrackle Conjecture Wei Li, Karen Daniels, and Konstantin Rybnikov Department of Computer Science and Department of Mathematical Sciences University of Massachusetts, Lowell 01854

More information

1 Bipartite maximum matching

1 Bipartite maximum matching Cornell University, Fall 2017 Lecture notes: Matchings CS 6820: Algorithms 23 Aug 1 Sep These notes analyze algorithms for optimization problems involving matchings in bipartite graphs. Matching algorithms

More information

Polynomial-Time Approximation Algorithms

Polynomial-Time Approximation Algorithms 6.854 Advanced Algorithms Lecture 20: 10/27/2006 Lecturer: David Karger Scribes: Matt Doherty, John Nham, Sergiy Sidenko, David Schultz Polynomial-Time Approximation Algorithms NP-hard problems are a vast

More information

Lecture 5: Duality Theory

Lecture 5: Duality Theory Lecture 5: Duality Theory Rajat Mittal IIT Kanpur The objective of this lecture note will be to learn duality theory of linear programming. We are planning to answer following questions. What are hyperplane

More information

11.1 Facility Location

11.1 Facility Location CS787: Advanced Algorithms Scribe: Amanda Burton, Leah Kluegel Lecturer: Shuchi Chawla Topic: Facility Location ctd., Linear Programming Date: October 8, 2007 Today we conclude the discussion of local

More information

2386 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 52, NO. 6, JUNE 2006

2386 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 52, NO. 6, JUNE 2006 2386 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 52, NO. 6, JUNE 2006 The Encoding Complexity of Network Coding Michael Langberg, Member, IEEE, Alexander Sprintson, Member, IEEE, and Jehoshua Bruck,

More information

A 4-Approximation Algorithm for k-prize Collecting Steiner Tree Problems

A 4-Approximation Algorithm for k-prize Collecting Steiner Tree Problems arxiv:1802.06564v1 [cs.cc] 19 Feb 2018 A 4-Approximation Algorithm for k-prize Collecting Steiner Tree Problems Yusa Matsuda and Satoshi Takahashi The University of Electro-Communications, Japan February

More information

Parameterized graph separation problems

Parameterized graph separation problems Parameterized graph separation problems Dániel Marx Department of Computer Science and Information Theory, Budapest University of Technology and Economics Budapest, H-1521, Hungary, dmarx@cs.bme.hu Abstract.

More information

4 Greedy Approximation for Set Cover

4 Greedy Approximation for Set Cover COMPSCI 532: Design and Analysis of Algorithms October 14, 2015 Lecturer: Debmalya Panigrahi Lecture 12 Scribe: Allen Xiao 1 Overview In this lecture, we introduce approximation algorithms and their analysis

More information

6.854 Advanced Algorithms. Scribes: Jay Kumar Sundararajan. Duality

6.854 Advanced Algorithms. Scribes: Jay Kumar Sundararajan. Duality 6.854 Advanced Algorithms Scribes: Jay Kumar Sundararajan Lecturer: David Karger Duality This lecture covers weak and strong duality, and also explains the rules for finding the dual of a linear program,

More information

Approximation algorithms for minimum-cost k-(s, T ) connected digraphs

Approximation algorithms for minimum-cost k-(s, T ) connected digraphs Approximation algorithms for minimum-cost k-(s, T ) connected digraphs J. Cheriyan B. Laekhanukit November 30, 2010 Abstract We introduce a model for NP-hard problems pertaining to the connectivity of

More information

Number Theory and Graph Theory

Number Theory and Graph Theory 1 Number Theory and Graph Theory Chapter 6 Basic concepts and definitions of graph theory By A. Satyanarayana Reddy Department of Mathematics Shiv Nadar University Uttar Pradesh, India E-mail: satya8118@gmail.com

More information

11. APPROXIMATION ALGORITHMS

11. APPROXIMATION ALGORITHMS Coping with NP-completeness 11. APPROXIMATION ALGORITHMS load balancing center selection pricing method: weighted vertex cover LP rounding: weighted vertex cover generalized load balancing knapsack problem

More information

Greedy algorithms is another useful way for solving optimization problems.

Greedy algorithms is another useful way for solving optimization problems. Greedy Algorithms Greedy algorithms is another useful way for solving optimization problems. Optimization Problems For the given input, we are seeking solutions that must satisfy certain conditions. These

More information