Cannonballs and Honeycombs
Thomas C. Hales

Linear Programs

The linear part of the problem was solved with a linear programming packing. A typical linear optimization problem involves about 200 variables and perhaps 2000 constraints. I estimate that nearly $10^5$ linear programming problems of this size were solved as part of the solution. This is a small calculation in comparison with industrial applications of linear programming.

Some variables represent distances between balls in various finite clusters of balls. Other variables represent dihedral angles, volumes, solid angles, and corrected volumes of Voronoi cells. Some constraints express geometric relations between the variables. Other constraints restrict the lengths and angles so that physically realistic packings of balls are obtained. The linear programming problems minimize the corrected volume subject to these constraints. By checking that in every case the corrected volume is greater than the volume of the rhombic dodecahedron, the Kepler conjecture is proved.