Abstract
A set of ellipses, with given semi-major and semi-minor axes, is to be cut from a rectangular design plate, while minimizing the area of the design rectangle. The design plate is subject to lower and upper bounds of its widths and lengths; the ellipses are free of any orientation restrictions. We present new mathematical programming formulations for this ellipse cutting problem. The key idea in the developed non-convex nonlinear programming models is to use separating hyperlines to ensure the ellipses do not overlap with each other. For small number of ellipses we compute feasible points which are globally optimal subject to the finite arithmetic of the global solvers at hand. However, for more than 14 ellipses none of the local or global NLP solvers available in GAMS can even compute a feasible point. Therefore, we develop polylithic approaches, in which the ellipses are added sequentially in a strip-packing fashion to the rectangle restricted in width, but unrestricted in length. The rectangle’s area is minimized in each step in a greedy fashion. The sequence in which we add the ellipses is random; this adds some GRASP flavor to our approach. The polylithic algorithms allow us to compute good, near optimal solutions for up to 100 ellipses.
Similar content being viewed by others
References
Adjiman, C.S., Androulakis, I.P., Floudas, C.A.: Global optimization of mixed integer nonlinear problems. AIChE J. 46, 1769–1797 (2000)
Adjiman, C.S., Androulakis, I.P., Maranas, C.D., Floudas, C.A.: A global optimization method aBB for process design. Comput. Chem. Eng. 20(Suppl. 1), S419–424 (1996)
Androulakis, I.P., Maranas, C.D., Floudas, C.A.: aBB: a global optimization method for general constrained nonconvex problems. J. Glob. Optim. 7, 337–363 (1995)
Dyckhoff, H.: A typology of cutting and packing problems. Eur. J. Oper. Res. 44, 145–159 (1990)
Feo, T., Resende, M.: Greedy randomized adaptive search procedures. J. Glob. Optim. 6, 109–133 (1995)
Floudas, CA.: Private communication (2012)
Floudas, C.A., Akrotirianakis, I.G., Caratzoulas, S., Meyer, C.A., Kallrath, J.: Global optimization in the 21st century: advances and challenges for problems with nonlinear dynamics. Comput. Chem. Eng. 29, 1185–1202 (2005)
Gensane, T., Honvault, P.: Optimal Packings of Two Ellipses in a Square. Technical report, L.M.P.A. (2012)
Hettich, R., Kortanek, K.O.: Semi-infinite programming. SIAM Rev. 35, 380–429 (1993)
Kallrath, J.: Combined strategic design and operative planning in the process industry. Comput. Chem. Eng. 33, 1983–1993 (2009)
Kallrath, J.: Cutting circles and polygons from area-minimizing rectangles. J. Glob. Optim. 43, 299–328 (2009)
Kallrath, J.: Polylithic modeling and solution approaches using algebraic modeling systems. Optim. Lett. 5, 453–466 (2011). doi:10.1007/s11590-011-0320-4
Liberti, L.: Reformulation and convex relaxation techniques for global optimization. Ph.D. Thesis, Imperial College London, London, UK (2004)
Liberti, L., Pantelides, C.: An exact reformulation algorithm for large nonconvex NLPs involving bilinear terms. J. Glob. Optim. 36, 161–189 (2006)
Lindo Systems: Lindo API: User’s Manual. Lindo Systems, Chicago (2004)
Lopez, M., Still, G.: Semi-infinite programming. Eur. J. Oper. Res. 180, 491–518 (2007)
Maranas, C.D., Floudas, C.A.: Finding all solutions of nonlinearly constrained systems of equations. J. Glob. Optim. 7, 143–182 (1995)
Markót, M.C.: Interval methods for verifying structural optimality of circle packing configurations in the unit square. J. Comput. Appl. Math. 199, 353–357 (2007)
Markót, M.C., Csendes, T.: A new verified optimization technique for the “packing circles in a unit square” problems. SIAM J. Optim. 16, 193–219 (2005)
Miller, P.: Globally optimal packing of nonconvex two-dimensional shapes by approximation with ellipses. Princeton University, Princeton, NJ, Senior Thesis (2012)
Misener, R., Floudas, C.: GloMIQO: global mixed-integer quadratic optimizer. J. Glob. Optim. pp. 1–48 (2012). doi:10.1007/s10898-012-9874-7
Rebennack, S., Kallrath, J.: Continuous piecewise linear \(\delta \)-approximations for MINLP problems. I. Minimal breakpoint systems for univariate functions. Tech. rep., Colorado School of Mines Division of Economics and Business Working Paper Series 2012–12 (2012)
Rebennack, S., Kallrath, J.: Continuous piecewise linear \(\delta \)-approximations for MINLP problems. II. Bivariate and multivariate functions. Tech. rep., Colorado School of Mines Division of Economics and Business Working Paper Series 2012–13 (2012)
Rebennack, S., Kallrath, J., Pardalos, P.M.: Column enumeration based decomposition techniques for a class of non-convex MINLP problems. J. Glob. Optim. 43, 277–297 (2009)
Tawarmalani, M., Sahinidis, N.V.: Convexification and global optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and applications. Nonconvex optimization and its applications series. Kluwer, Dordrecht, The Netherlands (2002)
Acknowledgments
Thanks are directed to Prof. Dr. Siegfried Jetzke (Ostfalia Hochschule, Salzgitter, Germany) for his interest in this work, comments on the manuscript and discussion about the usefulness of ellipses and ellipsoids in real world problems.
Author information
Authors and Affiliations
Corresponding author
Appendix: Notation
Appendix: Notation
We start with the notation used in the derivation of the model; they are not used in the mathematical programming formulations directly.
- \({\mathsf {A}}_{\theta i}\) :
-
positive definite matrix defining ellipses; entries are \(A_{11}, A_{12}, A_{21}\), and \(A_{22}\)
- \(\mathbf{c}\) :
-
objective function coefficient vector of auxiliary problems; \(\mathbf{c}^{\top } = (1,0)\) or \(\mathbf{c}^{\top } = (0,1)\)
- \(d_i\) :
-
distance of ellipse \(i\) to line \(\mathbf{G}(t)\)
- \({\mathsf {D}}_i\) :
-
diagonal matrix for ellipse \(i\) with eigenvalues of \({\mathsf {A}}_{\theta i}\) in the diagonal
- \(\delta _{ij}^{ab}\) :
-
maximum vertical extension of ellipse \(i\) to the hyperplane in the new coordinate system
- \(\delta _{ij}^{be}\) :
-
maximum vertical extension of ellipse \(j\) to the hyperplane in the new coordinate system
- \({\mathsf {E}}_{\theta -\omega ,i}\) :
-
positive definite matrix defining rotated ellipses; \({\mathsf {E}}_{\theta -\omega ,i} := {\mathsf {A}}_{\theta -\omega ,i}\); entries are \(E_{11}, E_{12}, E_{21}\), and \(E_{22}\)
- \(\mathbf{G}(t)\) :
-
separating line, i.e., hyperplane
- \({\mathcal {L}}(\mathbf{x}, \bar{\lambda })\) :
-
Lagrangian function
- \(\lambda _{id}\) :
-
eigenvalue of matrix \({\mathsf {A}}_{\theta i};\, \lambda _{i1} = a_i^{-2}\) and \(\lambda _{i2} = b_i^{-2}\)
- \(\bar{\lambda }\) :
-
Lagrangian multiplier associated with ellipse equation
- \(\varphi _i\) :
-
rotation angle to generate ellipse \(i\) in new coordinate system
- \({\mathsf {R}}_{\theta i}\) :
-
rotation matrix for ellipse \(i\) at angle \(\theta _i\)
- \(\mathbf{v}_i(\varphi _i)\) :
-
equation for ellipse \(i\) in new coordinate system
- \(v_{id}^0\) :
-
center coordinate (in dimension \(d\)) of ellipse \(i\) in the new coordinate system
- \(v_{i2}^{ -}\) :
-
minimal extension (in dimension \(d=2\)) of ellipse \(i\) in the new coordinate system
- \(x_{id}^{-}\) :
-
minimum extension of ellipse \(i\) in dimension \(d\)
- \(x_{id}^{+}\) :
-
maximum extension of ellipse \(i\) in dimension \(d\)
The notation used in the mathematical programming models and heuristics is summarized in the following sections.
1.1 Indices and sets
- \(d \in \{1,2\}\) :
-
index for the dimension; \(d=1\) represents the length and \(d=2\) the width
- \(i\in {\mathcal {I}}:= \{ 1, \ldots , n \}\) :
-
objects (ellipses or circles) to be cut
- \((c_x,c_y) \in {\mathcal {I}}^{\mathrm {ce}}\) :
-
small rectangles, cells, dividing the design rectangle
- \((i,j) \in {\mathcal {I}}^{\mathrm {co}}\) :
-
pairs of congruent ellipses; we assume \(i < j\)
1.2 Data
- \(a_{i}\) :
-
semi-major axis of ellipse \(i;\, a_i \ge b_i\)
- \(\tilde{a}_{n}\) :
-
area of the design rectangle for the “symmetric” cutting for \(n\) identical ellipses
- \(A_{i}\) :
-
area of ellipse \(i;\, A_{i} = \pi a_{i}b_{i}\)
- \(A^{-}, A^{+}\) :
-
lower and upper bound on the area, \(a\), of the design rectangle obtained during the computation
- \(A^{\mathrm{ci, -}}\) :
-
minimal area of the design rectangle to host the inner circles associated with the ellipses. \(A^{\mathrm{ci, -}}\) provides a lower bound on the associated ellipse cutting problem
- \(A^{\mathrm{ci, +}}\) :
-
area of the design rectangle to host the outer circles associated with the ellipses. \(A^{\mathrm{ci, -}}\) provides an upper bound on the associated ellipse cutting problem
- \(b_{i}\) :
-
semi-minor axis of ellipse \(i;\, a_i \ge b_i\)
- \(C_{c_x c_y d}^-, C_{c_x c_y d}^+\) :
-
lower and upper boundary coordinate of cell \((c_x, c_y)\)
- \(\overline{D}_{ij}\) :
-
bound on the distance variables \(d_{ij}^{\mathrm{ab}}\) and \(d_{ij}^{\mathrm{be}}\)
- \(\Delta \) :
-
relative gap
- \(\varepsilon \) :
-
eccentricity measuring the deviation of an ellipses from a circle
- \(n_1, n_2, n_3\) :
-
parameters in the heuristics: number of ellipses selected
- \(R_i\) :
-
radius of circle \(i\) to be cut
- \(\rho \) :
-
factor (parameter) for semi-minor axis for test instances TE\(\rho \)
- \(S_{id1}, S_{id2}\) :
-
auxiliary data derived from semi-major and semi-minor axis, as defined in (32)
- \(S_{d}^{-}, S_{d}^{+}\) :
-
minimum (lower bound) and maximum size (upper bound) of the extension of the design rectangles in dimension \(d\)
- \(x_{1,n}^{\mathrm {R}}\) :
-
length of the design rectangle for the “symmetric” cutting of \(n\) identical ellipses
- \(X^{-}\) :
-
smallest center coordinate among the \(n_3\) ellipses in coordinate direction \(d=1\)—only used for heuristic H2
1.3 Decision variables
- \(a\) :
-
(continuous) area of the design rectangle; \(a^{*}\) defines (globally) optimal area
- \(d_{ij}^{\mathrm{ab}}\) :
-
(continuous) distance of the center of ellipse \(i\) to the separating line between the ellipses \(i\) and \(j\); ellipse \(i\) is above the separating line
- \(d_{ij}^{\mathrm{be}}\) :
-
(continuous) distance of the center of ellipse \(j\) to the separating line between the ellipses \(i\) and \(j\); ellipse \(j\) is below the separating line
- \(\delta _{i c_x c_y}\) :
-
(binary) assign ellipse \(i\) to cell \((c_x,c_y)\)
- \(g^0_{ijd}\) :
-
(continuous) footpoint coordinate (in dimension \(d\)) of separating line between ellipses \(i\) and \(j\); we place the footpoint inside the design rectangle; index \(ij\) is dropped in Sect. 2.1.4
- \(g_{ijd}\) :
-
(continuous) slope (in dimension \(d\)) of the separating line between ellipses \(i\) and \(j\); index \(ij\) is dropped in Sect. 2.1.4
- \(\lambda _{ij}\) :
-
(continuous) linear combination variable for hyperplane and ellipses \(i\) and \(j\)
- \(\omega _{ij}\) :
-
(continuous) inclination angle of the separating line between the ellipses \(i\) and \(j;\, \omega _{ij} \in [0,2\pi ]\); index \(ij\) is dropped in Sect. 2.1.4
- \(p_{ij}^{\mathrm{ab}}\) :
-
(continuous) auxiliary variable modeling \(\cos ( \theta _{i} - \omega _{ij} );\, p_{ij}^{\mathrm{ab}} \in [-1,1]\)
- \(p_{ij}^{\mathrm{be}}\) :
-
(continuous) auxiliary variable modeling \(\cos ( \theta _{j} - \omega _{ij} );\, p_{ij}^{\mathrm{be}} \in [-1,1]\)
- \(\theta _{i}\) :
-
(continuous) orientation angle of ellipse \(i;\, \theta _{i} \in [0,2\pi ]\)
- \(v_i\) :
-
(continuous) auxiliary variable representing trigonometric term \(\cos \theta _i;\, v_i \in [-1,1]\)
- \(w_i\) :
-
(continuous) auxiliary variable representing trigonometric term \(\sin \theta _i;\, w_i \in [0,1]\)
- \(x_{d}^{\mathrm {R}}\) :
-
(continuous) extension of the design rectangle in dimension \(d\)
- \(x_{id}^0\) :
-
(continuous) coordinates of the center vector of object \(i\) to be cut
- \(z\) :
-
(continuous) waste of the design rectangle; \(z = a - \sum \nolimits _{i \in {\mathcal {I}}} A_{i}\)
Rights and permissions
About this article
Cite this article
Kallrath, J., Rebennack, S. Cutting ellipses from area-minimizing rectangles. J Glob Optim 59, 405–437 (2014). https://doi.org/10.1007/s10898-013-0125-3
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10898-013-0125-3