Combinatorial n-fold integer programming and applications

  • Dušan Knop
  • Martin Koutecký
  • Matthias MnichEmail author
Full Length Paper Series A


Many fundamental \(\mathsf {NP}\)-hard problems can be formulated as integer linear programs (ILPs). A famous algorithm by Lenstra solves ILPs in time that is exponential only in the dimension of the program, and polynomial in the size of the ILP. That algorithm became a ubiquitous tool in the design of fixed-parameter algorithms for \(\mathsf {NP}\)-hard problems, where one wishes to isolate the hardness of a problem by some parameter. However, in many cases using Lenstra’s algorithm has two drawbacks: First, the run time of the resulting algorithms is often double-exponential in the parameter, and second, an ILP formulation in small dimension cannot easily express problems involving many different costs. Inspired by the work of Hemmecke et al. (Math Program 137(1–2, Ser. A):325–341, 2013), we develop a single-exponential algorithm for so-called combinatorialn-fold integer programs, which are remarkably similar to prior ILP formulations for various problems, but unlike them, also allow variable dimension. We then apply our algorithm to many relevant problems problems like Closest String, Swap Bribery, Weighted Set Multicover, and several others, and obtain exponential speedups in the dependence on the respective parameters, the input size, or both. Unlike Lenstra’s algorithm, which is essentially a bounded search tree algorithm, our result uses the technique of augmenting steps. At its heart is a deep result stating that in combinatorial n-fold IPs, existence of an augmenting step implies existence of a “local” augmenting step, which can be found using dynamic programming. Our results provide an important insight into many problems by showing that they exhibit this phenomenon, and highlights the importance of augmentation techniques.


Integer programming Augmentation algorithm Closest string Fixed-parameter algorithms 

Mathematics Subject Classification

90C10 90C27 90C39 



  1. 1.
    Amir, A., Ficler, J., Roditty, L., Shalom, O.S.: On the efficiency of the Hamming C-centerstring problems. In: Proceedings of CPM 2014, Lecture Notes in Computer Science, vol. 8486, pp. 1–10 (2014)Google Scholar
  2. 2.
    Amir, A., Landau, G.M., Na, J.C., Park, H., Park, K., Sim, J.S.: Efficient algorithms for consensus string problems minimizing both distance sum and radius. Theor. Comput. Sci. 412(39), 5239–5246 (2011)MathSciNetzbMATHCrossRefGoogle Scholar
  3. 3.
    Avila, L.F., Garcıa, A., Serna, M.J., Thilikos, D.M.: A list of parameterized problems in bioinformatics. Tech. Rep. LSI-06-24-R, Technical University of Catalonia (2006)Google Scholar
  4. 4.
    Boucher, C., Ma, B.: Closest string with outliers. BMC Bioinform. 12((S–1)), S55 (2011)CrossRefGoogle Scholar
  5. 5.
    Boucher, C., Wilkie, K.: Why large closest string instances are easy to solve in practice. In: Proceedings of SPIRE 2010, Lecture Notes in Computer Science, vol. 6393, pp. 106–117 (2010)CrossRefGoogle Scholar
  6. 6.
    Bredereck, R., Chen, J., Faliszewski, P., Guo, J., Niedermeier, R., Woeginger, G.J.: Parameterized algorithmics for computational social choice: nine research challenges. Tsinghua Sci. Tech. 19(4), 358–373 (2014)MathSciNetCrossRefGoogle Scholar
  7. 7.
    Bredereck, R., Chen, J., Hartung, S., Kratsch, S., Niedermeier, R., Suchý, O., Woeginger, G.J.: A multivariate complexity analysis of lobbying in multiple referenda. J. Artif. Intell. Res. 50, 409–446 (2014)MathSciNetzbMATHCrossRefGoogle Scholar
  8. 8.
    Bredereck, R., Faliszewski, P., Niedermeier, R., Skowron, P., Talmon, N.: Elections with few candidates: Prices, weights, and covering problems. In: Proceedings of ADT 2015, Lecture Notes in Computer Science, vol. 9346, pp. 414–431 (2015)CrossRefGoogle Scholar
  9. 9.
    Bulteau, L., Hüffner, F., Komusiewicz, C., Niedermeier, R.: Multivariate algorithmics for NP-hard string problems. Bull. EATCS 114, (2014)Google Scholar
  10. 10.
    Chrobak, M., Dürr, C., Hurand, M., Robert, J.: Algorithms for temperature-aware task scheduling in microprocessor systems. In: Proceedings of AAIM 2008, Lecture Notes in Computer Science, vol. 5034, pp. 120–130 (2008)Google Scholar
  11. 11.
    Chubanov, S.: A polynomial-time descent method for separable convex optimization problems with linear constraints. SIAM J. Opt. 26(1), 856–889 (2016)MathSciNetzbMATHCrossRefGoogle Scholar
  12. 12.
    Cormen, T.H., Leiserson, C.E., Rivest, R.L.: Introduction to Algorithms. MIT Press, Cambridge (1990)zbMATHGoogle Scholar
  13. 13.
    Cygan, M., Fomin, F.V., Kowalik, Ł., Lokshtanov, D., Marx, D., Pilipczuk, M., Pilipczuk, M., Saurabh, S.: Parameterized Algorithms. Springer, New York (2015)zbMATHCrossRefGoogle Scholar
  14. 14.
    Dadush, D., Peikert, C., Vempala, S.: Enumerative lattice algorithms in any norm via M-ellipsoid coverings. Proc. FOCS 2011, 580–589 (2011)MathSciNetzbMATHGoogle Scholar
  15. 15.
    De Loera, J.A., Hemmecke, R., Köppe, M.: Algebraic and geometric ideas in the theory of discrete optimization. MOS-SIAM series on optimization. SIAM, 14 (2013)Google Scholar
  16. 16.
    Dorn, B., Schlotter, I.: Multivariate complexity analysis of swap bribery. Algorithmica 64(1), 126–151 (2012)MathSciNetzbMATHCrossRefGoogle Scholar
  17. 17.
    Eisenbrand, F., Hunkenschröder, C., Klein, K.M.: Faster algorithms for integer programs with block structure. In: Proceedings of ICALP 2018, Leibniz International Proceedings in Informatics, vol. 107, pp. 49:1–49:13 (2018)Google Scholar
  18. 18.
    Eisenbrand, F., Shmonin, G.: Carathéodory bounds for integer cones. Oper. Res. Lett. 34(5), 564–568 (2006)MathSciNetzbMATHCrossRefGoogle Scholar
  19. 19.
    Eisenbrand, F., Weismantel, R.: Proximity results and faster algorithms for integer programming using the Steinitz lemma. In: Proceedings of SODA 2018, pp. 808–816 (2018)zbMATHCrossRefGoogle Scholar
  20. 20.
    Elkind, E., Faliszewski, P., Slinko, A.: Swap bribery. In: Proceedings of SAGT 2009, Lecture Notes in Computer Science, vol. 5814, pp. 299–310 (2009)CrossRefGoogle Scholar
  21. 21.
    Faliszewski, P., Hemaspaandra, E., Hemaspaandra, L.A.: The complexity of bribery in elections. In: Proceedings of AAAI 2006, pp. 641–646 (2006)Google Scholar
  22. 22.
    Fellows, M.R., Gaspers, S., Rosamond, F.A.: Parameterizing by the number of numbers. Theory Comput. Syst. 50(4), 675–693 (2012)MathSciNetzbMATHCrossRefGoogle Scholar
  23. 23.
    Fellows, M.R., Lokshtanov, D., Misra, N., Rosamond, F.A., Saurabh, S.: Graph layout problems parameterized by vertex cover. In: Proceedings of ISAAC 2008, Lecture Notes in Computer Science, vol. 5369, pp. 294–305. Springer, Berlin (2008)CrossRefGoogle Scholar
  24. 24.
    Fiala, J., Gavenčiak, T., Knop, D., Koutecký, M., Kratochvíl, J.: Parameterized complexity of distance labeling and uniform channel assignment problems. Discrete Appl. Math. 248, 46–55 (2018)MathSciNetzbMATHCrossRefGoogle Scholar
  25. 25.
    Fiala, J., Golovach, P.A., Kratochvíl, J.: Parameterized complexity of coloring problems: treewidth versus vertex cover. Theor. Comput. Sci. 412(23), 2513–2523 (2011)MathSciNetzbMATHCrossRefGoogle Scholar
  26. 26.
    Fishburn, P.C.: Condorcet social choice functions. SIAM J. Appl. Math. 33(3), 469–489 (1977)MathSciNetzbMATHCrossRefGoogle Scholar
  27. 27.
    Frances, M., Litman, A.: On covering problems of codes. Theory Comput. Syst. 30(2), 113–119 (1997)MathSciNetzbMATHCrossRefGoogle Scholar
  28. 28.
    Gajarský, J., Lampis, M., Ordyniak, S.: Parameterized algorithms for modular-width. In: Proceedings of IPEC 2013, Lecture Notes in Computer Science, vol. 8246, pp. 163–176 (2013)zbMATHCrossRefGoogle Scholar
  29. 29.
    Ganian, R.: Using neighborhood diversity to solve hard problems. Tech. rep. (2012).
  30. 30.
    Ganian, R., Ordyniak, S.: The complexity landscape of decompositional parameters for ILP. Artif. Intell. 257, 61–71 (2018)MathSciNetzbMATHCrossRefGoogle Scholar
  31. 31.
    Ganian, R., Ordyniak, S., Ramanujan, M.S.: Going beyond primal treewidth for (M)ILP. Proc. AAAI 2017, 815–821 (2017)Google Scholar
  32. 32.
    Goemans, M.X., Rothvoß, T.: Polynomiality for bin packing with a constant number of item types. Proc. SODA 2014, 830–839 (2014)MathSciNetzbMATHGoogle Scholar
  33. 33.
    Gramm, J., Niedermeier, R., Rossmanith, P.: Fixed-parameter algorithms for closest string and related problems. Algorithmica 37(1), 25–42 (2003)MathSciNetzbMATHCrossRefGoogle Scholar
  34. 34.
    Grötschel, M., Lovász, L., Schrijver, A.: Geometric algorithms and combinatorial optimization, Algorithms and Combinatorics, vol. 2, 2nd edn. Springer-Verlag, Berlin (1993)zbMATHCrossRefGoogle Scholar
  35. 35.
    Hemmecke, R., Köppe, M., Weismantel, R.: Graver basis and proximity techniques for block-structured separable convex integer minimization problems. Math. Program. 145(1–2, Ser. A), 1–18 (2014)MathSciNetzbMATHCrossRefGoogle Scholar
  36. 36.
    Hemmecke, R., Onn, S., Romanchuk, L.: \(n\)-fold integer programming in cubic time. Math. Program. 137(1–2, Ser. A), 325–341 (2013)MathSciNetzbMATHCrossRefGoogle Scholar
  37. 37.
    Hermelin, D., Rozenberg, L.: Parameterized complexity analysis for the closest string with wildcards problem. Theor. Comput. Sci. 600, 11–18 (2015)MathSciNetzbMATHCrossRefGoogle Scholar
  38. 38.
    Hochbaum, D.S., Shanthikumar, J.G.: Convex separable optimization is not much harder than linear optimization. J. ACM 37(4), 843–862 (1990)MathSciNetzbMATHCrossRefGoogle Scholar
  39. 39.
    Jansen, B.M.P., Kratsch, S.: A structural approach to kernels for ILPs: treewidth and total unimodularity. In: Proceedings of ESA 2015, Lecture Notes in Computer Science, vol. 9294, pp. 779–791 (2015)CrossRefGoogle Scholar
  40. 40.
    Jansen, K., Klein, K.: About the structure of the integer cone and its application to bin packing. In: Proceedings of SODA 2017, pp. 1571–1581 (2017)Google Scholar
  41. 41.
    Jansen, K., Rohwedder, L.: On integer programming and convolution. In: Proceedings of ITCS 2019, The Leibniz International Proceedings in Informatics, vol. 124, pp. 43:1–43:17 (2018)Google Scholar
  42. 42.
    Kannan, R.: Minkowski’s convex body theorem and integer programming. Math. Oper. Res. 12(3), 415–440 (1987)MathSciNetzbMATHCrossRefGoogle Scholar
  43. 43.
    Knop, D., Koutecký, M.: Scheduling meets \(n\)-fold integer programming. J. Sched. 21(5), 493–503 (2018)MathSciNetzbMATHCrossRefGoogle Scholar
  44. 44.
    Knop, D., Koutecký, M., Masařík, T., Toufar, T.: Simplified algorithmic metatheorems beyond MSO: Treewidth and neighborhood diversity. In: Proceedings of WG 2017, Lecture Notes in Computer Sciencce, vol. 10520, pp. 344–357 (2017)CrossRefGoogle Scholar
  45. 45.
    Knop, D., Koutecký, M., Mnich, M.: Combinatorial \(n\)-fold integer programming and applications. In: Proceedings of ESA 2017, The Leibniz International Proceedings in Informatics, vol. 87, pp. 54:1–54:14 (2017)Google Scholar
  46. 46.
    Knop, D., Koutecký, M., Mnich, M.: Voting and bribing in single-exponential time. In: Proceedings of STACS 2017, The Leibniz International Proceedings in Informatics, vol. 66, pp. 46:1–46:14 (2017)Google Scholar
  47. 47.
    Koutecký, M., Levin, A., Onn, S.: A parameterized strongly polynomial algorithm for block structured integer programs. In: Proceedings of ICALP 2018, Leibniz International Proceedings in Informatics, vol. 107, pp. 85:1–85:14 (2018)Google Scholar
  48. 48.
    Kratsch, S.: On polynomial kernels for sparse integer linear programs. J. Comput. Syst. Sci. 82(5), 758–766 (2016)MathSciNetzbMATHCrossRefGoogle Scholar
  49. 49.
    Lampis, M.: Algorithmic meta-theorems for restrictions of treewidth. Algorithmica 64(1), 19–37 (2012)MathSciNetzbMATHCrossRefGoogle Scholar
  50. 50.
    Lanctôt, J.K., Li, M., Ma, B., Wang, S., Zhang, L.: Distinguishing string selection problems. Inf. Comput. 185(1), 41–55 (2003)MathSciNetzbMATHCrossRefGoogle Scholar
  51. 51.
    Lanctôt, J. Kevin: Some string problems in computational biology. Ph.D. thesis, University of Waterloo (2000)Google Scholar
  52. 52.
    Lenstra Jr., H.W.: Integer programming with a fixed number of variables. Math. Oper. Res. 8(4), 538–548 (1983)MathSciNetzbMATHCrossRefGoogle Scholar
  53. 53.
    Li, M., Ma, B., Wang, L.: On the closest string and substring problems. J. ACM 49(2), 157–171 (2002)MathSciNetzbMATHCrossRefGoogle Scholar
  54. 54.
    Lokshtanov, D.: Parameterized integer quadratic programming: variables and coefficients. Tech. rep. (2015).
  55. 55.
    Ma, B., Sun, X.: More efficient algorithms for closest string and substring problems. SIAM J. Comput. 39(4), 1432–1443 (2009)MathSciNetzbMATHCrossRefGoogle Scholar
  56. 56.
    Marx, D.: Closest substring problems with small distances. SIAM J. Comput. 38(4), 1382–1410 (2008)MathSciNetzbMATHCrossRefGoogle Scholar
  57. 57.
    Mnich, M., van Bevern, R.: Parameterized complexity of machine scheduling: 15 open problems. Comput. Oper. Res. 100, 254–261 (2018)MathSciNetzbMATHCrossRefGoogle Scholar
  58. 58.
    Mnich, M., Wiese, A.: Scheduling and fixed-parameter tractability. Math. Program. 154((1–2, Ser. B)), 533–562 (2015)MathSciNetzbMATHCrossRefGoogle Scholar
  59. 59.
    Niedermeier, R.: Ubiquitous parameterization—invitation to fixed-parameter algorithms. In: Proceedings of MFCS 2004, Lecture Notes in Computer Science, vol. 3153, pp. 84–103 (2004)Google Scholar
  60. 60.
    Nishimura, N., Simjour, N.: Enumerating neighbour and closest strings. In: Proceedings of IPEC 2012, Lecture Notes in Computer Science, vol. 7535, pp. 252–263 (2012)zbMATHCrossRefGoogle Scholar
  61. 61.
    Onn, S.: Nonlinear discrete optimization. Zurich Lectures in Advanced Mathematics, European Mathematical Society (2010)Google Scholar
  62. 62.
    Onn, S.: Huge multiway table problems. Discrete Optim. 14, 72–77 (2014)MathSciNetzbMATHCrossRefGoogle Scholar
  63. 63.
    Onn, S., Sarrabezolles, P.: Huge unimodular \(n\)-fold programs. SIAM J. Discrete Math. 29(4), 2277–2283 (2015)MathSciNetzbMATHCrossRefGoogle Scholar
  64. 64.
    Papadimitriou, C.H.: On the complexity of integer programming. J. ACM 28(4) (1981)MathSciNetzbMATHCrossRefGoogle Scholar
  65. 65.
    Stojanovic, N., Berman, P., Gumucio, D., Hardison, R.C., Miller, W.: A linear-time algorithm for the 1-mismatch problem. In: Proceedings of WADS 1997, Lecture Notes in Computer Science, vol. 1272, pp. 126–135 (1997)Google Scholar

Copyright information

© Springer-Verlag GmbH Germany, part of Springer Nature and Mathematical Optimization Society 2019

Authors and Affiliations

  1. 1.Department of Theoretical Computer Science, Faculty of Information TechnologyCzech Technical University in PraguePragueCzech Republic
  2. 2.Technion - Israel Institute of TechnologyHaifaIsrael
  3. 3.Charles UniversityPragueCzech Republic
  4. 4.TU Hamburg, Institute for Algorithms and ComplexityHamburgGermany
  5. 5.Universität BonnBonnGermany

Personalised recommendations