on june 11, 2018 aprecisealgorithmtodetect rspa...

19
rspa.royalsocietypublishing.org Research Cite this article: Specht E. 2015 A precise algorithm to detect voids in polydisperse circle packings. Proc. R. Soc. A 471: 20150421. http://dx.doi.org/10.1098/rspa.2015.0421 Received: 22 June 2015 Accepted: 11 September 2015 Subject Areas: applied mathematics, computational mathematics, computer modelling and simulation Keywords: unequal circle packing, polydispersity, algorithm, holes, circular voids Author for correspondence: Eckard Specht e-mail: [email protected] Electronic supplementary material is available at http://dx.doi.org/10.1098/rspa.2015.0421 or via http://rspa.royalsocietypublishing.org. A precise algorithm to detect voids in polydisperse circle packings Eckard Specht Institute of Experimental Physics, Otto-von-Guericke-University of Magdeburg, Magdeburg 39106, Germany ES, 0000-0002-7269-4879 Computer simulations are the primary tool for studying polydisperse particle packings quanti- tatively. For the problem of packing N unequal circles in a larger container circle, nothing is known a priori about the optimal packing (i.e. the packing with the highest packing fraction). Simulations usually start from a random initial configuration with the aim to finish with a dense final packing. Unfortunately, smaller circles often get stuck in trapped positions and prevent the rest of the packing from growing larger. Hence, the knowledge of the structure of unoccupied areas or holes inside a packing is important to be able to move trapped circles into free circular places or voids. A novel algorithm is proposed for detecting such voids in two-dimensional arbitrary circle packings by a decomposition of the contact graph. Combined with a clever object jumping strategy and together with other heuristic methods like swaps and shifts, this approach increases the packing fraction φ significantly. Its effectiveness for jumping across the maximally random jammed barrier (φ MRJ 0.8575 in the large-N limit) for small benchmark instances as well as for large problem sizes (up to N 10 3 ) is demonstrated. 1. Introduction In autumn/winter of 2005, Al Zimmermann’s Circle Packing Programming Contest (AZPC) asked for the best packings of N = 5, 6, ... , 50 circles with integer radii (r i = i,1 i N). The problem was to find the smallest container circle such that all objects (i.e. the circles to pack) fit without any overlaps into the container. Because of its NP-hardness, it is in general very difficult to find candidate solutions (such that claim to be optimal). One-hundred and fifty-five contestants took part overall and, finally, Addis et al. [1] won the 2015 The Author(s) Published by the Royal Society. All rights reserved. on July 15, 2018 http://rspa.royalsocietypublishing.org/ Downloaded from

Upload: dinhanh

Post on 05-Jul-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

rspa.royalsocietypublishing.org

ResearchCite this article: Specht E. 2015 A precisealgorithm to detect voids in polydisperse circlepackings. Proc. R. Soc. A 471: 20150421.http://dx.doi.org/10.1098/rspa.2015.0421

Received: 22 June 2015Accepted: 11 September 2015

Subject Areas:applied mathematics, computationalmathematics, computer modellingand simulation

Keywords:unequal circle packing, polydispersity,algorithm, holes, circular voids

Author for correspondence:Eckard Spechte-mail: [email protected]

Electronic supplementary material is availableat http://dx.doi.org/10.1098/rspa.2015.0421 orvia http://rspa.royalsocietypublishing.org.

A precise algorithm to detectvoids in polydisperse circlepackingsEckard Specht

Institute of Experimental Physics, Otto-von-Guericke-Universityof Magdeburg, Magdeburg 39106, Germany

ES, 0000-0002-7269-4879

Computer simulations are the primary tool forstudying polydisperse particle packings quanti-tatively. For the problem of packing N unequal circlesin a larger container circle, nothing is known a prioriabout the optimal packing (i.e. the packing with thehighest packing fraction). Simulations usually startfrom a random initial configuration with the aimto finish with a dense final packing. Unfortunately,smaller circles often get stuck in trapped positions andprevent the rest of the packing from growing larger.Hence, the knowledge of the structure of unoccupiedareas or holes inside a packing is important to be ableto move trapped circles into free circular places orvoids. A novel algorithm is proposed for detectingsuch voids in two-dimensional arbitrary circlepackings by a decomposition of the contact graph.Combined with a clever object jumping strategy andtogether with other heuristic methods like swaps andshifts, this approach increases the packing fraction φ

significantly. Its effectiveness for jumping across themaximally random jammed barrier (φMRJ ≈ 0.8575in the large-N limit) for small benchmark instancesas well as for large problem sizes (up to N≈ 103) isdemonstrated.

1. IntroductionIn autumn/winter of 2005, Al Zimmermann’s CirclePacking Programming Contest (AZPC) asked for thebest packings of N= 5, 6, . . . , 50 circles with integer radii(ri = i, 1≤ i≤N). The problem was to find the smallestcontainer circle such that all objects (i.e. the circlesto pack) fit without any overlaps into the container.Because of its NP-hardness, it is in general verydifficult to find candidate solutions (such that claimto be optimal). One-hundred and fifty-five contestantstook part overall and, finally, Addis et al. [1] won the

2015 The Author(s) Published by the Royal Society. All rights reserved.

on July 15, 2018http://rspa.royalsocietypublishing.org/Downloaded from

2

rspa.royalsocietypublishing.orgProc.R.Soc.A471:20150421

...................................................

0.88

0.87

0.86

0.85

0.84

0.83

0.82

0.81

0.80

no. circles N

pack

ing

frac

tion

f

10 15 20 25 30 35 40 45 50

Figure 1. Packing fraction φ as a function of N at the end of AZPC (as of January 2006) and recent improvements (as ofSeptember 2015, see text). (Online version in colour.)

contest in a racy final (for detailed information, see http://recmath.com/contest/CirclePacking/index.php, 2006). Figure 1 shows the progress while striving for the highest packing fractionsφ for N= 11–50 in the last years. Surprisingly, more than half of all contest instances couldbe improved by several authors (see top of bars in figure 1). The author maintains a website(http://www.packomania.com/ccin/, 2015.) which records all candidate packings and providesthe coordinates for the public. After the contest was over, Müller et al. [2] were able to find denserpackings for N= 24, 27, 28, 29, 33, 34, 38 and 50. Ye et al. [3] found new candidate packings forN= 26, 31, 36 and 37. Recently, the author received new record packings from Z. Fu and W. Q.Huang (2012, personal communication) for N= 30 and 32, Z. Zeng, W. Q. Huang and Z. Fu (2012–2013, personal communication) for N= 35, and finally from Z. Zeng, K. He, X. Yu and W. Q.Huang (2014, personal communication) for N= 39–49.

The first papers attended to the problem of packing unequal circles in a circle appeared at thevery end of the last century. Huang & Xu [4] introduced personification strategies in addition tothe quasi-physical algorithm in order to allow circles which are trapped in local minima to jumpout of the trap. This idea lead to the QuasiH (quasi-human) strategy [5] where single circles witha maximum pain degree (derived from the squeezing elastic potential when circles penetrate eachother) are moved to another arbitrary place within the container circle. Interestingly, due to theenormous amount of possible configurations, this heuristic part of the algorithm is motivatedby a vocabulary borrowed from social sciences. The first benchmark instances appeared inthese papers, known as the IN series (see http://www.packomania.com/cciuneq/, 2014) whichare widely used today in comparison with rival algorithms. Several improvements and newheuristic strategies could be found in the last years: quasi-physical algorithm using simulatedannealing [6], early escape strategy [7], shrink-and-shake strategy and circle Voronoi diagram [8],personified annealing algorithm [9], hybrid algorithm combining simulated annealing and tabusearch [10], null-damage maximum hole degree [11], self look-ahead strategy (A 1.5) [12],the principle of maximum cave degree in the pruned-enriched Rosenbluth method [13],restarting techniques [14], Monotonic/Population Basin Hopping approach [15], improvedenergy landscape paving algorithm [16–18] and an adaptive hydrid algorithm which combinesnested partitioning with a tabu search [19]. The latter paper contains a more detailed literaturereview. A survey of methods, results and industrial applications of circle packing problems byglobal optimization was published in [20].

López & Beasley [21] proposed a heuristic which is divided into two phases: an optimizationphase and an improvement phase. They took only 70% of the large circles into account for theoptimization process (ri = i) since the remaining 30% are small objects which can be inserted

on July 15, 2018http://rspa.royalsocietypublishing.org/Downloaded from

3

rspa.royalsocietypublishing.orgProc.R.Soc.A471:20150421

...................................................

without impact in any existing packing. This idea saves computation time in a considerableamount. In their improvement phase, pairs of circles can swap its centres with the aim that thesolver will find an improved solution. The omitted circles are inserted afterwards by a similarmethod proposed in this article, but a systematic analysis of free space was not considered.

Especially, the definitions of the hole or cave degree are similar approaches as used in thispaper (see ‘looseness’ χi in §3d) to quantify the benefit or penalty of placing an object to a certainlocation. Several authors [22–24] considered holes in jammed configurations of monodispersediscs and their size distribution within the context of random sequential adsorption (RSA).However, a systematic discovery of free locations for jumps within a circle packing has not beeninvestigated in the past. In a forthcoming paper, Zeng et al. [25] introduce a vacant degree (quitesimilar as separations ωij below) and vacant points (as points inside the unoccupied area havinga local maximum vacant degree) for measuring the vacancies, but they find vacant points onlyapproximately by probing. In this article, on the contrary, an exact and systematic way of theexploration of vacant areas is proposed.

Small objects that are fixed in position by other adjacent objects or by the container play a keyrole. We will call them ‘jammers’ if they can move statically (i.e. without changing anything elsein the packing) to another unfilled area without causing overlaps. Jammers are obstacles to yielda higher packing fraction in any simulation. On the contrary, holes are the duals of the objects ina packing. While the structure of the filled part is simply given by the coordinates of all objectcentres and their radii, it is not easy to obtain an overview of the topology and shape of theunfilled areas inside a packing.

From the viewpoint of graph theory, every drawing of a packing is an embedding of a planargraph [26] formed by the object centres as vertices and the contacts between them as edges.All edges emanating from one vertex can be ordered cyclically. By this property, holes can berepresented by closed loops of circular arcs and line segments or, more general, face cycles. Thedegree ν of a hole is the number of its constituting arcs and segments. Most of the holes in apacking are triangular, bounded by three circular arcs. But also holes with a higher degree ofν = 4, 5, . . . occur, sometimes even with a concave shape. A circular area within a hole is calleda void if a jammer can be moved there or an additional object can be inserted therein withoutoverlaps. In short, ‘move as many jammers as possible into voids’ is the topic of this article.

Both subjects, jammers and voids, are investigated here mainly by geometrically motivatedanalytical methods. An alternative approach is to discretize the container into square-shapedpixels. Colouring all pixels black or white depending on their location either inside objects orinside holes, respectively, also gives an opportunity to calculate the shape of holes (M Specht 2014,personal communication). This idea may be advantageous for packings in higher dimensionalspaces (voxels in three dimensions) where analytical methods may be hard to apply.

The article is organized as follows. In §2, the mathematical problem is formulated bytwo different approaches. The algorithm to detect voids in two-dimensional circle packings ispresented in §3. Additionally, the standard procedure to generate packings and some heuristicmethods to increase the packing fraction used by the author are briefly outlined. In §4,some results achieved by application of the algorithm are discussed. A summary and anoutlook is presented in §5. The pseudocodes of the algorithms can be found in the electronicsupplementary material.

2. Mathematical formulation of the problemLet xi ∈R

2 and ri > 0, 1≤ i≤N, be the centres of the circles and their radii, respectively. Thecontainer circle with radius R has its centre in the origin at (0, 0). We denote by dij = |xi − xj|,the Euclidean distance between any pair (xi, xj), 1≤ j < i≤N, of objects. Furthermore, we definean embedding depth of two circles or object–object separation

ωij = dij − (ri + rj), 1≤ j < i≤N,

on July 15, 2018http://rspa.royalsocietypublishing.org/Downloaded from

4

rspa.royalsocietypublishing.orgProc.R.Soc.A471:20150421

...................................................

and an object–container separation

ωi0 =R− |xi| − ri, 1≤ i≤N.

To make the notation homogeneous, we agree that if the second index is zero, then it indicates thecontainer. Then, the problem of packing N non-overlapping circles with fixed radii ri, 1≤ i≤N,in an encompassing circle with radius R, as small as possible, can be formulated as follows:

minimize R

subject to ωij ≥ 0, 0≤ j < i≤N.

We will call this problem statement the fixed object approach (FOA). However, there is always analternative formulation: we may consider the container circle as of fixed size (say, with R= 1) andthe radii of the objects as variables according to their inherent radial distribution function. Thisopposite point of view can be formulated as

maximize ri, 1≤ i≤N,

subject to ωij ≥ 0, 0≤ j < i≤N.

This variant is the fixed container approach (FCA) which is completely equivalent to FOA. Theproblem statement of the AZPC was formulated by FOA while we prefer the FCA with R= 1 inthis article, as López & Beasley [21] did.

In a computer simulation, due to the finite precision of the underlying floating pointnumber implementation (usually 64-bit double numbers), we must introduce a small, but finitenumerical tolerance ε ≈ 10−12 such that all distances dij in the plane lower than ε are actually zero.This leads to three different cases:

for ωij > ε : a strict separation,

for |ωij| ≤ ε : a precise contact,

for ωij <−ε : an overlap.

Thus, the inequalities ωij ≥ 0 have to be replaced by ωij ≥−ε to ensure that a packing is free ofoverlaps or feasible. The condition that a pair (i, j) are in contact (or do overlap) reads as ωij ≤ ε.

3. Description of the algorithmThe purpose of the algorithm is the detection of voids in the unoccupied area of an existingpacking as defined in §1. In other words, the task is to find locations in the current configurationwhere jammers can jump out of the trap or additional objects may be inserted without causingoverlaps. The algorithm consists of four parts: (i) build the contact graph, (ii) find the set of holes,(iii) find the centres and sizes of voids within the holes, and (iv) jump objects by a clever strategy.These four tasks are explained in the following subsections.

(a) Contact graph generationThe objects are the vertices of the contact graph and contacts between the objects or with thecontainer form the edges of the graph. For N objects to be packed, we have a maximum number of(N

2)∼O(N2) possible contacts between the objects and a maximum of N possible contacts between

the objects and the container circle. But not all these possible contacts are actually present in apacking, however, the majority of all object pairs are far distant enough such that they will nevercome into contact in a simulation. This is the idea of a spatial subdivision of the container intocells [27] where only objects located in adjacent cells can interact.

on July 15, 2018http://rspa.royalsocietypublishing.org/Downloaded from

5

rspa.royalsocietypublishing.orgProc.R.Soc.A471:20150421

...................................................

(b)(a) (c)

8 89 9

7 7

5 5

6 64

2

1

2

1

34

3

13 13

10 10

11 1114 14

12 12 8 9

7

5

62

1

43

13

10

1114

12

Figure 2. Packings for ri = i and N= 14: (a) all contacts are precise (ωmax = ε), (b) the same as (a) but all object radii areshrunk by a common factor of 0.95 while preserving the object centres, (c) the same as (b) but byωmax = 0.05. (Online versionin colour.)

We can suppose now that we have a list of all potential contact pairs

L= {(p1, q1), (p2, q2), . . . , (pm, qm)},where (pi, qi), 1≤ pi ≤N, 0≤ qi ≤N, pi > qi, denotes a pair of object indices and m is the numberof potential contacts. Consequently, a missing pair (p, q) of indices in L means that these objectscannot come into contact and should not cause any overlap.

To build the contact graph, the list L is traversed and the separation ωpq for each index pair(p, q) is calculated. If the separation is smaller than a well-chosen gap limit ωmax, then the objectsp and q are called relatives, otherwise neighbours. In other words, a value of ωmax > ε allows arecognition of relatives by force even if they are actually not. This degree of freedom is necessaryfor a proper determination of the hole structure (see §3b). The list A⊆L, derived from L andformed only by relatives, is called the active contact list. For example, consider the packing shownin figure 2b which was derived from a jammed packing shown in figure 2a only by shrinking allobject radii by a factor of 0.95. It represents a typical configuration during a simulation run whenall objects are rattlers (i.e. objects without any relatives).

In the example of figure 2b, the list L may have 24 potential contact pairs:

L= {(3, 0), (4, 0), (4, 3), (5, 0), (6, 0), (6, 4), (7, 0), (7, 5), (8, 0), (9, 0), (9, 7), (10.5), (10, 6),

(11, 10), (12, 0), 12, 8), (12, 9), (12, 11), (13, 0), (13, 3), (14, 0), (14, 8), (14, 11), (14, 13)},exactly the same as all present contacts in the unshrunken packing (figure 2a). If we now buildA by ωmax = ε, we get A=∅ since all objects are rattlers. However, most of the neighbours arealmost relatives here due to the low shrinking factor. When we build the list by ωmax = 0.05 (recallFCA with R= 1), we get A=L (figure 2c). The pseudocode of the contact graph generation isshown in electronic supplementary material, algorithm S1.

It is clear that the gap limit must be well chosen depending on the given radial distribution ofthe objects. For too small values of ωmax, the resulting contact graph is apparently not complete(figure 3a, ωmax = 0.028), and for too large values of ωmax, we get too much relatives which blurthe real contact structure (figure 3b, ωmax = 0.3). Both cases must be avoided for a correct detectionof holes. A hint to find an optimal value of ωmax is given by figure 9 in §4.

(b) Determination of hole structureWhen the contact graph has been properly established, we can proceed by determining the holestructure. In our context, holes are represented by simple cycles in the contact graph. In orderto find such cycles, the concept of half-edges is very useful. Half-edges are directed edges in thegraph. Two matching half-edges imply opposite directions: the contact pair (14, 11) in figure 4ais built by the half-edge 11 ⇁ 14 and the opposite half-edge 14 ⇁ 11. Additionally, every graph’s

on July 15, 2018http://rspa.royalsocietypublishing.org/Downloaded from

6

rspa.royalsocietypublishing.orgProc.R.Soc.A471:20150421

...................................................

812

9

7

510

13

1411

43

21

6

812

9

7

510

13

1411

43

21

6

(b)(a)

Figure 3. Examples for underdetermined and overdetermined contact graphs: (a) the same as figure 2b but byωmax = 0.028;(b) the same as (a) but byωmax = 0.3. As a result, some unnecessary contacts such as (11, 8) or (14, 12) occur. (Online version incolour.)

14131211109876543210

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14

1

2

3 4

5

6

7

8 9

10

11

12

13

14i

j

(b)(a)

Figure 4. (a) Packing of N= 14 objects used as an example as in figure 2a; (b) adjacency matrix of the packing shown in(a) (index 0 corresponds to the container). Rattlers leave blank rows and columns in the adjacency matrix (ωmax = ε). (Onlineversion in colour.)

structure can also be described by a Boolean adjacency matrix in which elements Cij, 0≤ j < i≤N,are only true if the corresponding contact (i, j) is present. For example, the adjacency matrix C ofthe packing shown in figure 4a is displayed in 4b. Clearly, C must be symmetric: Cij =Cji. Theuse of a sparse matrix storage variant for C is necessary for large values of N. Thus, each edgeof the undirected contact graph can be split into two half-edges where every half-edge i ⇁ j isrepresented by a single entry Cij in the adjacency matrix. Simple cycles or holes are closed loops ofhalf-edges where each object is visited only once, such as 14 ⇁ 0 ⇁ 13 ⇁ 14 (a triangular boundaryhole) or 9 ⇁ 12 ⇁ 11 ⇁ 10 ⇁ 5 ⇁ 7 ⇁ 9 (an interior hole of degree 6) in our example. The algorithmto find all holes is quite simple: start with an arbitrary half-edge and walk through the graphaccording to the ‘right-hand rule’ until the start object is visited again. The sequence of visitedhalf-edges constitutes the hole. Then, start with another still unvisited half-edge in order to find

on July 15, 2018http://rspa.royalsocietypublishing.org/Downloaded from

7

rspa.royalsocietypublishing.orgProc.R.Soc.A471:20150421

...................................................

8

14 11

1300 14 11

131

9

10

12

8

5

6

7

23

4

1

2

11

8

13

j

(b)(a) (c)

Figure 5. (a) Incident half-edge 11⇁ 14 with outgoing half-edges 14⇁ 8, 14⇁ 0 and 14⇁ 13; (b) ‘right-hand rule’ forinterior holes: always take the leftmost exit seen from the incident half-edge (11⇁ 14), i.e. that with the smallest angleϕ inclockwise direction (14⇁ 13); (c) complete hole structure with two rattlers in holes 1 and 6. (Online version in colour.)

the next hole. Proceed until all half-edges have been visited. The right-hand rule ensures that thesmallest simple cycles are tracked.

Suppose the current half-edge is 11 ⇁ 14, then object 14 is like a junction to objects 8, 13 orto the boundary 0 (figure 5a). The outgoing half-edges 14 ⇁ 8, 14 ⇁ 13, 14 ⇁ 0 include anglesof ϕ = 285◦, 63◦, 186◦, respectively, with the incident half-edge 11 ⇁ 14 in clockwise orientation(figure 5b). Applying the right-hand rule, we have to take the ‘exit’ with the smallest anglefor interior holes; hence the outgoing half-edge is 14 ⇁ 13 with ϕmin = 63◦. This rule must bereversed when the incident half-edge points to the boundary, i.e. for boundary holes (14 ⇁ 0 isfollowed by 0 ⇁ 13 in figure 5a). The complete hole structure for our example determined thisway contains 13 holes and is shown in figure 5c. The commented pseudocodes are shown inelectronic supplementary material, algorithms S2–S4 .

Note that some holes may include rattlers (as objects 1 and 2 in figure 5c) or objects with onlyone relative (as object 14 in figure 3a). The latter causes no problems since the right-hand rulewill immediately concatenate both opposite half-edges (see electronic supplementary material,statements 3–5 in algorithm S4). In principle, rattlers remain undiscovered by this algorithm andshould be moved away by an appropriate strategy as described in §3e.

(c) Detection of voidsAfter determination of the hole structure, we have a set {H0,H1, . . . ,Hk−1} of k holes with differentdegrees ν0, ν1, . . . , νk−1. Every hole Hi is a cyclic list of half-edges which form the border of it. Thenext task is to calculate the centres and the radii of the voids included in every hole. For triangularholes (νi = 3), this problem is related to Soddy’s problem of finding two circles, one inscribed andone encompassing, of three given non-intersecting circles tangent to one another [28]. The famousrelation (which goes back to Descartes’ circle theorem)

2(ε21 + ε2

2 + ε23 + ε2

4 )= (ε1 + ε2 + ε3 + ε4)2 (3.1)

between the signed curvatures or bends εi =±1/ri (where positive signs are taken for externaltouchments, negative signs for internal touchments) allows the calculation of the unknown radiusr4 when the other three circles with radii ri, i= 1, 2, 3, are tangent to each other:

r4 = r1r2r3

r2r3 + r3r1 + r1r2 ± 2√

(r1 + r2 + r3)r1r2r3. (3.2)

However, this constraint of tangency is not generally met in our context since all three circlesto be touched may be rattlers as in figure 2b. Moreover, it does not allow the calculation of thecoordinates of the centre. Therefore, either in the case of three external touchments as in an interior

on July 15, 2018http://rspa.royalsocietypublishing.org/Downloaded from

8

rspa.royalsocietypublishing.orgProc.R.Soc.A471:20150421

...................................................

(x3, y3)

(x3, y3)

(x2, y2)

(x2, y2)

(x1, y1)

(x1, y1)

(x, y)

(x, y)

r1

r1

r r

r

r r

r

r2

r2

r3

r3

(b)(a)

Figure 6. (a) A void with centre (x, y) and radius r touches three fixed objects externally; (b) a void touches two fixed objectsexternally and the container circle internally. (Online version in colour.)

hole (figure 6a) or for two external touchments plus one internal touchment as in a boundary hole(figure 6b), we consider the following three equations for circles given by (xj, yj, rj), j= 1, 2, 3, inthe unknowns x, y and r:

(x− x1)2 + (y− y1)2 = (r± r1)2, (3.3)

(x− x2)2 + (y− y2)2 = (r± r2)2 (3.4)

and (x− x3)2 + (y− y3)2 = (r± r3)2, (3.5)

where the upper signs are valid for external contacts and the lower signs are for internal contacts.Fortunately, this system of quadratic equations has an analytic solution. Expanding all threeequations and subtracting equations (3.4) and (3.5) from equation (3.3), we yield two linearequations

x12x+y12y=D12 −r12r (3.6)

and

x13x+y13y=D13 −r13r, (3.7)

where x1j = x1 − xj, y1j = y1 − yj, r1j =±r1 ∓ rj and D1j = 12 [(x2

1 − x2j )+ (y2

1 − y2j )− (r2

1 − r2j )]

with j= 2, 3. Equations (3.6) and (3.7) have the solutions

x= s− tr and y= u− vr (3.8)

with abbreviations D=x12y13 −x13y12, s= (y13D12 −y12D13)/D, t= (r12y13 −r13y12)/D, u= (x12D13 −x13D12)/D and v = (r13x12 −r12x13)/D. Finally, substitutingequations (3.8) into equation (3.3), we get a quadratic equation

ar2 + br+ c= 0 with solution r= −b+√

b2 − 4ac2a

(3.9)

for the unknown radius r where a= t2 + v2 − 1, b=−2[(s− x1)t+ (u− y1)v ∓ r1] and c= (s−x1)2 + (u− y1)2 − r2

1. By equations (3.8), we yield the void’s centre coordinates. Thus, we are ableto calculate the location and size of a single void included in a triangular hole directly withoutapplying approximate numerical methods.

A modified strategy has to be used for holes of higher degree (νi > 3). An obvious approachto find all possible voids is to consider all

(νi3)

combinations of half-edges and calculatingthe corresponding void for each triple as described above while omitting immediately thosesolutions which cause overlaps with other objects in the neighbourhood. The order in which allcombinations are processed has apparently an influence to the resulting set of voids. A promisingmethod is to calculate first all voids without respect of mutual overlaps; we call this set of voids

on July 15, 2018http://rspa.royalsocietypublishing.org/Downloaded from

9

rspa.royalsocietypublishing.orgProc.R.Soc.A471:20150421

...................................................

8 9

7

5

6

10

11

12

14

13

43

21

8 9

7

5

6

10

11

12

14

13

43

21

(b)(a)

Figure 7. Detected voids for the example packing in figure 4a: (a) set V1 of overlapping voids (five pairs of overlapping voidscan be recognized, |V1| = 24); (b) setV2 of the largest non-overlapping voids (|V2| = 19). (Online version in colour.)

0.32

0.28

0.24

0.20

0.16

0.12

0.08

0.04

0

c

0.32

0.28

0.24

0.20

0.16

0.12

0.08

0.04

0

c

0.32

0.28

0.24

0.20

0.16

0.12

0.08

0.04

0

c

45

44

4342

41

4039

38

3736

35

3433

32

31

30

29

28

27

2019

18 17

16

15

14

13

12

11

10

9

8

7

6

5

1

3

4

2

26

2524

23

22

21

45

44

4342

41

40

39

38

3736

35

34

33

32

31

30

2928

27

20

1918

17

16

15

14

13

12

11

10

9

8

7

6

5

1

3

4

2

26

25

24

23

22

21

13

1211

10

9

8

7

6

5

4

3

2

1

14

(b)(a) (c)

Figure 8. Representation of loosenesses χi for different packing fractions: (a) candidate packing (N= 45, φ = 0.87922,χ̄ = 0.03003); (b) suboptimal packing (N= 45,φ = 0.86604, χ̄ = 0.05469); and (c) ‘perfect’ Apollonian packing (N= 14,φ = 0.87881, χ̄ = 0). (Online version in colour.)

V1. Finally, we save only the largest non-overlapping elements of V1 which set is called V2. Thepseudocode of this strategy is shown in algorithm S5 in the electronic supplementary material.

Applying the void detection algorithm to all holes of the packing shown in figure 4a, we findthe voids displayed in figure 7a. Note that always only a single void is located in a triangular hole,while in non-triangular holes usually several overlapping voids are obtained. All these existingvoids form the set V1 of overlapping voids which are important to measure the looseness of theobjects correctly (§3d). For a subsequent object jumping, it is necessary to remove some of theoverlapping voids (figure 7b) to yield a feasible configuration.

(d) Embedding of objects in their neighbourhoodAs all voids are surrounded by objects, all objects are embedded within their duals, the voids,as well. In a typical candidate packing as shown in figure 8a, all objects are arranged as close aspossible allowing only small adjacent voids. For a more loosely packed suboptimal configuration(figure 8b), the voids become larger. However, voids never vanish even in an Apollonian packing.

This observation leads to an introduction of the ‘looseness’ of each object within a packing asa measure of the degree of embedding in its respective neighbourhood. Hence we define the ratio

χi =ρ̂ − r4

ri(3.10)

on July 15, 2018http://rspa.royalsocietypublishing.org/Downloaded from

10

rspa.royalsocietypublishing.orgProc.R.Soc.A471:20150421

...................................................

as the looseness of a single object i, where ρ̂ is the radius of the largest surrounding void fromset V1 and r4 is the radius of the inner Soddy circle according to equation (3.2). The smaller alooseness χi (or, with other words, the greater the compactness 1− χi) of an object, the tighter itis clamped by its relatives which leads in turn to higher packing fractions φ. For example, two‘loosely packed’ regions in figure 8b can be recognized in the east and north. By definition (3.10),we get always non-negative values χi ≥ 0, with equality only if ρ̂ = r4. This is especially the casein an asymmetric Apollonian packing (figure 8c), where every hole is a ‘tricusp’ [29], constructedby equation (3.2), and where the corresponding void is caged within three mutually touchingobjects. In order to measure a looseness χ̄ for the whole packing, we define a weighted mean

χ̄ =∑

i riχi∑i ri

, (3.11)

where both sums are taken over all objects. To choose the object’s radii ri as the weights has theeffect that all small rattlers (whose locations are irrelevant within the packing) should affect theoverall looseness as least as possible.

The evaluation of looseness may be of great value for a preselection of objects for someheuristical methods as in the exchange heuristic (§3g). Any reduction of the cardinality of objectsets being involved in such methods would decrease the computation time. For instance, objectswith a small looseness (i.e. tightly packed circles) obviously should not be rearranged. Also, thedetection of tightly packed clusters of objects within a packing may be advantageous in order tosave their compact structure in rearrangements.

(e) Object jumping strategyNow the remaining problem is to establish a protocol how objects have to jump in order to yielda high packing fraction. It is useful here to distinguish between following different classes: (i) allobjects (A), (ii) only boundary objects (B), (iii) only fixed objects (F), (iv) only interior objects (I),and (v) only rattlers (R) as sets of sources, and between (vi) all voids (A), (vii) only boundary voids(B), and (viii) only interior voids (I) as sets of destinations for object jumping. Then 15 strategiesare possible:

any object into any void (AA), fixed object into interior void (FI),any object into boundary void (AB), interior object into any void (IA),any object into interior void (AI), interior object into boundary void (IB),boundary object into any void (BA), interior object into interior void (II),boundary object into boundary void (BB), rattler into any void (RA),boundary object into interior void (BI), rattler into boundary void (RB),fixed object into any void (FA), rattler into interior void (RI),fixed object into boundary void (FB).

The following procedure is applied for each of these movements. At first, all sources (objects)and all destinations (voids from set V2) are sorted in separate lists by descending size. Next, forevery source, a suitable destination is determined such that the largest available void in whichthe object will fit is taken as the corresponding destination. After the jump took place, bothsource and destination are deleted from their lists. Repeat until one list is empty or no voidis available anymore. Another variant is to take the smallest available void that fits, or somevoid between the largest and smallest. Therefore, we introduce a void selection parameter λ for thedestination: let xs and xl be the indices of the smallest and largest void, respectively, in the list ofdestinations. Then a linear mapping λ ∈ [0, 1] → x ∈ [xs, xl] allows a size-controlled selection (λ= 0means ‘always take the smallest available void’, λ= 1 means ‘always take the largest availablevoid’). Unfortunately, small rattlers often prevent the detection of larger voids in some situations(as object 2 in figure 7b). Especially, strategy RA with λ= 0 seems to be a promising candidate toget rid of such blocking rattlers. Nevertheless, it should be noted that all results in §4 are obtainedby λ= 1.

on July 15, 2018http://rspa.royalsocietypublishing.org/Downloaded from

11

rspa.royalsocietypublishing.orgProc.R.Soc.A471:20150421

...................................................

Finally, it is a good idea not only to apply one of the 15 strategies, but to concatenate two, threeor more movements, either with expansion steps between consecutive movements or withoutexpansion. Here, expansion stands for the ‘usual’ procedure to densify a packing (§3f). So we arefaced with a huge amount of possibilities to tidy up suboptimal packings. It is left to exhaustivenumerical experiments which of these strategies are best suited in general.

(f) Expansion procedure and initialisationAll algorithms proposed in the preceding subsections are additional methods to increase thepacking fraction φ besides the standard procedure to generate a feasible packing which is calledexpansion in this context. The result of such an expansion trial is a locally jammed packing [30](with only a local maximum of φ) which can be further rearranged into a collectively jammedpacking with small effort. The expansion procedure used by the author belongs to the class ofthreshold algorithms with iterative improvement [31]. In a typical simulation run, all objectsconstantly wriggle inside the container (FCA) like atoms in a two-dimensional gas until theyconsolidate into a jammed structure. This behaviour is similar to the well-known billiardssimulation algorithms [32]. The temperature T, which is in fact the amplitude of the movements,plays the key role. During an expansion trial, the temperature decreases gradually from its initialvalue Ti ≈ 10−2 · · · 10−3 (depending on N) to the numerical tolerance ε ≈ 10−12 (as introducedin §2). Every time when the overlap-free condition ωij ≥−ε for all i, j is fulfilled (i.e. a feasiblepacking is obtained), the size of all objects can be increased by a constant factor. This uniformscaling saves the given radial distribution of the objects during the expansion process. If nofeasible packing can be achieved, all radii must be decreased proportionally.

These alternating changes (like a ratchet) are known as the Pulsating Disk Shakingalgorithm [33]. At the end, the whole packing is frozen in its final state representing a localoptimum, where all fixed objects are locally jammed. This process can be repeated over and overagain with many different initial packings under varying protocol-dependent parameters untilsatisfying results have been achieved. Compared to the Metropolis algorithm [34], where thermalprobabilities decide whether a current state of lower energy (i.e. density) may be accepted or not,the algorithm used here is unconditionally greedy and always strives towards a jammed state asfast as possible. The vast amount of random initial configurations will also cover the landscape oflocal optima like the Metropolis algorithm.

In this work, a RSA process [24] (as one of many opportunities to initialize the arena) is usedfor the generation of random initial non-overlapping packings with a predefined density φRSA =∑N

i=1 πr2i /(πR2). With R= 1 and ri = c0i, we find

r1 = c0 =√

6φRSA

N(N + 1)(2N + 1)

for the scaling factor c0 (and the radius r1 of the smallest object). The initial packing fraction φRSAserves as an input value and is chosen from numerical experiments as large as possible such thatits value is just below the surface coverage θ2 at the RSA jamming limit. Due to the polydispersity,φRSA = 0.60 . . . 0.77 (table 1) can be chosen significantly higher than the corresponding valueθ2 = 0.547± 0.002 for monodisperse discs [22]. Starting with the largest object, all objects aredeposited into the container in descending order by size. These initial configurations, which comewith the guarantee of feasibility, are densified in turn by the expansion procedure into locallyjammed packings.

Although the expansion algorithm is very simple, it performs quite well after some codeoptimization. The expansion procedure used here is beyond the scope of this article and has notbeen published yet anywhere in detail; this will be done in a forthcoming paper. However, it hasbeen used to achieve putative optima for several classes of packing problems, most of them areavailable at http://www.packomania.com.

on July 15, 2018http://rspa.royalsocietypublishing.org/Downloaded from

12

rspa.royalsocietypublishing.orgProc.R.Soc.A471:20150421

...................................................

Table 1. Initialization by RSA: numbers of total placement trials n̄PT, obtained numbers of half-edges n̄e, numbers of holes n̄h(with maximum degree ν̄max), numbers of overlapping and non-overlapping voids n̄v1, n̄v2, resp., loosenesses χ̄RSA, radii of thelargest void ρ̄max, and elapsed times (in seconds) for RSA adsorption t̄RSA as a function ofN (averaged over 10 independent runs),and input parametersφRSA andωRSA.

N φRSA ωRSA n̄PT n̄e n̄h(ν̄max) n̄v1 n̄v2 χ̄RSA ρ̄max t̄RSA16 0.60 0.25 1092 91 28 (5) 28 22 0.46230 0.145 0.00040

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

25 0.60 0.22 1120 152 47 (6) 46 36 0.47455 0.128 0.00047. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

40 0.65 0.18 4081 255 77 (7) 75 59 0.43064 0.0942 0.00137. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

63 0.67 0.15 12 967 420 122 (10) 119 94 0.39490 0.0733 0.00450. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

100 0.70 0.12 28 326 681 195 (12) 192 151 0.37555 0.0589 0.00946. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

160 0.71 0.10 133 232 1136 310 (18) 305 240 0.36539 0.0464 0.0435. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

250 0.73 0.08 177 050 1778 487 (19) 483 381 0.34385 0.0352 0.0595. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

400 0.75 0.05 1 448 621 2629 790 (15) 779 616 0.31968 0.0278 0.486. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

630 0.75 0.04 1 777 022 4149 1248 (12) 1235 976 0.32715 0.0229 0.612. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1000 0.75 0.03 2 019 846 6442 1976 (14) 1960 1541 0.32747 0.0181 0.718. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1600 0.75 0.025 2 489 150 10 526 3169 (18) 3139 2468 0.33124 0.0146 0.942. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2500 0.75 0.02 3 404 732 16 461 4947 (19) 4906 3825 0.33656 0.0121 1.38. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4000 0.75 0.015 5 171 084 25 810 7892 (19) 7844 6112 0.33753 0.00963 2.29. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6300 0.75 0.012 7 076 951 40 750 12 446 (22) 12 385 9627 0.33791 0.00783 3.59. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10 000 0.76 0.010 24 075 223 66 249 19 803 (27) 19 650 15 393 0.32431 0.00606 11.5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16 000 0.76 0.008 34 435 185 106 544 31 684 (31) 31 454 24 598 0.32532 0.00488 19.5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

25 000 0.76 0.006 52 499 278 162 299 49 448 (26) 49 169 38 430 0.32656 0.00397 36.0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

40 000 0.77 0.005 218 066 656 266 405 79 271 (32) 78 691 61 985 0.31189 0.00301 128. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

63 000 0.77 0.004 337 570 941 420 139 124 838 (39) 123 957 97 631 0.31274 0.00241 238. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

100 000 0.77 0.003 487 802 826 652 577 198 084 (32) 196 843 155 011 0.31306 0.00195 454. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

(g) Exchange heuristicThe application of the methods alone mentioned above will not yield results that are candidatepackings. In the case of the ri = i polydispersity, all solutions found up to N≈ 30 by the massiveeffort of dozens of researchers seem to be really serious candidates (figure 1). It needs specialheuristics to boost a suboptimal solution. The author (and many others, cf. Ye et al. [3]) uses swapand shift procedures (the exchange heuristic) for this purpose. A single swap of two objects consistssimply of an exchange of the coordinates of the circle centres of both partners. For N objects, wecount a maximum of

(N2)

possible single swaps. Every swap is followed by an application of theexpansion procedure with the hope of getting a better solution. In practice, if both partners aretoo much distinct by their radii, the chances to improve the best solution found so far are small.What is still missing is a criterion that can predict the chance of an improvement in order toreduce the huge amount of O(N2) single swaps significantly. It is left to future investigations howthe looseness χi (as a possible new local order parameter) can serve as an estimator in advance toselect or reject swap pairs (cf. item (v) in §5).

Nevertheless, multiple swaps of objects (as of two pairs, three pairs, and so on) or shifts ofobjects are also possible. For example, a shift of three objects with indices i, j, k consists of theassignments

xtmp← xi, xi← xj, xj← xk, xk← xtmp,

on July 15, 2018http://rspa.royalsocietypublishing.org/Downloaded from

13

rspa.royalsocietypublishing.orgProc.R.Soc.A471:20150421

...................................................

Table 2. Obtained packing fractions φ̄exp, loosenesses χ̄exp, and elapsed times (in seconds) for expansion procedure t̄exp,contact graph generation t̄g, hole determination t̄h, and void detection t̄v1, t̄v2 (averaged over 10 independent runs), and inputparameters initial temperature Ti, cycle frequency cf and gap limitωexp.

N Ti cf ωexp φ̄exp χ̄exp t̄exp t̄g t̄h t̄v1 t̄v216 0.15 5 0.25 0.76467 0.25223 0.0166 0.000070 0.000433 0.000597 0.000009

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

25 0.12 5 0.2 0.78229 0.23726 0.0548 0.000200 0.000689 0.00101 0.000020. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

40 0.09 5 0.15 0.79722 0.23062 0.143 0.000492 0.00113 0.00191 0.000046. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

63 0.07 3 0.12 0.80782 0.23792 0.223 0.00120 0.00163 0.00241 0.000107. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

100 0.06 3 0.10 0.82052 0.22655 0.599 0.00328 0.00227 0.00670 0.000272. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

160 0.05 1 0.08 0.82578 0.22383 0.600 0.00991 0.00371 0.0177 0.000702. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

250 0.035 1 0.06 0.83269 0.22511 1.36 0.0229 0.00603 0.0187 0.00167. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

400 0.025 0.5 0.03 0.83668 0.21493 1.83 0.0624 0.0102 0.0184 0.00440. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

630 0.020 0.5 0.02 0.84237 0.20452 5.05 0.171 0.0183 0.0409 0.0109. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1000 0.018 0.5 0.015 0.84540 0.20285 12.9 0.448 0.0350 0.0810 0.0271. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1600 0.008 0.2 0.012 0.84822 0.20540 10.1 0.893 0.0753 0.139 0.0693. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2500 0.006 0.2 0.010 0.85044 0.20347 23.9 2.16 0.169 0.261 0.170. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4000 0.004 0.2 0.006 0.85196 0.20107 59.6 5.48 0.401 0.681 0.430. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6300 0.0025 0.2 0.006 0.85422 0.20027 145 13.6 1.02 1.30 1.10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10 000 0.0020 0.1 0.004 0.85500 0.19792 186 34.0 2.42 3.14 2.73. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16 000 0.0015 0.1 0.003 0.85600 0.19680 517 91.0 6.18 7.58 7.20. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

25 000 0.0010 0.1 0.003 0.85678 0.19750 1360 222 15.9 14.9 17.3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

40 000 0.0006 0.1 0.002 0.85714 0.19820 3870 584 51.2 38.3 44.1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

63 000 0.0003 0.1 0.0015 0.85728 0.19820 10,390 1640 180 93.6 114. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

100 000 0.00015 0.1 0.0012 0.85712 0.20010 24,700 3890 352 202 259. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

or, in reversed direction,

xtmp← xk, xk← xj, xj← xi, xi← xtmp.

As in the case of swaps, every shift is followed by the expansion procedure which acts as a‘working horse’ here. Finally, any combination of swaps and shifts (not only for three objectsinvolved) can be tried to push up the packing fraction.

4. ResultsAll proposed algorithms are implemented as highly optimized C++ programs as well as theexpansion procedure. Two compute nodes running Linux with a total of 28 Intel R© Xeon R© coresand 324 GiB of memory are used for numerical experiments.

The averaged results from the RSA initialization process are presented in table 1. Tenindependent packings were created for every N in the range 16–100 000 (logarithmically spaced).The more the circles are deposited, the higher the initial density φRSA can be chosen, andthe more placement trials are needed. All averaged numbers of half-edges of the contactgraph, holes and voids grow linearly with increasing N, while the radii of the largest voidsdecreases as O(N−1/2). All packings—and all other results as well—are available electronicallyat http://www.packomania.com/voids/.

on July 15, 2018http://rspa.royalsocietypublishing.org/Downloaded from

14

rspa.royalsocietypublishing.orgProc.R.Soc.A471:20150421

...................................................

In the next step, all these 200 packings generated by RSA initialization were densified bythe expansion procedure without object jumping. The obtained averaged values of the packingfractions φ̄exp, the loosenesses χ̄exp and the elapsed times for running the expansion proceduret̄exp, the contact graph generation t̄g, the hole determination t̄h, and the void detection t̄v1, t̄v2are displayed in table 2. It should be mentioned that the values of φ̄exp and t̄exp depend onsome parameters (those given in columns 2 and 3, namely the initial temperature Ti and thecycle frequency cf ) used in the expansion procedure which control the amount of collisions ofthe objects and which can be freely chosen. The values of φ̄exp for large N show that the densityof the maximally random jammed state (MRJ) lies in the interval φMRJ = 0.8575± 0.0005. With therelation [35]

φMRJ

1− φMRJ= λ

φrcp

1− φrcp,

where λ=m3/m22 = 9

8 is the dispersity parameter for ri ∝ i, we can estimate ‘backwards’ thepacking fraction φrcp = 0.8425 of monodisperse circle packings which is discussed controversiallyin the literature [36].

Furthermore, the results show that the total time t̄g + t̄h + t̄v1 needed for the void detectionis much smaller than the time t̄exp required by the expansion procedure. The elapsed time t̄v2denotes the time of extraction of set V2 from set V1. The measured runtime complexities of t̄g(N),t̄h(N) and t̄v2(N) are of O(N2), while t̄v1(N) seems to scale as O(N3/2 log N).

The numbers of holes nh and voids nv1, nv2 as a function of the gap limit ωmax are shown infigure 9. For large values of ωmax, we observe a maximum of overlapping voids where nv1 � 2N.In this limit of saturation, all objects are properly surrounded by voids. The fraction |V2|/|V1| ofnon-overlapping voids compared to all available (overlapping) voids is approximately 86.6% inthe large-N limit. For too small values of ωmax, we obtain often underdetermined contact graphsas shown in figure 3a. To summarize these experimental results, twice the number of objects is asafe upper bound for the number of holes and voids. It should be noted that ωRSA must be chosenlarger than ωexp as reported in tables 1 and 2 since the RSA process has a lower initial packingfraction φRSA. In the expansion step, the gap limit must be lowered because the objects are comingcloser and closer until they jam. Overdetermined contact graphs as shown in figure 3b must beavoided here.

Figure 10 shows how objects are rearranged by some of the proposed strategies: initialconfiguration with all non-overlapping voids (figure 10a), after application of strategy AB with17 moves (figure 10b), and after application of strategy FI with five moves (figure 10c). Anymovement which fills the boundary voids has a favourable effect since voids along the containerborder are generally larger than interior voids. This is a direct consequence of equation (3.1).For instance, tiny object 5 prevents a detection of a larger void between objects 49 and 50,and is moved away by strategy AB in order to make space (figure 10b). On the other hand,it is sometimes not advantageous to move objects unconditionally. Object 17 (below object 49,χ17 = 0.049) nearly perfectly fills a ‘square-shaped’ hole such that a removal from this location isdisadvantageous, another example is object 30 (between objects 47 and 48, χ17 = 0.071). Therefore,the looseness χi—defined by equation (3.10)—can serve as a measure whether a movement ofobject i is advantageous or not. The smaller the value of χ , the better the object fits into the ‘filledvoid’ and should be left at this place.

The radial distributions of the objects and voids for N= 100 and N= 1000 are shown infigure 11a,b, respectively. The interval [r1, rN] for the object’s radii is divided into 50 equally sizedsubintervals, and, by ri = i, we get an uniform distribution of the object’s radii. The correspondinginterval [ρ1, ρnv2 ] for the voids is partitioned in the same way to get the distribution of the void’sradii. As the histograms show, there are many (even larger) voids that can be filled by smallobjects. Furthermore, it can be conjectured that the distribution of the void’s size is log-normal.

In order to find a favourite moving strategy, a performance evaluation of a single applicationof a movement has been carried out. If we append one moving strategy followed by an expansiontrial to a randomly generated packing, we observe a clear favourite: strategy FA (fixed object

on July 15, 2018http://rspa.royalsocietypublishing.org/Downloaded from

15

rspa.royalsocietypublishing.orgProc.R.Soc.A471:20150421

...................................................

2.0

1.8

1.6

1.4

1.2

1.0

0.8

0.6

nh/N N = 10 000

N = 1000

N = 100

nv2/N

nv1/N

log wmax

–7 –6 –5 –4 –3 –2 –1

Figure 9. Ratios nh/N, nv1/N and nv2/N as a function ofωmax for three problem sizes N= 100, 1000, 10 000. (Online versionin colour.)

0.32

0.28

0.24

0.20

0.16

0.12

0.08

0.04

0

50

45

49

4847

44

46

43

41

40

39

38

37

36

33

34

31

32

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

3

2

1

4

42

35

50

45

49

4847

44

46

43

41

40

39

38

37

36

33

34

31

32

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

3

2

1

4

42

35

50

45

49

4847

44

46

43

41

40

39

38

37

36

33

34

31

32

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

3

2

1

4

42

35

c(b)(a) (c)

Figure 10. Object jumping by two strategies (without subsequent expansion; hence the value of φ = 0.78747 remains thesame): (a) initial randomly generated and expanded packing for N= 50 (ωmax = 0.2) with 79 voids and χ̄ = 0.205; (b) afterapplication of strategy AB (λ= 1, χ̄ = 0.268). Note that objects 13 and 9 are left unchanged; (c) after application of strategyFI (λ= 1, χ̄ = 0.220). (Online version in colour.)

20 300

250

200

150

100

50

0

15

10

5

0

freq

uenc

y

radius of objects/voids radius of objects/voids0.04 0.08 0.12 0.16 0.01 0.02 0.03 0.04 0.05 0.06

(b)(a)

Figure 11. Radial distribution functions (50 equidistant subintervals) for objects and voids (ωmax = 10−2) for a packing with(a) N= 100 (115 voids total) and (b) N= 1000 (1586 voids total). (Online version in colour.)

on July 15, 2018http://rspa.royalsocietypublishing.org/Downloaded from

16

rspa.royalsocietypublishing.orgProc.R.Soc.A471:20150421

...................................................

Table 3. Best object moving strategies for a single application. The mean values of gain φ = φ1 − φ0 (see text) arepresented. The sample size for each value ofφ is approximately 50 000/15≈ 3333.

N best φ 2nd best φ 3rd best φ 4th best φ

40 FA 0.02814 IA 0.02750 AA 0.02707 FB 0.02682. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

63 FA 0.02246 IA 0.02187 AA 0.02168 FB 0.02018. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

100 FA 0.01579 AA 0.01463 IA 0.01455 FI 0.01330. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

160 FA 0.01133 IA 0.01028 AA 0.01022 FI 0.00977. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

250 FA 0.00915 AA 0.00826 IA 0.00823 FI 0.00809. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

400 FA 0.00785 IA 0.00721 AA 0.00709 FI 0.00707. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

630 FA 0.00696 IA 0.00642 FI 0.00636 AA 0.00630. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1000 FA 0.00629 IA 0.00623 AA 0.00612 FI 0.00578. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Table 4. Best object moving strategies for a double application. The mean values of gain φ = φ1 − φ0 (see text) arepresented. The sample size for each value ofφ is approximately 50 000/152 ≈ 222.

N best φ 2nd best φ 3rd best φ 4th best φ

40 IB–BA 0.04861 II–IA 0.04578 FB–FA 0.04571 AI–AB 0.04551. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

63 IA–BA 0.03417 IA–FA 0.03376 IB–BA 0.03315 IB–FA 0.03306. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

100 IA–FA 0.02333 IB–FA 0.02291 FA–FA 0.02253 FI–FA 0.02225. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

160 AA–FA 0.01633 IA–FA 0.01604 FA–FA 0.01576 IB–FA 0.01566. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

250 IA–FA 0.01279 FA–FA 0.01269 IA–FI 0.01269 IB–FI 0.01233. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

400 IA–FA 0.01105 AA–FA 0.01091 IA–FI 0.01078 FA–FA 0.01069. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

630 IA–FA 0.00971 IA–FI 0.00967 AA–FA 0.00954 AA–FI 0.00934. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1000 IA–FI 0.00926 IA–FA 0.00925 AA–FA 0.00906 AA–FI 0.00885. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

into any void), followed by the strategies IA, AA and FI. This result proves the conjecture truethat at first all jammers should be moved into voids. To be independent from the initial value ofφ0, the gain in packing fraction φ = φ1 − φ0, where φ0 and φ1 are the values before and afterapplication of the moving strategy (followed by an expansion trial), respectively, was calculatedfor 50 000 randomly created sample packings. The results are reported in table 3.

For two successive applications of movements, the result is slightly different (table 4). In thefirst movement, all interior objects have to jump out into possible voids (strategy IA), while in thesecond movement strategy FA is the best choice. Other combinations like AA–FA, IA–FI or FA–FAalso yield an acceptable gain φ.

Figure 12 shows the densest packing for N= 630 which could be obtained after thousands ofexchange, expansion and jumping trials. It has a packing fraction of φ = 0.8896 that is far beyondthe ‘random barrier’ of φMRJ = 0.8454.

5. Summary and outlookAn algorithm has been designed and implemented to analyse unoccupied areas in unequal circlepackings by graph theoretical methods. It allows the detection of free circular regions inside anypacking that necessarily diminish the packing fraction. By a rearrangement of some subsets ofobjects, a densification can be easily achieved by an appropriate object jumping strategy. Everytime when the smallest jammer is smaller than the largest void, a jump-away of the jammerfollowed by either an immediate or later expansion step should result in an increase of φ.

on July 15, 2018http://rspa.royalsocietypublishing.org/Downloaded from

17

rspa.royalsocietypublishing.orgProc.R.Soc.A471:20150421

...................................................

0.320

0.280

0.240

0.200

0.160

0.120

0.080

0.040

0

c

Figure 12. Best result obtained for N= 630 (φ = 0.88961, χ̄ = 0.10893). There are large clusters of objects with smalllooseness; remaining voids (not shown here) can be easily recognized. (Online version in colour.)

However, this heuristic may also be useful for pure constructive approaches as described in [37],where fronts of densily packed clusters grow step by step. The proposed algorithm does notguarantee to discover new candidate packings, but it helps to improve the efficiency of simulationruns significantly.

Some open questions and suggestions should be addressed in future work:

(i) A modification of the algorithms to other container shapes (square, rectangle, right-angled isosceles triangle, semicircle and circular quadrant as considered in [21]) isstraightforward and can be easily implemented.

(ii) In this article, the case ri = iα with exponent α= 1 was treated exclusively. Candidatepackings for other values of α, for instance α=+ 1

2 , α =− 12 , α =− 2

3 and α =− 15 ,

are also available (see www.packomania.com). However, the degree of polydispersityvaries considerably, the authors in [21] distinguish only between large (α= 1) andsmall (α =− 1

2 ) variation instances. It is left to future numerical tests in whichcombinations of exchange/expansion/jumping steps are the best for this and other radialdistributions.

(iii) How to choose an appropriate value of the gap limit ωmax depending on the given radialdistribution? As a rough criterion, a number of detected overlapping voids nv1 which isjust below the value 2N may work.

(iv) How does the void selection parameter λ influence the final packing fraction?(v) Up to which value of χi should jumps or swaps be denied in advance?

(vi) Implement a construction algorithm which uses precalculated loosenesses to decidewhich object should be packed as the next object along a growing front.

(vii) How to generalize this method to higher dimensions, for instance for polydisperse spherepackings?

on July 15, 2018http://rspa.royalsocietypublishing.org/Downloaded from

18

rspa.royalsocietypublishing.orgProc.R.Soc.A471:20150421

...................................................

Data accessibility. The datasets supporting this article are available at http://www.packomania.com/voids/.Pseudocodes of the algorithms have been uploaded as part of the electronic supplementary material.Competing interests. I declare I have no competing interests.Funding. I received no funding for this study.Acknowledgements. I would like to thank Prof. Dr. Stefan Schirra and Dr Michael Specht for their helpfuldiscussions and comments.

References1. Addis B, Locatelli M, Schoen F. 2008 Efficiently packing unequal disks in a circle. Oper. Res.

Lett. 36, 37–42. (doi:10.1016/j.orl.2007.03.001)2. Müller A, Schneider JJ, Schömer E. 2009 Packing a multidisperse system of hard disks in a

circular environment. Phys. Rev. E 79, 021102. (doi:10.1103/PhysRevE.79.021102)3. Ye T, Huang WQ, Lü Z. 2013 Iterated tabu search algorithm for packing unequal circles in a

circle. (http://arxiv.org/abs/1306.0694.pdf)4. Huang WQ, Xu R. 1999 Two personification strategies for solving circles packing problem. Sci.

China (Ser. E) 42, 595–602. (doi:10.1007/BF02916995)5. Wang H, Huang WQ, Zhang Q, Xu D. 2002 An improved algorithm for the packing of

unequal circles within a larger containing circle. Eur. J. Oper. Res. 141, 440–453. (doi:10.1016/S0377-2217(01)00241-7)

6. Huang WQ, Kang Y. 2002 A heuristic quasi-physical strategy for solving disks packingproblem. Simul. Modell. Pract. Theory 10, 195–207. (doi:10.1016/S1569-190X(02)00099-0)

7. Huang WQ, Kang Y. 2004 A short note on a simple search heuristic for the disks packingproblem. Ann. Oper. Res. 131, 101–108. (doi:10.1023/B:ANOR.0000039514.14699.03)

8. Sugihara K, Sawai M, Sano H, Kim DS, Kim D. 2004 Disk packing for the estimation of thesize of a wire bundle. Jpn J. Ind. Appl. Math. 21, 259–278. (doi:10.1007/BF03167582)

9. Zhang DF, Li X. 2005 A personified annealing algorithm for circles packing problem. ActaAutom. Sin. 31, 590–595.

10. Zhang DF, Deng A. 2005 An effective hybrid algorithm for the problem of packing circles intoa larger containing circle. Comp. Oper. Res. 32, 1941–1951. (doi:10.1016/j.cor.2003.12.006)

11. Akeb H, Li Y. 2006 A hybrid heuristic for packing unequal circles into a circular container.In ICSSSM’06 2006 Int. Conf. Service Systems and Service Management, New York, NY, 25–27October 2006, vol. 2, pp. 922–927. New York, NY: IEEE.

12. Huang WQ, Li Y, Li CM, Xu RC. 2006 New heuristics for packing unequal circles into acircular container. Comp. Oper. Res. 33, 2125–2142. (doi:10.1016/j.cor.2005.01.003)

13. Lü Z, Huang WQ. 2008 PERM for solving circle packing problem. Comp. Oper. Res. 35, 1742–1755. (doi:10.1016/j.cor.2006.10.012)

14. Hifi M, M’Hallah R. 2008 Adaptive and restarting techniques-based algorithms for circularpacking problems. Comput. Optim. Appl. 39, 17–35. (doi:10.1007/s10589-007-9049-5)

15. Grosso A, Jamali ARMJU, Locatelli M, Schoen F. 2010 Solving the problem of packingequal and unequal circles in a circular container. J. Glob. Optim. 47, 63–81. (doi:10.1007/s10898-009-9458-3)

16. Liu J, Xue S, Liu Z, Xu D. 2009 An improved energy landscape paving algorithm for theproblem of packing circles into a larger containing circle. Comp. Ind. Eng. 57, 1144–1149.(doi:10.1016/j.cie.2009.05.010)

17. Liu J, Yao Y, Zheng Y, Geng H, Zhou G. 2009 An effective hybrid algorithm for the circlesand spheres packing problems. In Combinatorial optimization and applications, Third Int. Conf.,COCOA 2009, Huangshan, China, 10–12 June (eds DZ Du, X Hu, PM Pardalos). Lecture Notesin Computer Science 5573, pp. 135–144. Heidelberg, Germany: Springer.

18. Liu J, Wang Y, Pan J. 2010 Efficiently packing circles into a larger containing circle. In Highperformance computing and applications, Second Int. Conf., HPCA 2009, Shanghai, China, 10–12 August. Lecture Notes in Computer Science 5938, pp. 250–256. Heidelberg, Germany:Springer.

19. Al-Mudahka I, Hifi M, M’Hallah R. 2010 Packing circles in the smallest circle: an adaptivehybrid algorithm. J. Oper. Res. Soc. 62, 1917–1930. (doi:10.1057/jors.2010.157)

20. Castillo I, Kampas FJ, Pintér JD. 2008 Solving circle packing problems by global optimization:numerical results and industrial applications. Eur. J. Oper. Res. 191, 786–802. (doi:10.1016/j.ejor.2007.01.054)

on July 15, 2018http://rspa.royalsocietypublishing.org/Downloaded from

19

rspa.royalsocietypublishing.orgProc.R.Soc.A471:20150421

...................................................

21. López CO, Beasley JE. 2013 Packing unequal circles using formulation space search. Comp.Oper. Res. 40, 1276–1288. (doi:10.1016/j.cor.2012.11.022)

22. Feder J. 1980 Random sequential adsorption. J. Theor. Biol. 87, 237–254. (doi:10.1016/0022-5193(80)90358-6)

23. Hinrichsen EL, Feder J, Jøssang T. 1986 Geometry of random sequential adsorption. J. Stat.Phys. 44, 793–827. (doi:10.1007/BF01011908)

24. Meakin P, Jullien R. 1992 Random-sequential adsorption of disks of different sizes. Phys. Rev.A 46, 2029–2038. (doi:10.1103/PhysRevA.46.2029)

25. Zeng Z, Yu X, He K, Huang WQ, Fu Z. In press. Iterated tabu and variableneighborhood descent for packing unequal circles into a circular container. Eur. J. Oper. Res.(doi:10.1016/j.ejor.2015.09.001) Available online 8 September 2015.

26. Mehlhorn K, Näher S. 1999 LEDA A platform for combinatorical and geometric computing, ch. 8.Cambridge, UK: Cambridge University Press.

27. Le Grand S. 2008 Broad-phase collision detection with CUDA. In GPU Gems 3 (ed. H Nguyen),chapter 32, pp. 697–721. Upper Saddle River, NJ: Addison-Wesley.

28. Coxeter HSM. 1969 Introduction to geometry, 2nd edn. New York, NY: Wiley.29. Uche OU, Stillinger FH, Torquato S. 2004 Concerning maximal packing arrangements of

binary disk mixtures. Phys. A 342, 428–446. (doi:10.1016/j.physa.2004.05.082)30. Torquato S, Stillinger FH. 2001 Multiplicity of generation, selection, and classification

procedures for jammed hard-particle packings. J. Phys. Chem. B 105, 11 849–11 853. (doi:10.1021/jp011960q)

31. Aarts E, Lenstra JK. 1997 Local search in combinatorial optimization. Chichester, New York,Weinheim, Brisbane, Singapore, Toronto: John Wiley & Sons.

32. Lubachevsky BD. 1991 How to simulate billiards and similar systems. J. Comp. Phys. 94,255–283. (doi:10.1016/0021-9991(91)90222-7)

33. Szabó PG, Markót MC, Csendes T, Specht E, Casado LG, García I. 2007 New approaches to circlepacking in a square with program codes. New York, NY: Springer Science+Business Media, LLC.

34. Metropolis N, Rosenbluth AW, Rosenbluth MN, Teller AH, Teller E. 1953 Equation of statecalculations by fast computing machines. J. Chem. Phys. 21, 1087–1092. (doi:10.1063/1.1699114)

35. Santos A, Yuste SB, López de Haro M, Odriozola G, Ogarko V. 2014 Simple effective ruleto estimate the jamming packing fraction of polydisperse hard spheres. Phys. Rev. E 89,040302(R). (doi:10.1103/PhysRevE.89.040302)

36. Berryman JG. 1983 Random close packing of hard spheres and disks. Phys. Rev. A 27,1053–1061. (doi:10.1103/PhysRevA.27.1053)

37. Bagi K. 2005 An algorithm to generate random dense arrangements for discrete elementsimulations of granular assemblies. Granular Matter 7, 31–43. (doi:10.1007/s10035-004-0187-5)

on July 15, 2018http://rspa.royalsocietypublishing.org/Downloaded from