21,116 research outputs found

    Bicriteria Network Design Problems

    Full text link
    We study a general class of bicriteria network design problems. A generic problem in this class is as follows: Given an undirected graph and two minimization objectives (under different cost functions), with a budget specified on the first, find a <subgraph \from a given subgraph-class that minimizes the second objective subject to the budget on the first. We consider three different criteria - the total edge cost, the diameter and the maximum degree of the network. Here, we present the first polynomial-time approximation algorithms for a large class of bicriteria network design problems for the above mentioned criteria. The following general types of results are presented. First, we develop a framework for bicriteria problems and their approximations. Second, when the two criteria are the same %(note that the cost functions continue to be different) we present a ``black box'' parametric search technique. This black box takes in as input an (approximation) algorithm for the unicriterion situation and generates an approximation algorithm for the bicriteria case with only a constant factor loss in the performance guarantee. Third, when the two criteria are the diameter and the total edge costs we use a cluster-based approach to devise a approximation algorithms --- the solutions output violate both the criteria by a logarithmic factor. Finally, for the class of treewidth-bounded graphs, we provide pseudopolynomial-time algorithms for a number of bicriteria problems using dynamic programming. We show how these pseudopolynomial-time algorithms can be converted to fully polynomial-time approximation schemes using a scaling technique.Comment: 24 pages 1 figur

    Composing dynamic programming tree-decomposition-based algorithms

    Full text link
    Given two integers β„“\ell and pp as well as β„“\ell graph classes H1,…,Hβ„“\mathcal{H}_1,\ldots,\mathcal{H}_\ell, the problems GraphPart(H1,…,Hβ„“,p)\mathsf{GraphPart}(\mathcal{H}_1, \ldots, \mathcal{H}_\ell,p), VertPart(H1,…,Hβ„“)\mathsf{VertPart}(\mathcal{H}_1, \ldots, \mathcal{H}_\ell), and EdgePart(H1,…,Hβ„“)\mathsf{EdgePart}(\mathcal{H}_1, \ldots, \mathcal{H}_\ell) ask, given graph GG as input, whether V(G)V(G), V(G)V(G), E(G)E(G) respectively can be partitioned into β„“\ell sets S1,…,Sβ„“S_1, \ldots, S_\ell such that, for each ii between 11 and β„“\ell, G[Vi]∈HiG[V_i] \in \mathcal{H}_i, G[Vi]∈HiG[V_i] \in \mathcal{H}_i, (V(G),Si)∈Hi(V(G),S_i) \in \mathcal{H}_i respectively. Moreover in GraphPart(H1,…,Hβ„“,p)\mathsf{GraphPart}(\mathcal{H}_1, \ldots, \mathcal{H}_\ell,p), we request that the number of edges with endpoints in different sets of the partition is bounded by pp. We show that if there exist dynamic programming tree-decomposition-based algorithms for recognizing the graph classes Hi\mathcal{H}_i, for each ii, then we can constructively create a dynamic programming tree-decomposition-based algorithms for GraphPart(H1,…,Hβ„“,p)\mathsf{GraphPart}(\mathcal{H}_1, \ldots, \mathcal{H}_\ell,p), VertPart(H1,…,Hβ„“)\mathsf{VertPart}(\mathcal{H}_1, \ldots, \mathcal{H}_\ell), and EdgePart(H1,…,Hβ„“)\mathsf{EdgePart}(\mathcal{H}_1, \ldots, \mathcal{H}_\ell). We show that, in some known cases, the obtained running times are comparable to those of the best know algorithms
    • …
    corecore