by Marco A. Montes de Oca, Thomas Stützle, Mauro Birattari, and Marco Dorigo
July 2008
Submitted to IEEE Transactions on Evolutionary Computation.
This page contains all supplementary information that, for the sake of conciseness, was not included in the paper. Table of Contents |
During the last decade, many variants of the original
particle swarm optimization (PSO) algorithm have been
proposed. In many cases, the difference between two variants can
be seen as an algorithmic component being present in one variant
but not in the other. In the first part of the paper, we present
the results and insights obtained from a detailed empirical
study of several PSO variants from a component difference
point of view. In the second part of the paper, we propose
a new PSO algorithm that combines a number of algorithmic
components that showed distinct advantages in the experimental
study concerning optimization speed and reliability. We call this
composite algorithm Frankenstein's PSO in an analogy to the
popular character of Mary Shelley’s novel. Frankenstein’s PSO
performance evaluation shows that by integrating components in
novel ways effective optimizers can be designed.
Keywords: Particle swarm optimization, continuous optimization, integration of algorithmic components, experimental
analysis, run-time distributions, swarm intelligence.
The following table lists the benchmark functions used in our study.
Benchmark Problems | ||||
---|---|---|---|---|
Function Name | Definition | Search Range | Modality | Dimensionality |
Ackley |
Multimodal |
n = 30 |
||
Griewank |
Multimodal |
n = 30 |
||
Rastrigin |
Multimodal |
n = 30 |
||
Salomon |
Multimodal |
n = 30 |
||
Schwefel (sine root) |
Multimodal |
n = 30 |
||
Step |
Multimodal |
n = 30 |
||
Rosenbrock |
Unimodal |
n = 30 |
||
Sphere |
Unimodal |
n = 30 |
The following table lists the exact values we used for shifting and biasing all benchmark functions.
Displacement Vectors and Biases | ||||||||
---|---|---|---|---|---|---|---|---|
Dimension | Ackley | Griewank | Rastrigin | Salomon | Schwefel | Step | Rosenbrock | Sphere |
X_1 |
-1.68230e+1 |
-2.762684e+2 |
1.90050e+0 |
-1.68230e+1 |
0.00000e+0 |
0.00000e+0 |
8.10232e+1 |
-3.93119e+1 |
X_2 |
1.49769e+1 |
-1.191100e+1 |
-1.56440e+0 |
0.00769e+0 |
0.00000e+0 |
0.00000e+0 |
-4.83950e+1 |
5.88999e+1 |
X_3 |
6.16900e+0 |
-5.787884e+2 |
-9.78800e-1 |
6.16900e+0 |
0.00000e+0 |
0.00000e+0 |
1.92316e+1 |
-4.63224e+1 |
X_4 |
9.55660e+0 |
-2.876486e+2 |
-2.25360e+0 |
9.55660e+0 |
0.00000e+0 |
0.00000e+0 |
-2.52310e+0 |
-7.46515e+1 |
X_5 |
1.95417e+1 |
-8.438580e+1 |
2.49900e+0 |
1.95417e+1 |
0.00000e+0 |
0.00000e+0 |
7.04338e+1 |
-1.67997e+1 |
X_6 |
-1.71900e+1 |
-2.286753e+2 |
-3.28530e+0 |
-1.71900e+1 |
0.00000e+0 |
0.00000e+0 |
4.71774e+1 |
-8.05441e+1 |
X_7 |
-1.88248e+1 |
-4.581516e+2 |
9.75900e-1 |
-1.88248e+1 |
0.00000e+0 |
0.00000e+0 |
-7.83580e+0 |
-1.05935e+1 |
X_8 |
8.51100e-1 |
-2.022145e+2 |
-3.66610e+0 |
8.51100e-1 |
0.00000e+0 |
0.00000e+0 |
-8.66693e+1 |
2.49694e+1 |
X_9 |
-1.51162e+1 |
-1.058642e+2 |
9.85000e-2 |
-1.51162e+1 |
0.00000e+0 |
0.00000e+0 |
5.78532e+1 |
8.98384e+1 |
X_10 |
1.07934e+1 |
-9.648980e+1 |
-3.24650e+0 |
1.07934e+1 |
0.00000e+0 |
0.00000e+0 |
-9.95330e+0 |
9.11190e+0 |
X_11 |
7.40910e+0 |
-3.957468e+2 |
3.80600e+0 |
7.00000e+0 |
0.00000e+0 |
0.00000e+0 |
2.07778e+1 |
-1.07443e+1 |
X_12 |
8.61710e+0 |
-5.729498e+2 |
-2.68340e+0 |
8.61710e+0 |
0.00000e+0 |
0.00000e+0 |
5.25486e+1 |
-2.78558e+1 |
X_13 |
-1.65641e+1 |
-2.703641e+2 |
-1.37010e+0 |
-1.65641e+1 |
0.00000e+0 |
0.00000e+0 |
7.59263e+1 |
-1.25806e+1 |
X_14 |
-6.68000e+0 |
-5.668543e+2 |
4.18210e+0 |
-6.68000e+0 |
0.00000e+0 |
0.00000e+0 |
4.28773e+1 |
7.59300e+0 |
X_15 |
1.45433e+1 |
-1.524204e+2 |
2.48560e+0 |
1.45433e+1 |
0.00000e+0 |
0.00000e+0 |
-5.82720e+1 |
7.48127e+1 |
X_16 |
7.04540e+0 |
-5.883819e+2 |
-4.22370e+0 |
7.04540e+0 |
0.00000e+0 |
0.00000e+0 |
-1.69728e+1 |
6.84959e+1 |
X_17 |
-1.86215e+1 |
-2.828892e+2 |
3.36530e+0 |
-1.86215e+1 |
0.00000e+0 |
0.00000e+0 |
7.83845e+1 |
-5.34293e+1 |
X_18 |
1.45561e+1 |
-4.888865e+2 |
2.15320e+0 |
1.45561e+1 |
0.00000e+0 |
0.00000e+0 |
7.50427e+1 |
7.88544e+1 |
X_19 |
-1.15942e+1 |
-3.469817e+2 |
-3.09290e+0 |
-1.05942e+1 |
0.00000e+0 |
0.00000e+0 |
-1.61513e+1 |
-6.85957e+1 |
X_20 |
-1.91531e+1 |
-4.530447e+2 |
4.31050e+0 |
-1.91531e+1 |
0.00000e+0 |
0.00000e+0 |
7.08569e+1 |
6.37432e+1 |
X_21 |
-4.73720e+0 |
-5.065857e+2 |
-2.98610e+0 |
-4.73720e+0 |
0.00000e+0 |
0.00000e+0 |
-7.95795e+1 |
3.13470e+1 |
X_22 |
9.25900e-1 |
-4.759987e+2 |
3.49360e+0 |
9.25900e-1 |
0.00000e+0 |
0.00000e+0 |
-2.64837e+1 |
-3.75016e+1 |
X_23 |
1.32412e+1 |
-3.620492e+2 |
-2.72890e+0 |
1.32412e+1 |
0.00000e+0 |
0.00000e+0 |
5.63699e+1 |
3.38929e+1 |
X_24 |
-5.29470e+0 |
-2.332367e+2 |
-4.12660e+0 |
-5.29470e+1 |
0.00000e+0 |
0.00000e+0 |
-8.82249e+1 |
-8.88045e+1 |
X_25 |
1.84160e+0 |
-4.919864e+2 |
-2.59000e+0 |
1.84160e+0 |
0.00000e+0 |
0.00000e+0 |
-6.49996e+1 |
-7.87719e+1 |
X_26 |
4.56180e+0 |
-5.440898e+2 |
1.31240e+0 |
4.56180e+0 |
0.00000e+0 |
0.00000e+0 |
-5.35022e+1 |
-6.64944e+1 |
X_27 |
-1.88905e+1 |
-7.344560e+1 |
-1.79900e+0 |
-1.88905e+1 |
0.00000e+0 |
0.00000e+0 |
-5.42300e+1 |
4.41972e+1 |
X_28 |
9.80080e+0 |
-5.269011e+2 |
-1.18900e+0 |
9.80080e+0 |
0.00000e+0 |
0.00000e+0 |
1.86826e+1 |
1.83836e+1 |
X_29 |
-1.54265e+1 |
-5.022561e+2 |
-1.05300e-1 |
-1.54265e+1 |
0.00000e+0 |
0.00000e+0 |
-4.10061e+1 |
2.65212e+1 |
X_30 |
1.27220e+0 |
-5.372353e+2 |
-3.10740e+0 |
1.27220e+0 |
0.00000e+0 |
0.00000e+0 |
-5.42134e+1 |
8.44723e+1 |
Bias | -140.0 |
-180.0 |
-330.0 |
-100.0 |
100.0 |
-200.0 |
390.0 |
-450.0 |
Since run-length distributions can be generated for any solution quality level, we present here only some selected plots.
The plots are grouped by benchmark problem.
Note: The inertia weight in the decreasing and increasing inertia weight PSO variants reaches its minimum (maximum) value at the end of the run (1,000,000 function evaluations).
The following run-length distributions show the effects of different inertia weight schedules in the decreasing inertia weight PSO algorithm. The schedules studied were 100, 1,000, 10,000, 100,000, and 1,000,000 function evaluations.
The plots are grouped by benchmark problem.
Solution quality development over time plots are based on the median number of function evaluations needed to find a solution of a certain solution quality.
The plots are grouped by benchmark problem.
Note: The inertia weight in the decreasing and increasing inertia weight PSO variants reaches its minimum (maximum) value at the end of the run (1,000,000 function evaluations).
The following plots show the effects of different inertia weight schedules on the median solution quality improvement achieved by the decreasing inertia weight PSO algorithm. The schedules studied were 100, 1,000, 10,000, 100,000, and 1,000,000 function evaluations.
The plots are grouped by benchmark problem.
The following plots show the average distance of a swarm's previous best positions to their centroid as a function of the number of particles and the topology used.
The plots presented below correspond to some run-length distributions obtained by Frankenstein's PSO with different parameter settings.
The results are grouped by topology adaptation schedule and number of particles.
Ackley function (0.01%) | |||
---|---|---|---|
Topology schedule\No. of Particles | n = 20 | n = 40 | n = 60 |
1 x n |
|||
2 x n |
|||
3 x n |
|||
4 x n |
Salomon function (1.0%) | |||
---|---|---|---|
Topology schedule\No. of Particles | n = 20 | n = 40 | n = 60 |
1 x n |
|||
2 x n |
|||
3 x n |
|||
4 x n |
Schwefel function (4000.0%) | |||
---|---|---|---|
Topology schedule\No. of Particles | n = 20 | n = 40 | n = 60 |
1 x n |
|||
2 x n |
|||
3 x n |
|||
4 x n |
Step function (1.0%) | |||
---|---|---|---|
Topology schedule\No. of Particles | n = 20 | n = 40 | n = 60 |
1 x n |
|||
2 x n |
|||
3 x n |
|||
4 x n |
The following plots show the effects of different parameter settings on the median solution quality improvement achieved by Frankenstein's PSO algorithm. The schedules studied were 100, 1,000, 10,000, 100,000, and 1,000,000 function evaluations.
The plots are grouped by benchmark problem.
The following plots show the relative performance difference between the best configurations of each of the compared algorithms after 1000, 10 000, 100 000 and 1 000 000 function evaluations.
Frankenstein's PSO configurations are shown in black.