1 Introduction

Heuristic algorithms are becoming increasingly more robust means to find suitable solutions to complex problems. Current approaches range from low-level heuristics—designed for specific issues—to complex, more general hyper-heuristics [4]. Particle Swarm Optimization (PSO) is an effective, swarm-intelligence technique based on the collective behavior of fish shoals and bird flocks used to solve optimization problems.

The parameter settings of non-deterministic algorithms such as meta-heuristics are known to be dependent on the problem. The same occurs with PSO, for the adjustment of hyper-parameters affects the trajectory of the particles in the swarm. In some implementations, the cognitive and social coefficients, as well as the inertial weight, are dynamically selected [17]. In others, these hyper-parameters are manually set and remain fixed throughout the execution [15]. The authors of implementations with fixed hyper-parameters customarily disclose recommended values for them, defined after multiple analyzes on different problems, as in [14].

In PSO, the works of [7, 10, 18] demonstrate that particles tend to move in parallel to the coordinate axes. Using rotational invariance mitigates this dependency on the coordinate system wherein the objective function is defined, improving results across various problems. In terms of complex multimodal functions, experiments indicate that maintaining swarm diversity helps mitigate premature convergence and avoid sub-optimal solutions [11].

Motivated by these aspects, this paper aims to improve two PSO implementations termed Rotationally Invariant Semi-Autonomous PSO(RI-SAPSO) [14] and eXpanded PSO (XPSO) [21] by automatically updating hyper-parameters, promoting rotational invariance, and maintaining swarm diversity during execution.

The remaining sections are structured as follows. Section 2 describes the canonical PSO, as well as some properties of its variants. In Sect. 3, the framework of some PSO variants is exposed. Details on the improvements made to RI-SAPSO and XPSO are presented in Sect. 4. Section 5 presents the obtained experimental results and their statistical significance. Lastly, Sect. 6 concludes this paper with some remarks and future work.

2 Theoretical Background

The canonical PSO algorithm only performs simple mathematical operations. As such, it is computationally inexpensive in terms of time and space. PSO is a population-based meta-heuristic where each individual (i.e., particle) represents a candidate solution to an optimization problem in a D-dimensional space. In each iteration t of the algorithm, the ith particle of the swarm is associated to three vectors: the position vector \(\vec {x}_i = \left[ {x_{i,1}},{x_{i,2}},\ldots \,{x_{i,D}}\right] \), that represents the candidate solution; the velocity vector \(\vec {v}_i = \left[ {v_{i,1}},{v_{i,2}},\ldots \,{v_{i,D}}\right] \), that represents the direction and velocity of the particle in the search space; and local memory vector \(\vec {p}_i = \left[ {p_{i,1}},{p_{i,2}},\ldots \,{p_{i,D}}\right] \), which stores the best solution found. By its turn, the swarm is associated to the global memory vector \(\vec {g} = \left[ {g_1},{g_2},\ldots \,{g_D}\right] \), which stores the best solution found overall. Following the algorithm of [5], the position of the particles are updated as t increases according to

$$\begin{aligned} \vec {v}^{t + 1}_i = \vec {v}^{t}_i + c_1\phi _1(\vec {p}^{t}_i - \vec {x}^{t}_i) + c_2\phi _2(\vec {g}^{t} - \vec {x}^{t}_i) \end{aligned}$$
(1)

and

$$\begin{aligned} \vec {x}^{t + 1}_i = \vec {x}^t_i + \vec {v}^{t + 1}_i, \end{aligned}$$
(2)

where \(c_1\) and \(c_2\) respectively represent the cognitive and social coefficients and \(\phi _1\) and \(\phi _2\) are random numbers sampled from a uniform distribution in [0, 1]. Ulteriorly, [17] added the inertial weight w to (1), turning \(\vec {v}^{t}_i\) into \(w\vec {v}^{t}_i\). This significantly improved the canonical PSO and is widely used in its variants.

Making the algorithm rotationally invariant ensures that particles will move independently without influence of the coordinate system of the problem. Its presence (or lack thereof) might lie in how \(\phi _1\) and \(\phi _2\) are used in the velocity update equation. If they are vectors, the optimizer is variant in terms of scale, translation, and rotation. If they are scalar values, then the algorithm is rotationally invariant. To illustrate, a rotationally variant version of (1), which is rotationally invariant, can be defined as

$$\begin{aligned} \vec {v}^{t + 1}_i = w^t\vec {v}^{t}_i + c_1\dot{\vec {\phi }}^t_i\odot (\vec {p}^t_i - \vec {x}^t_i) + c_2\ddot{\vec {\phi }}^t_i\odot (\vec {g}^t - \vec {x}^t_i), \end{aligned}$$
(3)

where \(\dot{\vec {\phi }}^t_i\) and \(\ddot{\vec {\phi }}^t_i\) are two vectors containing random values sampled from a uniform distribution in [0, 1] and \(\odot \) represents the element-wise multiplication of vectors and matrices [8]. The mathematical tool presented in [20] can be used to prove whether a given PSO implementation is variant or invariant.

The work of [19] introduces the concept of directional diversity, i.e., the ability to carry out the stochastic search in various directions. Conversely, particles without directional diversity perform their search in fixed directions. This work proved that, unlike (3), (1) provokes loss in directional diversity. To demonstrate that the directional diversity and rotational invariance are not necessarily exclusive, [20] proposed a rotationally invariant PSO that maintains directional diversity named Diverse Rotationally Invariant PSO (DRI-PSO), whose velocity update equation is rotationally invariant in a stochastic manner but also diverse in direction. This was possible thanks to small, consistent perturbations in the direction of the local \((\vec {p} - \vec {x})\) and global swarm memories \((\vec {g} - \vec {x})\), multiplying these values with an independent, random rotation matrix W.

The ability to store gradient information allows the particles to individually perform asynchronous searches, mitigate the random walk effect and avoid wasting random efforts to reach local optima. When using the method described in [9] with problems of high D, the employment of gradient descent information might be difficult. Depending on how it is applied throughout the search, up to D objective function evaluations per particle might be performed.

The ability to control swarm diversity, firstly proposed to PSO in [13], is present in many implementations. This strategy, which entails monitoring the swarm diversity during the search, enables the algorithm to increase exploration when the diversity is low to avoid local optima. Equation (4) represents one form of defining swarm diversity, where |L| is the diagonal size of the search space, \(x^{t}_{i,j}\) is the j-th dimension of the i-th particle, and \(\overline{x}^t_j\) is the j-th dimension of the mean position across all particles.

$$\begin{aligned} diversity(\vec {x^{t}}) = \frac{1}{n \times |L|} \times \sum _{i=1}^{n} \sqrt{\sum _{j=1}^{D}(x^{t}_{i,j} - \overline{x}^t_j)^2} \end{aligned}$$
(4)

3 Related Work

Works related to this paper are associated with other meta-heuristics inspired on the canonical PSO. This section will focus on implementations that involve diversity control, gradient use, rotational invariance, directional diversity, rotation matrices, and hyper-parameter auto-adjustment.

The introduction of Gradient-Based PSO (GPSO) is described in [12], wherein the gradient directions are used as a deterministic approach for a precise local exploration around the best global position, thus strengthening the global exploration of the algorithm. In [6], where diversity control and gradient information were employed as strategies to switch between two PSO algorithms throughout the search, a new, hybrid approach termed Diversity-Guided PSO based on Gradient Search (DGPSOGS) was introduced.

The Semi-Autonomous PSO (SAPSO) [15] takes advantage of ideas present in Attraction and Repulsion PSO (ARPSO) [13], GPSO [12], and DGPSOGS [6] to provide a semi-autonomous particle swarm optimizer that uses gradient and diversity-control information to optimize unimodal functions. SAPSO attempts to reduce computational efforts related to local investigation with the aid of gradient information and provide a diversity control mechanism to avoid local optima. The performance of SAPSO and other PSO implementations are evaluated in a set of test functions based on optimization problems of De Jong’s benchmark. Numerical results showed that the proposed method attained at least the same performance of other PSO implementations. Moreover, SAPSO achieved better results in terms of global minima found and fine-tuning of the final solution. However, problems in spaces of higher dimensionality caused longer execution times due to the employment of gradient-based information by each particle and the need to modify parameters depending on the problem at hand.

As an improvement to DRI-PSO, the Locally Convergent Rotationally Invariant PSO (LcRiPSO) was introduced in [2]. The authors pointed out several problematic situations: particles can get stuck in some areas of the search space, unable to change the value of one or more decision variables; poor performance is observed when the swarm is small or the dimensionality is high; convergence is not guaranteed even for local optima; and the algorithm is sensible to the rotation of the search space. Aiming to solve these issues, LcRiPSO contains a new general form of velocity update equation that contains a normal distribution function defined by the user around local and global memories.

The RI-SAPSO is proposed in the work of [14] as an improvement to SAPSO [15]. This PSO implementation inherits the rotational invariance of SAPSO and incorporates a rotation matrix generated by an exponential map to maintain directional diversity using an idea present in [20]. Besides mathematically proving that RI-SAPSO is rotationally invariant, benchmark tests with statistical significance demonstrated that the algorithms were capable of finding better solutions in most problems. Therefore, RI-SAPSO is the starting point of this work because despite its superior results against those of SAPSO, it still has long execution times when handling high-dimensional problems and employs fixed hyper-parameters during execution.

An expanded variant of PSO termed XPSO was proposed in [21]. It updates acceleration coefficients and the learning model based on fitness, given that updating these coefficients by only considering iterations might result in sub-par intelligence when solving complex problems. Moreover, XPSO expands the social part of each particle from one to two exemplars and applies the ability to forget some particles, which is based on a universal biological phenomenon wherein parts of the memory management system forget undesirable or useless information. Upon testing, this approach presented promising results with different types of objective function, despite its possible lack of rotational invariance as it employs the random components similarly to (3).

4 Improving RI-SAPSO and XPSO

This section details how XPSO and RI-SAPSO were changed into the Rotationally Invariant Attractive and Repulsive eXpanded PSO (RI-AR-XPSO) and the Rotationally Invariant Semi-Autonomous eXpanded PSO (RI-SAXPSO).

4.1 Rotationally Invariant Attractive and Repulsive eXpanded PSO

The implementation herein defined is termed Rotationally Invariant Attractive and Repulsive eXpanded PSO. Since XPSO has a vector of random numbers \(\vec {\phi }^t\) for each component in its velocity update equation—similar to (3)—, its search strategy might have directional diversity, but still suffers from rotation variance, which can be proven by using the mathematical tool seen in [20]. As previously exposed, in addition to automatically adjusting the acceleration coefficients during the search, XPSO has an additional social coefficient. Here, the ith particle out of N particles will be related to three coefficients: \(c_{1,i}\), which is the cognitive coefficient; and \(c_{2,i}\) and \(c_{3,i}\), which are social coefficients. The coefficients of each particle are defined using a Gaussian following the method described in [21].

A greater movement amplitude is preserved in each particle by using the stochastic rotation matrix W in the velocity equation, thus increasing directional diversity in the search [20]. Furthermore, it also promotes rotational invariance. As such, the velocity equation will be changed to use W similarly to [14].

The authors of XPSO justify that its ability to forget relates to maintaining swarm diversity throughout the search. In this regard, another improvement to be added was motivated by the attraction and repulsion strategy of [13], where the diversity monitoring will influence the behavior of the particles such that they will not forget during the attraction phase to accelerate convergence. Moreover, a lower swarm diversity bound will be dynamically defined in the new implementation to avoid that the repulsion phase precludes refining the solution at the end of the search. The \(d^t_{min}\) values will exponentially decrease at this point, with values defined by \(f(x)\,=\,b^x\) (the best results were attained with x having values within [1, 10] linearly increasing during the search). \(b = 10^{-2}\) is the same value used by [14] as an upper swarm diversity bound.

The modifications made to XPSO change its velocity equation to

$$\begin{aligned} \vec {v}^{t + 1}_i = w^t\vec {v}^{t}_i + dir \times \left[ \vec {\varOmega }^t_i + \vec {\varUpsilon }^t_i + \vec {\varLambda }^t_i\right] , \end{aligned}$$
(5)
$$\begin{aligned} \vec {\varOmega }^t_i={\left\{ \begin{array}{ll} c_{1,i} \dot{\phi }^t_i \left( \vec {p}^t_{i} - \vec {x}^t_{i}\right) , &{} \text {if}\;dir=1;\\ c_{1,i} \dot{\phi }^t_i \dot{W}^t_i \left( \vec {p}^t_{i} - \vec {x}^t_{i}\right) , &{} \text {else} \end{array}\right. } \end{aligned}$$
(6)
$$\begin{aligned} \vec {\varUpsilon }^t_i={\left\{ \begin{array}{ll} c_{2,i} \ddot{\phi }^t_i \left( \vec {l}^t_{i} - \vec {x}^t_{i}\right) , &{} \text {if}\;dir=1;\\ c_{2,i} \ddot{\phi }^t_i \ddot{W}^t_i \left[ \left( 1-\vec {f}_{i}\right) \vec {l}^t_{i} - \vec {x}^t_{i}\right] , &{} \text {else} \end{array}\right. } \end{aligned}$$
(7)
$$\begin{aligned} \vec {\varLambda }^t_i={\left\{ \begin{array}{ll} c_{3,i} \dddot{\phi }^t_i \left( \vec {g}^t - \vec {x}^t_{i}\right) , &{} \text {if}\;dir=1;\\ c_{3,i} \dddot{\phi }^t_i \dddot{W}^t_i \left[ \left( 1-\vec {f}_{i}\right) \vec {g}^t - \vec {x}^t_{i}\right] , &{} \text {else} \end{array}\right. } \end{aligned}$$
(8)

where \(\dot{\vec {\phi }}^t_i\), \(\ddot{\vec {\phi }}^t_i\) and \(\dddot{\vec {\phi }}^t_i\) are three random vectors uniformly distributed within \(\left[ 0, 1\right] \); \(\vec {\mathcal {F}}=\left[ f_{i,1},f_{i,2},\cdots ,f_{i,D}\right] \) represents the amount of information that the i-th particle forgot of a given sample; \(\vec {l}^t_{i}\) represents the best position visited between two neighbors (i.e., \(\vec {l}^t_{i}\) will be equal to the most fit solution between \(\vec {p}_{i-1}\) and \(\vec {p}_{i+1}\)); and dir controls the attraction and repulsion phases according to

(9)

where the current swarm diversity value is represented by d, calculated in (4), and StagG and \(StagG_{max}\) respectively represent the number of iterations without updating the best global position and the maximum number of iterations without progress allowed. The elitist behavior employed by the hyper-parameter adjusting logic during execution also aids the update of dir. As exposed by [21], when \(StagG \ge StagG_{max}\), it is assumed that the particles got stuck in a local minimum. As such, a hyper-parameter update takes place to change their search direction. Nevertheless, if the particles maintain low diversity, the implementation will trigger the repulsion phase to speed up this process. Conversely, the attraction phase is initiated when adequate diversity is maintained.

4.2 Rotationally Invariant Semi-autonomous eXpanded PSO

The implementation defined herein is termed Rotationally Invariant Semi-Autonomous eXpanded PSO. eXpanded refers to the automatic hyper-parameter adjustment and the expansion of the RI-SAPSO velocity equation inspired by XPSO. In [14], the variant employs parameters without dynamic update during execution and uses two main strategies: the diversity-guided attraction/repulsion logic and the replacement of the personal part of the velocity equation from \(\vec {p^{t}_i} - \vec {x^{t}_i}\) to \(\nabla f(\vec {x}^{t}_i)\) to use the gradient. As such, the improvements are: implement a hyper-parameter update strategy; employ adaptive diversity control; and employ three acceleration coefficients in the velocity update equation involving the best global position (\(c_1\)), the gradient (\(c_2\)), and the best personal position (\(c_3\)).

The implementation of automatic hyper-parameter update during execution is identical to what is performed in XPSO. The update scenarios of dir will be changed due to the difficulty it faces to converge when diversity is low, which hurts the results of RI-SAPSO in such situations. Therefore, (9) will be used herein as well. The upper swarm diversity bound was removed in this case because when the search triggers the repulsion phase in later iterations, this restriction will result in high swarm diversity, thus preventing the refinement of the solution. The lower swarm diversity bound is \(d^t_{min}\), which will have the same values explained in Sect. 4.1. Unlike the original implementation, the switch from repulsion to attraction does not alter the individual decision of the particles. In other words, only dir changes from \(-1\) to 1, mitigating gradient use.

Due to the smaller gradient descent use in the attraction phase, \(c_3\) was added as a cognitive coefficient in (10) to accelerate convergence. In this case, if a particle is unable to decide with the gradient, it will determine with \(\vec {g}\) and \(\vec {p}\).

After detailing all modifications, the equation that governs velocity updates in RI-SAPSO had its social component

$$\begin{aligned} \vec {\varOmega }^t_i={\left\{ \begin{array}{ll} I^{t}_i c_1 \dot{\phi }^t_i (\vec {g}^t - \vec {x}^t_i), &{} \text {if}\;dir=1;\\ I^{t}_i c_1 \dot{\phi }^t_i \dot{W}^t_i (\vec {g}^t - \vec {x}^t_i), &{} \text {otherwise} \end{array}\right. } \end{aligned}$$
(10)

changed in the new implementation to

$$\begin{aligned} \vec {\varOmega }^t_i={\left\{ \begin{array}{ll} I^{t}_i c_{1,i} \dot{\phi }^t_i (\vec {g}^t - \vec {x}^t_i) + I^{t}_i c_{3,i} \dddot{\phi }^t_i (\vec {p}^t - \vec {x}^t_i), &{} \text {if}\;dir=1;\\ I^{t}_i c_{1,i} \dot{\phi }^t_i \dot{W}^t_i (\vec {g}^t - \vec {x}^t_i), &{} \text {otherwise.} \end{array}\right. } \end{aligned}$$
(11)

5 Experimental Simulations

This section presents tests performed with the two new algorithms side-by-side with their original counterparts in two scenarios. Firstly, the swarm diversity and the behavior of the convergence curve of the best solution are analyzed with unimodal and multimodal test functions found in the literature. Subsequently, tests are performed using a set of benchmark functions from Congress on Evolutionary Computation (CEC) 2017 [1], whose functions were randomly rotated or dislocated. The final results are evaluated considering time, Number of Function Evaluations (NFEs), and the minimal error rate—the difference between the solution found and the best one (i.e., \(f(\vec {x})-f(\vec {x}_{opt})\)). Lastly, statistical tests are carried out to investigate how significant the differences are between algorithms. All results are the mean of 50 executions.

It is noteworthy that this work does not aim to solve the CEC 2017 functions, but rather to use them as a means of proving the concepts previously exposed.

5.1 Swarm Diversity and Solution Convergence

Five classical test functions found in the literature were selected to analyze behavioral swarm changes during the search: a unimodal one (Sphere), a non-convex unimodal one (Rosenbrock), and three multimodal functions (viz., Ackley, Griewank, and Rastrigin). In these tests, D was set to 30, N was set to 20 following [14], and T was set to 6000 following [21]. Existing algorithms were set with the hyper-parameters that were recommended in their respective studies: RI-AR-XPSO used the same settings as XPSO and RI-SAXPSO received a value range for each coefficient guided by [15]. Specific hyper-parameter settings are presented in Table 1. The results represent the average of 50 independent executions where the swarm diversity and the convergence curve of the best solution (in logarithmic scale) were evaluated. The only stopping criteria used was the maximum number of iterations T.

Table 1. Parameter settings utilized in the tested algorithms.
Fig. 1.
figure 1

Swarm diversity and best solution convergence curve.

Figure 1 shows the performance of the modified and original algorithms. It can be seen that RI-SAXPSO quickly converges while maintaining high swarm diversity at the beginning of the search. It attains better results than RI-SAPSO, which only achieves similar results in the Ackley function (Fig. 1c) despite maintaining swarm diversity throughout the search. XPSO did not lose diversity quickly, but it was lower at the beginning of the search when compared to RI-AR-XPSO. In terms of solution convergence, XPSO best refines the final solution of Sphere (Fig. 1a), and loses diversity faster. XPSO solutions converge with inferior quality when compared to RI-AR-XPSO in the multimodal functions.

5.2 Congress on Evolutionary Computation 2017 Benchmark Functions

The CEC 2017 benchmark is composed of 30 functions, of which only Sum of different Power is not used in this work due to its unstable behavior in higher dimensionalities [1]. Hence, a total of 29 functions were used to test the algorithms: unimodal ones \((f1-2)\), simple multimodal ones \((f3-9)\), hybrid ones \((f10-19)\), and composed ones \((f20-29)\). The same settings found in Sect. 5.1 were used herein except for the stopping criteria: in addition to using \(T = 6000\), the search is interrupted whenever the global minima is found or NFE = \(10^6\), which is the upper limit defined in [1]. The D of each function was set to 10, 30, and 50 to evaluate performance in different dimensionalities.

Table 2. Average error rates and algorithm ranks.
Table 3. Total sum of the rankings, detailed by dimensionality.

Table 2 shows average error rates accompanied by rank values (from 1 to 4). Overall, RI-AR-XPSO attained the lowest error rates on most optimization problems. Despite the simplicity of this evaluation, Table 3 presents the rank-sum stratified by D. It shows that the proposed implementations surpassed the original ones overall, although RI-SAXPSO did not overcome XPSO.

Table 4 presents average computation times and the NFEs of each algorithm stratified by dimensionality. One might notice how RI-SAPSO was the worst, with higher execution time and NFEs. Despite the high number of NFEs, employment of rotation matrix, diversity control, gradient information, and automatic hyper-parameter adjustment during the execution, RI-SAXPSO performed best overall in terms of time. However, it took longer than XPSO and RI-AR-XPSO for 50 dimensions, indicating that using gradient information in high dimensionalities results in lower efficiency. The performance of XPSO attests that using two exemplars, the ability to forget, and the velocity update equation postpones the execution. In spite of using these techniques, RI-AR-XPSO forgets particles with less frequency thanks to the other properties involved, consequently attaining similar performance to XPSO despite the presence of diversity control.

In terms of success rate, the evaluated algorithms never reached the global optima when optimizing the evaluated functions for 30 and 50 dimensions. When \(D = 10\), XPSO obtained a global success rate of \(8.07\%\), followed by RI-AR-XPSO with \(1.86\%\), RI-SAXPSO with \(0.07\%\), and RI-SAPSO with \(0\%\). Therefore, it can be argued that XPSO finishes its execution faster than RI-AR-XPSO thanks to its higher success rate for 10 dimensions.

Table 4. Time (in seconds) and NFEs.

5.3 Statistical Hypothesis Testing

This section describes the Friedman’s statistical significance test, as well as the post-hoc tests performed to demonstrate which differences are statistically significant in terms of the error rates obtained in Table 2.

Friedman’s test with significance level \(\alpha = 0.05\) was applied for multiple comparisons. In this work, each pair of algorithms is analyzed \((k \times k)\) considering the four PSO implementations \((k = 4)\) and a family of different hypotheses \((h = k(k-1)/2 = 6)\). The null hypothesis of this experiment is that there is no significant difference in the results. The post-hoc procedure was applied to find which algorithm pairs attained significantly different results, returning a p-value for each comparison to determine the degree of rejection of each hypothesis. Furthermore, the p-values are adjusted due to the Family-Wise Error Rate (FWER), which is the probability of making one or more false discoveries between all hypotheses by performing multiple pairwise tests [16].

To calculate Friedman’s statistics, the results seen in Table 2 are the rankings, and Table 5 highlights the mean ranks of each PSO implementation obtained by applying a ranking-based classification. The results obtained attest that the best algorithm among the four implementations is RI-AR-XPSO. Upon application of Friedman’s test, a p-value of \(1.085E{-}32\) and a Friedman’s statistic of 151.79 were found. Since \(p \ll \alpha \), there seems to be at least one significant difference.

Table 5. Average ranks

The evidence of statistically significant differences prompted the execution of post-hoc tests to pinpoint which algorithm pairs obtained significantly different results. p-values of all six hypotheses were obtained by converting the mean ranks of each algorithm by a normal approximation. z-values were used to find the corresponding p-value of the standard normal distribution \(\mathcal {N}(0, 1)\). Friedman’s z-value can be defined as

$$\begin{aligned} z_{ij}=\frac{R_i-R_j}{\sqrt{\frac{k(k+1)}{6n}}}. \end{aligned}$$
(12)
Table 6. Friedman’s p-values and adjusted p-values (Holm) for pairwise comparison tests between all algorithms.

The p-values found using (12) are in Table 6. As previously explained, these values are not suitable for direct comparison with the significance levels due to FWER. Thus, the adjusted p-values were used to directly compare the values with the significance levels. In this paper, an adjust procedure termed Holm [3] was employed. In Table 6, \(*\) indicates which algorithm performed better. In harmony with the results previously obtained, RI-AR-XPSO obtained the best results, and RI-SAXPSO only outperformed RI-SAPSO. All p-values are smaller than 0.05, meaning that all differences are statistically significant.

6 Final Considerations

This work presented two new PSO implementations with conveniences such as automatic hyper-parameter update during execution and employment of a rotation matrix to promote independence from the coordinate systems wherein the objective function is defined. Both RI-AR-XPSO and RI-SAXPSO boast an attraction/repulsion mechanism guided by a diversity control whose effect is exponentially reduced throughout the search, resulting in more exploration at the beginning and more exploitation at the end. Both algorithms were compared against their original counterparts in a varied set of problems and dimensionalities, and statistical significance tests indicated their superiority against the original implementations. RI-SAXPSO, which uses gradient-based information, consumed less time in problems with smaller dimensionalities. In these cases and those where the objective function is not very costly, this technique might be convenient.

In future work, new arrangements can be tested to use the gradient information more efficiently since the gradient-based techniques did not reach good performance. New approaches that consider swarm diversity information to automatically adjust hyper-parameters during execution can also be studied. The goal would be to adapt the hyper-parameter fine-tuning according to current swarm diversity status instead of just verifying whether the search is stagnated.