Metaheuristic algorithms are widely used in solving optimization problems. In this paper, a new metaheuristic algorithm called Skill Optimization Algorithm (SOA) is proposed to solve optimization problems. The fundamental inspiration in designing SOA is human efforts to acquire and improve skills. Various stages of SOA are mathematically modeled in two phases, including: (i) exploration, skill acquisition from experts and (ii) exploitation, skill improvement based on practice and individual effort. The efficiency of SOA in optimization applications is analyzed through testing this algorithm on a set of twenty-three standard benchmark functions of a variety of unimodal, high-dimensional multimodal, and fixed-dimensional multimodal types. The optimization results show that SOA, by balancing exploration and exploitation, is able to provide good performance and appropriate solutions for optimization problems. In addition, the performance of SOA in optimization is compared with ten metaheuristic algorithms to evaluate the quality of the results obtained by the proposed approach. Analysis and comparison of the obtained simulation results show that the proposed SOA has a superior performance over the considered algorithms and achieves much more competitive results.
With the advancement of science and technology, the need for optimization techniques to address the applications and challenges of optimization and achieve optimal designs has become increasingly apparent. The goal in optimization is to find the best solution to a multi-solution problem (known as the optimization problem) [
Metaheuristic algorithms have the same optimization process in that they start by generating a number of candidate solutions in the problem-solving space at random. These solutions are then improved in an iterative process. Finally, the best improved candidate solution is introduced as the solution to the problem [
The main idea in designing metaheuristic algorithms is inspired by nature, wildlife, behaviors of animal, birds, insects, aquatic animals in nature, physical concepts and laws, biological sciences, game rules, human behaviors, and any type of process that has an evolutionary nature. The birds’ natural behaviors have been the main inspiration for Particle Swarm Optimization (PSO) algorithm [
The main research question is that despite the countless metaheuristic algorithms that have been designed so far, is there still a need to develop newer algorithms? There is the answer to this question in the concept of No Free Lunch (NFL) theorem [
Innovation and contribution of this paper is in designing a new metaheuristic algorithm called Skill Optimization Algorithm (SOA) to be utilized for solving optimization problems in various fields of science. The main inspiration employed in designing SOA is the human activities and efforts that seeks to acquire and improve skills. The steps of implementing SOA are mathematically modeled in two phases of exploration and exploitation, which are based on skill learning and individual practice, respectively. Twenty-three sets of standard benchmark functions of unimodal and multimodal types have been used for evaluating the ability of SOA to achieve optimal solutions. Moreover, the results obtained by SOA are compared with the performance of ten well-known metaheuristic algorithms.
The rest of this article is structured as follows: In Section 2, literature review is provided. The proposed SOA is introduced in Section 3. Simulation studies and results are presented in Section 4. Finally, conclusions and several suggestions for future studies are given in Section 5.
Metaheuristic algorithms are divided into five groups based on the source of inspiration used in the design: Swarm-based, evolutionary-based, physics-based, game-based, and human-based algorithms.
Swarm-based algorithms are inspired by nature, and the swarming behaviors of animals, birds, and other living things. PSO is one of the most popular optimization methods, which was developed based on modeling the movement of birds and fishes in search of food. The ability of ants to discover the shortest path between food sources and nests was a central idea in design of Ant Colony Optimization (ACO) technique [
Evolutionary-based algorithms are inspired by the concepts of natural selection, biology, and genetics. GA and Differential Evolution (DE) [
Physics-based algorithms are inspired by simulating processes, laws, and concepts in physics. Simulated Annealing (SA) is one of the most famous optimization algorithms that is inspired by the physical process of melting and cooling metals known as annealing [
Game-based algorithms are inspired by modeling the rules of various individual and team games, the behavior of players, coaches, and referees, as well as holding competitions. Simulating the organization of the football league as well as the behavior of the players, and the interactions of the clubs with each other was the main idea in the design of Football Game Based Optimization (FGBO) [
Human-based algorithms are designed based on human behaviors, the interactions of people in a community with each other, and the relationships between humans. TLBO is one of the most widely used optimization techniques that is designed based on modeling the space of a classroom with the presence of a teacher and a number of students in two phases of teaching and learning. Interactions between doctor and patients for examination, prevention, and treatment were the main inspiration of Doctor and Patient Optimization (DPO) [
In this section, the proposed Skill Optimization Algorithm (SOA) is introduced and its mathematical modeling is presented. SOA is a population-based method, whose members are human beings who strive to learn and improve their skills. SOA population members are in fact candidate solutions to the given optimization problem. The positions of these members in the search space show the values of the problem decision variables. The positions of SOA members are randomly initialized at the start of the algorithm. The SOA population can be mathematically modeled using a matrix according to
Here,
Each member of the population is a candidate solution to the problem. In other words, by placing each member in the problem variables, a value for the objective function is evaluated. Therefore, the values obtained for the objective function can be mathematically modeled using a vector according to
Here,
The process of updating population members in SOA is performed in two phases of exploration and exploitation. The exploration phase is based on simulating the process of skill learning from an expert. The exploitation phase is based on simulating skill improvement through individual efforts and activities. In SOA design, the update process is performed in two phases of exploration with the aim of global search in the problem-solving space, and the phase of exploitation with the aim of local search. In the exploration phase, SOA is designed so that SOA members move in the search space under the guidance of different members, and are prevented from moving only in the direction of the best member. This increases the algorithm’s exploration power in accurately scanning the search space and identifying the original optimal area. On the other hand, in the exploitation phase, based on the local search near each member of the population, the algorithm is able to converge to better possible solutions.
In the first phase, each SOA member strives to acquire a skill based on the guidance of a community expert member. The quality of each population member is commensurate with the objective function value obtained by that member of the population. The expert member for an SOA member is the member who has better conditions based on the value of the objective function. For each SOA member, all members that have a better objective function value than that member are considered as “experts set”. Among the members of this set, one member is randomly selected as an expert to train the member in question. Therefore, the expert selected to guide the SOA member is not necessarily the best candidate solution. In fact, the best candidate solution is a permanent member of the experts set, for all SOA members. The expert member causes the member of the population to be guided to different positions in the search space by learning the skill, which means global search and exploration ability of the algorithm. The new position calculated for each member of the population is acceptable if it improves the value of the objective function. Therefore, the first phase of the update can be modeled according to the mentioned concepts using
Here,
In the second phase, each population member tries to improve the skills acquired in the first phase through individual practice and activity. In SOA, this concept is modeled as local search with the aim of increasing exploitation in such a way that each member, in the neighborhood of its position, seeks better conditions to improve the value of its objective function (which indicates the level of skill). Similar to previous phase, the newly calculated position in this phase is acceptable if it improves the objective function value. The concepts of this phase of SOA updating are mathematically modeled using
Here,
The first iteration of SOA is completed after updating all members based on the first and second phases. The algorithm then enters the next iteration and the update process is repeated according to
In this subsection, the computational complexity of SOA is studied. The computational complexity of SOA initialization to create the initial population and initial evaluation of the objective function is equal to
In this section, the performance of the proposed SOA in optimization applications is evaluated. For this purpose, SOA is implemented on a set of twenty-three standard objective functions. This set includes a variety of unimodal, high-dimensional multimodal, and fixed-dimensional multimodal functions [
Algorithm | Parameter | Value |
---|---|---|
RFO | ||
Fox observation angle ( |
||
Weather conditions ( |
random value between 0 and 1 | |
Scaling parameter | ||
Population size | 30 | |
MPA | ||
Constant number | ||
Random vector | ||
Fish Aggregating Devices ( |
FADs = 0.2 | |
Binary vector | ||
Population size | 30 | |
TSA | ||
Pmin | 1 | |
Pmax | 4 | |
random numbers stand in the interval |
||
Population size | 30 | |
WOA | ||
Linear reduction from 2 to 0. | ||
r ∈ |
||
Population size | 30 | |
GWO | ||
Convergence parameter ( |
||
Population size | 30 | |
MVO | ||
Wormhole existence probability (WEP) | Min (WEP) = 0.2 and Max(WEP) = 1. | |
Exploitation accuracy over the iterations ( |
||
Population size | 60 | |
TLBO | ||
random number | ||
Population size | 30 | |
GSA | ||
Alpha | 20 | |
1 | ||
2 | ||
100 | ||
Population size | 30 | |
PSO | ||
Topology | Fully connected | |
Cognitive constant | ||
Social constant | ||
Inertia weight | Linear reduction from 0.9 to 0.1 | |
Velocity limit | 10% of variables’ dimension range | |
Population size | 50 | |
GA | ||
Type | Real coded | |
Selection | Roulette wheel (Proportionate) | |
Crossover | Whole arithmetic (Probability = 0.8, |
|
Mutation | Gaussian (Probability = 0.05) | |
Population size | 50 |
In order to observe the quality of SOA, the first experiment is performed on 10 objective functions including F1, and F3 to F11 in two dimensions, while the number of SOA population members is considered equal to 5. To show the SOA behavior in optimizing these functions, convergence curves, search history curves, and trajectory curves are presented in
The first group of objective functions are selected from the unimodal type, including F1 to F7 functions. The results of implementing the proposed SOA and ten competing algorithms on these functions are reported in
GA | PSO | GSA | TLBO | GWO | MVO | WOA | TSA | MPA | RFO | SOA | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|
F1 | mean | 21.26981 | 0.00051 | 7.68E-17 | 4.29E-61 | 1.3E-100 | 0.207125 | 6.5E-258 | 3.21E-82 | 5.99E-86 | 6.46E-84 | 0 |
best | 9.075049 | 2.3E-09 | 2.87E-17 | 1.19E-64 | 5.5E-105 | 0.132133 | 5.3E-279 | 3.87E-85 | 1.49E-88 | 9.43E-93 | 0 | |
worst | 35.6214 | 0.008555 | 1.78E-16 | 3.87E-60 | 1.8E-99 | 0.334305 | 9.6E-257 | 2.65E-81 | 4.66E-85 | 1.19E-82 | 0 | |
std | 7.682634 | 0.001902 | 3.8E-17 | 9.91E-61 | 4.1E-100 | 0.049577 | 0 | 7E-82 | 1.31E-85 | 2.64E-83 | 0 | |
median | 19.18395 | 1.98E-05 | 6.69E-17 | 3.07E-62 | 1.5E-101 | 0.200136 | 1.7E-264 | 7.98E-83 | 9.6E-87 | 3.69E-88 | 0 | |
rank | 11 | 9 | 8 | 7 | 3 | 10 | 2 | 6 | 4 | 5 | 1 | |
F2 | mean | 1.569531 | 0.591161 | 3.95E-08 | 4.47E-32 | 1.8E-58 | 0.300354 | 2.2E-175 | 1.82E-48 | 2.67E-47 | 6.78E-46 | 4.6E-191 |
best | 0.862316 | 0.037644 | 2.93E-08 | 1.93E-33 | 1.3E-59 | 0.198121 | 9.2E-186 | 1.06E-50 | 1.11E-50 | 4.79E-49 | 2.5E-199 | |
worst | 2.386639 | 2.015304 | 4.92E-08 | 3.24E-31 | 8.85E-58 | 0.478449 | 2.3E-174 | 2.08E-47 | 2.29E-46 | 5.43E-45 | 6.2E-190 | |
std | 0.343698 | 0.564708 | 5.87E-09 | 7.24E-32 | 2.27E-58 | 0.072241 | 0 | 4.78E-48 | 6.43E-47 | 1.51E-45 | 0 | |
median | 1.569694 | 0.403794 | 3.8E-08 | 2.2E-32 | 1.04E-58 | 0.297865 | 5.8E-180 | 1.75E-49 | 2.14E-48 | 3.56E-47 | 2.3E-194 | |
rank | 11 | 10 | 8 | 7 | 3 | 9 | 2 | 4 | 5 | 6 | 1 | |
F3 | mean | 2081.243 | 1393.67 | 185.0622 | 1.03E-19 | 6.47E-29 | 21.44854 | 6629.856 | 3.65E-21 | 7.73E-23 | 4.76E-58 | 0 |
best | 1259.74 | 6.57381 | 74.33398 | 3.17E-23 | 4.85E-33 | 7.82502 | 69.84706 | 6.19E-34 | 6.02E-34 | 1.19E-69 | 0 | |
worst | 2983.205 | 15003.24 | 371.1815 | 1.92E-18 | 5.88E-28 | 38.34412 | 16103.81 | 6.72E-20 | 1.51E-21 | 5.35E-57 | 0 | |
std | 544.7972 | 3538.467 | 84.30438 | 4.28E-19 | 1.56E-28 | 8.370361 | 5355.653 | 1.5E-20 | 3.37E-22 | 1.3E-57 | 0 | |
median | 2187.973 | 124.986 | 196.4926 | 2.23E-21 | 9.85E-31 | 21.26726 | 4491.665 | 9.94E-26 | 5.01E-26 | 1.49E-61 | 0 | |
rank | 10 | 9 | 8 | 6 | 3 | 7 | 11 | 5 | 4 | 2 | 1 | |
F4 | mean | 2.69652 | 4.395579 | 1.05E-08 | 3.98E-25 | 9.73E-25 | 0.628421 | 35.21117 | 1.01E-05 | 1.23E-32 | 1.34E-35 | 1.9E-181 |
best | 1.743387 | 2.439263 | 5.04E-09 | 2.21E-26 | 7.23E-27 | 0.409946 | 0.002335 | 9.57E-09 | 3.39E-34 | 3.83E-40 | 2E-187 | |
worst | 3.394498 | 7.887114 | 1.76E-08 | 1.82E-24 | 9.58E-24 | 0.907885 | 83.01575 | 6.54E-05 | 6.27E-32 | 1.66E-34 | 2.8E-180 | |
std | 0.424989 | 1.484789 | 2.92E-09 | 4.09E-25 | 2.09E-24 | 0.149233 | 31.18094 | 1.72E-05 | 1.85E-32 | 3.82E-35 | 0 | |
median | 2.824597 | 4.422618 | 1E-08 | 2.38E-25 | 4.45E-25 | 0.611763 | 24.18985 | 4.86E-06 | 5.34E-33 | 2.7E-37 | 3.6E-183 | |
rank | 9 | 10 | 6 | 4 | 5 | 8 | 11 | 7 | 3 | 2 | 1 | |
F5 | mean | 329.9827 | 76.28695 | 31.86645 | 26.97201 | 26.63528 | 294.0262 | 26.58882 | 28.68167 | 22.01376 | 27.45887 | 0 |
best | 216.9837 | 17.87017 | 24.57713 | 25.6828 | 25.21945 | 26.37103 | 25.74796 | 27.14486 | 20.73023 | 26.21217 | 0 | |
worst | 488.3518 | 203.2271 | 99.39055 | 28.75532 | 27.97638 | 1469.614 | 28.71756 | 28.89131 | 23.77688 | 28.59278 | 0 | |
std | 92.9552 | 50.91239 | 20.58985 | 0.752828 | 0.793021 | 384.52 | 0.671657 | 0.41617 | 0.733693 | 0.72896 | 0 | |
median | 306.1666 | 78.75237 | 25.12935 | 27.12385 | 26.21618 | 117.3819 | 26.38524 | 28.83166 | 21.9493 | 27.18532 | 0 | |
rank | 11 | 9 | 8 | 5 | 4 | 10 | 3 | 7 | 2 | 6 | 1 | |
F6 | mean | 25.6673 | 0.111786 | 7.7E-17 | 1.184742 | 0.693371 | 0.209373 | 0.006263 | 3.553484 | 2.06E-10 | 1.54416 | 0 |
best | 14.76772 | 6.92E-09 | 4.64E-17 | 0.473779 | 0.245746 | 0.118313 | 0.001584 | 2.549842 | 6.13E-11 | 0.862897 | 0 | |
worst | 40.5949 | 1.039352 | 1.61E-16 | 1.763981 | 1.502094 | 0.322121 | 0.030521 | 5.269283 | 3.36E-10 | 2.393213 | 0 | |
std | 7.343189 | 0.290975 | 2.49E-17 | 0.42441 | 0.350938 | 0.062271 | 0.006598 | 0.771801 | 7.18E-11 | 0.399298 | 0 | |
median | 23.57016 | 6.77E-06 | 7.13E-17 | 1.16059 | 0.748114 | 0.201627 | 0.004322 | 3.322299 | 1.88E-10 | 1.639428 | 0 | |
rank | 11 | 5 | 2 | 8 | 7 | 6 | 4 | 10 | 3 | 9 | 1 | |
F7 | mean | 0.006177 | 0.175885 | 0.049793 | 0.001795 | 0.000355 | 0.012573 | 0.0012 | 0.003079 | 0.00036 | 0.000401 | 2.8E-05 |
best | 0.00217 | 0.068566 | 0.027937 | 0.000306 | 5.37E-05 | 0.005253 | 0.00011 | 0.001112 | 7.32E-05 | 2.99E-05 | 2.59E-06 | |
worst | 0.011223 | 0.310016 | 0.086446 | 0.004004 | 0.000825 | 0.021717 | 0.004578 | 0.00619 | 0.00071 | 0.000953 | 0.000127 | |
std | 0.002536 | 0.065713 | 0.016593 | 0.000897 | 0.000174 | 0.004998 | 0.001188 | 0.001172 | 0.00018 | 0.000307 | 2.84E-05 | |
median | 0.005728 | 0.159437 | 0.050208 | 0.001609 | 0.000312 | 0.011579 | 0.000966 | 0.002885 | 0.000347 | 0.000317 | 2.18E-05 | |
rank | 8 | 11 | 10 | 6 | 2 | 9 | 5 | 7 | 3 | 4 | 1 | |
sum rank | 71 | 63 | 50 | 43 | 27 | 59 | 38 | 46 | 24 | 34 | 7 | |
mean rank | 10.1428 | 9 | 7.1428 | 6.1428 | 3.8571 | 8.4285 | 5.4285 | 6.5714 | 3.42857 | 4.8571 | 1 | |
total rank | 11 | 10 | 8 | 6 | 3 | 9 | 5 | 7 | 2 | 4 | 1 |
The second group of objective functions are selected from the high-dimensional multimodal category, including F8 to F13 functions. The optimization results of these functions using SOA and ten competing algorithms are presented in
GA | PSO | GSA | TLBO | GWO | MVO | WOA | TSA | MPA | RFO | SOA | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|
F8 | mean | −9724.11 | −6625.71 | −2631.29 | −5113.2 | −5936.05 | −7954.47 | −11359.3 | −6356.99 | −10196.9 | −7548.39 | −11359.3 |
best | −10683.4 | −7722.65 | −4184.85 | −5989.13 | −8384.32 | −9585.89 | −12569.3 | −7324.09 | −11148.2 | −9259.4 | −12569.3 | |
worst | −8962.95 | −5244.96 | −1902.95 | −4307.78 | −3520.94 | −6712.98 | −8420.5 | −5424.29 | −9625.09 | −5383.42 | −8420.5 | |
std | 433.4248 | 736.1013 | 574.3377 | 449.4007 | 1184.476 | 736.4254 | 1539.136 | 521.3239 | 469.5183 | 1154.307 | 1539.136 | |
median | −9675.75 | −6606.18 | −2550.52 | −5024.3 | −6177.85 | −7929.01 | −12142.7 | −6401.56 | −10006.2 | −7805.26 | −12142.7 | |
rank | 3 | 6 | 10 | 9 | 8 | 4 | 1 | 7 | 2 | 5 | 1 | |
F9 | mean | 22.63225 | 65.72422 | 25.91867 | 0 | 0.049798 | 120.0591 | 0 | 161.3873 | 0 | 0 | 0 |
best | 11.16984 | 29.84875 | 15.91934 | 0 | 0 | 65.78826 | 0 | 111.0216 | 0 | 0 | 0 | |
worst | 49.46167 | 97.57666 | 33.82859 | 0 | 0.995955 | 190.1506 | 0 | 222.6946 | 0 | 0 | 0 | |
std | 8.335758 | 18.64216 | 4.868663 | 0 | 0.222702 | 34.21213 | 0 | 37.35268 | 0 | 0 | 0 | |
median | 20.2806 | 65.16998 | 25.86892 | 0 | 0 | 106.5907 | 0 | 149.281 | 0 | 0 | 0 | |
rank | 3 | 5 | 4 | 1 | 2 | 6 | 1 | 7 | 1 | 1 | 1 | |
F10 | mean | 2.574197 | 3.204465 | 6.23E-09 | 4.09E-15 | 1.05E-14 | 0.624475 | 4.09E-15 | 1.892375 | 3.55E-15 | 4.54E-13 | 8.88E-16 |
best | 1.941967 | 1.777997 | 4.57E-09 | 8.88E-16 | 7.99E-15 | 0.118952 | 8.88E-16 | 7.99E-15 | 8.88E-16 | 8.88E-16 | 8.88E-16 | |
worst | 3.406681 | 5.411885 | 7.93E-09 | 4.44E-15 | 1.51E-14 | 2.76295 | 7.99E-15 | 3.437375 | 4.44E-15 | 9.03E-12 | 8.88E-16 | |
std | 0.347393 | 0.883149 | 8.7E-10 | 1.09E-15 | 3.07E-15 | 0.711655 | 2.55E-15 | 1.442783 | 1.58E-15 | 2.02E-12 | 0 | |
median | 2.586969 | 3.190032 | 6.17E-09 | 4.44E-15 | 7.99E-15 | 0.292485 | 4.44E-15 | 2.6303 | 4.44E-15 | 8.88E-16 | 8.88E-16 | |
rank | 9 | 10 | 6 | 3 | 4 | 7 | 3 | 8 | 2 | 5 | 1 | |
F11 | mean | 1.319156 | 0.097255 | 0.530335 | 0 | 0.000411 | 0.452361 | 0 | 0.006015 | 0 | 0 | 0 |
best | 1.185729 | 2.8E-07 | 0 | 0 | 0 | 0.298831 | 0 | 0 | 0 | 0 | 0 | |
worst | 1.585668 | 0.338651 | 1.519286 | 0 | 0.008221 | 0.611349 | 0 | 0.062672 | 0 | 0 | 0 | |
std | 0.10427 | 0.10069 | 0.542244 | 0 | 0.001838 | 0.084424 | 0 | 0.014105 | 0 | 0 | 0 | |
median | 1.309755 | 0.06711 | 0.204115 | 0 | 0 | 0.453937 | 0 | 0 | 0 | 0 | 0 | |
rank | 7 | 4 | 6 | 1 | 2 | 5 | 1 | 3 | 1 | 1 | 1 | |
F12 | mean | 0.091632 | 0.60768 | 0.031101 | 0.077858 | 0.034503 | 1.025048 | 0.003207 | 5.886347 | 2.2E-11 | 0.069238 | 1.57E-32 |
best | 0.029303 | 8.51E-07 | 1.81E-19 | 0.038633 | 0.006543 | 0.000939 | 0.000173 | 2.777071 | 7.28E-12 | 0.012096 | 1.57E-32 | |
worst | 0.227612 | 3.296576 | 0.103669 | 0.149053 | 0.058425 | 2.53623 | 0.023374 | 9.528924 | 5.47E-11 | 0.179779 | 1.57E-32 | |
std | 0.052119 | 0.873867 | 0.048741 | 0.030196 | 0.014458 | 0.736736 | 0.005925 | 2.016966 | 1.17E-11 | 0.039794 | 2.81E-48 | |
median | 0.073812 | 0.157963 | 4.37E-19 | 0.066594 | 0.033144 | 1.229275 | 0.000531 | 6.201404 | 1.97E-11 | 0.061529 | 1.57E-32 | |
rank | 8 | 9 | 4 | 7 | 5 | 10 | 3 | 11 | 2 | 6 | 1 | |
F13 | mean | 1.811361 | 2.18539 | 0.001099 | 1.026993 | 0.462331 | 0.034237 | 0.078718 | 2.85759 | 0.000549 | 1.803955 | 1.35E-32 |
best | 0.727944 | 2.22E-05 | 3.93E-18 | 0.447815 | 0.201031 | 0.010031 | 0.006429 | 1.936112 | 7.26E-11 | 1.051985 | 1.35E-32 | |
worst | 3.593348 | 11.52197 | 0.010987 | 1.426866 | 0.949111 | 0.112463 | 0.506975 | 4.883946 | 0.010987 | 2.793816 | 1.35E-32 | |
std | 0.680912 | 2.930781 | 0.003382 | 0.249937 | 0.174519 | 0.025383 | 0.128829 | 0.805392 | 0.002457 | 0.41072 | 2.81E-48 | |
median | 1.728505 | 1.073705 | 7.64E-18 | 1.045832 | 0.462085 | 0.028196 | 0.029947 | 2.736892 | 3.01E-10 | 1.694537 | 1.35E-32 | |
rank | 9 | 10 | 3 | 7 | 6 | 4 | 5 | 11 | 2 | 8 | 1 | |
sum rank | 39 | 44 | 33 | 28 | 27 | 36 | 14 | 47 | 10 | 26 | 6 | |
mean rank | 6.5 | 7.3333 | 5.5 | 4.6666 | 4.5 | 6 | 2.3333 | 7.83333 | 1.6666 | 4.3333 | 1 | |
total rank | 9 | 10 | 7 | 6 | 5 | 8 | 3 | 11 | 2 | 4 | 1 |
The third group of objective functions is selected from the fixed-dimensional multimodal type, including F14 to F23 functions. The results of employing SOA and ten competing algorithms for optimizing these functions are given in
GA | PSO | GSA | TLBO | GWO | MVO | WOA | TSA | MPA | RFO | SOA | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|
F14 | mean | 22.63225 | 65.72422 | 25.91867 | 0 | 0.049798 | 120.0591 | 0 | 161.3873 | 0 | 0 | 0 |
best | 11.16984 | 29.84875 | 15.91934 | 0 | 0 | 65.78826 | 0 | 111.0216 | 0 | 0 | 0 | |
worst | 49.46167 | 97.57666 | 33.82859 | 0 | 0.995955 | 190.1506 | 0 | 222.6946 | 0 | 0 | 0 | |
std | 8.335758 | 18.64216 | 4.868663 | 0 | 0.222702 | 34.21213 | 0 | 37.35268 | 0 | 0 | 0 | |
median | 20.2806 | 65.16998 | 25.86892 | 0 | 0 | 106.5907 | 0 | 149.281 | 0 | 0 | 0 | |
rank | 3 | 5 | 4 | 1 | 2 | 6 | 1 | 7 | 1 | 1 | 1 | |
F15 | mean | 2.574197 | 3.204465 | 6.23E-09 | 4.09E-15 | 1.05E-14 | 0.624475 | 4.09E-15 | 1.892375 | 3.55E-15 | 4.54E-13 | 8.88E-16 |
best | 1.941967 | 1.777997 | 4.57E-09 | 8.88E-16 | 7.99E-15 | 0.118952 | 8.88E-16 | 7.99E-15 | 8.88E-16 | 8.88E-16 | 8.88E-16 | |
worst | 3.406681 | 5.411885 | 7.93E-09 | 4.44E-15 | 1.51E-14 | 2.76295 | 7.99E-15 | 3.437375 | 4.44E-15 | 9.03E-12 | 8.88E-16 | |
std | 0.347393 | 0.883149 | 8.7E-10 | 1.09E-15 | 3.07E-15 | 0.711655 | 2.55E-15 | 1.442783 | 1.58E-15 | 2.02E-12 | 0 | |
median | 2.586969 | 3.190032 | 6.17E-09 | 4.44E-15 | 7.99E-15 | 0.292485 | 4.44E-15 | 2.6303 | 4.44E-15 | 8.88E-16 | 8.88E-16 | |
rank | 9 | 10 | 6 | 3 | 4 | 7 | 3 | 8 | 2 | 5 | 1 | |
F16 | mean | 1.319156 | 0.097255 | 0.530335 | 0 | 0.000411 | 0.452361 | 0 | 0.006015 | 0 | 0 | 0 |
best | 1.185729 | 2.8E-07 | 0 | 0 | 0 | 0.298831 | 0 | 0 | 0 | 0 | 0 | |
worst | 1.585668 | 0.338651 | 1.519286 | 0 | 0.008221 | 0.611349 | 0 | 0.062672 | 0 | 0 | 0 | |
std | 0.10427 | 0.10069 | 0.542244 | 0 | 0.001838 | 0.084424 | 0 | 0.014105 | 0 | 0 | 0 | |
median | 1.309755 | 0.06711 | 0.204115 | 0 | 0 | 0.453937 | 0 | 0 | 0 | 0 | 0 | |
rank | 7 | 4 | 6 | 1 | 2 | 5 | 1 | 3 | 1 | 1 | 1 | |
F17 | mean | 0.091632 | 0.60768 | 0.031101 | 0.077858 | 0.034503 | 1.025048 | 0.003207 | 5.886347 | 2.2E-11 | 0.069238 | 1.57E-32 |
best | 0.029303 | 8.51E-07 | 1.81E-19 | 0.038633 | 0.006543 | 0.000939 | 0.000173 | 2.777071 | 7.28E-12 | 0.012096 | 1.57E-32 | |
worst | 0.227612 | 3.296576 | 0.103669 | 0.149053 | 0.058425 | 2.53623 | 0.023374 | 9.528924 | 5.47E-11 | 0.179779 | 1.57E-32 | |
std | 0.052119 | 0.873867 | 0.048741 | 0.030196 | 0.014458 | 0.736736 | 0.005925 | 2.016966 | 1.17E-11 | 0.039794 | 2.81E-48 | |
median | 0.073812 | 0.157963 | 4.37E-19 | 0.066594 | 0.033144 | 1.229275 | 0.000531 | 6.201404 | 1.97E-11 | 0.061529 | 1.57E-32 | |
rank | 8 | 9 | 4 | 7 | 5 | 10 | 3 | 11 | 2 | 6 | 1 | |
F18 | mean | 1.811361 | 2.18539 | 0.001099 | 1.026993 | 0.462331 | 0.034237 | 0.078718 | 2.85759 | 0.000549 | 1.803955 | 1.35E-32 |
best | 0.727944 | 2.22E-05 | 3.93E-18 | 0.447815 | 0.201031 | 0.010031 | 0.006429 | 1.936112 | 7.26E-11 | 1.051985 | 1.35E-32 | |
worst | 3.593348 | 11.52197 | 0.010987 | 1.426866 | 0.949111 | 0.112463 | 0.506975 | 4.883946 | 0.010987 | 2.793816 | 1.35E-32 | |
std | 0.680912 | 2.930781 | 0.003382 | 0.249937 | 0.174519 | 0.025383 | 0.128829 | 0.805392 | 0.002457 | 0.41072 | 2.81E-48 | |
median | 1.728505 | 1.073705 | 7.64E-18 | 1.045832 | 0.462085 | 0.028196 | 0.029947 | 2.736892 | 3.01E-10 | 1.694537 | 1.35E-32 | |
rank | 9 | 10 | 3 | 7 | 6 | 4 | 5 | 11 | 2 | 8 | 1 | |
F19 | mean | 0.99977 | 2.529701 | 2.859906 | 1.196416 | 4.812725 | 0.998004 | 2.371342 | 8.947953 | 0.998004 | 4.823742 | 0.998004 |
best | 0.998004 | 0.998004 | 0.998004 | 0.998004 | 0.998004 | 0.998004 | 0.998004 | 0.998004 | 0.998004 | 0.998004 | 0.998004 | |
worst | 1.032145 | 6.903336 | 5.581779 | 2.982105 | 12.67051 | 0.998004 | 10.76318 | 15.50382 | 0.998004 | 12.67051 | 0.998004 | |
std | 0.007623 | 1.959635 | 1.552188 | 0.610693 | 4.533176 | 2.69E-12 | 2.980135 | 4.420183 | 3.58E-13 | 3.851995 | 0 | |
median | 0.99801 | 0.998004 | 2.311345 | 0.998004 | 2.982105 | 0.998004 | 0.998004 | 10.76318 | 0.998004 | 3.96825 | 0.998004 | |
rank | 4 | 7 | 8 | 5 | 9 | 3 | 6 | 11 | 2 | 10 | 1 | |
F20 | mean | 0.006239 | 0.00069 | 0.002236 | 0.003453 | 0.005321 | 0.002629 | 0.000597 | 0.004376 | 0.000532 | 0.005053 | 0.000314 |
best | 0.000588 | 0.000307 | 0.001047 | 0.000313 | 0.000307 | 0.000312 | 0.000309 | 0.000308 | 0.000308 | 0.000307 | 0.000307 | |
worst | 0.02135 | 0.00525 | 0.006158 | 0.020364 | 0.020363 | 0.020363 | 0.001271 | 0.020363 | 0.00196 | 0.022553 | 0.000328 | |
std | 0.006294 | 0.00112 | 0.001326 | 0.007107 | 0.00891 | 0.00607 | 0.00036 | 0.008202 | 0.000371 | 0.008991 | 7.37E-06 | |
median | 0.003551 | 0.000307 | 0.001846 | 0.000328 | 0.000307 | 0.000654 | 0.000428 | 0.000308 | 0.000406 | 0.000653 | 0.00031 | |
rank | 11 | 4 | 5 | 7 | 10 | 6 | 3 | 8 | 2 | 9 | 1 | |
F21 | mean | −1.03163 | −1.03163 | −1.03163 | −1.03163 | −1.03163 | −1.03163 | −1.03163 | −1.02688 | −1.03163 | −0.99082 | −1.03163 |
best | −1.03163 | −1.03163 | −1.03163 | −1.03163 | −1.03163 | −1.03163 | −1.03163 | −1.03163 | −1.03163 | −1.03163 | −1.03163 | |
worst | −1.03162 | −1.03163 | −1.03163 | −1.03162 | −1.03163 | −1.03163 | −1.03163 | −1 | −1.03163 | −0.21546 | −1.03163 | |
std | 2.56E-06 | 1.53E-16 | 1.02E-16 | 2.37E-06 | 3.68E-09 | 6.21E-08 | 4.97E-12 | 0.011587 | 1.22E-10 | 0.1825 | 2.28E-16 | |
median | −1.03163 | −1.03163 | −1.03163 | −1.03163 | −1.03163 | −1.03163 | −1.03163 | −1.03163 | −1.03163 | −1.03163 | −1.03163 | |
rank | 6 | 1 | 1 | 7 | 4 | 5 | 2 | 8 | 3 | 9 | 1 | |
F22 | mean | 0.533562 | 0.681058 | 0.397887 | 0.401505 | 0.397904 | 0.397887 | 0.397887 | 0.397898 | 0.397887 | 0.397887 | 0.397887 |
best | 0.397887 | 0.397887 | 0.397887 | 0.397895 | 0.397887 | 0.397887 | 0.397887 | 0.397888 | 0.397887 | 0.397887 | 0.397887 | |
worst | 2.098616 | 2.38985 | 0.397887 | 0.466757 | 0.398223 | 0.397888 | 0.397889 | 0.39793 | 0.397887 | 0.397887 | 0.397887 | |
std | 0.400668 | 0.637721 | 0 | 0.015362 | 7.49E-05 | 1.13E-07 | 2.57E-07 | 1.13E-05 | 2.5E-09 | 8.97E-16 | 0 | |
median | 0.397906 | 0.397887 | 0.397887 | 0.397985 | 0.397887 | 0.397887 | 0.397887 | 0.397893 | 0.397887 | 0.397887 | 0.397887 | |
rank | 9 | 10 | 1 | 8 | 7 | 4 | 5 | 6 | 3 | 2 | 1 | |
F23 | mean | 7.140989 | 3 | 3 | 3.000002 | 3.000002 | 7.05 | 3.000003 | 3.000004 | 3 | 13.8 | 3 |
best | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3.000001 | 3 | 3 | 3 | |
worst | 30.56093 | 3 | 3 | 3.000023 | 3.000009 | 84 | 3.000011 | 3.000019 | 3 | 84 | 3 | |
std | 10.05281 | 2.67E-15 | 1.91E-15 | 5.04E-06 | 2.72E-06 | 18.11215 | 3.64E-06 | 3.82E-06 | 2.03E-12 | 20.3563 | 5.29E-16 | |
median | 3.005672 | 3 | 3 | 3.000001 | 3.000001 | 3 | 3.000001 | 3.000003 | 3 | 3 | 3 | |
rank | 10 | 2 | 3 | 5 | 6 | 9 | 7 | 8 | 4 | 11 | 1 | |
sum rank | 71 | 61 | 33 | 67 | 60 | 56 | 52 | 74 | 26 | 82 | 10 | |
mean rank | 7.1 | 6.1 | 3.3 | 6.7 | 6 | 5.6 | 5.2 | 7.4 | 2.6 | 8.2 | 1 | |
total rank | 9 | 7 | 3 | 8 | 6 | 5 | 4 | 10 | 2 | 11 | 1 |
The performance of competing algorithms and SOA in optimizing F1 to F23 is presented in the form of boxplots in
Reporting the results of implementing optimization algorithms on optimization problems through statistical indicators, provides useful information on the performance of these algorithms. In this subsection, a statistical analysis on the proposed algorithm and the mentioned ten competing algorithms is presented to determine whether the superiority of the proposed algorithm over competing algorithms is statistically significant or not. For this purpose, Wilcoxon rank sum test [
The implementation results of this statistical analysis on the proposed algorithm and each of the competing algorithms are presented in
Compared Algorithms | Unimodal | High-Multimodal | Fixed-Multimodal |
---|---|---|---|
SOA |
1.01E-24 | 3.49E-16 | 5.19E-04 |
SOA |
1.01E-24 | 1.97E-21 | 0.012161 |
SOA |
1.01E-24 | 2.88E-21 | 2.32E-11 |
SOA |
1.01E-24 | 1.54E-14 | 0.0156238 |
SOA |
5.71E-24 | 3.59E-15 | 2.67E-09 |
SOA |
1.01E-24 | 1.97E-21 | 5.06E-08 |
SOA |
1.01E-24 | 1.57E-10 | 4.68E-13 |
SOA |
1.01E-24 | 2.73E-19 | 0.0188501 |
SOA |
1.01E-24 | 3.32E-09 | 1.08E-32 |
SOA |
5.84E-24 | 5.17E-12 | 0.014673 |
In this paper, a new human-based metaheuristic algorithm called Skill Optimization Algorithm (SOA) was designed. Human effort to learn and improve skills is the main inspiration of SOA. The steps of implementing and updating SOA in two phases of exploration and exploitation were described and then mathematically modeled. A set of twenty-three standard objective functions of different types of unimodal and multimodal were considered to evaluate the optimization performance of SOA. The results of optimizing unimodal functions indicated the exploitation ability of SOA in local search. The results obtained by the optimization of high-dimensional multimodal functions showed the exploration ability of SOA in global search. The results of optimizing fixed-dimensional multimodal functions showed that SOA has an acceptable ability to balance the indicators of exploration and exploitation. In order to analyze the quality of the results achieved by SOA, its performance was compared with ten well-known metaheuristic algorithms. The simulation results confirmed the superiority of SOA performance over mentioned algorithms based on exploration and exploitation criteria. In other words, SOA can provide more effective solutions to optimization problems compared to the considered competing algorithms.
The proposed SOA can activate several research tasks for further studies. Development of binary and multi-objective versions of SOA are among the main proposals of this research. Employment of SOA for optimization purposes in various fields and real-world applications are other suggestions of the authors for future investigations.
The source codes of the proposed SOA are available at: