<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Two Efective Algorithms Optimize Together</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Daniel Valenta</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Radka Poláková</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Silesian University in Opava, Faculty of Philosophy and Science, Institute of Computer Science</institution>
          ,
          <addr-line>746 01 Opava</addr-line>
          ,
          <country country="CZ">Czech Republic</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>In this paper, we focus on the ongoing research of the Cooperation algorithm, which combines features of the established and successful GWO and jSO optimization algorithms. We introduce a new enhancement using the stagnation parameter, which ensures switching between the two algorithms when no further improvements are achieved during the optimization process. We test diferent settings of the stagnation parameter and find its efect on the performance of the Cooperation algorithm.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Optimization algorithms</kwd>
        <kwd>jSO</kwd>
        <kwd>GWO</kwd>
        <kwd>Cooperation algorithm</kwd>
        <kwd>Stagnation</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>1. Introduction</p>
    </sec>
    <sec id="sec-2">
      <title>Individual agents represent wolves that move in the en</title>
      <p>vironment. The environment is represented by a real
In this paper, we deal with two well-established and function instead of our planet in GWO. The movement of
successful optimization algorithms, namely jSO [2] and the agents simulates the movement of real grey wolves
GWO [3]. We have introduced the earliest experiment on in their search and hunt for prey and their cooperation
the cooperation of these two methods in [1]. The results with each other.
of that experiment were promising, which motivated us Let us focus on the hierarchy in the wolf pack. A pair of
to continue our research by modifying the proposed al- Alpha wolves are the highest in the hierarchy, are pack
gorithm and testing it on more functions. The progress leaders and have reproductive duties. The Betas support
and results of the continuing research will be presented their decisions and give them feedback. Deltas take care
in this paper. First, we briefly introduce the two main al- of routine tasks - protecting the pack in case of danger,
gorithms. Then we will introduce a new method for their taking care of old and sick wolves, assisting with hunting,
cooperation, test it on functions of CEC2014 benchmark etc. Omegas are the lowest in the hierarchy, for example
set [7], and evaluate the efectiveness of the proposed they can eat last and other wolves can take their
frustraapproach. tions out on them, which helps keep the pack stable.
The hierarchy is also applied in a simplified form in the
2. GWO and jSO GWO algorithm. The point in the environment at which
the wolf is currently located has a concrete value
comGWO and jSO are well-known, successful, and well- putable by a fitness function. The fitness function
comestablished optimization algorithms. Like many other putes the value of the function at the position of the agent
optimization methods, they are stochastic, heuristically that corresponds to a possible solution to the
optimizaderived, and inspired by nature. tion problem. The 3 wolves with the best fitness function
values at the moment are labeled as Alpha, Beta, and
Delta. From the point of view of GWO, they are equal.
2.1. GWO And all other wolves are marked as Omega.
GWO or also called Grey Wolf Optimizer, was introduced Another important characteristic of the wolf pack that
in 2014 by S. Mirjalili and his collaborators [3]. It found GWO is inspired by is the method of hunting. In the real
inspiration in the hunting and social hierarchy of the world, wolves hunt in the following phases: searching
wolf pack. The GWO algorithm is multi-agent system. for prey, stalking and closing in on it, encircling it, and
once the prey is encircled, coming into attack to the weak
area. GWO distinguishes between a Searching for prey
23rd Conference ITAT (Information technologies – Applications and phase, when wolves tend to move away from the best
Theory) solution found so far to the optimization problem, and
* Corresponding author. a Hunting phase, when they move closer to the "prey"
† These authors contributed equally. (currently best position found so far, based on positions
$ daniel.valenta@fpf.slu.cz (D. Valenta); of agents Alpha, Beta, and Delta).
radka.polakova@fpf.slu.cz (R. Poláková) Agents, like wolves, move around the environment with
(R. 0P0o0l9á-k0o0v0á5)-0781-7755 (D. Valenta); 0000-0002-0782-5668 the goal of finding the best possible food. Because it
© 2023 Copyright for this paper by its authors. Use permitted under Creative Commons License is an iterative algorithm, in each iteration each of the
CPWrEooUrckReshdoinpgs IhStpN:/c1e6u1r3-w-0s.o7r3g ACttEribUutRion W4.0oInrtekrnsahtioonpal (PCCroBYce4.0e).dings (CEUR-WS.org) wolf-agents moves to a new position. Before each move,
agents decide whether to hunt (Hunting phase) for the
best prey found so far (it moves in direction to currently
the best result found), or to further explore the
environment (Searching for prey phase) where even more
abundant prey may be found (the truly global optimum).</p>
      <p>Which phase each agent chooses depends on two random
vectors, ⃗ and ⃗. Each agent has both vectors assigned
to it. The vector ⃗ has components (0, 2), where
(0, 2) generates a random number between 0 and
2 with uniform distribution. The vector ⃗ has
components (− 1, 1) × , where (− 1, 1) generates a
random number between − 1 and 1 with uniform
distribution and  = 2 − (2/), where  is the current
iteration of the algorithm and  is the maximum
number of iterations of the algorithm, also specified as a
termination criterion. The components of both vectors
afect the movement of the agent in each dimension of
the environment. The closer the value of the component
is to 0, the more probably the wolf is to hunt in a given
iteration (chooses the Hunting phase), and the closer it
is to 2, the more likely the wolf is to explore the
environment elsewhere (chooses the Searching for prey phase).</p>
      <p>Vector ⃗, unlike vector ⃗, depends on the current
iteration of the algorithm and ensures that wolves explore the
environment more in the initial iterations (with higher
probability) and hunt towards the end of the algorithm.</p>
      <p>The vector ⃗ is purely random and simulates various
obstacles in the environment, analogous to nature. As a
result, agents tend to choose both phases independently
of the iteration of the algorithm. This is needed to reduce
the probability of converging to a local optimum instead
of finding a global one in later iterations.</p>
      <p>Now, we put both vectors into the context of
calculating the new wolf-agent position. This is calculated as
follows:
⃗ ( + 1) =
⃗1 + ⃗2 + ⃗3
3</p>
      <p>,
where  is an agent with index ,  is the current
iteration of the algorithm, and ⃗1, ⃗2, and ⃗3 represent
potential new positions of the agent, which are calculated
based on the positions of the three best Alpha, Beta, and
Delta wolves as follows:
1 = ⃗ () − 1 × ⃗ ,
⃗ ⃗
2 = ⃗ () − 2 × ⃗ ,
⃗ ⃗
and Delta, and ⃗ , ⃗ , and ⃗ represent the distance of
the agent from the prey, but due to the efect of
randomness of instances of vector ⃗, they are an approximate
estimates, and are calculated as follows:
 = |1 × ⃗ () − ⃗ ()|,
⃗ ⃗
 = |2 × ⃗ () − ⃗ ()|,
⃗ ⃗
 = |3 × ⃗ () − ⃗ ()|,
⃗ ⃗
where ⃗1, ⃗2, and ⃗3 are three diferent instances of the
vector ⃗, for each of the agents Alpha, Beta, and Delta,
and ⃗ () is the position of the wolf in the current
iteration of the algorithm.</p>
      <p>The symbol × in the calculations of ⃗1, ⃗2, and ⃗3
and ⃗ , ⃗ , and ⃗ represents multidimensional vector
multiplication by components. For example, for  =
2, the calculation is performed as follows: (1, 1) *
(2, 2) = (1 * 2, 1 * 2).</p>
      <p>Having described all the principles, we now describe the
sequence of steps of the algorithm. The input of GWO is
the environment definition, in our case we use the CEC
2014 functions. The next input is the number of agents
(pack size). The next and last input is the termination
criterion, which can be defined by the maximum number
of iterations, or alternatively by the maximum running
time of the algorithm in the number of computations of
the objective function value.</p>
      <p>The pseudocode of the algorithm is as follows:</p>
    </sec>
    <sec id="sec-3">
      <title>1. in each position of the environment where the</title>
      <p>agent is located, the fitness function is calculated,
2. based on fitness values, agents are ranked in a
hierarchy: the agent with the best value becomes
Alpha, the second best Beta, the third best Delta,
and all others Omega,
3. vectors ⃗ and ⃗ with random components are</p>
      <p>generated for each agent ,
4. it calculates new position of each wolf ⃗ in</p>
      <p>search space,
5. finally, the algorithm checks to verify that the
termination criterion - usually the expiration of
the maximum number of iterations - has already
been met; if so, the algorithm ends; if not, the
algorithm continues with the first step.</p>
      <p>2.2. jSO
⃗3 = ⃗ () − ⃗3 × ⃗ , The jSO algorithm is a successful population-based
optimization method that is an improved version of the
iL-SHADE algorithm [5] derived from diferential
evo⃗ (), ⃗ (), and ⃗ () are the positions of agents lution DE [4]. Its improved strategy uses the weighted
Alpha, Beta, and Delta in the current iteration  of the mutation current-to-pbest/1 /bin and other tools like an
algorithm, ⃗1, ⃗2, and ⃗3 are three diferent instantia- archive to store solutions which were rewritten in
poptions of the vector ⃗, for each of the agents Alpha, Beta, ulation by better points and circle memory for storing
parameters of distributions for generating new values of 0 = (⃗1, ⃗2, ..., ⃗NP ). At this point, the archive  is
DE parameters computed based on successful values of empty, so  = ∅. Also, for each point in the initial
poputhese parameters. lation 0, the value of the objective function is calculated.
An equally interesting feature of jSO is that its population Finally, the default values of the parameter settings are
size is linearly reduced like in its predecessors L-SHADE set during initialization.
[6] and iL-SHADE [5]. Behind the success of jSO is also As another tool, the jSO algorithm uses two circle
memthe appropriate setting of its parameters. We describe ories:  for storing the parameters of Cauchy
distributhese principles in detail in the following text. tion for generating values of mutation parameter  and
The jSO is an evolutionary algorithm that works with a CR for storing the parameters of normal distribution
population that is evolving. It is an adaptive variant of for generating values of crossover parameter . The
the Diferential Evolution (DE) algorithm. The algorithm size of these circle memories is  = 5 and they have all
works with a population of points that evolve (move to values set to 0.5 when the algorithm is initialized.
diferent positions in the search space) by several oper- The jSO algorithm works as described in the following
ations, mutation, crossover, and selection. It uses the pseudocode. After initializing the population points and
already mentioned current-to-pbest-w/1 strategy as a mu- the parameters listed above, the while loop follows these
tation strategy for selecting a so-called trial point, which steps:
is a potential new point for the next generation. The 1. For each point generate a random number  in the
advantage of this strategy is that it adaptively controls range 1, 2..., , where  is the size of the circle
its parameters and that it uses the archive. Thanks to memory. If  = , set both CR and  to
this mutation strategy, the algorithm selects one point 0.9. If CR is not greater than or equal to 0, set
from the top few in the population to work with it and  to 0. And finally, if CR &gt; 0, generate 
also can use a point from the archive. The formula is as using normal distribution  ( , 0.1).
follows: 2. For each point, generate parameter  using
⃗, = ⃗, +(b⃗est, − ⃗,)+(⃗1, − ⃗2,), 3. ICfatuhcehcyudrriestnrtibnuutmiobnero(feva l,u0a.t1i)o.ns is less than
quarter of the maximum number of evaluations,
the probability  is limited to (, 0.7)
for the point, and if the number of evaluations is
less than half,  is limited to (, 0.6) for
the point.
4. If the current number of evaluations is less than
six tenths of the maximum number of
evaluations, the new value of parameter  is limited to
(, 0.7) for the point.
5. For each point ⃗ from population, a new trial
point ⃗ is created using
DE/current-to-pbestw/1/bin strategy, and then the value of the
objective function  in ⃗ is computed.
6. If  (⃗) is better than  (⃗), update the point ⃗ by
⃗ for further evolution. Otherwise, discard the
trial point ⃗ and keep the original ⃗.
7. If point ⃗ is updated (by trial point ⃗ in the
previous step), put it in the archive . If necessary,
shrink archive . Also insert value of parameter
 into  and  into  .
8. After doing steps 1-7 for all points in population
calculate the new value of the first parameter for
both distributions used for generating  and 
from  and . Then, put them into  and
where ⃗, is the − ℎ point of generation . ,  are
the parameters of the point ⃗ from interval [0, 1] that
determines the weights of the diferences in the
mutation, ⃗1 , ⃗2 are two diferent randomly selected points,
the first one is randomly selected from the population
 in generation , and the second one is randomly
selected from the union of population and the archive, and
b⃗est, is one of the  ×  best points in generation 
(randomly selected), where  is the size of population
and  ∈ [0, 1] is a dynamic parameter randomly afecting
the number of points from which one is selected for this
mutation (this helps to balance between exploitation and
exploration phases).</p>
      <p>The strategy current-to-pbest-w/1/bin additionally
includes the binomial crossover operator. The parameter
 of this operator is adapted randomly. It is the
probability that a component of the mutant ⃗, will be used
in the trial point.  is a random number with normal
distribution whose first parameter (mean of the
distribution) depends on successful values of  used before.</p>
      <p>Each component from ⃗, is written into the trial point
with probability , when the component does not write,
relevant component of original ⃗, is used. If the trial
point is selected as a new point for the next generation,
the original ⃗, is stored in archive .</p>
      <p>More information about this mutation strategy can be
found in [2].</p>
      <p>The algorithm has a lot of input parameters that need
to be set during the initialization phase. First, an
initial generation 0 of size NP is randomly generated, i.e.</p>
      <p>CR .
9. Increase the pointer  in the circular memory by</p>
      <p>1, and if it is greater than , set  = 1 again.
10. Apply linear population size reduction
mechanism and update parameter  for mutation
current-to-pbest-w/1.
11. If the termination criterion is not met, the com- dom points of the jSO algorithm except for the top three,
putation continues by repeating the cycle for the which are labeled as non-rewritable and are kept as
reprenew generation  =  + 1. Otherwise, the sentatives of the current best solution. Now, we describe
computation terminates and the result is the best the switching of the jSO algorithm to GWO. The GWO
point in population  at current generation . algorithm reads the 6 best points (generally the number
corresponding to the size of its population, ) from the
jSO output and replaces all existing points with them. If
3. Cooperation algorithm the output of jSO (the population is continuously
decreasing) contains fewer points than need to be replaced in
As we have already mentioned, both algorithms GWO GWO when the algorithm is switched (i.e. the jSO
popuand jSO are very useful for solving optimization problems lation is smaller than the GWO population), then only the
and provide very good results in solving them. According maximum possible number of points from jSO is replaced
to the No free Lunch theorem [8], it is not possible to say in the GWO population. Which points are replaced in
which one is better, each is suitable for diferent types of the GWO population is chosen randomly, however the
tasks, which is confirmed also by our testing results on best point in the GWO (Alpha agent position) is always
CEC 2014 functions. For some functions, GWO provides kept.
better results, while for others jSO provides better results. The next issue is how to properly determine after what
The results of both algorithms are shown in Tables 1 and time the algorithms should switch to another one. In
2. We wondered how to take advantages of both of them. previous research, we changed algorithms always after a
And so we introduced the first version of the Cooper- static number of evaluations. Each algorithm participated
ation algorithm using the findings of GWO and jSO in equally in the solution. That is what we improved, and
[1]. The principle of Cooperation is based on switching for this research, we decided to choose a new strategy
both GWO and jSO algorithms. Already in this first early of switching between both algorithms after a constant
version, which we tested only on a few functions (opti- number of generations/iterations when the algorithm
mization problems), the results were promising. Based is already stagnant and no further improvements are
on the results, we proposed further modifications to the achieved. Specifically, we test the algorithms to switch
Cooperation and tested the improved algorithm on all after 30, 60, 90, and 120 iterations (for GWO) or
generathirty CEC 2014 functions [7] at two levels of dimension. tions (for jSO) after it starts to stagnate. This allows us
In this section, we describe the principles of its working to find the optimal running time of the algorithms and
and present new adjustments. In the following sections, outline a way for further research, in which we try to
we evaluate the performance of the new proposed Coop- change the running time dynamically after stagnation.
eration in relation to the testing results. When the algorithm stagnates, before passing the
populaLet us focus on the principles of the Cooperation algo- tion to the second algorithm, we bring the configuration
rithm first. We run one of the original algorithms (GWO to a state just before stagnation. The positions of the
or jSO) for a limited time, let it solve the problem for agents (for GWO) or points (for jSO) at this moment are
some time, and pass its result as input to the second al- passed to the second algorithm as input. This
improvegorithm (which has not yet run), which we also run for ment ensures that the second algorithm starts from a
a limited time to solve the problem for another piece of better starting position, reducing the probability of rapid
time. stagnation immediately after execution.
This simple idea allows us to use all advantages of both Which algorithm starts the computation first is randomly
algorithms, but in fact it is a bit more complicated. Both selected. Each of the algorithms has specific advantages,
algorithms work with diferent population sizes (number and by randomly selecting the first one to run, we ensure
of agents in the case of GWO and number of points in independence of their characteristics.
population in the case of jSO). To simplify the following The flow of the Cooperation algorithm is shown in Figure
text we will use a single term - a "point" for both algo- 1 and proceeds as follows: first, an initial population of
rithms, and in GWO, we can imagine by the term "point" points (or agent positions) is randomly generated for the
the position where the agent is located. ifrst algorithm, which is randomly selected from GWO
In GWO, we use the usual number of points (agents) - and jSO. Then, the following steps are performed in a
cywhich is 6. This number remains constant during the cle until the maximum number of evaluations is reached:
whole calculation of the algorithm. While in the jSO the
number of points is dynamically changed during the op- 1. If the GWO algorithm is selected, let it run until
timization, the population size decreases linearly. there is no further improvement in the results
First, we describe the switching of the GWO algorithm and thus the algorithm stagnates for more than 
to jSO. The output points of the GWO algorithm are iterations, where  in our case is set to 30, 60, 90,
read into the jSO algorithm and they replace the ran- or 120.</p>
      <p>Once the GWO run is interrupted due to
stagnathe used optimization algorithms (jSO, GWO and
Cooperation) and are defined in multiple dimensions, where
the number of dimensions  is chosen by us. We tested
a total of 6 algorithms: GWO, jSO, and Cooperation with
the stagnation parameter set to 30, 60, 90, and 120.
Testing was performed at two levels of dimension,  = 10
and  = 30, and each configuration was run 15 times
for each of the 30 test functions.</p>
      <p>In this section, we focus on the results of testing the
Cooperation algorithm with diferent settings of the
stagnation parameter  ( = 30,  = 60,  = 90, and  = 120),
compare it with the original algorithms, and derive
conclusions.
4.1. Test results in dimension  = 10</p>
      <p>The results of testing the algorithms in dimension  =
10 on all CEC2014 problems (functions) are shown in</p>
      <p>Table 1. In the columns GWO and jSO, we can see the
tion, bring the configuration to a state just before median results of 15 runs of the original algorithms with
stagnation. The  random points in the jSO input these names. The best among these two medians is shown
are overwritten by the  points from the GWO, in bold. The fact that jSO gives better results in the
mediwhere  is the population size of the GWO. ans for all 30 functions is interesting. In the first iterations
However, the best 3 points in jSO population can- of the computation, the GWO results seem promising, but
not be overwritten. it converges too early and if we let both algorithms run
2. If the jSO algorithm is selected, let it run until long enough (in our case, the total amount of allowed
there is no further improvement in the results function iteration (in GWO) or evaluations (in jSO) is
and thus the algorithm stagnates for more than  10000 ×  for each dimension ), jSO finds a more
acgenerations, where  in our case is 30, 60, 90, or curate result (closer to the optimum) in the median of 15
120. runs.</p>
      <p>Once the jSO run is interrupted due to stagnation, The following columns show the results of the
Cooperabring the configuration to a state just before stag- tion algorithm with diferent settings of the stagnation
nation. parameter , which is given in corresponding column.
The  best jSO points ( is the population size For example, Coop 30 means that a Cooperation
algoof the GWO) replace each of the original GWO rithm with stagnation parameter  = 30 was used, and
points and are used as its input. similarly for the other columns of the table. Each value
recorded in that table is the median of 15 results of 15
runs of respective algorithm (or setting of Cooperation
4. Test results algorithm) for specific problem (function). Value of the
median which is better than values of the median of both
The CEC2014 competition introduced benchmarking of original algorithms GWO and jSO is highlighted in bold.
optimization algorithms on a set of 30 problems with From the results, it can be observed that as the
stagnareal function. They provide us an opportunity to test the tion parameter  increases, the number of cases where
efectiveness of our optimization algorithms on a set of the Cooperation algorithm brings improvement also
inproblems with real function [7]. creases, initially significantly, but only up to a certain
In this section, we discuss the results of the presented Co- value, specifically  = 90. Increasing it to  = 120 no
operation algorithm, which was tested on the CEC2014 longer brings improvement. In fact, there is a little
degrafunction set, and its performance was compared with dation. This demonstrates that stagnation is a
signifithe original GWO and jSO algorithms. We will examine cant parameter for achieving improvement and should
how these two algorithms solved the optimization prob- be chosen carefully. Experiments involving dynamic
adlems and compare their results to evaluate the eficiency justment of the stagnation parameter have even greater
of the new algorithm. The results provide insights into potential for achieving better results than trying to find
the strengths and weaknesses of these optimization algo- the optimal stagnation setting. We plan to focus on this
rithms in direct comparison. aspect in the future.</p>
      <p>The CEC2014 functions represent the search space for The most interesting fact, as shown by the results of this
experiment, is that even though jSO outperforms GWO in only the Cooperation algorithm does fail to bring
signifiall cases, their Cooperation brings a noticeable improve- cant improvement, but in most cases, the results are even
ment. The GWO algorithm supports faster convergence, worse compared to the original algorithms in both tested
while jSO contributes to finding a more accurate opti- dimensions,  = 10 and  = 30.
mum. When setting the stagnation parameter to  = 60, the
situation noticeably improves, but the results are still
4.2. Test results in dimension  = 30 worse for more than half of the tested functions in both
dimensions. In contrast, at stagnation parameter  = 90,
The results of testing the algorithms in dimension  = the results become quite satisfactory, with more than
30 on all CEC2014 functions are shown in Table 2. The one-third of the cases outperforming the original
funcstructure of the table is the same as described in the sec- tions, and less than one-third of the cases yielding worse
tion for summarizing the results in dimension  = 10. results. The parameter  = 120 does not bring any
furAnd again, the medians are displayed and compared. ther significant improvement, but the results do not difer
In contrast to the  = 10 dimension, GWO yields bet- much from  = 90 and are still more than satisfactory.
ter results in the  = 30 dimension. Out of a total of Recall that all compared values are medians of 15
algo30 functions, GWO outperforms jSO in 3 cases (median rithm runs. As we can see, the stagnation parameter 
of results is lower). While this is still not a significant significantly afects the performance of the Cooperation
number, it suggests that in higher dimensions ( = 50, algorithm, and the best setting is somewhere between
 = 100, etc.), GWO may still be more beneficial. We  = 90 and  = 120. This is the same in both tested
plan to verify this hypothesis in future research. dimensions  = 10 and  = 30.
The results obtained in the  = 30 dimension provide We believe that the reasons for this behavior are as
folfurther confirmation that increasing the stagnation pa- lows. When the stagnation parameter  is set low ( = 30),
rameter leads to significant improvements in Coopera- the algorithms switch too early. The algorithm switch
oction, particularly in the initial stages (improvement be- curs before the algorithm can search a suficient number
tween  = 30 and  = 60 is significant), however, in of points and "focus" on the area of search space closest
 = 90 and  = 120, the improvements become either to the current optimum. In contrast, when the stagnation
marginal or non-existent. Compared to the results in parameter  is set high ( = 120), the algorithm runs too
 = 10, there is not as much improvement in  = 30, long when it is no longer improving, wasting time for
but the general trend of improvement is the same. the next algorithm that could have already been run.
In future, we expect to achieve even better results by
4.3. Summary of results in dimensions using an adaptive parameter dependent on the
computa = 10 and  = 30 tion runtime separately for GWO and jSO. This is how
we plan to get the most eficiency out of both algorithms.</p>
    </sec>
    <sec id="sec-4">
      <title>In Table 3, we can see a summary of the results of the research.</title>
      <p>In the first table section, we can observe the outcomes 5. Conclusion
of the original GWO and jSO algorithms, indicating the
number of functions for which they provided better re- In this paper, we investigated an algorithm we
develsults. We can compare the results in both  = 10 and oped, named Cooperation, which combines two
well = 30 and the better value is highlighted in bold. established and successful optimization algorithms, GWO
The subsequent table section displays the frequencies and jSO. Each of these algorithms is executed for a
peat which the Cooperation algorithm, with varying stag- riod of time, determined by a stagnation state, where no
nation settings, outperformed the original algorithms. further improvement is observed. We tested diferent
Again, we can compare the results in both  = 10 and settings of the stagnation parameter and identified its
 = 30 and the better value is highlighted in bold. significant impact on the overall performance of the new
The next table section displays the frequencies at which algorithm, independent of the problem dimension. The
the Cooperation algorithm, with varying stagnation set- results are promising because we found a suitable setting
tings, provided worse results than the better of the two for the stagnation parameter. However, our future plans
original algorithms. include achieving even better results by further adjusting
And the last table section illustrates the instances in not only the stagnation parameter.
which the Cooperation algorithm, with various
stagnation settings, yielded the same result as the better of the References
two original algorithms.</p>
      <p>Let us note that at stagnation parameter  = 30, not [1] Poláková, R., Valenta, D.: jSO and GWO Algorithms
Optimize Together. In: Conference Information
TechjSO
nologies - Applications and Theory. Slovakia (2022). Single Objective (Expensive) Optimization at
CEC[2] Brest J., Maučec M. S., Boškovič B.: Single Objec- 2014, Beijing, China.</p>
      <p>tive Real-Parameter Optimization: Algorithm jSO. [8] Wolpert D. H., Macready, W. G.: No Free Lunch
TheIn IEEE Congress on Evolutionary Computation 2017. orems for Optimization. IEEE Transactions on
Evo(2017) 1311–1318 lutionary Computation. 1 (1997) 67–82
[3] Mirjalili S., Mirjalili S. M., Lewis A.: Grey Wolf
Optimizer. Advances in Engineering Software. 69 (2014)
46–61
[4] Storn R., Price, K.: Diferential evolution - A Simple
and Eficient Heuristic for Global Optimization over
Continuous Spaces. J. Global Optimization. 11 (1997)
341–359
[5] Brest J., Maučec M. S., Boškovič B.: iL-SHADE:
Improved L-SHADE algorithm for single objective
realparameter optimization. In IEEE Congress on
Evolutionary Computation 2016. (2016) 1188–1195
[6] Tanabe R., Fukunaga, A.: Improving the Search
Performance of SHADE Using Linear Population Size
Reduction. In IEEE Congress on Evolutionary
Computation 2014. (2014) 1658–1665
[7] Special Session &amp; Competition on Real-Parameter
jSO</p>
      <p>Median comparison:
Number of  wins
Number of   wins
Number of times Coop 30 is better than the winner
Number of times Coop 60 is better than the winner
Number of times Coop 90 is better than the winner
Number of times Coop 120 is better than the winner
Number of times Coop 30 is worse than the winner
Number of times Coop 60 is worse than the winner
Number of times Coop 90 is worse than the winner
Number of times Coop 120 is worse than the winner
Number of times Coop 30 is same as the winner
Number of times Coop 60 is same as the winner
Number of times Coop 90 is same as the winner
Number of times Coop 120 is same as the winner
30
0
27
3
1
7
7
8
21
15
15
13</p>
    </sec>
  </body>
  <back>
    <ref-list />
  </back>
</article>