Combinatorial n-fold integer programming and applications


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 combinatorial n-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.

This is a preview of subscription content, access via your institution.

Fig. 1


  1. 1.

    Given an IP, we say that to solve it is to either (i) declare it infeasible or unbounded or (ii) find a minimizer of it.

  2. 2.

    The continuous relaxation of (IP) is the problem \(\min \{f({\mathbf{x }}) \mid A{\mathbf{x }}= {\mathbf{b }}, \, {\mathbf{l }}\le {\mathbf{x }}\le {\mathbf{u }}, {\mathbf{x }}\in \mathbb {R}^n\}\).

  3. 3.

    An instance \(I'\) is equivalent to I if there is an linear mapping \(\varphi \) from the feasible solutions of \(I'\) to the feasible solutions of I preserving objective values, such that \(\varphi \) is an injection. Specifically here \(I'\) uses auxiliary variables and \(\varphi \) is a mapping dropping these variables.

  4. 4.

    In fact, our result holds even in the case when f is an arbitrary (i.e. non-convex) function, but this does not imply any more power because of bounded domains.


  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)

  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)

    MathSciNet  MATH  Google 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)

  4. 4.

    Boucher, C., Ma, B.: Closest string with outliers. BMC Bioinform. 12((S–1)), S55 (2011)

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

  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)

    MathSciNet  Google 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)

    MathSciNet  MATH  Google 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)

  9. 9.

    Bulteau, L., Hüffner, F., Komusiewicz, C., Niedermeier, R.: Multivariate algorithmics for NP-hard string problems. Bull. EATCS 114, (2014)

  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)

  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)

    MathSciNet  MATH  Google Scholar 

  12. 12.

    Cormen, T.H., Leiserson, C.E., Rivest, R.L.: Introduction to Algorithms. MIT Press, Cambridge (1990)

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

  14. 14.

    Dadush, D., Peikert, C., Vempala, S.: Enumerative lattice algorithms in any norm via M-ellipsoid coverings. Proc. FOCS 2011, 580–589 (2011)

    MathSciNet  MATH  Google 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)

  16. 16.

    Dorn, B., Schlotter, I.: Multivariate complexity analysis of swap bribery. Algorithmica 64(1), 126–151 (2012)

    MathSciNet  MATH  Google 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)

  18. 18.

    Eisenbrand, F., Shmonin, G.: Carathéodory bounds for integer cones. Oper. Res. Lett. 34(5), 564–568 (2006)

    MathSciNet  MATH  Google 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)

  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)

  21. 21.

    Faliszewski, P., Hemaspaandra, E., Hemaspaandra, L.A.: The complexity of bribery in elections. In: Proceedings of AAAI 2006, pp. 641–646 (2006)

  22. 22.

    Fellows, M.R., Gaspers, S., Rosamond, F.A.: Parameterizing by the number of numbers. Theory Comput. Syst. 50(4), 675–693 (2012)

    MathSciNet  MATH  Google 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)

  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)

    MathSciNet  MATH  Google 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)

    MathSciNet  MATH  Google Scholar 

  26. 26.

    Fishburn, P.C.: Condorcet social choice functions. SIAM J. Appl. Math. 33(3), 469–489 (1977)

    MathSciNet  MATH  Google Scholar 

  27. 27.

    Frances, M., Litman, A.: On covering problems of codes. Theory Comput. Syst. 30(2), 113–119 (1997)

    MathSciNet  MATH  Google 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)

  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)

    MathSciNet  MATH  Google 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)

    MathSciNet  MATH  Google Scholar 

  33. 33.

    Gramm, J., Niedermeier, R., Rossmanith, P.: Fixed-parameter algorithms for closest string and related problems. Algorithmica 37(1), 25–42 (2003)

    MathSciNet  MATH  Google 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)

  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)

    MathSciNet  MATH  Google 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)

    MathSciNet  MATH  Google Scholar 

  37. 37.

    Hermelin, D., Rozenberg, L.: Parameterized complexity analysis for the closest string with wildcards problem. Theor. Comput. Sci. 600, 11–18 (2015)

    MathSciNet  MATH  Google 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)

    MathSciNet  MATH  Google 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)

  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)

  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)

  42. 42.

    Kannan, R.: Minkowski’s convex body theorem and integer programming. Math. Oper. Res. 12(3), 415–440 (1987)

    MathSciNet  MATH  Google Scholar 

  43. 43.

    Knop, D., Koutecký, M.: Scheduling meets \(n\)-fold integer programming. J. Sched. 21(5), 493–503 (2018)

    MathSciNet  MATH  Google 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)

  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)

  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)

  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)

  48. 48.

    Kratsch, S.: On polynomial kernels for sparse integer linear programs. J. Comput. Syst. Sci. 82(5), 758–766 (2016)

    MathSciNet  MATH  Google Scholar 

  49. 49.

    Lampis, M.: Algorithmic meta-theorems for restrictions of treewidth. Algorithmica 64(1), 19–37 (2012)

    MathSciNet  MATH  Google 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)

    MathSciNet  MATH  Google Scholar 

  51. 51.

    Lanctôt, J. Kevin: Some string problems in computational biology. Ph.D. thesis, University of Waterloo (2000)

  52. 52.

    Lenstra Jr., H.W.: Integer programming with a fixed number of variables. Math. Oper. Res. 8(4), 538–548 (1983)

    MathSciNet  MATH  Google Scholar 

  53. 53.

    Li, M., Ma, B., Wang, L.: On the closest string and substring problems. J. ACM 49(2), 157–171 (2002)

    MathSciNet  MATH  Google 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)

    MathSciNet  MATH  Google Scholar 

  56. 56.

    Marx, D.: Closest substring problems with small distances. SIAM J. Comput. 38(4), 1382–1410 (2008)

    MathSciNet  MATH  Google Scholar 

  57. 57.

    Mnich, M., van Bevern, R.: Parameterized complexity of machine scheduling: 15 open problems. Comput. Oper. Res. 100, 254–261 (2018)

    MathSciNet  MATH  Google Scholar 

  58. 58.

    Mnich, M., Wiese, A.: Scheduling and fixed-parameter tractability. Math. Program. 154((1–2, Ser. B)), 533–562 (2015)

    MathSciNet  MATH  Google 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)

  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)

  61. 61.

    Onn, S.: Nonlinear discrete optimization. Zurich Lectures in Advanced Mathematics, European Mathematical Society (2010)

  62. 62.

    Onn, S.: Huge multiway table problems. Discrete Optim. 14, 72–77 (2014)

    MathSciNet  MATH  Google Scholar 

  63. 63.

    Onn, S., Sarrabezolles, P.: Huge unimodular \(n\)-fold programs. SIAM J. Discrete Math. 29(4), 2277–2283 (2015)

    MathSciNet  MATH  Google Scholar 

  64. 64.

    Papadimitriou, C.H.: On the complexity of integer programming. J. ACM 28(4) (1981)

  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)

Download references

Author information



Corresponding author

Correspondence to Matthias Mnich.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Research supported by CE-ITI Grant Project P202/12/G061 of GA ČR, GA UK Grant Project 1784214, ERC Starting Grant 306465 (BeyondWorstCase), DFG Grant MN 59/4-1, Israel Science Foundation Grant 308/18, and Charles University project UNCE/SCI/004. An extended abstract of these results appeared in the Proceedings of the 25th European Symposium on Algorithms [45].

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Knop, D., Koutecký, M. & Mnich, M. Combinatorial n-fold integer programming and applications. Math. Program. 184, 1–34 (2020).

Download citation


  • Integer programming
  • Augmentation algorithm
  • Closest string
  • Fixed-parameter algorithms

Mathematics Subject Classification

  • 90C10
  • 90C27
  • 90C39