Circle Packing in an Ellipse
Introduction
This application finds the optimum packing of various size circles in an ellipse, such that the area of the ellipse is minimized.
This is a difficult global optimization problem and demands strong solvers. This application uses Maple's Global Optimization Toolbox
Circle packing (and packing optimization in general) is characterized by a large optimization space and many constraints; for this application, 35 circles generates 666 constraint equations.
The number of circles can be increased to create an increasingly complex problem; Maple automatically generates the symbolic constraint equations.
Applications like this are used to stress-test global optimizers.
The constraints and ellipse parameterization are taken from "Packing circles within ellipses", Birgin et al., International Transactions in Operational Research , Volume 20, Issue 3, pages 365–389, May 2013.
Setup
Number of circles
Radius of circles
Area of ellipse (assuming the ellipse is described by the equation
Decision Variables and Optimization Bounds
See the reference in the introduction for a description of the decision variables. The position of the circles can be recovered from si, ui, vi, a and b (where a and b are the semi-axis of circumscribing ellipse)
Constraints
See the reference in the introduction for a description of the constraints.
Hence the entire set of constraints
Optimization and Results
Hence the area of the optimized circumscribing ellipse is
Recover the coordinates of the packed circles
Plot the circles and the optimized ellipse