Random sampling and machine learning to understand good decompositions

  • S. Basso
  • A. CeselliEmail author
  • A. Tettamanzi
S.I.: Decomposition Methods for Hard Optimization Problems


Motivated by its implications in the development of general purpose solvers for decomposable Mixed Integer Programs (MIPs), we address a fundamental research question, that is how to exploit data-driven techniques to obtain automatic decomposition methods. We preliminary investigate the link between static properties of MIP input instances and good decomposition patterns. We devise a random sampling algorithm, considering a set of generic MIP base instances, and generate a large, balanced and well diversified set of decomposition patterns, that we analyze with machine learning tools. We also propose and test a minimal proof of concept framework performing data-driven automatic decomposition. The use of supervised techniques highlights interesting structures of random decompositions, as well as proving (under certain conditions) that data-driven methods are fruitful in our context, triggering at the same time perspectives for future research.


Dantzig–Wolfe decomposition Machine learning Random sampling 



The authors wish to thank the guest editors and three anonymous reviewers: their insightful comments allowed to substantially improve the manuscript.


  1. Abdi, H., & Williams, L. J. (2010). Principal component analysis. Wiley Interdisciplinary Reviews: Computational Statistics, 2(4), 433–459.CrossRefGoogle Scholar
  2. Achterberg, T. (2009). SCIP: solving constraint integer programs. Mathematical Programming Computation, 1(1), 1–41.CrossRefGoogle Scholar
  3. Achterberg, T., Koch, T., & Martin, A. (2006). MIPLIB 2003. Operations Research Letters, 34(4), 361–372.CrossRefGoogle Scholar
  4. Basso, S., & Ceselli, A. (2017). Asynchronous column generation. In Proceedings of the ninteenth workshop on algorithm engineering and experiments (ALENEX) (pp. 197–206).Google Scholar
  5. Basso, S., Ceselli, S., & Tettamanzi, A. (2018). Understanding good decompositions: An exploratory data analysis. Technical report, Università degli Studi di Milano.
  6. Bergner, M., Caprara, A., Ceselli, A., Furini, F., Lübbecke, M., Malaguti, E., et al. (2015). Automatic Dantzig–Wolfe reformulation of mixed integer programs. Mathematical Programming A, 149(1–2), 391–424.CrossRefGoogle Scholar
  7. Bettinelli, A., Ceselli, A., & Righini, G. (2010). A branch-and-price algorithm for the variable size bin packing problem with minimum filling constraint. Annals of Operations Research, 179, 221–241.CrossRefGoogle Scholar
  8. Brooks, J. P., & Lee, E. K. (2010). Analysis of the consistency of a mixed integer programming-based multi-category constrained discriminant model. Annals of Operations Research, 174(1), 147–168.CrossRefGoogle Scholar
  9. Burges, C. (1998). A tutorial on support vector machines for pattern recognition. Data Mining and Knowledge Discovery, 2(2), 121–167.CrossRefGoogle Scholar
  10. Ceselli, A., Liberatore, F., & Righini, G. (2009). A computational evaluation of a general branch-and-price framework for capacitated network location problems. Annals of Operations Research, 167, 209–251.CrossRefGoogle Scholar
  11. Delorme, M., Iori, M., & Martello, S. (2016). Bin packing and cutting stock problems: Mathematical models and exact algorithms. European Journal of Operational Research, 255(1), 1–20.CrossRefGoogle Scholar
  12. Desaulniers, G., Desrosiers, J., & Solomon, M. M. (Eds.). (2005). Column generation. Berlin: Springer.Google Scholar
  13. FICO xpress webpage. (2017). Last accessed March, 2017
  14. Fisher, R. A. (1992). Statistical methods for research workers. In S. Kotz & N. L. Johnson (Eds.), Breakthroughs in statistics. Springer series in statistics (perspectives in statistics). New York, NY: Springer.Google Scholar
  15. Gamrath, G., & Lübbecke, M. E. (2010). Experiments with a generic Dantzig–Wolfe decomposition for integer programs. LNCS 6049 (pp. 239–252).CrossRefGoogle Scholar
  16. GUROBI webpage. (2017). Last accessed March, 2017
  17. He, H., & Garcia, E. A. (2009). Learning from imbalanced data. IEEE Transactions on Knowledge and Data Engineering, 21(9), 1263–1284.CrossRefGoogle Scholar
  18. Hutter, F., Xu, L., Hoos, H. H., & Leyton-Brown, K. (2014). Algorithm runtime prediction: Methods & evaluation. Artificial Intelligence, 206(1), 79–111.CrossRefGoogle Scholar
  19. IBM Cplex webpage. (2016). Last accessed August, 2016
  20. Khalil, E. B. (2016). Machine learning for integer programming. In Proceedings of the twenty-fifth international joint conference on artificial intelligence.Google Scholar
  21. Koch, T., Achterberg, T., Andersen, E., Bastert, O., Berthold, T., Bixby, R. E., et al. (2011). MIPLIB 2010. Mathematical Programming Computation, 3(2), 103–163.CrossRefGoogle Scholar
  22. Kruber, M., Luebbecke, M. E., & Parmentier, A. (2016). Learning when to use a decomposition. RWTH technical report 2016-037.Google Scholar
  23. Larose, D. T., & Larose, C. D. (2015). Data mining and predictive analytics. Hoboken: Wiley.Google Scholar
  24. Mitzenmacher, M., & Upfal, E. (2005). Probability and computing: Randomized algorithms and probabilistic analysis. New York, NY: Cambridge University Press.CrossRefGoogle Scholar
  25. Puchinger, J., Stuckey, P. J., Wallace, M. G., & Brand, S. (2011). Dantzig–Wolfe decomposition and branch-and-price solving in G12. Constraints, 16(1), 77–99.CrossRefGoogle Scholar
  26. R Core Team. (2016). R: A language and environment for statistical computing. R Foundation for Statistical Computing.
  27. Ralphs, T. K., & Galati, M. V. (2017). DIP—decomposition for integer programming. Last accessed March, 2017.
  28. Schrijver, A. (1998). Theory of linear and integer programming. Hoboken: Wiley.Google Scholar
  29. Smola, A. J., & Scholkopf, B. (2004). A tutorial on support vector regression. Statistics and Computing, 14, 199–222.CrossRefGoogle Scholar
  30. Vanderbeck, F. (2017). BaPCod—A generic branch-and-price code. Last accessed March, 2017.
  31. Vanderbeck, F., & Wolsey, L. (2010). Reformulation and decomposition of integer programs. In M. Jünger, Th M Liebling, D. Naddef, G. L. Nemhauser, W. R. Pulleyblank, G. Reinelt, G. Rinaldi, & L. A. Wolsey (Eds.), 50 years of integer programming 1958–2008. Berlin: Springer.Google Scholar
  32. Wang, J., & Ralphs, T. (2013). Computational experience with hypergraph-based methods for automatic decomposition in discrete optimization. In C. Gomes & M. Sellmann (Eds.), Integration of AI and OR techniques in constraint programming for combinatorial optimization problems. LNCS 7874 (pp. 394–402).CrossRefGoogle Scholar
  33. Wolsey, L. (1998). Integer programming. Hoboken: Wiley.Google Scholar

Copyright information

© Springer Science+Business Media, LLC, part of Springer Nature 2018

Authors and Affiliations

  1. 1.Dipartimento di InformaticaUniversità degli Studi di MilanoCremaItaly
  2. 2.CNRS, I3SUniversité Côte d’Azur - INRIASophia Antipolis CEDEXFrance

Personalised recommendations