Packing of regular octagons in the P1 group using the hypertorus IGO

I’ve searched the P1 group to find the densest packing of regular octagons since since the densest packing of convex set with central symmetry in the plane is a lattice packing ie a member of P1 plane group. The density I found is 0.906163653094707. The analytical result for the optimal density is ~ 0.906163678643946. Packing Regular Octagons ). The minimum distance between the octagons in the packing is 1.950763550695456e-09.

Left: Found configuration; Right: Zoom of the configuration

Packing of regular pentagons in the P2 group using the hypertorus IGO

Finally some good results. I’ve used the hypertorus IGO to search the P2 plane group for the optimal packing of the of regular pentagons. The density found by the first run of the algorithm was 0.921310671743827. The optimal packing of regular pentagons proved by Hales and Kusner is ~0.921310674166737 ( http://milotorda.net/index.php/plane-group-packings-with-regular-pentagons/ ). The minimum distance between the pentagons in the packing is 3.937183912228193e-11. The algorithm can refine this just needs to run longer.

Left: Found configuration; Right: Zoom of the configuration

 

Exploration of IGO with adaptive learning rates and shrinkage covariance

Setting: adaptive learning rates with 2*delta and delta set to eta_{*}/3. 100 samples per run. Starting distribution: uniform. Shrinkage covariance computed with this: http://ledoit.net/shrinkDiag.m

Starting learning rates: eta_d=10; eta_D=10; iterations=1000; runs=1;

Starting learning rates: eta_d=10; eta_D=10; iterations=100; runs=10;

Starting learning rates: eta_d=10; eta_D=1; iterations=100; runs=10;

Starting learning rates: eta_d=10; eta_D=10; iterations=100; runs=10;

Starting learning rates: eta_d=1; eta_D=1; iterations=100; runs=10;

IGO with adaptive sampling for the learning rates

Here are some results from the implementation of adaptive sampling for the tuning of learning rates. 25 simulation threads with different learning rates (current learning rate + a multiple of delta) are run and every n iterations of the IGO algorithm sets the current learning rate to the learning rate of the thread where the minimum mean of the objective was attained during these n iterations and all 25 threads. An the process gets repeated.

Initial learning rates: [1,1]; Number of samples: 100; delta: 0.25; Iterations: 25

Best objective 3.906106261908349e-05 @ [3.141947289734544, 3.141325967480646] attained @ 799th iteration.

Initial learning rates: [1,1]; Number of samples: 100; delta: 0.125; Iterations: 25

Best objective 2.811559213462544e-04 @ [3.142757645858563, 3.141837545625751] attained @ 2392th iteration.

Initial learning rates: [1,1]; Number of samples: 1000; delta: 0.125; Iterations: 10

Best objective 9.220073825133568e-05 @ [3.141111456149766, 3.141109756733831] attained @ 327th iteration.

IGO with two learning rates

I have separated the learning rate into two. First the learning rate for the parameters related to concentration and mean. The second learning rate for parameters for the precision matrix.

All simulation where run for 1000 iterations.

Objective function: 2D Rastrigin centered at [pi,pi].

Eta_d = 1; Eta_D=0.25; 100 samples

Best fit: 5.092878218704300e-05 @ [3.142098748056062, 3.142098748056062]

Eta_d = 1; Eta_D=0.25; 1000 samples

Best fit: 0.011457103531619 @ [3.134161151183576, 3.140001246486607]

Eta_d = 1; Eta_D=0.5; 25 samples

Best fit: 0.013942156424022 @ [3.149423592902749, 3.138598537797074]

Eta_d = 1; Eta_D=0.5; 50 samples

Best fit: 2.739779972955603e-04 @ [3.140419809603958, 3.141666381043835]

Eta_d = 1; Eta_D=0.5; 75 samples

Best fit: 3.583357357932471e-04 @[3.142532825223459, 3.140632298254060]

Eta_d = 1; Eta_D=0.5; 100 samples

Best fit: 6.607625318082455e-04 @ [3.140007830023662, 3.140687697105372]

Eta_d = 1; Eta_D=0.5; 325 samples

Best fit: 0.005180560001300 @ [3.136709161988744, 3.140087288810498]

Eta_d = 1; Eta_D=0.5; 550 samples

Best fit: 0.013942156424022 @ [3.140419809603958, 3.138598537797074]

Eta_d = 1; Eta_D=0.5; 1000 samples

Best fit:9.464108499734891e-04 @ [3.143699809057704, 3.142167429144717]

Eta_d = 1; Eta_D=0.75; 100 samples

Best fit: 0.002806343200142 @ [3.138836948966443, 3.139032993376946]

Eta_d = 1; Eta_D=0.75; 1000 samples

Best fit: 4.175267021224727e-04 @ [3.140161030118904, 3.141358087630181]