International Journal of Parallel Programming

, Volume 43, Issue 5, pp 840–875

A Fast Parallel Implementation of a PTAS for Fractional Packing and Covering Linear Programs

  • Slobodan Jelić
  • Sören Laue
  • Domagoj Matijević
  • Patrick Wijerama
Article

Abstract

We present a parallel implementation of the randomized \((1+\varepsilon )\) approximation algorithm for packing and covering linear programs presented by Koufogiannakis and Young (2007). Their approach builds on ideas of the sublinear time algorithm of Grigoriadis and Khachiyan’s (Oper Res Lett 18(2):53–58, 1995) and Garg and Könemann’s (SIAM J Comput 37(2):630–652, 2007) non-uniform-increment amortization scheme. With high probability it computes a feasible primal and dual solution whose costs are within a factor of \(1+\varepsilon \) of the optimal cost. In order to make their algorithm more parallelizable we also implemented a deterministic version of the algorithm, i.e. instead of updating a single random entry at each iteration we updated deterministically many entries at once. This slowed down a single iteration of the algorithm but allowed for larger step-sizes which lead to fewer iterations. We use NVIDIA’s parallel computing architecture CUDA for the parallel environment. We report a speedup between one and two orders of magnitude over the times reported by Koufogiannakis and Young (2007).

Keywords

Fractional packing and covering linear programs Randomized algorithm Derandomized algorithm General-purpose graphics processing unit computation 

References

  1. 1.
  2. 2.
    Arora, S., Hazan, E., Kale, S.: The multiplicative weights update method: a meta algorithm and applications. Theory Comput. 8, 121–164 (2012)MathSciNetCrossRefGoogle Scholar
  3. 3.
    Applegate, D., Archer, A., Gopalakrishnan, V., Lee, S., Ramakrishnan, K.K.: Content placement via the exponential potential function method. In: Conference on Integer Programming and Combinatorial Optimization, pp. 49–61 (2013)Google Scholar
  4. 4.
    Ben-Moshe, B., Katz, M.J., Mitchell, J.S.B.: A constant-factor approximation algorithm for optimal 1.5D terrain guarding. SIAM J. Comput. 36(6), 1631–1647 (2007)MathSciNetCrossRefMATHGoogle Scholar
  5. 5.
    Bienstock, D.: Potential Function Methods for Approximately Solving Linear Programming Problems, Theory and Practice. Kluwer, Boston (2002)MATHGoogle Scholar
  6. 6.
    Chen, D.Z., Estivill-Castro, V., Urrutia, J.: Optimal guarding of polygons and monotone chains. In: Proceedings of the 7th Canadian Conference on Computational Geometry, pp. 133–138 (1995)Google Scholar
  7. 7.
    King, J.: A 4-approximation algorithm for guarding 1.5-dimensional terrains. In: Proceedings of the 13th Latin American Symposium on Theoretical Informatics, pp. 629–640 (2006)Google Scholar
  8. 8.
    Elbassioni, K., Krohn, E., Matijević, D., Mestre, J., Ševerdija, D.: Improved approximations for guarding 1.5-dimensional terrains. Algorithmica 60(2), 451–463 (2011)MathSciNetCrossRefMATHGoogle Scholar
  9. 9.
    IBM ILOG CPLEX: CPLEX Users Manual, Version 12, Release 4 (2011)Google Scholar
  10. 10.
    Gurobi Optimization Inc.: Gurobi Optimizer Reference Manual (2013)Google Scholar
  11. 11.
    Koufogiannakis, C., Young, N.: Beating simplex for fractional packing and covering linear programs. In: Foundations of Computer Science, 2007. FOCS’07. 48th Annual IEEE Symposium on, IEEE, pp. 494–504 (2007)Google Scholar
  12. 12.
    Koufogiannakis, C., Young, N.E.: A nearly linear-time PTAS for explicit fractional packing and covering linear programs. Algorithmica 70(4), 648–674 (2014)MathSciNetCrossRefGoogle Scholar
  13. 13.
    Garg, N., Könemann, J.: Faster and simpler algorithms for multicommodity flow and other fractional packing problems. SIAM J. Comput. 37(2), 630–652 (2007)MathSciNetCrossRefMATHGoogle Scholar
  14. 14.
    Grigoriadis, M.D., Khachiyan, L.G.: An interior-point method for bordered blockdiagonal linear programs. SIAM J. Optim. 6(4), 913–932 (1996)MathSciNetCrossRefMATHGoogle Scholar
  15. 15.
    Luby, M., Nisan, N.: A parallel approximation algorithm for positive linear programming. In: Proceedings of the Twenty-Fifth Annual ACM Symposium on Theory of computing—STOC ’93, pp. 448–457. ACM Press, New York (1993)Google Scholar
  16. 16.
    Young, N.: Sequential and parallel algorithms for mixed packing and covering. In: Proceedings 2001 IEEE International Conference on Cluster Computing, IEEE Comput. Soc, pp. 538–546 (2001)Google Scholar
  17. 17.
    Kuhn, H.W., Tucker, A.W.: Review of ‘A numerical method for determination of the value and the best strategies of a zero-sum two-person game with large numbers of strategies’. In: Von Neumann, J (ed.) Collected Works, vol. 6, pp. 96–97. Pergamon Press (1963)Google Scholar
  18. 18.
    Grigoriadis, M.D., Khachiyan, L.G.: A sublinear-time randomized approximation algorithm for matrix games. Oper. Res. Lett. 18(2), 53–58 (1995)MathSciNetCrossRefMATHGoogle Scholar
  19. 19.
    Young, N.: K-medians, facility location, and the Chernoff-Wald bound. In: SODA ’00 Proceedings of the Eleventh Annual ACM-SIAM Symposium on Discrete Algorithms, pp. 86–95. SIAM (2000)Google Scholar
  20. 20.
    Hong, S., Kim, S.K., Oguntebi, T., Olukotun, K.: Accelerating cuda graph algorithms at maximum warp. In: Proceedings of the 16th ACM Symposium on Principles and Practice of Parallel Programming, PPoPP ’11, pp. 267–276. ACM (2011)Google Scholar
  21. 21.
    JáJá, J.: An Introduction to Parallel Algorithms. Addison-Wesley, Reading (1992)MATHGoogle Scholar
  22. 22.
    NVIDIA CUDA C Programming GuideGoogle Scholar
  23. 23.
    Kirk, D.B., Hwu, W.-M.W.: Programming Massively Parallel Processors: A Hands-On Approach. Morgan Kaufmann, Los Altos (2012)Google Scholar
  24. 24.
    Madry, A.: Faster approximation schemes for fractional multicommodity flow problems via dynamic graph algorithms. In: Symposium on the Theory of Computing, pp. 121–130 (2010)Google Scholar
  25. 25.
    Plotkin, S., Shmoys, D., Tardos, E.: Fast approximation algorithms for fractional packing and covering problems. Math. Oper. Res. 20, 257–301 (1995)MathSciNetCrossRefMATHGoogle Scholar
  26. 26.
    Sanders, J., Kandrot, E.: CUDA by Example: An Introduction to General-Purpose GPU Programming, 1st edn. Addison-Wesley Professional, Reading (2010)Google Scholar
  27. 27.
    Schultz, G., Meyer, R.R.: An interior-point method for block angular optimization. SIAM J. Optim. 1(1), 583–602 (1991)MathSciNetCrossRefMATHGoogle Scholar
  28. 28.
    Matias, Y., Vitter, J.S., Ni, W.: Dynamic generation of discrete random variates. Theory Comput. Syst. 36(4), 329–358 (2003)MathSciNetCrossRefMATHGoogle Scholar
  29. 29.
    Hagerup, T., Mehlhorn, K., Munro, J.I.: Optimal algorithms for generating discrete random variables with changing distributions. In: Proceedings 20th International Conference on Automata, Languages and Programming, vol. 700, pp. 253–264 (1993)Google Scholar
  30. 30.
    NVIDIA CUDA SDK 2.1. Matrix multiplicationGoogle Scholar
  31. 31.
    Manshadi, F. M., Awerbuch, B., Gemulla, R., Khandekar, R., Mestre, J., Sozio, M.: A distributed algorithm for large-scale generalized matching. In: Proceedings of the 39th International Conference on Very Large Data Bases (2013)Google Scholar
  32. 32.
    Awerbuch, B., Khandekar, R.: Stateless distributed gradient descent for positive linear programs. SIAM J. Comput. 38(6), 2468–2486 (2009)MathSciNetCrossRefMATHGoogle Scholar

Copyright information

© Springer Science+Business Media New York 2015

Authors and Affiliations

  • Slobodan Jelić
    • 1
  • Sören Laue
    • 2
  • Domagoj Matijević
    • 1
  • Patrick Wijerama
    • 3
  1. 1.Department of MathematicsUniversity of OsijekOsijekCroatia
  2. 2.Lehrstuhl für Theoretische Informatik II, Fakultät für Mathematik und InformatikFriedrich-Schiller-Universität JenaJenaGermany
  3. 3.Institut für Symbolisches RechnenJohannes Kepler Universität LinzHagenberg im MühlkreisAustria

Personalised recommendations