27
1 Als Manuskript gedruckt Technische Universität Dresden Herausgeber: Der Rektor Packing non-equal spheres into containers of different shapes Guntram Scheithauer, Yuriy Stoyan, Georgiy Yaskov MATH-NM-07-2013 October 2013

Packing non-equal spheres into containers of different shapesscheith/ABSTRACTS/PREPRINTS/13-sphe… · 3 Packing non-equal spheres into containers of different shapes G. Scheithauer,

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

  • 1

    Als Manuskript gedruckt

    Technische Universität Dresden Herausgeber: Der Rektor

    Packing non-equal spheres into containers

    of different shapes

    Guntram Scheithauer, Yuriy Stoyan, Georgiy Yaskov

    MATH-NM-07-2013

    October 2013

  • 2

    Contents 1 Introduction 3

    2 A mathematical model and its characteristics 6

    3 Generating starting points and searching for local minima 7

    4 Transition from one local maximum to another one 10

    5 Solution strategy 14

    5.1 Local minimum……………………………………………………………... 14

    5.2 Jump algorithm (JA)…………………………………………………………14

    5.3 Decrease of the problem dimension………………………………………… 16

    5.4 Rearrangement of sphere pairs……………………………………………… 17

    6 Numerical examples 17

    7 Conclusion 19

  • 3

    Packing non-equal spheres into containers of different shapes G. Scheithauer,

    Institute of Numerical Mathematics Dresden University of Technology D - 01062 Dresden Germany Phone: (+49) (0351) 463 32002 Fax (+49) (0351) 463 34268 E-mail: [email protected]

    Yu. Stoyan, G. Yaskov

    Institute for Mechanical Engineering Problems

    National Academy of Sciences of Ukraine

    2/10 Pozharsky St., Kharkov

    61046 Ukraine

    Phone: +380573494777, +380572942964

    Fax: +380572944635

    E-mail: [email protected] Abstract The article reviews a mathematical model of the optimization problem of packing different spheres into a container which can be a cuboid, a sphere, a right circular cylinder, an annular cylinder and a spherical layer. The assumption that sphere radii are variable is exploited. Based on the hypothesis a new way to derive starting point belonging to the feasible region of the problem is offered. Solving the problem is reduced to solving a sequence of mathematical programming problems. A step by step procedure of smooth transition from one local maximal point to another one providing an improvement of the objective function value is suggested. A solution strategy consisting of four stages is proposed. The first stage involves formation of starting points and computation of local minima of the problem. The second stage fulfills continuous transition from one local minimum to another one. The third stage allows to improve solution results due to reduction of the solution space dimension. The forth stage realizes rearrangements of sphere pairs to reduce the objective function value of the problem. A number of numerical results which we compare with benchmark ones are given.

    Key words packing, sphere, cuboid, cylinder, annular cylinder, spherical layer, optimization, jump algorithm

  • 4

    1 Introduction Packing a large number of congruent 3D spheres occurs in the study of

    protein’s structures in biology (Uhler and Mian 2011) and the structures of diverse many-body systems such as granular media, liquids, living cells and random media in chemistry and physics (Torquato 2002). Medical applications of the sphere packing problem in radiosurgery are studied in (Wang 1999; Chen et al. 2001; Sutou and Day 2002). The gamma-rays are focused on a common center, creating a spherical volume of high radiation dose. A key geometric problem in gamma knife treatment planning is to fit balls into a 3D irregular-shaped tumor. In this situation, overlapping balls may cause overdose, and a low packing density may result in underdose and a non-uniform dose distribution.

    A number of concrete properties is considered in Yamada et al. (2011). Filling pores in concrete with solid materials or nanoparticles improves the strength significantly. Solid materials or nanoparticles can be modeled as spheres.

    The greater part of literature deals with equal sphere packing (see, e.g. (Conway and Sloane 1999), Soontrapa and Chen (2013)). We concentrate on papers investigating unequal sphere packing. Visscher and Bolsterli (1972) consider a problem of packing spheres into a cuboid by means of a Monte Carlo method, simulating falling spheres under gravitation. Sutou and Day (2002) propose a global optimization approach to unequal sphere packing problems. The optimization problem is formulated as a nonconvex optimization problem with quadratic constraints and a linear objective function. Paper (Stoyan et al. 2003) offers a mathematical optimization method for packing unequal spheres into a cuboid based on the decremental neighborhood method and a local optimization method. Twice-differentiable models for 2D and 3D packing problems including packing different-sized spheres are presented in (Birgin and Sobral 2008). Kubach et al. (2011) adapt the parallel greedy algorithms proposed in paper (Huang et al. 2005) to the 3D case with some important enhancements (method B1.6_3DSPP) and create a formidable benchmark. The trade-off between solution quality and runtime is investigated. A hybrid algorithm ELPGD for packing unequal circles and spheres into a larger circular (spherical) container is developed in (Liu et al. 2013). The algorithm is based on the improved energy landscape paving method with a gradient descent procedure. A set of unitary spherical packing instances are presented. An algorithm to pack unequal spheres in a larger sphere using tabu search, the quasi-human basin-hopping strategy and the Broyden–Fletcher–Goldfarb–Shanno method is developed in (Zeng et al. 2012). A set of examples are calculated. Hifi and R’Hallah [2] reviewed a number of efficient models and methods for packing circles and spheres.

    In this paper, we adopt the jump algorithm (JA) developed for unequal circle

  • 5

    packing (Stoyan and Yaskov 2013) to deal with unequal sphere packing. JA allows to transit from one local minimum point to another one so that the container size decreases. We consider a number of different containers.

    The paper considers the following problem. All given spheres

    3 2 2 2 2ˆ= {( , , ) : ( ) ( ) ( ) 0}i i i i iS x y z x x y y z z r∈ − + − + − − ≤ℝ

    where ),,( iiii zyxv = are center coordinates of ,iS },{1,2,...,= nIi ∈ have to be packed into a container P which can be of the following kinds: a cuboid

    3= {( , , ) : 0 , 0 , 0 }BP x y z x a y b z h∈ ≤ ≤ ≤ ≤ ≤ ≤ℝ ,

    where ˆ/ 2 max{ : }ia r i I≥ ∈ , ˆ/ 2 max{ : }ib r i I≥ ∈ ,

    a sphere 3 2 2 2 2= {( , , ) : 0},SP x y z x y z R∈ + + − ≤ℝ

    a cylinder 3 2 2 2{( , , ) : 0, 0 }CP x y z x y R z h= ∈ + − ≤ ≤ ≤ℝ ,

    where ˆmax{ : }iR r i I≥ ∈ , ˆ/ 2 max{ : }ih r i I≥ ∈ ,

    an annular cylinder 3 2 2 2 2 2 2= {( , , ) : 0, 0, > , 0 }CCP x y z x y R x y R z hρ ρ∈ + − ≤ − − + ≤ ≤ ≤ℝ ,

    where ˆmax{ : }iR r i Iρ− ≥ ∈ ,

    and a spherical layer 3 2 2 2 2 2 2 2 2= {( , , ) : 0, 0, > }SSP x y z x y z R x y z Rρ ρ∈ + + − ≤ − − − + ≤ℝ .

    We suppose that the height h of BP and the radius R of SP , CCP and SSP are

    variables. The height h or the radius R is variable for CP . For the sake of

    convenience we take h=µ or = Rµ . A sphere iS translated by a vector iv and a container P with variable size µ

    are denoted by )( ii vS and )(µP respectively. A vector n

    nvvvv3

    21 ),...,,(= R∈

    defines an arrangament of ,iS ,Ii ∈ in the Euclidean 3-dimensional space .3R

  • 6

    Without loss of generality, we suppose that

    1 2ˆ ˆ ˆ... nr r r≤ ≤ ≤ , 1̂ n̂r r< . (1)

    Problem. Find a vector v ensuring a packing of spheres ),( ii vS ,Ii ∈ without

    their mutual overlappings within the container P of minimal size .∗µ The paper offers a mathematical model of the problem and investigates its

    characteristics. Based on the characteristics a new way of transition from one local extremal point to another one is proposed. A combination of random construction of starting points and the transition way provides computation of “good” local minima of the objective. The fact is illustrated by series of numerical results below and their comparison with the benchmark ones.

    Section 2 gives a mathematical model of the problem and its characteristics. In Sect. 3 we offer a construction way of starting points and a technique of searching for local minima. Section 4 considers a method of transition from one local extremal point to another one guaranteeing an improvement of the objective function value. In Sect. 5 we suggest a solution strategy including a jump algorithm which realizes a smooth transition from one local extremal point to another one, reduction of the problem dimension and rearrangement of sphere pairs. Section 6 presents numerical results and compare our results with benchmark ones. We conclude in Sect.7.

    2 A mathematical model and its characteristics A mathematical model of the problem can be stated as

    * = minµ µ , s.t. 3 1= ( , ) nY v Wµ +∈ ⊂ ℝ (2)

    where

    3 1= { : ( , ) 0, 0 < < , ( , ) 0, }n ij i j i iW Y v v i j I v i Iµ+∈ Φ ≥ ∈ Φ ≥ ∈ℝ . (3)

    Here 2 2 2 2ˆ ˆ( , ) = ( ) ( ) ( ) ( ) 0ij i j i j i j i j i jv v x x y y z z r rΦ − + − + − − + ≥ ensures non-overlapping spheres iS and ,jS ( , ) 0i iv µΦ ≥ provides a placement of )( ii vS within )(µP .

    The function ),( µii vΦ depending on the container type has the form

  • 7

    2 2 2 2

    2 2 2

    2 2 2 2 2 2

    ( , ) =

    ˆ ˆ ˆ ˆ ˆ ˆmin{ , , , , , } if ,

    ˆ( ) if ,

    ˆ ˆ ˆmin{ ( ) , , } if ,

    ˆ ˆ ˆmin{ ( ) , ( ) , ,

    i i

    i i i i i i i i i i i i B

    i i i i S

    i i i i i i i C

    i i i i i i i i

    v

    x r y r z r a x r b y r h z r P P

    x y z R r P P

    x y R r z r h z r P P

    x y R r x y r z r

    µ

    ρ

    Φ− − − − − − − − − =

    − − − + − =− − + − − − − =− − + − + − + −

    2 2 2 2 2 2 2 2

    ˆ } if ,

    ˆ ˆmin{ ( ) , ( ) } if .i i CC

    i i i i i i i i SS

    h z r P P

    x y z r x y z R r P Pρ

    − − =

    + + − − − − − + − =

    The mathematical model (2)–(3) possesses the same characteristics as that of the mathematical models considered in (Stoyan et al. 2003; Stoyan Yaskov 2010), i.e. local minima are reached at extreme points of W , the matrix of the inequality system in (3) is strongly sparse, the number of inequalities specifying W is

    ( 1) / 2n n nη ≥ − + and the problem stated is NP-hard (Lenstra 1979). Thus, in general, a global minimum of the problem can be reached but only in a theoretical manner.

    Consequently, for successfully solving problem (2)–(3) it needs to be able to construct starting points belonging to the feasible region ,W to compute local minima and to derive an effective non-exhaustive search for local minima.

    3 Generating starting points and searching for local minima

    A starting point 0Y can be given either deterministic or randomly. Any deterministic way (greedy and heuristic algorithms, e.g. (Kubach et al. 2009)) being used to construct starting points do not permit to obtain arbitrary starting points. So, 0Y is desirable to be given randomly. In order to generate starting points in a random way we offer the following approach.

    Primarily, we suppose that radii ir of spheres ,iS ,Ii ∈ are variables and form

    a vector nnrrrr R∈),...,,(= 21 . In the case, the inequalities in system (3) take the form

    ( , , , ) 0, 0 < < , ( , , ) 0, .ij i j i j i i iv v r r i j I v r i IµΦ ≥ ∈ Φ ≥ ∈

    Thus, nrvX 4),(= R∈ is the vector of all variables. Let 0.>= 0µµ We form a point ,0)(= ▲▲ vX so that ),( 0µPvi ∈

    ▲ ,Ii ∈ i.e.

    points ,3R▲∈iv ,Ii ∈ are randomly thrown in the container )(0µP (Fig. 1).

    In order to construct a point Wv ∈),( 0µ on the ground of the point ),( 0µ▲v

  • 8

    we solve the problem

    Fig. 1 Random packing

    =1

    ( ) = max ( ) = maxn

    ii

    r r rΨ Ψ ∑⌢

    , s.t. 4= ( , ) ,nX v r D∈ ⊂ ℝ (4)

    where 4 0= { , ( , , , ) 0, 0 < < , ( , , ) 0,

    ˆ( ) = 0, 0, }.

    nij i j i j i i i

    i i i i i

    D X v v r r i j I v r

    r r r r i I

    µϕ

    ∈ Φ ≥ ∈ Φ ≥

    − ≥ ≥ ∈

    ℝ (5)

    It follows from the construction of ▲X that .DX ∈▲ So taking starting point ▲X we tackle problem (4)–(5) and obtain a local maximal point ( , )X v r=

    ⌢ ⌢ ⌢ (Fig

    2). Note that in addition to the characteristics of problem (2)–(3), problem (4)–(5)

    possesses the properties:

    (i) Inequalities 0,)( ≥ii rϕ Ii ∈ , in (5) imply that if

    =1 =1

    ˆ( ) = = =n n

    i ii i

    r r r bΨ ∑ ∑⌢ ⌢

    ,

    then ˆ=r r⌢

    and spheres ,iS ,Ii ∈ are packed into )(0µP (Fig 2a). This means the

    point X⌢

    is a global maximal point of problem (4)–(5). (ii) If ( )r bΨ

  • 9

    a)

    b)

    Fig. 2 Packing corresponding to a local maximum of problem (4)–(5)

    Depending on the value 0µ two cases can be found: i. ( ) =r bΨ ⌢ and ii. ( ) < .r bΨ ⌢ It follows from item (i) that 0( , )v µ ∈⌢ W (see (3)) if ( ) =r bΨ ⌢ . The point

    0( , )v µ⌢ is not in the general case a local minimal point of problem (2)–(3). So, taking starting point 0( , )v µ⌢ (see Fig. 2a) we calculate a local minimal point ( , )v µ⌣ ⌣ of problem (2)–(3) regarding the interaction of the placed spheres (Fig. 3).

    Let ( ) < .r bΨ ⌢ Then we either choose ,0)(= ▲▲ vX in a random way again and solve sequentially problems (4)–(5) and (2)–(3) or try to execute a transition from

    X⌢

    to X⌢⌢

    so that ( ) > ( ).r rΨ Ψ⌢⌢ ⌢

    The next section provides the basic principle of such transition.

    Note that the Interior Point Optimizer (IPOPT) exploiting information on Jacobians and Hessians (Wächter and Biegler 2006), and the concept of ε -active

    µ0

    1

    4

    2

    3

    6

    7

    5

    µ0

    1

    2

    4 3

    7

    5 6

  • 10

    inequalities (Zoutendijk 1960; Stoyan and Yaskov 2010) are used when tackling problems (2)–(3) and (4)–(5).

    Fig. 3 Packing corresponding to a local minimum of problem (2)–(3)

    4 Transition from one local maximum to another one In this section we consider an opportunity to construct at a local maximal point a vector which permits to obtain a new local maximal point at which the value of the objective )(rΨ (see problem (4)–(5)) enlarges. The investigation is a base of JA considered in Subsection 5.2.

    Let ( , )X v r=⌢ ⌢ ⌢

    be a local maximal point of the problem (4)–(5) and

    =1

    ( ) = <n

    ii

    r r bΨ ∑⌢ ⌢

    , i.e. at least one of the inequalities ˆ 0i ir r− ≥⌢

    , ,Ii ∈ is not active.

    We formulate the auxiliary problem

    3=1

    max ( ) =n

    ii

    V r r∑ , s.t. 4 ,nX M∈ ⊂ ℝ (6)

    4 0

    1 max 2 min

    = { , ( , , , ) 0, 0 < < , ( , , ) 0,

    ( ) = 0, ( ) = 0, },

    nij i j i j i i i

    i i i i i i

    M X v v r r i j I v r

    r r r r r r i I

    µψ ψ

    ∈ Φ ≥ ∈ Φ ≥

    − ≥ − + ≥ ∈

    ℝ (7)

    where max ˆ= max{ , }ir r i I∈ and min ˆ= min{ , }.ir r i I∈ Note that the feasible region M is different from D in (4)–(5) by the inequalities 0,)(1 ≥ii rψ 0,)(2 ≥ii rψ

    Ii ∈ , i.e. the constrains ˆ( ) = 0i i i ir r rϕ − ≥ , 0ir ≥ in (5) are substituted for 0,)(1 ≥ii rψ 0,)(2 ≥ii rψ Ii ∈ . This means that radii 0,≥ir Ii ∈ (see (1)) are

    µ0 µ⌣

    1 2

    4

    6

    3

    5

    7

  • 11

    allowed to take any values from the interval ],[ maxmin rr . Hence, the radii can take

    values greater than initial ones ˆ ,ir }{\ nIi ∈ , i.e. the following remark is valid:

    Remark 4.1 There exists MrvX ∈),(= such that

    3

    =1

    ˆ ˆ( ) > ( ) = ( )n

    ii

    V r V r r∑ .

    The choice of the objective (6) is explained by a need to determine whether there is a volume reserve around spheres packed.

    We now compute the steepest ascent vector 0Z at the point X⌢

    for the auxiliary problem (6)–(7) and construct the points

    01

    = , = {0,1,2,..., < },2

    X X Z qγ

    γ γ + ∈Γ ∞

    ⌢ (8)

    i.e.

    01

    = ( ) , , .2i i i

    r r z i I Jγ γ γ+ ∈ ∈⌢ (9)

    Remark 4.2 If 00 ≠Z , then there exists such m that if m≥γ , then .MX ∈γ

    Since values of ,ir ,Ii ∈ are limited by the segment ],[ maxmin rr in problem (6)–(7), then some of = ,j j jr r r

    γ ≥ ⌢ 1 ,j I I∈ ⊂ and some of = < ,i i ir r rγ ⌢ 2 .i I I∈ ⊂

    Thus, there may turn out that a number of inequalities ˆ( ) = 0,i i i ir r rϕ − ≥ ,Ii ∈ are not active in (5). Let index sets 1I and 2I consist of q and p elements

    respectively. It is evident ∅∩ =21 II and .=21 III ∪ Now we assume m=γ (see Remark 4.2) and form coordinates of a vector

    1 2 1 2= ( , ,..., , , ,..., )m m m m m m m

    n nX v v v r r rɶ ɶ ɶ ɶ ɶ ɶ ɶ based on the points ( , )X v r=⌢ ⌢ ⌢

    and mX in the

    following way. If for 2i I∈ and 1j I∈ the inequalities

    ˆ ˆ> , ,

  • 12

    = , = .m m m mi i i ir r v vɶ ɶ

    Note that to the point m mX X≠ɶ there corresponds a feasible packing of spheres (Fig. 5 and Fig. 6) obtained from the packing of spheres (Fig. 4) corresponding to point X

    ⌢ at which some spheres of ,jS ,Ij ∈ “changed over”.

    Fig. 4 Packing corresponding to X⌢

    Fig. 5 Packing corresponding to mX

    ),( 111mm ruS

    ),( 222mm ruS

    ),( mimii ruS

    mjr

    jr⌢

    ir⌢

    mir

    ),( mjmjj ruS

    ),( 111 ruS⌢⌢

    ),( jjj ruS⌢⌢

    ),( 222 ruS⌢⌢

    ),( iii ruS⌢⌢

    ir⌢ ir̂

  • 13

    Fig. 6 Packing corresponding to mXɶ

    Remark 4.3 It is easy to see that m mX X=ɶ can be, i.e. there exists such an integer number N that if >m N , then .m mX X=ɶ This means that mXɶ is not in the attraction zone of the local maximal point X

    ⌢ if m N≤ .

    Let X⌢ɶ be a local maximal point obtained from the starting point mXɶ when

    tackling problem (4)–(5).

    Theorem If Nm≤ , then ( ) > ( ).X XΨ Ψ⌢ ⌢ɶ

    Proof. For the sake of simplicity let mX⌢ɶ and X

    ⌢ differ by values of variables

    jij vrr ,, and iv only and, in addition, let ,< ij i.e.

    1 2 1 2= ( , ,..., ,..., ,..., , , ,..., ,..., ,..., ),m m m m m m m m m m m

    j i n j i nX v v v v v r r r r r⌢ ⌢ ⌢ ⌢ ⌢ɶ ɶ ɶ ɶ ɶ

    where = ,m mj iv v⌢ɶ = ,m mi jv v

    ⌢ɶ ˆ= min{ , }m mi i jr r r

    ⌢ɶ , ˆ= min{ , }m mj j ir r r

    ⌢ɶ (see (10) and (11)).

    First of all we note that m mX X≠⌢ɶ because of Nm≤ (see Remark 4.3). Hence,

    the point mX⌢ɶ is not in the attraction zone of the local maximum point .X

    ⌢ It

    follows from Remark 4.2 and construction of mX⌢ɶ that mX M∈

    ⌢ɶ , i.e. the

    inequality system 0,),,,( ≥Φ jijiij rrvv ,

  • 14

    as well. This means that .mX D∈⌢ɶ Bearing in mind inequalities < mi jr r

    ⌢ and

    mj ir r≤⌢

    , we have =1 =1

    >n n

    mi i

    i i

    r r∑ ∑⌢ ⌢ɶ , i.e. ( ) > ( )mX XΨ Ψ

    ⌢ ⌢ɶ . Hence, ( ) > ( )mX XΨ Ψ

    ⌢ ⌢ɶ if

    mX⌢ɶ is a local maximum point obtained from the starting point X

    ⌢. If the vectors

    mX⌢ɶ and X

    ⌢ differ in more than four of coordinates, then the theorem is fulfilled

    all the more. □

    5 Solution strategy Our solution strategy for problem (2)–(3) consists of four stages. The first stage consists of formation of a starting point and computation of a local minimum of problem (2)–(3) (see Subsection 5.1). The second stage fulfills a continuous transition from one local maximum to another one of problem (4)–(5) (see Subsection 5.2). The third stage allows to improve solution results of problem (4)–(5) due to reduction of the solution space dimension (see Subsection 5.3). The forth stage realizes rearrangements of sphere pairs to diminish the objective value. (see Subsection 5.4).

    5.1 Local minimum

    To compute a local minimum of problem (2)–(3) we derive a step by step procedure that includes tackling problems (2)–(3) and (4)–(5).

    Primarily, we choose 0= µµ guaranteeing an arrangement of spheres iS of radii îr , ,Ii ∈ into the container ).(

    0µP Then we take a point ,0)(= ▲▲ vX in a random way so that ),( 0µPvi ∈

    ▲ ,Ii ∈ and, using starting point ▲X , solve problem (4)–(5). As a result, a local maximal point ( , )X v r=

    ⌢ ⌢ ⌢ is found. Because

    of the choice 0= µµ we always have ( ) =r bΨ ⌢ (see Section 3, item (i)) , i.e.

    1 2ˆ ˆ ˆ ˆ( , ,..., )nr r r r r= =⌢

    . This means that 0( , ) .v Wµ ∈⌢ So, taking a starting point 0( , )v µ⌢ , we solve problem (2)–(3) and calculate a local minimal point 0 0( , )v µ⌣ ⌣ .

    5.2 Jump algorithm (JA) A base of the jump algorithm (JA) is the theorem above (see Section 4). The algorithm permits to execute a continuous transition from a local maximal point of problem (4)–(5) to another one ensuring an increase of )(rΨ .

  • 15

    Let 0 0( , )v µ⌣ ⌣ be a local minimal point of problem (2)–(3). We compute

    2 21 1

    ˆ ˆ ˆ= ( ) = (1 ( ) ), , = 0,1,....2 2i i i i

    r r r r i Iλ λ λ λ+ +− − ∈

    and assume that sphere radii are equal to ,λir .Ii ∈ Then problem (2)–(3) takes the form

    = minµ µ⌣ s.t. 3 1= ( , ) nY v Wλµ +∈ ⊂ ℝ (12)

    where

    3 1 2 2 2 2= { : ( , ) = ( ) ( ) ( ) ( ) 0,

    0 < < , ( , ) 0, },

    nij i j i j i j i j i j

    i i

    W Y v v x x y y z z r r

    i j I v i I

    λ λ λ λ

    λ µ

    +∈ Φ − + − + − − + ≥

    ∈ Φ ≥ ∈

    2 2 2 2

    2 2 2

    2 2 2 2 2 2

    ( , ) =

    min{ , , , , , } if ,

    ( ) if ,

    min{ ( ) , , } if ,

    min{ ( ) , ( ) , ,

    i i

    i i i i i i i i i i i i B

    i i i i S

    i i i i i i i C

    i i i i i i i i

    v

    x r y r z r a x r b y r h z r P P

    x y z R r P P

    x y R r z r h z r P P

    x y R r x y r z r h

    λ

    λ λ λ λ λ λ

    λ

    λ λ λ

    λ λ λ

    µ

    ρ

    Φ

    − − − − − − − − − =− − − + − =

    − − + − − − − =− − + − + − + −

    2 2 2 2 2 2 2 2

    } if ,

    min{ ( ) , ( ) } if .i i CC

    i i i i i i i i SS

    z r P P

    x y z r x y z R r P P

    λ

    λ λρ

    − − = + + − − − − − + − =

    Since ˆ< ,i ir rλ ,Ii ∈ then the point 0 0( , )v Wλµ ∈⌣ ⌣ and 0 0( , )v µ⌣ ⌣ is not a local

    minimal point of problem (12). So, taking starting point 0 0( , )v µ⌣ ⌣ , we solve

    problem (12) and define a local minimal point 0 0( , )v µ⌣ ⌣⌣ ⌣

    . Since =1

    <n

    ii

    r bλ∑ , then,

    tackling problem (4)–(5) for starting point 0 0= ( , )X v r Dλ ∈⌣⌣

    , we compute a local

    maximal point ( , ).X v rλ λ λ=⌢ ⌢ ⌢

    Two cases are possible: ( ) =r bλΨ ⌢ and ( )

  • 16

    iterations.

    In this situation ( ( ) ( )mV r V r may occur (see (7) and Remark 1), then, making use of

    sequence (13), we compute 0 ˆ= min{ , },j j

    m mi i jr r r .Ij ∈ This ensures the inequality

    0 ˆ( ) ( )mV r V r≤ where 0 0 0 01 2( , ,..., )m m m m

    nr r r r= . Based on sequence (13), we

    construct two points: ( , )m m mX v r=ɶ ɶɶ ɶ ɶ where = ,j

    m mj iv vɶ

    0

    j

    m mj ir r=ɶɶ , j I∈ , and point

    ( , )m m mX v r=ɶ ɶ ɶ where = ,j

    m mj iv vɶ j

    m mj ir r=ɶ , j I∈ .

    If ˆ( ) > ( ) > ( )mV r V r V r λ⌢ɶɶ , then the new steepest ascent vector 0Z at the point

    mXɶ for problem (6)–(7) is calculated. Taking = mX X⌢ɶ , we build a new point

    0= (1/ 2)m mX X Z+⌢

    (see (8) and Remark 4.2) and construct new points

    ( , )m m mX v r=ɶ ɶɶ ɶ ɶ and ( , )m m mX v r=ɶ ɶ ɶ in accordance with sequence (13), and so on. The iterative process is continued until either ˆ( ) = ( )mV r V rɶɶ or

    ˆ( ) ( ) < ( )mV r V r V rλ≤ ⌢ɶɶ occurs. If ˆ( ) = ( )mV r V rɶɶ , i.e. ˆ=mi ir rɶɶ , ,Ii ∈ then taking starting point ( , )

    miv

    λµ⌣ɶ , we tackle problem (2)–(3) and calculate a new local minimal point 0 0( , )v µ⌣ ⌣ . The process is repeated until ˆ( ) ( ) < ( )mV r V r V rλ≤ ⌢ɶɶ becomes and next, we go to Subsection 5.3.

    Note that JA executes a smooth transition from one local maximum to another one of problem (4)–(5).

    5.3 Decrease of the problem dimension

    Reduction of the solution space dimension is realized by means of sequencial fixing initial values of sphere radii without fixing their center coordinates.

    To the aim we take the point mXɶ , single out ˆ>mi ir rɶ , ,1 IIi ⊂∈ and calculate

    1 3 3 1ˆ= 4 / 3 max{( ) ( ) , }mi ir r i Iδ ⋅ − ∈ɶ . Let 1δ correspond to radius t̂r . Hence,

    1δ is an increment of volume of the sphere tS when varying its radius from îr to

    mtr .

    This means that if ˆ=t tr r , then there is a volume reserve around the sphere tS . In

  • 17

    order to use the reserve we fix radius ˆ=t tr r and derive a point 1 4 1

    1 2 1 1( , , ,..., , ,..., ) ,m m m m m m m n

    t t nX v r r r r r−

    − += ∈ɶ ɶ ɶ ɶ ɶ ɶ ɶ ℝ i.e. tr is no longer a variable and, hence, the dimension of the solution spaces D (cf.(5)) and M (cf. (7)) decreases by 1. Then, taking starting point 1mXɶ we realize JA (Sect. 5.2) in the space 4 1n−ℝ .

    If 1 3

    =1

    ˆ ˆ( ) = ( ) ( )n

    mi

    i

    V r V r r=∑ɶɶ , then we take starting point 1( , )miv λµ⌣

    ɶ , tackle problem

    (2)–(3) and calculate a new local minimal point 0 0( , )v µ⌣ ⌣ . If 1 ˆ( ) ( )mV r V r

  • 18

    Special attention is given to packing spheres into a cuboid as the most investigated topic. The first group of instances (SYS1-SYS6) were first presented in (Stoyan et al 2003). Improvements were obtained in (Birgin and Sobral 2008) and (Kubach et al. 2011). The performance of JA in comparison with other algorithms (Birgin and Sobral 2008; Kubach et al. 2011) is reported in Table 1. Here, the first column contains names of instances and the second one contains the number of spheres. The other columns give the best heights BSh (Birgin and

    Sobral 2008), Kh (Kubach et al. 2011), 0h∗ (JA), the runtime obtained by JA

    respectively and the percentage of improvement of JA against the best known results.

    Table 1. Results for instances SYS1-SYS6

    Instance n BSh Kh

    0h∗ runtime, hours

    improve

    SYS1 25 9.7942 9.2656 9.1604 1 1,1 SYS2 35 - 8.9301 8.8195 6 1,2 SYS3 40 9.3090 8.7178 8.4108 8 3,5 SYS4 45 11.0962 10.4042 9.9288 8 4,6 SYS5 50 11.6211 10.9865 10.5905 8 3,6 SYS6 60 12.7215 11.8399 11.5708 8 2,3

    The second group of examples were generated in (Kubach et al. 2011) and

    consist of 288 problems. We do not consider examples with obvious results, for example, KBG_3DSPP21, where spheres are packed in one/two layers and can free move. Comparison of results for the rest of the second group is presented in Table 2 (20 spheres), Table 3 (30 spheres), Table 4 (40 spheres) and Table 5 (50 spheres). In the tables, the first column shows example names. The best heights

    Kh obtained in (Kubach et al. 2011) and the best ones 0h∗ for JA are in the second

    and the third column respectively. The last column gives the percentage of improvement of JA against Kubach et al. (2011). The runtime for instances with 20, 30, 40 and 50 spheres are limited by 1, 2, 3 and 4 hours respectively. In instances KBG_3DSPP40, KBG_3DSPP138, KBG_3DSPP169 and KBG_3DSPP247 we use the best points calculated in (Kubach et al. 2011) as starting points for JA.

    Moreover, four new instances with larger number of spheres were formed based on KBG_3DSPP examples. Results of calculations are presented in Table 6. Here, n , a , b and 0h∗ are the number of spheres, width, length and the best height respectively. The computation time was at most 2 hours for 20 spheres, 6 hours for 30 spheres, 8 hours for 40 spheres and 12 hours for 50 spheres.

    Two groups of examples of packing spheres in a larger sphere are presented

  • 19

    below. The first group contains examples for 30, 40, 50, 61, 71, 81, 90 and 100

    spheres. The calculation results are given in Table 7. Names of examples are given in the first column. The second and the third column contain numbers of spheres and values *0R obtained with JA respectively.

    In order to evaluate JA we compare results of packing spheres ir i= , 1,2,...,i n= , into a larger sphere calculated by the algorithm (Zeng et al. 2012)

    and JA. In Table 8, the first and the second column give example names and numbers of spheres to be packed. The third and the forth column summarize the best values of radii obtained in (Zeng et al. 2012) ( HR ) and with JA (

    *0R ). The

    percentage of improvement of JA against the best known results is shown in the last column. The calculation time by means of JA varied from 10 seconds to 12 hours depending on the number of spheres.

    Results of packing spheres into a cylinder of minimal height, a cylinder of minimal radius, an annular cylinder and a spherical layer are presented in Tables 9, 10, 11 and 12 respectively. The first and the second column contain example names and numbers of spheres. The best values 0 0 0( , )h Rµ∗ ∗ ∗ obtained with JA are summurized in the third column. The runtime was 1 hour for each example.

    All instances presented may be downloaded from the webpage: http://f-bit.ru/uploads/250612.zip.

    7 Conclusion The assumption that radii of all spheres are variables allowed to develop a new way to derive starting points. The way simplifies the solution process and improves the performance of results obtained.

    Algorithm JA executes smooth transitions between local maximal points ensuring a growth of the objective values. The algorithm is especially effective if neighbor initial radii of spheres in the sequence (1) are slightly distinguished.

    A decrease of the problem dimension by means of sequential fixing sphere radius values sometimes permits to improve the objective values of problem (2)–(3).

    Numerical results presented show that the solution approach offered is more effective than probabilistic and heuristic methods known.

    The optimization approaches and the solution algorithms worked out can also be applied when tackling problems of packing non-equal spheres into containers being multiply connected bounded sets.

  • 20

    Table 2. Results for instances KBG_3DSPP1- KBG_3DSPP66 (20 spheres) Example

    BSh

    0h∗ impr ove

    1 35.4136 35.0671 1 2 23.9017 23.3937 2.1 3 16.2248 15.9003 2 4 12.5449 12.3128 1.9 5 7.7428 7.5094 3 6 5.9228 5.6193 5.1 7 15.5238 15.2504 1.8 8 9.3530 9.1665 2 9 7.0103 6.8724 2 10 7.8308 7.7385 1.2 11 5.1907 5.1217 1.3 12 4.2992 4.1819 2.7 16 13.2412 13.2261 0.1 17 8.1527 8.1040 0.6 18 6.3768 6.2814 1.5 19 5.3784 5.3207 1.1 20 4.0733 3.9641 2.7 25 21.5230 21.3660 0.7 26 13.0966 12.9842 0.9 27 9.9273 9.6635 2.7 28 12.1398 11.7393 3.3 29 7.5517 7.3368 2.8

    30 5.8036 5.4127 6.7 31 26.2532 26.0823 0.7 32 17.1909 17.0373 0.9 33 11.9746 11.9082 0.6 34 5.2754 5.2015 1.4 35 3.6257 3.6220 0.1 37 2.0283 1.8681 7.9 40 19.7898 19.7628 0.1 41 12.0102 11.6603 2.9 42 8.9560 8.9136 0.5 43 6.6314 6.5993 0.5 44 4.5392 4.4535 1.9 49 34.0262 33.5798 1.3 50 20.2582 19.6506 3 51 15.5213 14.5146 6.5 52 10.4792 9.6875 7.6 53 6.8678 6.5256 5 54 5.1483 4.9437 4 55 22.8363 22.7989 0.2 56 13.5295 12.9436 4.3 57 10.3537 9.8313 5 58 2.2299 2.0918 6.2 64 7.4641 7.4150 0.7 65 4.9850 4.9468 0.8 66 4.0077 3.6121 9.9

  • 21

    Table 3. Results for instances KBG_3DSPP73- KBG_3DSPP142 (30 spheres) Ex am ple

    BSh 0h∗ impr

    ove

    73 41.2473 40.8194 1 74 25.2885 24.7246 2.2 75 18.7148 17.7873 5 76 16.3290 15.9578 2.3 77 10.3207 9.8169 4.9 78 7.7341 7.3687 4.7 79 28.3554 28.2552 0.4 80 16.9853 16.7146 1.6 81 12.8157 12.6366 1.4 82 9.4653 9.1451 3.4 83 6.1404 5.9927 2.4 84 4.8995 4.7160 3.7 85 2.5740 2.4988 2.9 88 25.0866 25.0700 0.1 89 14.7129 14.4477 1.8 90 11.0214 10.6820 3.1 91 9.0678 8.7404 3.6 92 6.0593 5.8641 3.2 93 4.7911 4.6309 3.3 94 2.1420 2.1068 1.6 97 36.3819 36.3815 0 98 21.8134 21.0630 3.4 99 16.0896 15.6891 2.5 100 19.3571 18.6497 3.7 101 11.6704 11.0527 5.3 102 8.8849 8.3332 6.2 103 15.6612 15.7597 -1 104 9.8523 9.7371 1.2 105 7.4751 7.3754 1.3

    106 8.7927 8.4554 3.8 107 6.0631 5.8163 4.1 108 4.6186 4.4719 3.2 109 2.9021 2.8100 3.2 112 26.3997 26.2148 0.7 113 16.0338 15.6610 2.3 114 11.9235 11.5904 2.8 115 8.8182 8.5916 2.6 116 5.7874 5.5972 3.3 117 4.6255 4.5261 2.1 118 2.1344 2.1250 0.4 121 41.4550 40.6531 1.9 122 24.5512 22.8163 7.1 123 18.8346 17.5351 6.9 124 16.1161 15.2732 5.2 125 9.9346 9.5661 3.7 126 7.6069 7.3096 3.9 127 7.7816 7.7091 0.9 128 5.1502 5.1234 0.5 129 4.2025 3.9756 5.4 130 14.5546 14.2273 2.2 131 9.1939 8.9824 2.3 132 7.0788 6.8423 3.3 133 3.7562 3.4296 8.7 134 2.9988 2.7977 6.7 136 24.1318 23.9074 0.9 137 14.0458 13.8290 1.5 138 9.9230 9.8823 0.4 139 7.4949 7.3197 2.3 140 5.0324 4.8970 2.7 141 4.3808 4.1551 5.2 142 3.2951 3.1593 4.1

  • 22

    Table 4. Results for instances KBG_3DSPP145- KBG_3DSPP216 (40 spheres) Ex am ple

    BSh

    0h∗ impr ove

    145 52.3230 52.1954 0.2 146 31.2374 30.3641 2.8 147 23.1462 21.8031 5.8 148 23.1860 22.5236 2.9 149 14.221 13.5161 5 150 10.6620 10.0959 5.3 151 30.7066 30.5291 0.6 152 17.9416 17.7204 1.2 153 13.5376 13.0560 3.6 154 12.9223 12.7793 1.1 155 8.3402 8.0090 4 156 6.4583 6.2224 3.7 157 3.4130 3.2183 5.7 158 2.6084 2.5372 2.7 160 28.2945 28.1614 0.5 161 16.9952 16.5980 2.3 162 12.6447 12.2718 2.9 163 9.4929 9.2759 2.3 164 6.4625 6.1363 5 165 4.8768 4.7526 2.5 166 2.6337 2.5698 2.4 169 55.2813 54.9527 0.6 170 33.8326 32.6877 3.4 171 24.9422 24.0768 3.5 172 19.4988 18.6295 4.5 173 12.3795 11.6346 6 174 9.3018 8.8331 5 175 30.3761 30.3038 0.2 176 18.1909 17.7822 2.2 177 13.3858 13.0775 2.3 178 10.4387 10.3803 0.6 179 6.6846 6.6397 0.7

    180 5.2139 5.1391 1.4 181 4.0043 3.7885 5.4 182 2.8777 2.7734 3.6 183 2.4046 2.1363 11 184 22.7249 22.6760 0.2 185 13.6752 13.4335 1.8 186 10.2805 9.9502 3.2 187 10.2707 9.8184 4.4 188 6.7924 6.4746 4.7 189 5.1341 4.9497 3.6 190 2.5015 2.4262 3 193 58.9794 58.7856 0.3 194 35.2142 34.9104 0.9 195 27.5660 26.0083 5.7 196 24.0656 22.9441 4.7 197 14.8420 13.9003 6.3 198 11.1162 10.3153 7.2 199 39.9812 39.0648 2.3 200 23.2489 21.8551 6 201 17.0488 16.3607 4 202 12.7977 12.3492 3.5 203 8.5707 8.0967 5.5 204 6.6400 6.5254 1.7 205 3.3495 3.1692 5.4 206 2.5740 2.3938 7 208 15.1218 15.1191 0 209 9.4645 9.0151 4.7 210 7.1031 6.9862 1.6 211 6.4181 6.2123 3.2 212 4.3708 3.9983 8.5 213 3.6563 3.4620 5.3 214 4.6476 4.3487 6.4 215 3.2362 3.0828 4.7 216 2.8339 2.5416 10

  • 23

    Table 5. Results for instances KBG_3DSPP217- KBG_3DSPP287 (50 spheres) Ex am ple

    BSh

    (runtime, seconds)

    0h∗ impr ove

    217 65.0059 64.5559 0.7 218 38.6265 36.9166 4.4 219 27.9506 26.4942 5.2 220 25.6006 24.5354 4.2 221 15.9979 15.2018 5 222 11.9570 11.3203 5.3 223 38.1222 37.7602 0.9 224 22.5376 21.8689 3 225 16.8623 16.1218 4.4 226 14.8725 14.2417 4.2 227 9.8161 9.2844 5.4 228 7.4086 6.9775 5.8 229 4.5033 4.2864 4.8 230 3.1262 3.0086 3.8 231 2.6422 2.5270 4.4 232 28.6731 28.5374 0.5 233 17.4944 17.1816 1.8 234 13.0998 12.7099 3 235 10.9874 10.6768 2.8 236 7.2682 7.0079 3.6 237 5.5444 5.2443 5.4 238 3.3505 3.1342 6.5 239 2.5055 2.4059 4 241 61.0556 60.9059 0.2 242 36.2016 35.3499 2.4 243 27.0162 25.1186 7 244 26.0798 25.1033 3.7 245 16.3494 15.5027 5.2 246 12.1584 11.4661 5.7 247 39.9661 39.7893 0.4 248 24.9487 24.5088 1.8 249 18.2112 17.7080 2.8 250 15.2565 14.7741 3.2 251 9.9579 9.3874 5.7

    252 7.5202 7.2047 4.2 253 4.1969 3.9871 5 254 2.8919 2.8093 2.9 255 2.4865 2.3444 5.7 256 34.0821 33.9059 0.5 257 20.4025 19.8473 2.7 258 15.1713 14.7782 2.6 259 9.9083 9.6396 2.7 260 6.5401 6.3188 3.4 261 5.0242 4.7933 4.6 262 2.7949 1.9901 29 265 69.3594 67.5189 2.7 266 42.4017 41.5150 2.1 267 30.3612 29.3042 3.5 268 33.9225 32.4680 4.3 269 19.9753 19.0092 4.8 270 15.0131 13.7647 8.3 271 48.8471 48.3977 0.9 272 29.4059 29.2963 0.4 273 21.4000 21.0682 1.6 274 20.7649 20.0055 3.7 275 12.9872 12.1352 6.6 276 9.5868 9.0637 5.5 277 6.3608 6.0580 4.8 278 4.3434 4.1146 5.3 279 3.3115 3.1546 4.7 280 13.8018 13.4594 2.5 281 8.9743 8.6792 3.3 282 6.7120 6.5952 1.7 283 10.2844 9.9394 3.4 284 6.8888 6.5596 4.8 285 5.1727 5.0379 2.6 286 3.3775 3.3501 0.8 287 2.8489 2.6495 7

  • 24

    Table 6. Results of packing more than 60 spheres into a cuboid

    Example n a b 0h∗ KBG_3DSPP234+6 70 10 10 17.3629 KBG_3DSPP205+205 80 10 5 5.9715 KBG_3DSPP150+228 90 10 10 16.1577 KBG_3DSPP255+255 100 10 10 3.9398

    Table 7. Results of packing of 30, 40, 50, 61, 71, 81, 90 and 100 spheres into a sphere Example n *0R SYSS1 30 5.2756 SYSS2 40 5.7674 SYSS3 50 5.9386 SYSS4 61 6.1147 SYSS5 71 6.3601 SYSS6 81 6.6747 SYSS7 90 7.0022 SYSS8 100 7.1907

  • 25

    Table 8. Results of packing spheres of radii ir i= into a sphere Example n

    HR *0R improve

    ZHXF16 16 33.6582 33.6572 0 ZHXF17 17 36.2030 36.2021 0 ZHXF18 18 38.8463 38.8467 -0 ZHXF19 19 41.5452 41.5462 -0 ZHXF20 20 44.2737 44.2557 0.04 ZHXF21 21 47.0342 47.0332 0 ZHXF22 22 49.9068 49.8666 0.08 ZHXF23 23 52.8368 52.7425 0.18 ZHXF24 24 55.7546 55.5782 0.32 ZHXF25 25 58.4684 58.4665 0 ZHXF26 26 61.4745 61.3883 0.14 ZHXF27 27 64.4854 64.4141 0.11 ZHXF28 28 67.4837 67.4173 0.1 ZHXF29 29 70.5257 70.3911 0.19 ZHXF30 30 73.4813 73.3704 0.15 ZHXF31 31 76.5336 76.5057 0.04 ZHXF32 32 79.8018 79.6075 0.24 ZHXF33 33 83.1967 82.8314 0.44 ZHXF34 34 86.2430 85.9206 0.37 ZHXF35 35 89.3454 89.1536 0.21 ZHXF40 40 - 105.6146 - ZHXF50 50 - 140.7613 - ZHXF60 60 - 178.1920 - ZHXF70 70 - 217.0801 - ZHXF80 80 - 258.4230 - ZHXF90 90 - 300.9910 - ZHXF100 100 - 345.5416 -

  • 26

    Table 9. Results of packing spheres into a cylinder of minimal height Example n *0h

    SYSCH1 20 5.7980 SYSCH2 30 9.3064 SYSCH3 40 6.0609 SYSCH4 50 16.2599 SYSCH5 60 2.9627 SYSCH6 70 22.1612 SYSCH7 80 3.8754 SYSCH8 90 21.1118 SYSCH9 100 22.5299 Table 10. Results of packing spheres into a cylinder of minimal radius Example n *0R SYSCR1 20 5.9373 SYSCR2 30 5.3911 SYSCR3 40 3.4899 SYSCR4 50 3.6168 SYSCR5 60 6.8360 SYSCR6 70 6.7604 SYSCR7 80 4.3521 SYSCR8 90 7.1777 SYSCR9 100 6.8011 Table 11. Results of packing spheres into an annular cylinder

    Example n *0R SYSAC1 50 5.4191 SYSAC2 60 5.8353 SYSAC3 70 6.3360 SYSAC4 80 8.5746 SYSAC5 90 8.8945 SYSAC6 100 9.0922

  • 27

    Table 12. Results of packing spheres into a spherical layer Example n *0R SYSSL1 50 5.2339 SYSSL2 60 5.4333 SYSSL3 70 6.2918 SYSSL4 80 61.3028 SYSSL5 90 6.2560 SYSSL6 100 6.3927

    References Birgin EG, Sobral FNC (2008) Minimizing the object dimensions in circle and sphere packing problems. Computers &

    Operations Research 35: 2357-2375. Chen DZ, Hu X, Huang Y, Li Y, Xu J (2001) Algorithms for congruent sphere packing and applications. In Proceedings of

    Symposium on Computational Geometry'2001: 212–221. Conway JH, Sloane NJA (1999) Sphere Packings, Lattices, and Groups. Springer-Verlag, New York. Duer WC, Greenstein JR, Oglesby GB, Millero FJ (1977) Qualitative Observations Concerning Packing Densities for

    Liquids, Solutions, and Random Assemblies of Spheres. Journal of Chemical Education 54(3): 139–142. Hifi M, M'Hallah R (2009) A literature review on circle and sphere packing problems: models and methodologies. Advances

    in Operations Research 2009. Huang WQ, Li Y, Akeb H, Li CM (2005) Greedy algorithms for packing unequal circles into a rectangular container, Journal

    of the Operational Research Society 56(5): 539–548. Kubach T, Bortfeldt A, Tilli T, Gehring H (2011) Greedy Algorithms for Packing Unequal Spheres into a Cuboidal Strip or a

    Cuboid. Asia Pac. J. Oper. Res. 28(6): 739-753. Lenstra JK, Rinnooy AHG (1979) Complexity of packing, covering, and partitioning problems. In: Schrijver A (ed),

    Packing and Covering in Combinatorics, Amsterdam, Mathematisch Centrum, 275–291. Liu J, Yao Y, Zheng Yu, Geng H, Zhou G (2009) An Effective Hybrid Algorithm for the Circles and Spheres Packing

    Problems Combinatorial Optimization and Applications Lecture Notes in Computer Science Volume 5573, 135–144. StoyanYu, Yaskov G, Scheithauer G (2003) Packing of Various Solid Spheres into a Parallelepiped. Central European

    Journal of Operational Research 11(4): 389–407. Stoyan YuG., Yaskov GN (2004) A mathematical model and a solution method for the problem of placing various-sized

    circles into a strip, European Journal of Operational Research 156: 590–600. Stoyan YuG, Yaskov GN (2010) Packing identical spheres into a cylinder. International Transactions in Operational Research

    17(1): 51–70. Stoyan Yu, Yaskov G (2013) Packing unequal circles into a strip of minimal length with a jump algorithm, Optimization

    letters, DOI: 10.1007/s11590-013-0646-1. Soontrapa K, Chen Y (2013) Mono-sized sphere packing algorithm development using optimized Monte Carlo technique,

    Advanced Powder Technology, DOI: 10.1016/j.apt.2013.01.007. Sutou A, Day Y (2002) Global optimization approach to unequal sphere packing problems in 3D. Journal of Optimization

    Theory and Applications 114(3): 671–694. Torquato S (2002) Random heterogeneous materials, Microstructure and macroscopic properties, Springer-Verlag, New

    York. Visscher W, Bolsterli M (1972) Random packing of equal and unequal spheres in two and three dimensions. Nature 239:

    504–507. Wächter A, Biegler LT (2006) On the implementation of a primal-dual interior point filter line search algorithm for large-

    scale nonlinear programming. Mathematical Programming 106(1): 25–57. Wang J (1999) Packing of unequal spheres and automated radiosurgical treatment planning. Journal of Combinatorial

    Optimization 3: 453–463. Yamada S, Kanno J, Miyauchi M (2011) Multi-sized sphere packing in containers: optimization formula for obtaining the

    highest density with two different sized spheres. IPSJ Online Transactions 4: 126-133. Zeng ZZ, Huang WQ, Xu RC, Fu ZH (2012) An algorithm to packing unequal spheres in a larger sphere. Advanced Materials

    Research 546-547: 1464-1469. Zoutendijk G (1960) Methods of feasible directions. A study in linear and non-linear programming. Amsterdam-London-

    New York-Princeton: Elsevier Publishing Company. 126 p.