Price-and-verify: a new algorithm for recursive circle packing using Dantzig–Wolfe decomposition

  • Ambros Gleixner
  • Stephen J. Maher
  • Benjamin MüllerEmail author
  • João Pedro Pedroso
S.I.: Decomposition Methods for Hard Optimization Problems


Packing rings into a minimum number of rectangles is an optimization problem which appears naturally in the logistics operations of the tube industry. It encompasses two major difficulties, namely the positioning of rings in rectangles and the recursive packing of rings into other rings. This problem is known as the Recursive Circle Packing Problem (RCPP). We present the first dedicated method for solving RCPP that provides strong dual bounds based on an exact Dantzig–Wolfe reformulation of a nonconvex mixed-integer nonlinear programming formulation. The key idea of this reformulation is to break symmetry on each recursion level by enumerating one-level packings, i.e., packings of circles into other circles, and by dynamically generating packings of circles into rectangles. We use column generation techniques to design a “price-and-verify” algorithm that solves this reformulation to global optimality. Extensive computational experiments on a large test set show that our method not only computes tight dual bounds, but often produces primal solutions better than those computed by heuristics from the literature.


Mixed-integer nonlinear programming Dantzig–Wolfe decomposition Symmetry breaking Global optimization Recursive circle packing 



This work has been supported by the Research Campus MODAL Mathematical Optimization and Data Analysis Laboratories funded by the Federal Ministry of Education and Research (BMBF Grant 05M14ZAM). All responsibility for the content of this publication is assumed by the authors.

Supplementary material

10479_2018_3115_MOESM1_ESM.pdf (84 kb)
Supplementary material 1 (pdf 84 KB)


  1. Achterberg, T. (2007). Constraint integer programming. Ph.D. thesis, Technische Universität Berlin.Google Scholar
  2. Bergner, M., Caprara, A., Ceselli, A., Furini, F., Lübbecke, M. E., Malaguti, E., et al. (2015). Automatic Dantzig–Wolfe reformulation of mixed integer programs. Mathematical Programming, 149(1–2), 391–424.CrossRefGoogle Scholar
  3. Castillo, I., Kampas, F. J., & Pintér, J. D. (2008). Solving circle packing problems by global optimization: Numerical results and industrial applications. European Journal of Operational Research 191(3), 786–802.
  4. COIN-OR: CppAD, a package for differentiation of CPP Algorithms. Accessed 2014.
  5. COIN-OR: Ipopt, Interior point optimizer. Accessed 2016.
  6. Costa, A., Hansen, P., & Liberti, L. (2013). On the impact of symmetry-breaking constraints on spatial branch-and-bound for circle packing in a square. Discrete Applied Mathematics, 161(1–2), 96–106.
  7. Dantzig, G. B., & Wolfe, P. (1960). Decomposition principle for linear programs. Operations Research 8(1), 101–111.
  8. Demaine, E. D., Fekete, S. P., & Lang, R. J. (2010). Circle packing for origami design is hard. arXiv preprint arXiv:1008.1224.
  9. Desaulniers, G., Desrosiers, J., & Solomon, M. M. (2006). Column generation (Vol. 5). Berlin: Springer.Google Scholar
  10. Dror, M. (1999). Polygon plate-cutting with a given order. IIE Transactions, 31(3), 271–274. Scholar
  11. Farley, A. A. (1990). A note on bounding a class of linear programming problems, including cutting stock problems. Operations Research, 38(5), 922–923. Scholar
  12. Fortz, B., Labbé, M., & Poss, M. (2010). A branch-and-cut-and-price framework for convex MINLP applied to a stochastic network design problem. In Workshop on mixed integer nonlinear programming (p. 131).Google Scholar
  13. Gamrath, G. (2010). Generic branch-cut-and-price. Master’s thesis.Google Scholar
  14. Gilmore, P., & Gomory, R. (1961). A linear programming approach to the cutting stock problem. Operations Research, 9, 849–859.CrossRefGoogle Scholar
  15. Gilmore, P., & Gomory, R. E. (1965). Multistage cutting stock problems of two and more dimensions. Operations Research, 13(1), 94–120.CrossRefGoogle Scholar
  16. Hales, T. C., Adams, M., Bauer, G., Dang, D. T., Harrison, J., Hoang, T. L., Kaliszyk, C., Magron, V., McLaughlin, S., Nguyen, T. T., Nguyen, T. Q., Nipkow, T., Obua, S., Pleso, J., Rute, J., Solovyev, A., Ta, A. H. T., Tran, T. N., Trieu, D. T., Urban, J., Vu, K. K., & Zumkeller, R. (2015). A formal proof of the Kepler conjecture. arXiv:1501.02155.
  17. Hifi, M., & M’Hallah, R. (2009). A literature review on circle and sphere packing problems: Models and methodologies. Advances in Operations Research, 150, 624:1–150, 624:22.
  18. ILOG, Inc: ILOG CPLEX: High-performance software for mathematical programming and optimization. See Accessed 2016.
  19. Jans, R. (2009). Solving lot-sizing problems on parallel identical machines using symmetry-breaking constraints. INFORMS Journal on Computing, 21(1), 123–136.CrossRefGoogle Scholar
  20. Kallrath, J. (2009). Cutting circles and polygons from area-minimizing rectangles. Journal of Global Optimization, 43(2), 299–328. Scholar
  21. Kallrath, J. (2015). Packing ellipsoids into volume-minimizing rectangular boxes. Journal of Global Optimization, 67, 151–185. Scholar
  22. Kilinç, M., & Sahinidis, N. V. (2014). Solving MINLPs with BARON. Talk at MINLP 2014, Carnegie Mellon University, Pittsburgh, PA, USA.
  23. Lenstra, J. K., & Kan, A. H. G. R. (1979). Complexity of packing, covering and partitioning problems. In A. Schrijver (Ed.), Packing and covering in combinatorics (pp. 275–291). Mathematisch Centrum.Google Scholar
  24. Lübbecke, M. E., & Desrosiers, J. (2005). Selected topics in column generation. Operations Research, 53(6), 1007–1023.CrossRefGoogle Scholar
  25. MUMPS, Multifrontal Massively Parallel sparse direct Solver. Accessed 2011.
  26. Muter, I., Birbil, S. I., & Bülbül, K. (2013). Simultaneous column-and-row generation for large-scale linear programs with column-dependent-rows. Mathematical Programming, 142(1), 47–82. Scholar
  27. Pedroso, J. P., Cunha, S., & Tavares, J. N. (2016). Recursive circle packing problems. International Transactions in Operational Research, 23(1–2), 355–368. Scholar
  28. Pisinger, D., & Sigurd, M. (2005). The two-dimensional bin packing problem with variable bin sizes and costs. Discrete Optimization, 2(2), 154–167. Scholar
  29. Ralphs, T. K., & Galati, M. V. (2005). Decomposition in integer linear programming. Integer Programming: Theory and Practice, 3, 57–110.Google Scholar
  30. Sahinidis, N. V. (1996). Baron: A general purpose global optimization software package. Journal of Global Optimization, 8(2), 201–205. Scholar
  31. SCIP—Solving Constraint Integer Programs. Accessed 2017.
  32. Vance, P. H. (1998). Branch-and-price algorithms for the one-dimensional cutting stock problem. Computational Optimization and Applications, 9(3), 211–228. Scholar
  33. Vance, P. H., Barnhart, C., Johnson, E. L., & Nemhauser, G. L. (1994). Solving binary cutting stock problems by column generation and branch-and-bound. Computational Optimization and Applications, 3(2), 111–130. Scholar
  34. Vanderbeck, F., & Wolsey, L. A. (1996). An exact algorithm for IP column generation. Operations Research Letters, 19(4), 151–159. Scholar
  35. Vanderbeck, F., & Wolsey, L. A. (2010). Reformulation and decomposition of integer programs (pp. 431–502). Springer, Berlin.
  36. Vigerske, S. (2013). Decomposition in multistage stochastic programming and a constraint integer programming approach to mixed-integer nonlinear programming. Ph.D. thesis, Humboldt-Universität zu Berlin, Mathematisch-Naturwissenschaftliche Fakultät II.Google Scholar
  37. Wächter, A., & Biegler, L. T. (2006). On the implementation of an interior-point filter line-search algorithm for large-scale nonlinear programming. Mathematical Programming, 106(1), 25–57. Scholar

Copyright information

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

Authors and Affiliations

  1. 1.Zuse Institute BerlinBerlinGermany
  2. 2.Department of Management ScienceLancaster UniversityBailrigg, LancasterUnited Kingdom
  3. 3.Universidade do PortoPortoPortugal

Personalised recommendations