Abstract
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.
Similar content being viewed by others
References
Achterberg, T., Koch, Th., Martin, A.: MIPLIB 2003. Oper. Res. Lett. 34(4), 361–372 (2006)
Aykanat, C., Pinar, A., Çatalyürek, Ü.V.: Permuting sparse rectangular matrices into block-diagonal form. SIAM J. Sci. Comput. 25, 1860–1879 (2004)
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)
Borndörfer, R., Ferreira, C.E., Martin, A.: Decomposing matrices into blocks. SIAM J. Optim. 9(1), 236–269 (1998)
Caprara, A., Furini, F., Malaguti, E.: Uncommon Dantzig–Wolfe reformulation for the temporal knapsack problem. INFORMS J. Comput. 25(3), 560–571 (2013)
Cleveland, W.S.: Robust locally weighted regression and smoothing scatterplots. J. Am. Stat. Assoc. 74(368), 829–836 (1979)
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)
Desaulniers, G., Desrosiers, J., Solomon, M.M. (eds.): Column Generation. Springer, Berlin (2005)
Desrosiers, J., Lübbecke, M.E.: A primer in column generation. In: Desaulniers et al. [8], pp. 1–32.
Dolan, E.D., Moré, J.J.: Benchmarking optimization software with performance profiles. Math. Program. 91, 201–213 (2002)
du Merle, O., Villeneuve, D., Desrosiers, J., Hansen, P.: Stabilized column generation. Discret. Math. 194, 229–237 (1999)
Ferris, M.C., Horn, J.D.: Partitioning mathematical programs for parallel solution. Math. Program. 80(1), 35–61 (1998)
Fragnière, E., Gondzio, J., Sarkissian, R., Vial, J.-Ph.: A structure-exploiting tool in algebraic modeling languages. Manag. Sci. 46, 1145–1158 (2000)
Galati, M.V., Pratt, R.: The new decomposition algorithm in SAS/OR optimization. In: XXI International Symposium on Mathematical Programming (2012)
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)
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)
Geoffrion, A.M.: Lagrangean relaxation for integer programming. Math. Program. Stud. 2, 82–114 (1974)
Karypis, G., Aggarwal, R., Kumar, V., Shekhar, S.: Multilevel hypergraph partitioning: application in VLSI domain. IEEE Trans. VLSI Syst. 20(1), (1999)
Karypis, G., Kumar, V.: hmetis 1.5: a hypergraph partitioning package. Technical report, Department of Computer Science, University of Minnesota (1998)
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)
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)
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)
Ralphs, T.K., Galati, M.V.: DIP—decomposition for integer programming. https://projects.coin-or.org/Dip (2009)
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)
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)
Tebboth, J.R.: A computational study of Dantzig–Wolfe decomposition. PhD thesis, University of Buckingham (2001)
Vanderbeck, F.: BaPCod—a generic branch-and-price code. https://wiki.bordeaux.inria.fr/realopt/pmwiki.php/Project/BaPCod (2005)
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)
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)
Weil, R.L., Kettler, P.C.: Rearranging matrices to block-angular form for decomposition (and other) algorithms. Manag. Sci. 18(1), 98–108 (1971)
Acknowledgments
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.
Author information
Authors and Affiliations
Corresponding author
Additional information
A preliminary version of this paper appeared in [3].
Martin Bergner was supported by the German Research Foundation (DFG) as part of the Priority Program “Algorithm Engineering” under Grants No. LU770/4-1 and 4-2.
Alberto Caprara: Deceased.
Electronic supplementary material
Below is the link to the electronic supplementary material.
Rights and permissions
About this article
Cite this article
Bergner, M., Caprara, A., Ceselli, A. et al. Automatic Dantzig–Wolfe reformulation of mixed integer programs. Math. Program. 149, 391–424 (2015). https://doi.org/10.1007/s10107-014-0761-5
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10107-014-0761-5
Keywords
- Dantzig–Wolfe decomposition
- Column generation
- Block-diagonal matrix
- Matrix re-ordering
- Automatic reformulation
- Hypergraph partitioning