Mathematical Programming

, Volume 149, Issue 1–2, pp 391–424 | Cite as

Automatic Dantzig–Wolfe reformulation of mixed integer programs

  • Martin Bergner
  • Alberto Caprara
  • Alberto Ceselli
  • Fabio Furini
  • Marco E. LübbeckeEmail author
  • Enrico Malaguti
  • Emiliano Traversi
Full Length Paper Series A


Dantzig–Wolfe decomposition (or reformulation) is well-known to provide strong dual bounds for specially structured mixed integer programs (MIPs). However, the method is not implemented in any state-of-the-art MIP solver as it is considered to require structural problem knowledge and tailoring to this structure. We provide a computational proof-of-concept that the reformulation can be automated. That is, we perform a rigorous experimental study, which results in identifying a score to estimate the quality of a decomposition: after building a set of potentially good candidates, we exploit such a score to detect which decomposition might be useful for Dantzig–Wolfe reformulation of a MIP. We experiment with general instances from MIPLIB2003 and MIPLIB2010 for which a decomposition method would not be the first choice, and demonstrate that strong dual bounds can be obtained from the automatically reformulated model using column generation. Our findings support the idea that Dantzig–Wolfe reformulation may hold more promise as a general-purpose tool than previously acknowledged by the research community.


Dantzig–Wolfe decomposition Column generation Block-diagonal matrix Matrix re-ordering Automatic reformulation Hypergraph partitioning 

Mathematics Subject Classification (2000)

90C11 49M27 65K05 



We sincerely thank an anonymous referee for thoughtful and motivating feedback, which led to a more meaningful experimental setup and a much improved organization of the material.

Supplementary material

10107_2014_761_MOESM1_ESM.pdf (1011 kb)
Supplementary material 1 (pdf 1010 KB)


  1. 1.
    Achterberg, T., Koch, Th., Martin, A.: MIPLIB 2003. Oper. Res. Lett. 34(4), 361–372 (2006)Google Scholar
  2. 2.
    Aykanat, C., Pinar, A., Çatalyürek, Ü.V.: Permuting sparse rectangular matrices into block-diagonal form. SIAM J. Sci. Comput. 25, 1860–1879 (2004)CrossRefzbMATHMathSciNetGoogle Scholar
  3. 3.
    Bergner, M., Caprara, A., Furini, F., Lübbecke, M.E., Malaguti, E., Traversi, E.: Partial convexification of general MIPs by Dantzig–Wolfe reformulation. In: Günlük, O., Woeginger, G.J., (eds.) Integer Programming and Combinatorial Optimization, volume 6655 of Lect. Notes Comput. Sci., pp. 39–51, Springer, Berlin (2011)Google Scholar
  4. 4.
    Borndörfer, R., Ferreira, C.E., Martin, A.: Decomposing matrices into blocks. SIAM J. Optim. 9(1), 236–269 (1998)CrossRefzbMATHGoogle Scholar
  5. 5.
    Caprara, A., Furini, F., Malaguti, E.: Uncommon Dantzig–Wolfe reformulation for the temporal knapsack problem. INFORMS J. Comput. 25(3), 560–571 (2013)CrossRefMathSciNetGoogle Scholar
  6. 6.
    Cleveland, W.S.: Robust locally weighted regression and smoothing scatterplots. J. Am. Stat. Assoc. 74(368), 829–836 (1979)CrossRefzbMATHMathSciNetGoogle Scholar
  7. 7.
    Colombo, M., Grothey, A., Hogg, J., Woodsend, K., Gondzio, J.: A structure-conveying modelling language for mathematical and stochastic programming. Math. Program. Comput. 1, 223–247 (2009)CrossRefzbMATHMathSciNetGoogle Scholar
  8. 8.
    Desaulniers, G., Desrosiers, J., Solomon, M.M. (eds.): Column Generation. Springer, Berlin (2005)Google Scholar
  9. 9.
    Desrosiers, J., Lübbecke, M.E.: A primer in column generation. In: Desaulniers et al. [8], pp. 1–32.Google Scholar
  10. 10.
    Dolan, E.D., Moré, J.J.: Benchmarking optimization software with performance profiles. Math. Program. 91, 201–213 (2002)CrossRefzbMATHMathSciNetGoogle Scholar
  11. 11.
    du Merle, O., Villeneuve, D., Desrosiers, J., Hansen, P.: Stabilized column generation. Discret. Math. 194, 229–237 (1999)CrossRefzbMATHGoogle Scholar
  12. 12.
    Ferris, M.C., Horn, J.D.: Partitioning mathematical programs for parallel solution. Math. Program. 80(1), 35–61 (1998)CrossRefzbMATHMathSciNetGoogle Scholar
  13. 13.
    Fragnière, E., Gondzio, J., Sarkissian, R., Vial, J.-Ph.: A structure-exploiting tool in algebraic modeling languages. Manag. Sci. 46, 1145–1158 (2000)Google Scholar
  14. 14.
    Galati, M.V., Pratt, R.: The new decomposition algorithm in SAS/OR optimization. In: XXI International Symposium on Mathematical Programming (2012)Google Scholar
  15. 15.
    Galati, M.V., Ralphs, T.K., Wang, J.: Computational experience with generic decomposition using the DIP framework. In: Proceedings of RAMP 2012. COR@L Laboratory, Lehigh University (2012)Google Scholar
  16. 16.
    Gamrath, G., Lübbecke, M.E.: Experiments with a generic Dantzig–Wolfe decomposition for integer programs. In: Festa, P. (ed.) Proceedings of the 9th Symposium on Experimental Algorithms (SEA), volume 6049 of Lect. Notes Comput. Sci., pp. 239–252, Springer, Berlin (2010)Google Scholar
  17. 17.
    Geoffrion, A.M.: Lagrangean relaxation for integer programming. Math. Program. Stud. 2, 82–114 (1974)CrossRefMathSciNetGoogle Scholar
  18. 18.
    Karypis, G., Aggarwal, R., Kumar, V., Shekhar, S.: Multilevel hypergraph partitioning: application in VLSI domain. IEEE Trans. VLSI Syst. 20(1), (1999)Google Scholar
  19. 19.
    Karypis, G., Kumar, V.: hmetis 1.5: a hypergraph partitioning package. Technical report, Department of Computer Science, University of Minnesota (1998)Google Scholar
  20. 20.
    Koch, Th., Achterberg, T., Andersen, E., Bastert, O., Berthold, T., Bixby, R.E., Danna, E., Gamrath, G., Gleixner, A.M., Heinz, S., Lodi, A., Mittelmann, H., Ralphs, T., Salvagnin, D., Steffy, D.E., Wolter, K.: MIPLIB 2010—mixed integer programming library version 5. Math. Program. Comput. 3(2), 103–163 (2011)Google Scholar
  21. 21.
    Poggi de Aragão, M., Uchoa, E.: Integer program reformulation for robust branch-and-cut-and-price algorithms. In: Proceedings of the Conference Mathematical Program in Rio: A Conference in Honour of Nelson Maculan, pp. 56–61 (2003)Google Scholar
  22. 22.
    Puchinger, J., Stuckey, P.J., Wallace, M.G., Brand, S.: Dantzig–Wolfe decomposition and branch-and-price solving in G12. Constraints 16(1), 77–99 (2011)CrossRefzbMATHMathSciNetGoogle Scholar
  23. 23.
    Ralphs, T.K., Galati, M.V.: DIP—decomposition for integer programming. (2009)
  24. 24.
    Ralphs, T.K., Galati, M.V., Wang, J.: DIP and DipPy: towards a decomposition-based MILP solver. In: XXI International Symposium on Mathematical Programming (2012)Google Scholar
  25. 25.
    Tebboth, J., Daniel, R.: A tightly integrated modelling and optimisation library: a new framework for rapid algorithm development. Ann. Oper. Res. 104(1–4), 313–333 (2001)CrossRefzbMATHMathSciNetGoogle Scholar
  26. 26.
    Tebboth, J.R.: A computational study of Dantzig–Wolfe decomposition. PhD thesis, University of Buckingham (2001)Google Scholar
  27. 27.
    Vanderbeck, F.: BaPCod—a generic branch-and-price code. (2005)
  28. 28.
    Vanderbeck, F., Wolsey, L.: Reformulation and decomposition of integer programs. In: Jünger, M., Liebling, Th.M., Naddef, D., Nemhauser, G.L., Pulleyblank, W.R., Reinelt, G., Rinaldi, G., Wolsey, L.A. (eds.) 50 Years of Integer Programming 1958–2008. Springer, Berlin (2010)Google Scholar
  29. 29.
    Wang, J., Ralphs, T.K.: Computational experience with hypergraph-based methods for automatic decomposition in integer programming. In: Gomes, C., Sellmann, M. (eds.) Integration of AI and OR Techniques in Constraint Programming for Combinatorial Optimization Problems, volume 7874 of Lect. Notes Comput. Sci., pp. 394–402. Springer, Berlin (2013)CrossRefGoogle Scholar
  30. 30.
    Weil, R.L., Kettler, P.C.: Rearranging matrices to block-angular form for decomposition (and other) algorithms. Manag. Sci. 18(1), 98–108 (1971)CrossRefzbMATHMathSciNetGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg and Mathematical Optimization Society 2014

Authors and Affiliations

  • Martin Bergner
    • 1
  • Alberto Caprara
    • 4
  • Alberto Ceselli
    • 2
  • Fabio Furini
    • 3
  • Marco E. Lübbecke
    • 1
    Email author
  • Enrico Malaguti
    • 4
  • Emiliano Traversi
    • 5
  1. 1.Operations ResearchRWTH Aachen UniversityAachenGermany
  2. 2.Dipartimento di InformaticaUniversità degli Studi di MilanoCremaItaly
  3. 3.LAMSADEUniversité Paris-DauphineParisFrance
  4. 4.DEIUniversità di BolognaBolognaItaly
  5. 5.LIPNÉquipe AOC, Université Paris 13VilletaneuseFrance

Personalised recommendations