8,951 research outputs found

    Approximating Disjoint-Path Problems Using Greedy Algorithms and Packing Integer Programs

    Get PDF
    In the edge(vertex)-disjoint path problem we are given a graph GG and a set T{\cal T} of connection requests. Every connection request in T{\cal T} is a vertex pair (si,ti),(s_i,t_i), 1≀i≀K.1 \leq i \leq K. The objective is to connect a maximum number of the pairs via edge(vertex)-disjoint paths. The edge-disjoint path problem can be generalized to the multiple-source unsplittable flow problem where connection request ii has a demand ρi\rho_i and every edge ee a capacity ue.u_e. All these problems are NP-hard and have a multitude of applications in areas such as routing, scheduling and bin packing. Given the hardness of the problem, we study polynomial-time approximation algorithms. In this context, a ρ\rho-approximation algorithm is able to route at least a 1/ρ1/\rho fraction of the connection requests. Although the edge- and vertex-disjoint path problems, and more recently the unsplittable flow generalization, have been extensively studied, they remain notoriously hard to approximate with a bounded performance guarantee. For example, even for the simple edge-disjoint path problem, no o(∣E∣)o(\sqrt{|E|})-approximation algorithm is known. Moreover some of the best existing approximation ratios are obtained through sophisticated and non-standard randomized rounding schemes. In this paper we introduce techniques which yield algorithms for a wide range of disjoint-path and unsplittable flow problems. For the general unsplittable flow problem, even with weights on the commodities, our techniques lead to the first approximation algorithm and obtain an approximation ratio that matches, to within logarithmic factors, the O(∣E∣)O(\sqrt{|E|}) approximation ratio for the simple edge-disjoint path problem. In addition to this result and to improved bounds for several disjoint-path problems, our techniques simplify and unify the derivation of many existing approximation results. We use two basic techniques. First, we propose simple greedy algorithms for edge- and vertex-disjoint paths and second, we propose the use of a framework based on packing integer programs for more general problems such as unsplittable flow. A packing integer program is of the form maximize cTβ‹…x,c^{T}\cdot x, subject to Ax≀b,Ax \leq b, A,b,cβ‰₯0.A,b,c \geq 0. As part of our tools we develop improved approximation algorithms for a class of packing integer programs, a result that we believe is of independent interest

    Network Interdiction Using Adversarial Traffic Flows

    Full text link
    Traditional network interdiction refers to the problem of an interdictor trying to reduce the throughput of network users by removing network edges. In this paper, we propose a new paradigm for network interdiction that models scenarios, such as stealth DoS attack, where the interdiction is performed through injecting adversarial traffic flows. Under this paradigm, we first study the deterministic flow interdiction problem, where the interdictor has perfect knowledge of the operation of network users. We show that the problem is highly inapproximable on general networks and is NP-hard even when the network is acyclic. We then propose an algorithm that achieves a logarithmic approximation ratio and quasi-polynomial time complexity for acyclic networks through harnessing the submodularity of the problem. Next, we investigate the robust flow interdiction problem, which adopts the robust optimization framework to capture the case where definitive knowledge of the operation of network users is not available. We design an approximation framework that integrates the aforementioned algorithm, yielding a quasi-polynomial time procedure with poly-logarithmic approximation ratio for the more challenging robust flow interdiction. Finally, we evaluate the performance of the proposed algorithms through simulations, showing that they can be efficiently implemented and yield near-optimal solutions

    Fast and Deterministic Approximations for k-Cut

    Get PDF
    In an undirected graph, a k-cut is a set of edges whose removal breaks the graph into at least k connected components. The minimum weight k-cut can be computed in n^O(k) time, but when k is treated as part of the input, computing the minimum weight k-cut is NP-Hard [Goldschmidt and Hochbaum, 1994]. For poly(m,n,k)-time algorithms, the best possible approximation factor is essentially 2 under the small set expansion hypothesis [Manurangsi, 2017]. Saran and Vazirani [1995] showed that a (2 - 2/k)-approximately minimum weight k-cut can be computed via O(k) minimum cuts, which implies a O~(km) randomized running time via the nearly linear time randomized min-cut algorithm of Karger [2000]. Nagamochi and Kamidoi [2007] showed that a (2 - 2/k)-approximately minimum weight k-cut can be computed deterministically in O(mn + n^2 log n) time. These results prompt two basic questions. The first concerns the role of randomization. Is there a deterministic algorithm for 2-approximate k-cuts matching the randomized running time of O~(km)? The second question qualitatively compares minimum cut to 2-approximate minimum k-cut. Can 2-approximate k-cuts be computed as fast as the minimum cut - in O~(m) randomized time? We give a deterministic approximation algorithm that computes (2 + eps)-minimum k-cuts in O(m log^3 n / eps^2) time, via a (1 + eps)-approximation for an LP relaxation of k-cut
    • …
    corecore