International Journal of Parallel Programming

, Volume 43, Issue 5, pp 840–875 | Cite as

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

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


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).


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



We would like to thank Neal E. Young for suggestions regarding the parallelization of his algorithm and for sharing the code of his sequential implementation with us. We would also like to thank Khaled Elbassioni for letting us use his lecture notes about fast approximation schemes for packing and covering LPs. Sören Laue acknowledge the support of Deutsche Forschungsgemeinschaft (DFG) under grant GI-711/5-1 within the priority program “Algorithms for Big Data”. This research was done while PatrickWijerama was at the Department of Mathematics in Osijek, Croatia, and was supported by the IAESTE Internship Program.


  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)MathSciNetCrossRefzbMATHGoogle Scholar
  5. 5.
    Bienstock, D.: Potential Function Methods for Approximately Solving Linear Programming Problems, Theory and Practice. Kluwer, Boston (2002)zbMATHGoogle 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)MathSciNetCrossRefzbMATHGoogle 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)MathSciNetCrossRefzbMATHGoogle 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)MathSciNetCrossRefzbMATHGoogle 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)MathSciNetCrossRefzbMATHGoogle 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)zbMATHGoogle 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)MathSciNetCrossRefzbMATHGoogle 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)MathSciNetCrossRefzbMATHGoogle Scholar
  28. 28.
    Matias, Y., Vitter, J.S., Ni, W.: Dynamic generation of discrete random variates. Theory Comput. Syst. 36(4), 329–358 (2003)MathSciNetCrossRefzbMATHGoogle 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)MathSciNetCrossRefzbMATHGoogle Scholar

Copyright information

© Springer Science+Business Media New York 2015

Authors and Affiliations

  • Slobodan Jelić
    • 1
    Email author
  • 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