1. Introduction
Global optimisation research covers many fields of science, industry, and medicine, where maximal or minimal settings of objective function are required. The objective function , defined on the search domain , is limited by the limits, . The required solution of the problem is global minimum point , which fulfils condition .
The global optimisation problem can be solved by various optimisation techniques. In addition to standard analytical methods, the most widely used methods in practice for optimisation are called evolutionary algorithms (EA). A popular representative of the EAs is the differential evolution (DE) algorithm, which was introduced by Storn and Price in 1995 [
1,
2]. The DE algorithm is a very simple population-based optimiser that develops a set of individuals to locate the solution of the task.
The performance of DE is on a good level in the case where the problems are rather simple. For more complex optimisation problems, DE is not able to provide the true solution. Many successful adaptive variants of DE have been introduced to be applied to various optimisation problems [
3,
4], but no one can solve all possible problems in the best way [
5]. Similarly, no single DE setting can outperform other DE parameters when solving the various optimisation problems [
6].
Despite the good performance of the DE algorithm, there are many optimisation problems where this optimiser is not able to achieve at least promising results. The reason is mostly the stagnation of the population in the area of the local solution of the problems. In these cases, the return to the historical good solutions can help with leaving the local solution area. Thus, an archive of the historical solutions was introduced into the DE algorithm. In this paper, a new progressive approach to storing historical good parent individuals in an archive is proposed for the adaptive jSO algorithm. This approach promises to keep and prioritise better individuals in the archive to provide better results. The rest of the paper is organised as follows. A brief description of the original jSO with applications is presented in
Section 2. A newly proposed jSO algorithm is described in
Section 3. The experimental setting, the results obtained, and the analysis are presented and discussed in
Section 4 and
Section 5. The conclusions are drawn in the
Section 6.
2. Adaptive Variant of jSO
In 2017, Brest et al. proposed a very successful adaptive variant of DE algorithms called
jSO [
7]. This algorithm was the best-performing DE algorithm in Congress on Evolutionary Computation (CEC) 2017, and it took, overall, the second position. The jSO algorithm is derived from variants of JADE, SHADE, L-SHADE, and iL-SHADE. Note that the first DE variant that used the archive of the old successful individuals was JADE [
8]. More details on the evolution of this algorithm, the jSO control parameters, and settings are provided in [
7]. The most important features of the original jSO algorithm are discussed below.
The jSO algorithm employs a newly developed weighted version of the popular current-to-
pbest mutation strategy (current-to-
pbest
w). In addition, an archive
A is used to store the outperformed parent individuals. In addition, circle memories are inherited to adapt the main DE control parameters
F and
CR, which are inherited from the L-SHADE variant (
and
). The jSO uses the same initial values for
, while the settings of
F use a smaller
. Furthermore, both mean values located on the last
Hth positions of the circle memories are set to the same value,
. In addition, a linear reduction in population size is used. The description of differences between the jSO algorithm and the preceding variants provides the original paper [
7]. The jSO variant uses a self-adapted approach for its parameters during the search process; therefore, it is parameter-free.
The steps of the original jSO are described in Algorithm 1. Initially, the population of possible solutions N is located randomly and evaluated by the objective function. The circle memories for the F and CR parameters are allocated. For each solution, the mean values of the F and CR parameters— and —are selected using a roulette wheel. The control parameters of jSO are generated by the standard Gauss (CR) and Cauchy (F) distributions using the mean values. In addition, the values of the control parameters F and CR are truncated to certain values based on the current step of the search process.
After the setting of the jSO control parameters, a mutation point is generated using a novel weighted mutation variant (
1):
where
is the current point;
is a randomly selected point from
, the best points of
P;
is selected randomly from
P; and
is selected randomly from population and archive,
. The newly introduced part is the newly used parameter
, computed using the recommended rules (
2):
Algorithm 1 jSO algorithm |
archive initialise population set all values of to 0.5 set all values of to 0.8 while stopping condition not reached do , for do select from randomly if then end if if then else end if if then else if then end if if then end if current-to-pbestw/1/bin compute end for for do if then end if if then , , end if update and update population size update p end for end while
|
The parameter controlling the portion of the best individuals to select
point (
p) is adapted during the search using the following Formula (
3):
where
and
are input parameters,
maxFES is the total number of function evaluations per run, and
FES is the current number of function evaluations. The authors of jSO recommend using
and
.
After mutation, the new trial solution point is generated using the current point and the mutation point in the binomial crossover. The new trial point is evaluated and replaces the old parent solution only if . In this case, the old solution is lost in the original DE algorithm. The variant of jSO uses an archive of old good solutions A where the parent solutions replaced by the trial solutions are stored. When the archive is full, the new outperformed parent individuals are located in randomly selected positions.
2.1. Eigen Crossover
The original jSO uses standard binomial crossover which provides promising results in various optimisation problems. However, the study in which several state-of-the-art DE variants were used with binomial or exponential crossover to solve real-world optimisation problems illustrates the high performance of the exponential crossover [
9].
The purpose of using the Eigen crossover in DE was inspired by the original papers in which the main idea of such a transformation was discussed. At first, the Eigen transformation approach was introduced in the CoBiDE variant, and this mechanism was an inspiration for this paper [
10]. In CoBiDE, the Eigen transformation is used during crossover operation to increase the efficiency in problems defined by rotated objective functions. Similarly, Guo et al. proposed the Eigen transformation for crossover in DE [
11].
In the original CoBiDE, at the beginning of each generation, the Eigenvalues (matrix
D) and Eigenvectors (matrix
B) are computed from the covariance matrix (
C), which is computed from a
ps part of better individuals from population
P:
After the Eigen transformation, a new trial solution
is produced using the Eigen coordinate system:
After the Eigen transformation, a binomial crossover is applied to produce a new solution
, which is finally transformed back into a standard coordinate system:
Note that this Eigen approach is used only for a whole generation if the randomly generated number is lower than the second input parameter peig, which controls the portion using the Eigen transformation.
Moreover, the results achieved by the experimental study [
12] illustrate a substantially higher performance from the successful jSO algorithm when the Eigen crossover approach (inspired by CoBiDE) is applied. The newly employed Eigen transformation for the crossover operation enables us to solve the optimisation problems with highly correlated coordinates (i.e., when the functions are rotated).
2.2. Motivation to Enhance the jSO Variant
Although the original jSO algorithm uses a fine-tuned setting of its control parameters, a parallel model of eight cooperating jSO algorithms enables substantially better performance when solving real-world optimisation problems [
13].
Furthermore, the results of the comprehensive study [
14], in which more than 20 JADE variants were applied to two sets of problems (CEC 2014 and CEC 2011), illustrate very promising conclusions. JADE-based variants (including jSO) are very robust optimisers in the case of artificial benchmark problems and also real-world problems.
In addition, the application of the archive for successful old individuals in the popular Harris Hawks algorithm allows significantly better results compared to the original variant [
15]. The results were achieved on a set of 22 real-world problems; therefore, the practical performance of the archived individuals is undisputed.
The results of the aforementioned studies were the main motivation to enhance the archive of the old successful individuals used in the jSO algorithm to increase its performance. There was no effort to deal with the archive of old good individuals; therefore, a newly proposed jSO employed a more progressive approach to update the archive.
3. New jSO Variant with Progressive Archive
The results of the DE variants with the archive of historically successful individuals illustrate high performance for various optimisation problems. The random replacement of individuals in A is the approach most commonly used by the DE variants. In this case, the old successful individuals in the archive are replaced randomly without any priority or limits. This enables a higher diversity of individuals in the archive and keeps more recent individuals for mutation. In contrast, in some situations, older or better historical individuals in the archive can help when the population is stuck in the area of a local solution. Therefore, a new progressive replacement for historically successful individuals is proposed and described in archive A.
3.1. Related Works
At first, several of the existing approaches to storing old successful individuals in an archive are mentioned and discussed.
In 2010, Wang et al. proposed the idea of the elitist archive in DE to solve multi-objective optimisation problems [
16]. The old solutions outperformed by better new offspring are moved into the archive, where there are three conditions to insert a new solution. If the solution is worse than all the members of the archive, the solution is rejected. If the solution is worse than a part of the archive members, these members are removed from the archive, and the solution is inserted. Finally, if the solution is not worse than any archive member, it is inserted into the archive.
In 2020, Li et al. proposed an elite archive for the DE algorithm [
17]. The idea is to divide the archive into two parts, superior (better) and inferior (worse) based on the function value of the individuals. Then, the individuals from the superior or inferior part of the archive are selected to be used in the newly proposed mutation scheme. Unfortunately, there is no information on how the archive is divided, and the parts of the archive are not used to insert individuals.
In 2024, Zhihua et al. introduced a new adaptive DE with an archive reuse mechanism [
18]. The algorithm employs elitism for the selection in the reproduction process as standard DE. Then, old outperformed parent individuals are moved into the archive, where they are stored based on the tournament selection. The proposed approach avoids random updates of individuals in the archive, which promises greater robustness.
3.2. Progressive Update of A
In the original jSO variant, the parent individual
to be replaced by a better offspring individual
, which is inserted into the archive
A. At the beginning of the search process, the archive is empty and the successful old individuals are inserted into the empty positions. In the case when the archive is full, the new incoming individuals are located in randomly selected positions to keep a high stochastic approach. This means that the better solutions in
A are replaced with the same probability as the old worse solutions. The idea of the newly proposed archive approach is to employ a control mechanism to replace rather worse solutions in
A (see Algorithm 2).
Algorithm 2 Progressive Archive |
|
The proposed progressive approach to insert and store successful parent individuals outperformed in the archive of the jSO algorithm promises to maintain better historical solutions. At the moment when the old successful solution has to be replaced by its offspring solution and archive A is full, the archived individuals are ordered according to the function values from better individuals to worse individuals. Then the individuals are divided into two parts—better individuals () and worse individuals (). This means that in the better part of A, there are only better historical solutions (evaluated by the lower function values) compared to the worse part of A. Then, the newly incoming successful individual is inserted into a randomly selected position in the worst part . In other words, the better solutions of A are not replaced during the replacement process. This approach enables us to maintain the best historical solutions and refresh the worst individuals in archive A.
The portion of the archive where only worse individuals are located is controlled by an input parameter
, and its value is studied in this paper. The value of
represents a relative part of archive
A that contains the worst solutions. For example, when
then
of the worst individuals in
A are selected to be replaced by the newly incoming old successful solution
(the remaining
of the better solutions in
A remain unchanged). The scheme illustrating the dependency between
and
is depicted in
Figure 1. Finally, compared to the original archive (jSO and jSOeig), where all individuals are ready to be replaced, in the proposed approach, only the part of
A containing worse individuals is delineated for replacement.
Although the proposed approach is very simple and does not increase the time complexity of the original jSO algorithm, the estimated time complexity is also proposed. The newly proposed method is called jSOa (jSOeE) in the following text because a new approach to the archive (‘a’) is used.
4. Experiments
The test suite of 29 problems was proposed for a special session and competition on single objective-bound constrained real-parameter numerical optimisation of Congress on Evolutionary Computation (CEC) 2024. This session was intended as a competition of optimisation algorithms where new variants of algorithms are introduced. The functions are described in [
19], including the experimental settings required for the competition. The source code of the functions is also available on the website given in the report [
19]. The test functions CEC 2024 are divided into four categories based on their difficulty:
unimodal functions—simple problems: , ,
multimodal functions—with many local minima: –,
hybrid functions—difficult, considered to be the real-world problems: –,
composition functions—very difficult, composed of several different functions: –.
All the algorithms are implemented in Matlab 2020b, and this environment was also used for the experiments. All the computations were carried out on a standard PC with Windows 11, Intel(R) Core(TM)i7-4790 CPU 3.6 GHz, 16 GB RAM. The experimental setting follows the requirements given in the report [
19], where 29 minimisation problems are also defined. The search range (domain) for all test functions is
.
The experiments were carried out at four dimension levels, , where 25 independent runs per each test function were performed. Each point in the population is evaluated by the cost function. The function-error value is computed as the difference between the function value of the best-searched point and the known best function value of each test problem. The algorithm is stopped if the prescribed amount of function evaluation MaxFES is reached. The population size of all the algorithms compared is initialised at the same value , as recommended by the authors of jSO. The size of archive A is set to , where N is the current population size in jSO.
The proposed approach uses the control parameter , and its setting is experimentally studied. Four different settings are proposed in an equidistant manner, . A lower value of means that a lower part of the worse individuals in A are to be replaced, and vice versa. Therefore, the variants of the proposed algorithm are abbreviated by the combination of the original jSO, the ‘a’ symbol, presence of the Eigen crossover (‘E’), and the number illustrating the parameter .
The newly proposed approach of the progressive archive in the jSO algorithm is evaluated by the aforementioned optimisation problems, where the better efficiency of the approach is represented by the lower function value achieved in the search process. In addition, the computational complexity of the newly designed approach is estimated using standard time-complexity tests proposed by the authors of the benchmark problems.
5. Results
Eight newly proposed variants of the jSOa algorithm were evaluated by 29 test problems and 4 dimension levels (that is, 116 test problems were performed for each algorithm). Four variants employ the Eigen crossover and four the standard binomial crossover. The results achieved are compared with the original jSO and jSOeig algorithms to illustrate the performance of the newly proposed archive mechanism and its setting ().
The experiment provides a huge amount of data results to analyse. To illustrate an overview of 10 algorithms that optimise 29 problems with 4 dimensions, an advanced statistical comparison is performed instead of standard descriptive values and plots. At first, the absolute mean ranks from the Friedman tests of the ten jSO variants, ten equidistant stages, are provided for each dimension separately in
Figure 2,
Figure 3,
Figure 4 and
Figure 5. The medians computed from the achieved minimum function values at the end of the search are used.
The lines of the original jSO variants are printed in grey, and each setting has a different colour to distinguish the results. Similarly, the algorithm lines employing the Eigen crossover are illustrated by dashed lines, and the variants employing the binomial crossover are printed using solid lines. The values in the horizontal axis are enhanced by the asterisk symbol (*) if the zero hypothesis of the Friedman test is rejected (a significance level of the test is lower than ).
It is obvious that for all dimensions, both the original jSO variants achieved rather worse (often the worst) results, represented by the biggest mean rank, including all 29 problems. In addition, the variability of the mean ranks of the compared algorithms is reduced during the search process (with an increase in stage). This results in a situation where the null hypothesis of the Friedman tests in the later stages is not rejected. It occurs because the population size of the algorithms is decreased linearly to a small value and the populations lose diversity and stagnate.
The purple dashed lines mostly illustrate the least mean ranks for the proposed jSO variant with the Eigen crossover and ( worst points of A are replaced). When the portion of the worst individuals of A is increased ( is increased), the mean ranks of the compared algorithms are higher (lower performance of the algorithm). Finally, in most stages and dimensions, the jSO variants using the Eigen crossover perform better compared to the variants with the binomial crossover.
The numerical representation of the mean ranks of the Friedman tests is presented in
Table 1,
Table 2,
Table 3 and
Table 4. The algorithms are ordered from the best to the worst according to the mean ranks achieved in the final stage of the search process. The least mean ranks for each dimension and stage are highlighted for higher readability. In summarising these tables, several interesting facts are obvious. At first, lower
values achieve mostly better results than higher settings (i.e.,
or
). This means that a more strict (
progressive) replacement of poorer individuals in
A is preferred compared to the original approach, where all points are replaced with the same probability. Keeping the better solutions and replacing the worse solutions allows us to achieve better solutions.
For , the original jSO achieves the lowest rank of the ten methods, and the original jSOeig performs better than the proposed approach only for . For , the variant of jSOeig with outperforms variants with and but occurs especially only in the final stage. In addition, both original jSO variants achieved the worst results, including all 29 problems.
For , the worst results in the final stage are achieved by the original jSO variants, along with the proposed versions that employ the wide replacing positions in A (). The Eigen crossover using a small portion of the worse individuals in A to be replaced achieves the best results in most of the search stages.
The mean ranks for also illustrate the high efficiency of the proposed progressive approach of A when only 40% (or 20%) of the worst individuals can be randomly replaced. The original jSOeig outperforms the proposed approach when or (that is, the lower part of the poorer individuals in A performs better).
The set of CEC 2024 problems is divided into four categories based on the complexity of the problems. Therefore, the best and worst mean ranks for each problem and dimension of the Kruskal–Wallis test are provided in
Table 5,
Table 6,
Table 7 and
Table 8. The results are distinguished for the four categories of the problems where the null hypothesis was rejected if the computed significance level is less than
(see highlighted values in the column ‘sig.’). The number of problems in which the difference between the algorithms was rejected is 2/4/8/9 for
. This means that the proposed approach increases the performance of the archive, especially for higher dimensions.
An overview of these results is provided in
Table 9, where a total number of the first, second, third, and last positions of the algorithms are provided for each dimension independently. Note that only the separated positions are taken into account and shared positions are eliminated. The algorithms are ordered from the most frequently winning ones to the most frequently losing ones. Interestingly, the best optimisers are the proposed jSO algorithms with the Eigen crossover and small
setting, followed by the proposed variants using the binomial crossover. The worst results were achieved by the original jSO, which is unable to solve even one optimisation problem, and it was the worst method in 30 problems out of 116 (
). Finally, the proposed approach provides significantly better results in all four categories of optimisation problems. Note that in some problems, two or more algorithms share the same position. In these cases, two methods or ‘many’ (more than two) or ‘all’ methods are provided.
The search process is divided into ten equidistant stages where the best-achieved solution is stored to illustrate the progress by the convergence curve. Several representatives of the convergence curves for the problems in which the algorithms propose different results are depicted in
Figure 6,
Figure 7,
Figure 8 and
Figure 9. The logarithmic scale was used for the plots to better illustrate the differences. The original jSO and jSOeig variants are highlighted by solid lines with symbols. The plots can be divided into two groups—where some method achieves the best-shared solution but at the early stage (
,
, and
) or when some method achieves better results measured by function value (other cases). It is obvious that in some problems, the proposed approach provides substantially better results compared to the original jSO variants (
or
).
5.1. Crossover Comparison
The aforementioned results illustrate the superiority of the jSO variants with the Eigen crossover. These algorithms use the mechanism introduced by the CoBiDE algorithm, where the binomial crossover in the standard coordinate system is alternating with the Eigen coordinate system. Therefore, the relative success of the Eigen approach in producing new individuals is proposed in
Figure 10.
The Eigen crossover achieved relative success very similarly in all compared jSOeig variants (the original and four newly proposed versions). The higher value of 0.5 (that is, more than of the generated individuals) compared to the original binomial crossover was achieved only in several problems and dimensions. The Eigen crossover performs well on unimodal functions and , on some hybrid functions and all dimensions, and on some composed functions that include all dimensions. In addition, the Eigen approach performs substantially better compared to the original binomial crossover for because most parts of the success curves are above the success ratio.
5.2. Time-Complexity
The authors of the CEC 2024 benchmark suite proposed an approach to estimate the time complexity of the algorithms [
19]. Initially, the performance of the computer is estimated when random solutions are evaluated for the dimension and test problem 10,000. Then, the average time
is computed, including all problems for dimension independently. Each algorithm solves each test problem for each dimension by evaluating the limitations of the function
= 10,000, and the measured time
is recorded. In addition, the average time of the values achieved
is computed for each algorithm and dimension. Finally, the time complexity is computed
and presented in
Table 10, where algorithms are ordered based on average complexity including all dimensions.
The compared algorithms achieved similar time-complexity values, and the least complex method is highlighted for each dimension. The proposed jSO variants with the progressive archive achieved similar or less time complexity compared to the original jSO. Algorithms employing the Eigen crossover are slightly more complex because the two transformations for each solution are performed.
5.3. Real-World Engineering Problem
The proposed mechanism was also applied to solve the real-world engineering problem of compressive spring design, see
Figure 11. The search space of this problem is limited by several inequality limits, more detail is provided in study [
20]. The minimal (optimal) function value of this problem is
. The maximum number of function evaluations for this problem was
, and the best solution was achieved in ten equidistant stages of the search process (that is,
). Each algorithm performed 31 independent runs to achieve scientifically robust results.
The results achieved by the algorithms for this problem are very similar, especially in the later stages of the search process. Therefore, the mean ranks of the Kruskal–Wallis test of all compared algorithms and each search stage independently are shown in
Table 11. The standard symbols for the significance level are applied, where ‘**’ is for
, and finally ‘***’ illustrate
. The algorithms propose significantly different results in most stages (except in the second stage) and are ordered based on the mean rank of the last stage. The best-performing optimiser from the third stage is the proposed variant of jSO with the progressive archive approach and the Eigen crossover (
).
6. Conclusions
This paper proposed a new progressive approach to replace the individuals in archive A of the adaptive jSO algorithm. The approach specifies that a portion of the worst individuals in A is limited to replacement by new outperformed successful solutions. The approach is controlled by the parameter , and its setting was studied in this paper.
The original jSO algorithm and its variant that uses the Eigen crossover were selected and compared with four new variants of jSO and four new variants of jSOeig based on four different values of , . The ten algorithms were experimentally applied to 29 test problems of the CEC 2024 competition and 4 dimension levels. The results were statistically analysed using standard statistical methods.
The Friedman tests were used to compare the algorithms, including all 29 problems and each dimension independently. In summary, the proposed variants performed substantially better compared to the original jSO. The best results were achieved especially for algorithms with and , where the Eigen crossover mainly provided better efficiency. For , the original jSO was the algorithm that performed the worst, and jSOeig took the third position out of 10 algorithms. For , both the original jSO variants achieved the worst performance, and for , these variants were better only than the proposed mechanism with . Finally, for , the jSO took the last position and the jSOeig was outperformed by the proposed method using and .
The comparison of the methods for each problem and dimension separately using the Kruskal–Wallis tests provides similar conclusions. The highest number of first positions of all methods was achieved by the proposed jSOeig employing , and the second best optimiser was the proposed jSOeig using .
Studying the convergence curves, there are a lot of problems where the proposed progressive archive approach enables us to achieve better accuracy or faster convergence compared to the original jSO variants.
Finally, the success of the employed Eigen crossover was studied for the original jSOeig and four derived proposed variants. The relative success of the Eigen crossover (compared to the binomial one) was very similar for all five jSOeig variants. Regarding the dimensionality of the problems, the highest performance was achieved for where the Eigen crossover was successful for more than of the generated individuals in most of the test problems.
The proposed progressive mechanism to replace the individuals in the archive of the jSO algorithm achieved very promising results without substantially higher complexity. In addition, it is possible to include this approach in any population-based evolutionary algorithm with an elitism strategy. Therefore, this approach will be studied and analysed in future research to illustrate its efficiency in various optimisation algorithms. Furthermore, the sensitivity analysis of the
F and
CR parameters will be studied in subsequent studies. The Matlab source code of the algorithm is available in GitHub
https://github.com/PetBuj/jSOa, accessed on 13 August 2024.