Price-and-verify: a new algorithm for recursive circle packing using Dantzig–Wolfe decomposition
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.
KeywordsMixed-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.
- Achterberg, T. (2007). Constraint integer programming. Ph.D. thesis, Technische Universität Berlin.Google Scholar
- 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. http://EconPapers.repec.org/RePEc:eee:ejores:v:191:y:2008:i:3:p:786-802.
- COIN-OR: CppAD, a package for differentiation of CPP Algorithms. http://www.coin-or.org/CppAD. Accessed 2014.
- COIN-OR: Ipopt, Interior point optimizer. http://www.coin-or.org/Ipopt. Accessed 2016.
- 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. https://doi.org/10.1016/j.dam.2012.07.020. http://www.sciencedirect.com/science/article/pii/S0166218X12002855.
- Dantzig, G. B., & Wolfe, P. (1960). Decomposition principle for linear programs. Operations Research 8(1), 101–111. http://www.jstor.org/stable/167547.
- Demaine, E. D., Fekete, S. P., & Lang, R. J. (2010). Circle packing for origami design is hard. arXiv preprint arXiv:1008.1224.
- Desaulniers, G., Desrosiers, J., & Solomon, M. M. (2006). Column generation (Vol. 5). Berlin: Springer.Google Scholar
- 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
- Gamrath, G. (2010). Generic branch-cut-and-price. Master’s thesis.Google Scholar
- 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.
- 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. http://dblp.uni-trier.de/db/journals/advor/advor2009.html#HifiM09.
- ILOG, Inc: ILOG CPLEX: High-performance software for mathematical programming and optimization. See http://www.ilog.com/products/cplex/. Accessed 2016.
- Kilinç, M., & Sahinidis, N. V. (2014). Solving MINLPs with BARON. Talk at MINLP 2014, Carnegie Mellon University, Pittsburgh, PA, USA. http://minlp.cheme.cmu.edu/2014/papers/kilinc.pdf.
- 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
- MUMPS, Multifrontal Massively Parallel sparse direct Solver. http://mumps.enseeiht.fr. Accessed 2011.
- Ralphs, T. K., & Galati, M. V. (2005). Decomposition in integer linear programming. Integer Programming: Theory and Practice, 3, 57–110.Google Scholar
- SCIP—Solving Constraint Integer Programs. http://scip.zib.de. Accessed 2017.
- Vanderbeck, F., & Wolsey, L. A. (2010). Reformulation and decomposition of integer programs (pp. 431–502). Springer, Berlin. https://doi.org/10.1007/978-3-540-68279-0_13.
- 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