1 Introduction
-
RQ1. Is it possible to find designs of MOPSO algorithms using automatic design which are able to outperform state-of-the-art algorithms such as SMPSO and OMOPSO?
-
RQ2. Is the auto-design process able to obtain a configuration that yields to accurate results when a benchmark of realistic problems is added to the study?
-
RQ3. What are the design parameters that have the strongest effect on the performance of MOPSO algorithms given the design space considered here?
-
RQ4. Can a configuration obtained for a given test suite lead the algorithm to avoid overffiting and allow a generalization for many other problems?
2 Related work
3 Methods and tools
3.1 Canonical MOPSO algorithm
3.2 AutoMOPSO jMetal algorithm template
3.3 Design space of AutoMOPSO
tournamentSize
is only active if globalBestSelection
is set to the value tournament. In addition, we include at the end of the table a set of non-configurable components that currently have only a single default value in jMetal, but could be extended in the future. We briefly describe each component in the remainder of this section.Parameter | Domain |
---|---|
swarmSize | \([10, 200]\subset \mathbb {N}\) |
leaderArchive | \(\{\,\)crowdingDistance, hypervolume, spatialSpreadDeviation \(\,\}\) |
swarmInitialization | \(\{\,\)random, latinHypercubeSampling, scatterSearch \(\,\}\) |
velocityInitialization | \(\{\,\)default, SPSO2007 , SPSO2011 \(\,\}\) |
mutation | \(\{\,\)uniform, nonUniform, polynomial, linkedPolynomial \(\,\}\) |
mutationProbabilityFactor | \([0.0, 2.0]\subset \mathbb {R}\) |
mutationRepairStrategy | \(\{\,\)random, round, bounds \(\,\}\) |
uniformMutationPerturbation | \([0.0, 1.0]\subset \mathbb {R}\) if mutation \(=\)uniform |
nonUniformMutationPerturbation | \([0.0, 1.0]\subset \mathbb {R}\) if mutation \(=\)nonUniform |
polynomialMutationDistIndex | \([5.0, 400.0]\subset \mathbb {R}\) if mutation \(=\)polynomial |
linkedPolynomialMutationDistIndex | \([5.0, 400.0]\subset \mathbb {R}\) if mutation \(=\)linkedPolynomial |
mutationFrequency | \([1, 10]\subset \mathbb {N}\) |
inertiaWeightStrategy | \(\{\,\)constant, random, linearIncreasing, linearDecreasing \(\,\}\) |
weight | \([0.1, 1.0]\subset \mathbb {R}\) if inertiaWeightStrategy \(=\)constant |
weightMin | \([0.1, 0.5]\subset \mathbb {R}\) if inertiaWeightStrategy \(\ne\)constant |
weightMax | \([0.5, 1.0]\subset \mathbb {R}\) if inertiaWeightStrategy \(\ne\)constant |
velocityUpdate | \(\{\,\)defaultVelocityUpdate, constrainedVelocityUpdate \(\,\}\) |
c1Min | \([1.0, 2.0]\subset \mathbb {R}\) |
c1Max | \([2.0, 3.0]\subset \mathbb {R}\) |
c2Min | \([1.0, 2.0]\subset \mathbb {R}\) |
c2Max | \([2.0, 3.0]\subset \mathbb {R}\) |
globalBestSelection | \(\{\,\)tournament , random \(\,\}\) |
tournamentSize | \([2, 10]\subset \mathbb {N}\) if globalBestSelection \(=\)tournament |
velocityChangeWhenLowerLimitIsReached | \([-1.0, 1.0]\subset \mathbb {R}\) |
velocityChangeWhenUpperLimitIsReached | \([-1.0, 1.0]\subset \mathbb {R}\) |
Non-configurable parameter | |
---|---|
localBestInitialization | Default |
localBestUpdate | Default |
globalBestInitialization | Default |
globalBestUpdate | Default |
positionUpdate | Default |
leaderArchive
in the table) is 100, while the swarm size can take a value within the range [10, 200]. There are three possible types of leaderArchive
depending of the density estimator used to remove particles when it is full: crowding distance (Deb et al., 2002), hypervolume contribution (Knowles & Corne, 2003; Beume et al., 2007), and spatial spread deviation (Santiago et al., 2019).swarmInitialization
) using three possible strategies, namely random, based on a Latin hypercube sampling, and the scheme used in scatter search algorithms (Nebro et al., 2008). The velocity of the particles can be initialized (velocityInitialization
) to 0.0 (default) or by selecting one of the schemes defined in the standard PSO 2007 and the standard PSO 2011 (Clerc, 2012).mutationProbabilityFactor
divided by n controls the effective mutation probability. The last configurable parameter regarding mutation is the repair strategy, which determines how to proceed when the result of mutating a variable leads to an out-of-bounds value. Concretely, the mutation choices are:-
random: the variable takes a uniform random value within the bounds.
-
bounds: if the value is lower/higher than the lower/upper bound, the variable is assigned the upper/lower bound (this is called saturation in Caraffini et al. (2019)).
-
round: if the value is lower/higher than the lower/upper bound, the variable is assigned the upper/lower bound (i.e., this could be named inverse-saturation or reverse-saturation to follow the nomenclature of Caraffini et al. (2019)).
inertiaWeightStrategy
): constant, random within the range [0.1, 1.0], and linearly increasing and linearly decreasing with minimum and maximum weight values in the ranges [0.1, 0.5] and [0.5, 1.0], respectively.globalBestSelection
defines how the global best particle \(\textbf{b}_i^t\) is selected from the leader archive for updating the velocity; the two choices are random and N-ary tournament, where N is a parameter (tournamentSize
) between 2 (i.e., binary tournament) and 10.positionUpdate
component applies Eq. 1, the resulting position can be out-of-bounds. In this case, the position is set to the bound value (in the same way as the bounds scheme in the mutationRepairStrategy
and the velocity is modified by multiplying it by a factor V in the range \([-1.0, 1.0]\), resulting in a velocity change. A negative V value implies a change in the velocity direction, 0.0 means that the particle stops, a positive value less than 1.0 is equivalent to reduce the speed, and the velocity remains the same if the value of V is 1.0. We allow different values of V depending on whether the lower or upper bound is reached (parameters velocityChangeWhenLowerLimitIsReached
and velocityChangeWhenUpperLimitIsReached
in Table 1 that are originally considered in SMPSO (Nebro et al., 2009)).globalBestInitialization
and globalBestUpdate
just insert the particles of the swarm into the leaders archive.3.4 Finding AutoMOPSO configurations with irace
4 Experiments and results
4.1 Experimental setup
Problem | n | Main properties |
---|---|---|
ZDT1 | 30 | Convex |
ZDT2 | 30 | Concave |
ZDT3 | 30 | Disconnected |
ZDT4 | 10 | Convex, multi-modal |
ZDT5 | 10 | Concave |
DTLZ1 | 7 | Linear, multi-modal |
DTLZ2 | 12 | Concave |
DTLZ3 | 12 | Concave, multi-modal |
DTLZ4 | 12 | Concave, biased |
DTLZ5 | 12 | Degenerate |
DTLZ6 | 12 | Degenerate |
DTLZ7 | 22 | Disconnected |
WFG1 | 6 | Mixed, biased |
WFG2 | 6 | Convex, disconnected, multi-modal, non-separable |
WFG3 | 6 | Linear, degenerate, non-separable |
WFG4 | 6 | Concave, multi-modal |
WFG5 | 6 | Concave, deceptive |
WFG6 | 6 | Concave, non-separable |
WFG7 | 6 | Concave, biased |
WFG8 | 6 | Concave, biased, non-separable |
WFG9 | 6 | Concave, biased, multi-modal, deceptive, non-separable |
RE21 | 4 | Convex |
RE22 | 3 | Mixed |
RE23 | 4 | Mixed, disconnected |
RE24 | 3 | Convex |
RE25 | 2 | Mixed, disconnected |
leaderArchive
). Within irace, the quality of a MOPSO run is evaluated according to the hypervolume value of the returned leaderArchive
.4.2 Finding AutoMOPSO designs
Parameter | SMPSO | OMOPSO | AutoMOPSO\(_z\) | AutoMOPSO\(_d\) | AutoMOPSO\(_w\) | AutoMOPSO\(_{re}\) |
---|---|---|---|---|---|---|
swarmSize | 100 | 100 | 39 | 194 | 53 | 111 |
leaderArchive | CD | CD | HV | HV | HV | HV |
swarmInitialization | Random | Random | Random | SS | LHS | Random |
velocityInitialization | Default | Default | SPSO2007 | SPSO2007 | SPSO2011 | SPSO2011 |
mutation | Polynomial | Uniform | NonUniform | LinkedPolynomial | Polynomial | LinkedPolynomial |
mutationProbabilityFactor | 1.0 | 1.0 | 1.65 | 0.05 | 0.04 | 0.60 |
mutationRepairStrategy | Bounds | Bounds | Round | Random | Round | Random |
uniformMutationPert | – | 0.5 | – | – | – | – |
nonUniformMutationPert | – | – | 0.1002 | – | – | – |
polynomialMut.Dist.Index | 20.0 | – | – | – | 105.8681 | – |
linkedPol.Mut.Dist.Index | – | – | – | 151.3372 | – | 307.3590 |
mutationFrequency | 6 | 3 | 10 | 6 | 9 | 6 |
inertiaWeightStrategy | Constant | Random | Constant | LinearDec | LinearInc | Constant |
weight | 0.1 | – | 0.12 | – | – | 0.11 |
weightMin | – | 0.1 | – | 0.25 | 0.20 | – |
weightMax | – | 0.5 | – | 0.96 | 0.59 | – |
velocityUpdate | Constrained | Default | Default | Constrained | Default | Default |
c1Min | 1.5 | 1.5 | 1.89 | 1.75 | 1.29 | 1.29 |
c1Max | 2.5 | 2.0 | 2.25 | 2.22 | 2.56 | 2.78 |
c2Min | 1.5 | 1.5 | 1.50 | 1.46 | 1.33 | 1.12 |
c2Max | 2.5 | 2.0 | 2.90 | 2.07 | 2.34 | 2.73 |
globalBestSelection | Tournament | Tournament | Tournament | Tournament | Tournament | Tournament |
tournamentSize | 2 | 2 | 9 | 5 | 8 | 2 |
velocityChangeLowerLimit | \(-\)1.0 | \(-\)1.0 | 0.02 | 0.86 | \(-\)0.94 | 0.99 |
velocityChangeUpperLimit | \(-\)1.0 | \(-\)1.0 | \(-\)0.90 | 0.06 | \(-\)0.82 | 0.75 |
4.3 Comparative study
NSGAII | SMPSO | OMOPSO | AutoMOPSO\(_d\) | AutoMOPSO\(_w\) | AutoMOPSO\(_{re}\) | AutoMOPSOz | |
---|---|---|---|---|---|---|---|
ZDT1 | 2.58e−02(5.14e−03)\(-\) | 1.26e−02(4.62e−02)\(-\) | 1.08e−02(7.67e−03)\(-\) | 5.56e−03(1.85e−04) \(-\) | 3.69e−02(1.60e−01)\(-\) | 3.77e−02(1.52e−01)\(-\) | 5.22e−03(1.22e−04) |
ZDT2 | 8.50e−02(7.28e−01)\(-\) | 7.55e−03(2.36e−03)\(-\) | 1.18e−02(6.52e−03)\(-\) | 6.51e−01(9.94e−01)\(-\) | 1.62e+00(6.17e−01)\(-\) | 6.08e−03(3.33e−01) \(-\) | 5.27e−03(2.67e−04) |
ZDT3 | 2.19e−02(3.47e−03)\(-\) | 1.39e−01(1.27e−01)\(-\) | 7.00e−02(1.26e−01)\(-\) | 4.18e−03(6.66e−04) \(-\) | 1.39e−01(2.04e−01)\(-\) | 2.13e−01(1.16e−01)\(-\) | 2.92e−03(2.23e−04) |
ZDT4 | 8.05e−01(3.14e−01)\(+\) | 9.04e−03(1.84e−03) \(+\) | 8.90e+00(5.56e+00)\(+\) | 6.24e−03(6.41e−04) \(+\) | 9.14e+00(5.58e+00)\(+\) | 1.17e+01(5.85e+00)\(+\) | 1.97e+01(1.19e+01) |
ZDT6 | 3.61e−01(5.77e−02)\(-\) | 7.08e−03(2.99e−03)\(-\) | 6.50e−03(1.24e−03)\(-\) | 6.39e−03(3.03e−04)\(-\) | 5.87e−03(5.30e−04)\(-\) | 5.82e−03(4.65e−04) \(\approx \) | 5.61e−03(2.78e−04) |
DTLZ1 | 8.11e−01(9.22e−01)\(+\) | 8.77e−03(6.26e−03) \(+\) | 3.24e+01(2.25e+01)\(+\) | 8.06e−03(4.66e−03) \(+\) | 2.54e+01(3.17e+01)\(+\) | 3.80e+01(1.53e+01)\(+\) | 5.46e+01(2.22e+01) |
DTLZ2 | 1.26e−02(2.62e−03)\(-\) | 6.56e−03(6.49e−04)\(+\) | 6.41e−03(5.94e−04) \(+\) | 4.99e−03(3.41e−04) \(+\) | 7.60e−03(4.41e−03)\(\approx \) | 6.44e−03(1.67e−03)\(+\) | 7.50e−03(1.63e−03) |
DTLZ3 | 1.14e+01(6.69e+00)\(+\) | 7.07e−01(6.98e−01) \(+\) | 8.17e+01(4.97e+01)\(+\) | 2.10e−02(3.35e−02) \(+\) | 6.24e+01(6.06e+01)\(+\) | 9.42e+01(6.48e+01)\(+\) | 1.69e+02(2.00e+01) |
DTLZ4 | 1.20e−02(3.51e−03)\(-\) | 6.86e−03(6.72e−04) \(+\) | 7.51e−03(9.06e−04)\(\approx \) | 4.96e−03(2.11e−04) \(+\) | 1.56e−02(9.89e−01)\(-\) | 7.94e−03(4.44e−03)\(\approx \) | 8.77e−03(4.64e−03) |
DTLZ5 | 1.19e−02(4.23e−03)\(-\) | 5.83e−03(7.83e−04) \(\approx \) | 5.92e−03(4.08e−04)\(\approx \) | 4.59e−03(3.34e−04) \(+\) | 9.11e−03(3.92e−03)\(-\) | 6.35e−03(1.35e−03)\(\approx \) | 6.80e−03(1.49e−03) |
DTLZ6 | 1.25e+00(1.15e−01)\(-\) | 9.80e−03(8.27e−01)\(-\) | 6.30e−03(8.24e−01)\(-\) | 4.64e−03(4.95e−04)\(-\) | 2.00e+00(2.00e+00)\(-\) | 4.57e−03(3.36e−04) \(\approx \) | 4.49e−03(2.33e−04) |
DTLZ7 | 1.61e−02(2.19e−03)\(-\) | 6.51e−03(1.76e−03)\(-\) | 8.66e−03(7.41e−01)\(-\) | 4.37e−03(7.05e−04) \(-\) | 1.24e−02(7.45e−01)\(-\) | 6.14e−03(7.43e−01)\(-\) | 3.96e−03(1.84e−04) |
WFG1 | 6.64e−01(8.93e−02)\(-\) | 4.67e−01(6.03e−03)\(-\) | 4.59e−01(8.65e−03)\(-\) | 4.65e−01(9.83e−03)\(-\) | 4.52e−01(3.81e−02)\(-\) | 4.42e−01(2.59e−02) \(-\) | 3.65e−01(6.04e−02) |
WFG2 | 1.82e−01(1.73e−01)\(-\) | 1.75e−02(5.30e−03)\(-\) | 6.01e−03(1.70e−03)\(-\) | 1.31e−02(5.69e−03)\(-\) | 2.83e−03(5.96e−04) \(+\) | 5.28e−03(4.40e−03)\(-\) | 3.88e−03(2.00e−03) |
WFG3 | 1.50e−02(2.50e−03)\(-\) | 1.14e−02(2.32e−03)\(-\) | 6.94e−03(6.07e−04)\(-\) | 8.28e−03(7.72e−04)\(-\) | 5.53e−03(2.34e−04) \(+\) | 5.92e−03(3.90e−04)\(-\) | 5.73e−03(2.88e−04) |
WFG4 | 1.22e−02(1.69e−03) \(+\) | 2.84e−02(5.04e−03)\(-\) | 2.24e−02(3.15e−03)\(-\) | 2.73e−02(3.59e−03)\(-\) | 1.58e−02(3.67e−03) \(+\) | 1.84e−02(3.06e−03)\(\approx \) | 1.96e−02(3.68e−03) |
WFG5 | 3.34e−02(2.58e−03)\(-\) | 2.82e−02(1.49e−03) \(\approx \) | 2.79e−02(3.56e−04) \(+\) | 2.84e−02(4.74e−04)\(\approx \) | 2.83e−02(3.74e−04)\(\approx \) | 2.84e−02(4.57e−04)\(\approx \) | 2.83e−02(2.82e−04) |
WFG6 | 1.73e−02(6.32e−03)\(-\) | 9.52e−03(1.32e−03)\(-\) | 6.07e−03(5.12e−04)\(-\) | 7.51e−03(5.02e−03)\(-\) | 4.57e−03(4.08e−04) \(\approx \) | 4.82e−03(4.35e−04)\(-\) | 4.68e−03(3.46e−04) |
WFG7 | 1.30e−02(2.53e−03)\(-\) | 9.32e−03(7.26e−04)\(-\) | 6.29e−03(3.09e−04)\(-\) | 6.45e−03(4.77e−04)\(-\) | 4.71e−03(9.70e−05) \(+\) | 4.91e−03(2.72e−04)\(\approx \) | 4.86e−03(2.41e−04) |
WFG8 | 2.45e−01(7.53e−02)\(\approx \) | 2.06e−01(4.26e−02) \(\approx \) | 2.46e−01(2.07e−03)\(\approx \) | 1.91e−01(3.01e−02) \(+\) | 2.46e−01(4.07e−03)\(\approx \) | 2.45e−01(2.04e−03)\(\approx \) | 2.46e−01(5.26e−02) |
WFG9 | 1.63e−02(3.62e−03)\(-\) | 1.29e−02(1.82e−03)\(-\) | 1.09e−02(9.52e−04)\(-\) | 1.17e−02(1.53e−03)\(-\) | 8.26e−03(1.54e−03) \(+\) | 9.43e−03(1.54e−03) \(\approx \) | 9.68e−03(2.98e−03) |
RE21 | 1.45e−02(3.29e−03)\(-\) | 6.27e−03(4.49e−04)\(-\) | 6.00e−03(2.39e−04)\(-\) | 6.07e−03(3.51e−04)\(-\) | 5.55e−03(1.96e−04)\(\approx \) | 5.38e−03(2.64e−04) \(\approx \) | 5.50e−03(1.90e−04) |
RE22 | 1.58e−02(2.70e−03)\(-\) | 7.89e−03(8.64e−04)\(-\) | 7.00e−03(5.04e−04)\(-\) | 8.68e−03(1.56e−03)\(-\) | 6.60e−03(5.22e−04)\(-\) | 6.16e−03(7.58e−04) \(+\) | 6.28e−03(4.23e−04) |
RE23 | 5.93e−03(2.59e−03) \(+\) | 7.04e−03(3.86e−03) \(+\) | 7.32e−03(9.54e−04)\(+\) | 1.60e−02(4.59e−03)\(+\) | 3.52e−02(1.57e−02)\(-\) | 3.34e−02(1.67e−02)\(-\) | 2.31e−02(1.01e−02) |
RE24 | 1.10e−02(3.63e−03)\(-\) | 5.64e−03(3.99e−04)\(-\) | 5.34e−03(3.96e−04)\(-\) | 2.56e−03(1.35e−04)\(-\) | 2.39e−03(1.52e−04) \(\approx \) | 2.41e−03(1.78e−04)\(\approx \) | 2.39e−03(1.53e−04) |
RE25 | 7.52e−09(1.13e−09)\(+\) | 3.99e−09(3.30e−10)\(+\) | 3.85e−09(3.31e−10) \(+\) | 1.15e−08(1.00e−08)\(+\) | 1.98e−07(7.70e−08)\(\approx \) | 3.50e−09(3.60e−10) \(+\) | 2.03e−07(6.24e−08) |
\(+\)/\(\approx \)/\(-\) | 6/1/19 | 7/3/16 | 7/3/16 | 9/1/16 | 8/7/11 | 6/11/9 |
NSGAII | SMPSO | OMOPSO | AutoMOPSO\(_d\) | AutoMOPSO\(_w\) | AutoMOPSO\(_{re}\) | AutoMOPSO\(_z\) | |
---|---|---|---|---|---|---|---|
ZDT1 | 6.38e−01(5.97e−03)\(-\) | 6.57e−01(4.88e−02)\(-\) | 6.56e−01(1.04e−02)\(-\) | 6.62e−01(1.74e−05) \(-\) | 6.22e−01(2.07e−01)\(-\) | 6.14e−01(2.05e−01)\(-\) | 6.62e−01(9.64e−06) |
ZDT2 | 2.92e−01(1.58e−01)\(-\) | 3.28e−01(1.74e−03)\(-\) | 3.22e−01(6.82e−03)\(-\) | 4.21e−02(3.29e−01)\(-\) | 0.00e+00(0.00e+00)\(-\) | 3.29e−01(9.49e−02) \(-\) | 3.29e−01(8.78e−06) |
ZDT3 | 4.97e−01(2.82e−03)\(-\) | 4.19e−01(1.74e−01)\(-\) | 4.68e−01(1.23e−01)\(-\) | 5.16e−01(2.70e−04) \(-\) | 3.91e−01(2.24e−01)\(-\) | 3.17e−01(1.24e−01)\(-\) | 5.16e−01(7.38e−06) |
ZDT4 | 1.39e−01(2.17e−01)\(+\) | 6.60e−01(8.68e−04) \(+\) | 0.00e+00(0.00e+00)\(\approx \) | 6.62e−01(9.03e−05) \(+\) | 0.00e+00(0.00e+00)\(\approx \) | 0.00e+00(0.00e+00)\(\approx \) | 0.00e+00(0.00e+00) |
ZDT6 | 1.63e−01(3.33e−02)\(-\) | 4.01e−01(4.09e−04)\(-\) | 4.01e−01(9.29e−05)\(-\) | 4.01e−01(4.86e−05)\(-\) | 4.01e−01(6.74e−05)\(-\) | 4.01e−01(1.70e−05) \(\approx \) | 4.01e−01(6.75e−06) |
DTLZ1 | 0.00e+00(1.38e−01)\(+\) | 4.93e−01(2.36e−03) \(+\) | 0.00e+00(0.00e+00)\(\approx \) | 4.95e−01(7.47e−04) \(+\) | 0.00e+00(0.00e+00)\(\approx \) | 0.00e+00(0.00e+00)\(\approx \) | 0.00e+00(0.00e+00) |
DTLZ2 | 2.09e−01(3.86e−04)\(+\) | 2.10e−01(3.29e−04) \(+\) | 2.09e−01(4.47e−04)\(+\) | 2.11e−01(7.86e−06) \(+\) | 2.06e−01(6.71e−03)\(\approx \) | 2.09e−01(2.56e−03)\(+\) | 2.07e−01(2.04e−03) |
DTLZ3 | 0.00e+00(0.00e+00)\(\approx \) | 8.58e−02(1.23e−01) \(+\) | 0.00e+00(0.00e+00)\(\approx \) | 2.06e−01(1.50e−02) \(+\) | 0.00e+00(0.00e+00)\(\approx \) | 0.00e+00(0.00e+00)\(\approx \) | 0.00e+00(0.00e+00) |
DTLZ4 | 2.09e−01(6.30e−04)\(+\) | 2.10e−01(3.37e−04) \(+\) | 2.08e−01(1.12e−03)\(+\) | 2.11e−01(1.49e−05) \(+\) | 1.93e−01(2.00e−01)\(-\) | 2.06e−01(8.00e−03)\(\approx \) | 2.06e−01(7.56e−03) |
DTLZ5 | 2.10e−01(3.51e−04)\(\approx \) | 2.11e−01(3.42e−04) \(+\) | 2.11e−01(5.52e−04)\(+\) | 2.13e−01(1.69e−05) \(+\) | 2.06e−01(7.00e−03)\(-\) | 2.11e−01(1.94e−03)\(\approx \) | 2.09e−01(2.83e−03) |
DTLZ6 | 0.00e+00(0.00e+00)\(-\) | 2.12e−01(2.12e−01)\(-\) | 2.12e−01(2.12e−01)\(-\) | 2.13e−01(2.51e−05)\(-\) | 0.00e+00(0.00e+00)\(-\) | 2.13e−01(1.33e−05) \(-\) | 2.13e−01(1.05e−05) |
DTLZ7 | 3.22e−01(3.58e−03)\(-\) | 3.33e−01(1.05e−03)\(-\) | 3.30e−01(1.14e−01)\(-\) | 3.35e−01(6.96e−05) \(-\) | 3.32e−01(2.77e−01)\(-\) | 3.34e−01(1.16e−01)\(-\) | 3.35e−01(6.36e−06) |
WFG1 | 2.45e−01(9.29e−02) \(+\) | 1.06e−01(3.42e−03)\(-\) | 1.10e−01(9.60e−03)\(-\) | 1.07e−01(5.97e−03)\(-\) | 1.19e−01(3.38e−02)\(-\) | 1.29e−01(4.77e−02)\(-\) | 1.90e−01(9.84e−02) |
WFG2 | 5.60e−01(2.36e−03)\(-\) | 5.54e−01(3.88e−03)\(-\) | 5.62e−01(5.84e−04)\(-\) | 5.57e−01(3.15e−03)\(-\) | 5.64e−01(4.73e−04) \(+\) | 5.62e−01(1.35e−03)\(-\) | 5.64e−01(1.62e−03) |
WFG3 | 4.90e−01(1.26e−03)\(-\) | 4.88e−01(1.31e−03)\(-\) | 4.93e−01(3.31e−04)\(-\) | 4.93e−01(6.01e−04)\(-\) | 4.95e−01(2.25e−05) \(+\) | 4.95e−01(9.57e−05)\(-\) | 4.95e−01(7.62e−05) |
WFG4 | 2.16e−01(6.85e−04) \(+\) | 1.96e−01(1.55e−03)\(-\) | 2.02e−01(1.93e−03)\(-\) | 1.96e−01(2.51e−03)\(-\) | 2.09e−01(4.25e−03) \(+\) | 2.07e−01(2.63e−03)\(\approx \) | 2.06e−01(4.13e−03) |
WFG5 | 1.95e−01(2.78e−04)\(-\) | 1.96e−01(1.07e−04)\(-\) | 1.96e−01(1.29e−04)\(-\) | 1.96e−01(5.10e−05)\(-\) | 1.97e−01(2.32e−05)\(\approx \) | 1.97e−01(5.65e−05) \(\approx \) | 1.97e−01(2.98e−05) |
WFG6 | 1.99e−01(8.30e−03)\(-\) | 2.05e−01(1.33e−03)\(-\) | 2.09e−01(2.73e−04)\(-\) | 2.08e−01(1.80e−03)\(-\) | 2.11e−01(8.06e−05) \(+\) | 2.11e−01(3.04e−04)\(-\) | 2.11e−01(8.62e−05) |
WFG7 | 2.08e−01(5.78e−04)\(-\) | 2.06e−01(1.14e−03)\(-\) | 2.10e−01(3.00e−04)\(-\) | 2.10e−01(4.97e−04)\(-\) | 2.11e−01(1.36e−05) \(+\) | 2.11e−01(3.65e−05)\(-\) | 2.11e−01(3.12e−05) |
WFG8 | 1.42e−01(1.64e−03)\(-\) | 1.42e−01(3.36e−03)\(-\) | 1.44e−01(1.35e−03)\(-\) | 1.43e−01(2.41e−03)\(-\) | 1.46e−01(2.13e−03)\(-\) | 1.49e−01(1.28e−03) \(+\) | 1.48e−01(1.58e−03) |
WFG9 | 2.35e−01(2.85e−03)\(-\) | 2.33e−01(6.61e−04)\(-\) | 2.35e−01(5.43e−04)\(-\) | 2.35e−01(5.16e−04)\(-\) | 2.40e−01(2.00e−03) \(+\) | 2.39e−01(1.13e−03) \(\approx \) | 2.38e−01(2.23e−03) |
RE21 | 6.71e−01(3.74e−04)\(-\) | 6.74e−01(1.05e−04)\(-\) | 6.74e−01(1.17e−04)\(-\) | 6.74e−01(3.69e−05)\(-\) | 6.74e−01(1.99e−05)\(-\) | 6.75e−01(8.80e−06) \(+\) | 6.75e−01(3.60e−05) |
RE22 | 5.44e−01(1.53e−03)\(-\) | 5.47e−01(2.36e−04)\(-\) | 5.48e−01(2.01e−04)\(-\) | 5.48e−01(9.57e−05)\(-\) | 5.49e−01(7.80e−05)\(\approx \) | 5.49e−01(5.93e−05) \(+\) | 5.49e−01(7.14e−05) |
RE23 | 9.52e−01(1.27e−04)\(+\) | 9.53e−01(9.25e−05) \(+\) | 9.53e−01(6.67e−05) \(+\) | 9.52e−01(6.48e−04)\(+\) | 9.47e−01(3.85e−03)\(-\) | 9.48e−01(3.74e−03)\(-\) | 9.50e−01(1.58e−03) |
RE24 | 9.59e−01(3.49e−04)\(-\) | 9.60e−01(2.22e−05)\(-\) | 9.60e−01(4.36e−05)\(-\) | 9.60e−01(5.17e−06)\(-\) | 9.60e−01(3.45e−06)\(\approx \) | 9.60e−01(1.82e−06) \(+\) | 9.60e−01(6.48e−06) |
RE25 | 8.71e−01(3.50e−11)\(+\) | 8.71e−01(5.62e−11)\(+\) | 8.71e−01(3.33e−11) \(+\) | 8.71e−01(6.84e−10)\(+\) | 8.71e−01(1.21e−08)\(\approx \) | 8.71e−01(3.35e−11) \(+\) | 8.71e−01(1.39e−08) |
\(+\)/\(\approx \)/\(-\) | 8/2/16 | 8/0/18 | 5/3/18 | 8/0/18 | 6/8/12 | 6/9/11 |
Algorithm | Ranking | p Value | Holm | Hypothesis |
---|---|---|---|---|
AutoMOPSO\(_z\)* | 3.231 | – | – | – |
AutoMOPSO\(_d\) | 3.538 | 1.093E–11 | 0.05 | Rejected |
AutoMOPSO\(_{re}\) | 3.731 | 2.458E–28 | 0.025 | Rejected |
OMOPSO | 3.846 | 4.762E–42 | 0.017 | Rejected |
AutoMOPSO\(_w\) | 4.077 | 6.863E–78 | 0.013 | Rejected |
SMPSO | 4.423 | 9.809E–153 | 0.01 | Rejected |
NSGA-II | 5.154 | 0E0 | 0.008 | Rejected |
Algorithm | Ranking | p value | Holm | Hypothesis |
---|---|---|---|---|
AutoMOPSO\(_z\)* | 3.019 | – | – | – |
AutoMOPSO\(_{re}\) | 3.481 | 2.187E–24 | 0.05 | Rejected |
AutoMOPSO\(_d\) | 3.769 | 1.366E–61 | 0.025 | Rejected |
OMOPSO | 4.096 | 5.666E–125 | 0.017 | Rejected |
AutoMOPSO\(_w\) | 4.288 | 8.321E–173 | 0.013 | Rejected |
SMPSO | 4.615 | 4.53E–272 | 0.01 | Rejected |
NSGA-II | 4.731 | 0E0 | 0.008 | Rejected |
4.4 Ablation analysis
leaderArchive
, velocityChangeLowerLimit
, swarmSize
, selectionTournamentSize
, velocityChangeUpperLimit
and velocityUpdate
. From the analysis of other AutoMOPSO configurations, the change in leaderArchive
from crowding distance to hypervolume seems to be a critical improvement to the design of MOPSOs, as well as the use of a larger tournament size and a smaller swarm size than SMPSO.leaderArchive
, c1Max
, selectionTournamentSize
, velocityChangeLowerLimit
, and swarmSize
. A further improvement occurs after setting mutation
to nonUniform. Again, a hypervolume-based archive, a large tournament size and a smaller swarm size are key design settings. Remarkably, some of the settings that were clearly beneficial for the ZDT family, such as default velocityUpdate
and velocityChangeUpperLimit
equal to \(-0.8965\), are actually harmful for other problem families. Our conclusion from this observation is that although AutoMOPSO\(_z\) is the best-performing configuration on all problem families, the ZDT family is still not representative of other problem families, which raises the question of how to select a representative problem family for automatic design of MOPSOs. To further analyze this issue, we have repeated our experimentation by using combinations of three of the four benchmark families as training set and letting the last one for validation. The results are included in “Appendix C,” and they show that AutoMOPSOz remains as the best competitive variant.5 Discussion
-
RQ1. Is it possible to find designs of MOPSO algorithms by automatic design that outperform state-of-the-art algorithms such as SMPSO and OMOPSO? Although this question was already answered positively before (Doblas et al., 2022), here we confirm it by considering additional problems and an extended design space.
-
RQ2. Is the auto-design process able of obtaining a configuration yielding accurate results when a family of realistic problems are added to the study? The new problem family RE has been added to the experimental study, which comprises real-world problems. For the sake of simplicity, we have restricted ourselves to bi-objective problems, yet they show structural features of convexity, disconnection and mixed versions. Similar observations are made for the problems selected, which confirm our previous study.
-
RQ3. What are the design parameters that have the strongest effect on the performance of MOPSO algorithms given the design space considered here? An ablation analysis of AutoMOPSO\(_z\) shows that the choice of leader archive, swarm size and tournament size are the most crucial parameters.
-
RQ4. Can a configuration obtained for a given test suite lead the algorithm to avoid overfitting and allow a generalization for many other problems? The comparative study shows that when AutoMOPSO is specifically trained for a given problem family, it obtains the best performance for this family. Although in the scope of a general statistical comparison, it can be observed that AutoMOPSO trained with the ZDT test suite obtains a salient performance for all the problem families, that is, it shows higher generalization capabilities than the remaining models. Nevertheless, the ablation analysis also shows that some design choices of AutoMOPSO\(_z\) work well for the ZDT family but harm its performance on other families, which indicates that (unsurprisingly) ZDT is not representative of other problem families and that (surprisingly) even better MOPSO designs are possible.