# A Hybrid Mutation Chemical Reaction Optimization Algorithm for Global Numerical Optimization

Authors: Ransikarn Ngambusabongsopa; Zhiyong Li; Esraa Eldesouky
Journal: Mathematical Problems in Engineering
 (2015)

---

## Abstract

This paper proposes a hybrid metaheuristic approach that improves global numerical optimization by increasing optimal quality and accelerating convergence. This algorithm involves a recently developed process for chemical reaction optimization and two adjustment operators (turning and mutation operators). Three types of mutation operators (uniform, nonuniform, and polynomial) were combined with chemical reaction optimization and turning operator to find the most appropriate framework. The best solution among these three options was selected to be a hybrid mutation chemical reaction optimization algorithm for global numerical optimization. The optimal quality, convergence speed, and statistical hypothesis testing of our algorithm are superior to those previous high performance algorithms such as RCCRO, HP-CRO2, and OCRO.


---

## Body

## 1. Introduction

Various optimization approaches have been used to solve existing global optimization problems in science, engineering, and related fields. Evolutionary algorithms (EAs), inspired by the biological evolution and social behavior of organisms, are the most powerful among optimization frameworks. Several EAs have been successfully used to solve global optimization problems. Genetic algorithms (GAs) [1, 2] were developed based on the natural process of evolution. Particle swarm optimization (PSO) [3] was inspired by the social behavior of bird flocking or fish schooling. Memetic algorithms (MAs) [4] are similar to GAs except that MAs initiate a local search before undergoing the evolutionary process [5]. Ant colony optimization [6] resembles PSO based on the capability of ants to find the shortest route between their nest and a food source. Artificial bee colony [7, 8] was inspired by the echolocation behavior of bees. Harmony search [9] was based on the natural musical performance of a musician searching for an optimal state of harmony.A recent study has proposed a new chemical reaction-inspired EA named “chemical reaction optimization” [10, 11]. CRO is a low-latency algorithm that mimics molecular interactions in chemical reactions to reach a low-energy stable state. An effective version of CRO is the real-coded chemical reaction optimization (RCCRO) [12], which can process a large set of continuous problems [13–17]. HP-CRO, a hybrid algorithm based on PSO and CRO, produces more distinguished results compared with RCCRO [18]. However, orthogonal chemical reaction optimization (OCRO) algorithms for global numerical optimization problems [19] are the best when compared with RCCRO and HP-CRO. OCRO is efficient in solving high-dimension functions but not in solving low-dimensional functions.The current study proposes a hybrid mutation chemical reaction optimization algorithm for global numerical optimization (MCRO). This strategy can be used to solve high-dimension and low-dimension functions better and faster. The proposed framework combines CRO with a turning operator and a mutation operator. Our algorithm was determined by choosing the best solution that estimates the performance of the combination with three types of mutation operators (uniform, nonuniform, and polynomial).This paper is organized as follows. Section2 provides a brief review of preliminary studies on CRO and mutation operator. Section 3 presents the proposed approach: MCRO. Section 4 describes the evaluation methods and simulation results and discusses the comparisons of algorithms. Section 5 concludes this paper and suggests proposals for future work.


## 2. Preliminary

### 2.1. Optimization

In science, mathematics, engineering, and other related fields, optimization is the selection of an optimal solution from a set of feasible alternatives. In general, an optimization problem includes minimizing or maximizing a function by systematically selecting input values from a given feasible set [20]. The problem function f
(
x
) is scalar, where a variable x demonstrates a particular solution and x is usually a vector of n components. The n components specify the dimensions of f. An optimization problem can be subjected to a vector of constraints C
=
{
c
1
,
c
2
,
…
,
c
m
} that limits the feasible region, where m corresponds to the total number of constraints [12]. The aim of optimization is to generate the optimal solution and manage the convergence speed of a problem function. Our research focuses on function minimization; the goal of minimum optimization is to find the minimum solution s
´
∈
S and s
´
≤
f
(
s
), ∀
s
∈
S.


### 2.2. CRO

In principle, chemical reactions are governed by two rules of thermodynamics. First, energy cannot be created or destroyed but can be transformed from one entity to another; second, the entropy of a system tends to increase, where entropy is the measure of the degree of disorder [21]. CRO was inspired by the nature of chemical reactions and mimics the interactions of molecules in a chemical reaction to reach a low-energy stable state. Potential energy is the energy stored in a molecule with respect to its molecular configuration; the system becomes disordered when potential energy is converted to other forms [11]. Molecules stored in a container are vital to the manipulation of agents. Each molecule contains a profile that includes several attributes, such as molecular structure (ω), current potential energy (P
E), and current kinetic energy (K
E). In CRO reaction, the initial reactants in high-energy states incur a sequence of collisions. Molecules collide either with other molecules or with the walls of the container, pass through energy barriers, and become the final products in low-energy stable states. Four types of elementary CRO reactions capture the transition of high-energy molecules to stable states [10].On-wall ineffective collision is the reaction created when a molecule hits the wall of a container and then bounces back. This reaction only slightly changes the molecular structure ω when P
E
ω
+
K
E
ω
≥
P
E
ω
´ occurs. The modification of molecular structure ω
´ is processed by neighborhood search operator as ω
´ ∖in neighborhood (ω). The central energy buffer is updated by extracting and storing a certain portion of its KE. The profile of the molecule is updated as K
E
ω
´
=
(
P
E
ω
-
P
E
ω
´
+
K
E
ω
)
×
r, where r is a random number that r
∈
[
K
E
L
o
s
s
R
a
t
e
,
1
]. The new P
E is calculated using the new ω or ω
´.Intermolecular ineffective collision refers to two or more molecules that collide with each other and then separate. The profiles of the molecules and the central energy buffer are updated when P
E
ω
´
1
+
P
E
ω
´
2
+
K
E
ω
´
1
+
K
E
ω
´
2
≥
P
E
ω
´
1
+
P
E
ω
´
2. The number of molecules is unaltered after the collision, but the molecular structures are produced from their own neighborhoods by neighborhood search operator. Similar to on-wall ineffective collision, this reaction also slightly changes the molecular structure.Decomposition occurs when a molecule hits the wall of a container and then splits into two or more molecules. This elementary reaction is applied to finish local search and to explore other regions. The profiles of the molecules and the central energy buffer are updated when P
E
ω
+
K
E
ω
≥
P
E
ω
´
1
+
P
E
ω
´
2 and when the energy buffer is sufficient. This reaction significantly alters the molecular structures of the resultant molecules.Synthesis represents the situation when two or more molecules collide and mingle to a single molecule. The profiles of the molecules and the central energy buffer are updated when P
E
ω
1
+
P
E
ω
2
+
K
E
ω
1
+
K
E
ω
2
≥
P
E
ω
´. This reaction strongly and significantly alters the resultant molecular structure.The algorithm of CRO is shown as Algorithm1 [12]. On-wall and intermolecular ineffective collisions are local searches, whereas decomposition and synthesis are global searches.Algorithm 1:Chemical reaction optimization (CRO).
Input: Objective function f, constraints, and the dimensions of the problem
(1)/∗initialization phase∗/
(2)Assign parameter value to PopSize, InitialKE, StepSize, buffer, KELossRate, On-wallColl,
(3)DecThres, SynThres, The set of molecules in this Container are molecules 1,2
,
…
,
PopSize
(4)
for each of the molecule do
(5) Assign a random solution to the molecular structure ω. Calculate the PE by f(ω) and evaluate.
(6) Assign the KE with InitialKE
(7)end for
(8)/∗Iterations phase∗/
(9)
while (the stopping criteria not met) do
(10)   Getr randomly in interval [
0,1
]
(11)if (r
>
On-wallColl) then
(12)     select  a moleculeM from Container Randomly
(13)if (Decomposition criterion met) then
(14)Decomposition
(15)
ifSuccessthenAdd a new molecule M
′ to Container
(16)     else
(17)On-wallIneffectiveCollision
(18)end if
(19)else
(20)     select two moleculeM
1 and M
2 from Container Randomly
(21)if (Synthesis criterion met) then
(22)Synthesis
(23)
if Success then Remove molecule M
2 from Container
(24)else
(25)Inter-molecularIneffectiveCollision
(26)end if
(27)end if
(28)   evaluate and keep any new minimum solution
(29)end while
(30)/∗The Output phase∗/
(31)
Output the best solution and its function value.


### 2.3. Mutation Operator

Mutation is a natural process that changes a DNA sequence to a new variation endowing individual survival advantages in biology. Mutation operator, which has been applied to GAs, simulates the natural biological evolution of species by exchanging information and producing offspring chromosomes [1, 2]. In GAs, mutation operator is designed to work on an individual chosen; this individual is randomly selected or chosen by defined condition. The new gene value is modified based on user-definable probability or other conditions such as a distribution. GAs containing mutation can widely maintain offspring chromosomes, instead of being limited to the genes available in the initial population. Therefor GAs with mutation can generate better solution and prevent premature convergence compared to GAs without mutation.The concept of MCRO is initialed by supposing that advantage of mutation operator would empower global numerical optimization while combining with CRO. Then we reformed the mutation operator algorithm in accordance with CRO infrastructure, such as replacing an individual in GAs by a molecule (M), assigning probability and distribution similar to user-definable probability or condition in GAs, and changing gene value of GAs with molecular structure (ω). In CRO, a molecular structure contains amount number of moles and a pair of moles is presented as a set of ω
=
{
ω
1
,
ω
2
,
…
,
ω
v
}, where v is the number of moles. Mutation operator algorithm generates the new molecular structure (ω
´) based on mutation operator formula relating to mutation type. There are many types of mutation and these types depend on the representation itself. Several mutation types are proposed such as uniform, nonuniform [22], and polynomial mutations [23, 24]. The mutation operator algorithm is demonstrated as Algorithm 2.Algorithm 2:Mutation operator algorithm.
Input: a molecular structure of solution M
(1) Assign probability P, distribution D, v = Number of moles
U = function upper bound; L = function lower Bound
(2)
For  i
=
0 to v  do
(3)  Get r randomly in interval [
0,1
]
(4)  If  r
<
(
P
/
v
)  then
(5)    ώ
i = do mutation operator Formula
(6)    If  ώ
i
<
L  then  ώ
i
=
L
(7)    If  ώ
i
>
U  then  ώ
i
=
U
(8)  End if
(9)
End For
(10)Output a new molecular structure = ώ


## 2.1. Optimization

In science, mathematics, engineering, and other related fields, optimization is the selection of an optimal solution from a set of feasible alternatives. In general, an optimization problem includes minimizing or maximizing a function by systematically selecting input values from a given feasible set [20]. The problem function f
(
x
) is scalar, where a variable x demonstrates a particular solution and x is usually a vector of n components. The n components specify the dimensions of f. An optimization problem can be subjected to a vector of constraints C
=
{
c
1
,
c
2
,
…
,
c
m
} that limits the feasible region, where m corresponds to the total number of constraints [12]. The aim of optimization is to generate the optimal solution and manage the convergence speed of a problem function. Our research focuses on function minimization; the goal of minimum optimization is to find the minimum solution s
´
∈
S and s
´
≤
f
(
s
), ∀
s
∈
S.


## 2.2. CRO

In principle, chemical reactions are governed by two rules of thermodynamics. First, energy cannot be created or destroyed but can be transformed from one entity to another; second, the entropy of a system tends to increase, where entropy is the measure of the degree of disorder [21]. CRO was inspired by the nature of chemical reactions and mimics the interactions of molecules in a chemical reaction to reach a low-energy stable state. Potential energy is the energy stored in a molecule with respect to its molecular configuration; the system becomes disordered when potential energy is converted to other forms [11]. Molecules stored in a container are vital to the manipulation of agents. Each molecule contains a profile that includes several attributes, such as molecular structure (ω), current potential energy (P
E), and current kinetic energy (K
E). In CRO reaction, the initial reactants in high-energy states incur a sequence of collisions. Molecules collide either with other molecules or with the walls of the container, pass through energy barriers, and become the final products in low-energy stable states. Four types of elementary CRO reactions capture the transition of high-energy molecules to stable states [10].On-wall ineffective collision is the reaction created when a molecule hits the wall of a container and then bounces back. This reaction only slightly changes the molecular structure ω when P
E
ω
+
K
E
ω
≥
P
E
ω
´ occurs. The modification of molecular structure ω
´ is processed by neighborhood search operator as ω
´ ∖in neighborhood (ω). The central energy buffer is updated by extracting and storing a certain portion of its KE. The profile of the molecule is updated as K
E
ω
´
=
(
P
E
ω
-
P
E
ω
´
+
K
E
ω
)
×
r, where r is a random number that r
∈
[
K
E
L
o
s
s
R
a
t
e
,
1
]. The new P
E is calculated using the new ω or ω
´.Intermolecular ineffective collision refers to two or more molecules that collide with each other and then separate. The profiles of the molecules and the central energy buffer are updated when P
E
ω
´
1
+
P
E
ω
´
2
+
K
E
ω
´
1
+
K
E
ω
´
2
≥
P
E
ω
´
1
+
P
E
ω
´
2. The number of molecules is unaltered after the collision, but the molecular structures are produced from their own neighborhoods by neighborhood search operator. Similar to on-wall ineffective collision, this reaction also slightly changes the molecular structure.Decomposition occurs when a molecule hits the wall of a container and then splits into two or more molecules. This elementary reaction is applied to finish local search and to explore other regions. The profiles of the molecules and the central energy buffer are updated when P
E
ω
+
K
E
ω
≥
P
E
ω
´
1
+
P
E
ω
´
2 and when the energy buffer is sufficient. This reaction significantly alters the molecular structures of the resultant molecules.Synthesis represents the situation when two or more molecules collide and mingle to a single molecule. The profiles of the molecules and the central energy buffer are updated when P
E
ω
1
+
P
E
ω
2
+
K
E
ω
1
+
K
E
ω
2
≥
P
E
ω
´. This reaction strongly and significantly alters the resultant molecular structure.The algorithm of CRO is shown as Algorithm1 [12]. On-wall and intermolecular ineffective collisions are local searches, whereas decomposition and synthesis are global searches.Algorithm 1:Chemical reaction optimization (CRO).
Input: Objective function f, constraints, and the dimensions of the problem
(1)/∗initialization phase∗/
(2)Assign parameter value to PopSize, InitialKE, StepSize, buffer, KELossRate, On-wallColl,
(3)DecThres, SynThres, The set of molecules in this Container are molecules 1,2
,
…
,
PopSize
(4)
for each of the molecule do
(5) Assign a random solution to the molecular structure ω. Calculate the PE by f(ω) and evaluate.
(6) Assign the KE with InitialKE
(7)end for
(8)/∗Iterations phase∗/
(9)
while (the stopping criteria not met) do
(10)   Getr randomly in interval [
0,1
]
(11)if (r
>
On-wallColl) then
(12)     select  a moleculeM from Container Randomly
(13)if (Decomposition criterion met) then
(14)Decomposition
(15)
ifSuccessthenAdd a new molecule M
′ to Container
(16)     else
(17)On-wallIneffectiveCollision
(18)end if
(19)else
(20)     select two moleculeM
1 and M
2 from Container Randomly
(21)if (Synthesis criterion met) then
(22)Synthesis
(23)
if Success then Remove molecule M
2 from Container
(24)else
(25)Inter-molecularIneffectiveCollision
(26)end if
(27)end if
(28)   evaluate and keep any new minimum solution
(29)end while
(30)/∗The Output phase∗/
(31)
Output the best solution and its function value.


## 2.3. Mutation Operator

Mutation is a natural process that changes a DNA sequence to a new variation endowing individual survival advantages in biology. Mutation operator, which has been applied to GAs, simulates the natural biological evolution of species by exchanging information and producing offspring chromosomes [1, 2]. In GAs, mutation operator is designed to work on an individual chosen; this individual is randomly selected or chosen by defined condition. The new gene value is modified based on user-definable probability or other conditions such as a distribution. GAs containing mutation can widely maintain offspring chromosomes, instead of being limited to the genes available in the initial population. Therefor GAs with mutation can generate better solution and prevent premature convergence compared to GAs without mutation.The concept of MCRO is initialed by supposing that advantage of mutation operator would empower global numerical optimization while combining with CRO. Then we reformed the mutation operator algorithm in accordance with CRO infrastructure, such as replacing an individual in GAs by a molecule (M), assigning probability and distribution similar to user-definable probability or condition in GAs, and changing gene value of GAs with molecular structure (ω). In CRO, a molecular structure contains amount number of moles and a pair of moles is presented as a set of ω
=
{
ω
1
,
ω
2
,
…
,
ω
v
}, where v is the number of moles. Mutation operator algorithm generates the new molecular structure (ω
´) based on mutation operator formula relating to mutation type. There are many types of mutation and these types depend on the representation itself. Several mutation types are proposed such as uniform, nonuniform [22], and polynomial mutations [23, 24]. The mutation operator algorithm is demonstrated as Algorithm 2.Algorithm 2:Mutation operator algorithm.
Input: a molecular structure of solution M
(1) Assign probability P, distribution D, v = Number of moles
U = function upper bound; L = function lower Bound
(2)
For  i
=
0 to v  do
(3)  Get r randomly in interval [
0,1
]
(4)  If  r
<
(
P
/
v
)  then
(5)    ώ
i = do mutation operator Formula
(6)    If  ώ
i
<
L  then  ώ
i
=
L
(7)    If  ώ
i
>
U  then  ώ
i
=
U
(8)  End if
(9)
End For
(10)Output a new molecular structure = ώ


## 3. Proposed Approach: MCRO

Mutation chemical reaction optimization (MCRO), which is the improved hybrid of CRO and two adjustment operators, generates various molecular structures to produce high-quality results and accelerate convergence. The turning operator and the mutation operator will be explained in this section.


### 3.1. Turning Operator

Turning operator is a new operator that is merged into a subalgorithm named neighborhood search operator orN
(
·
). Neighborhood search operator is used in three types of elementary reactions (on-wall ineffective collision, intermolecular ineffective collision, and decomposition) to transform the molecular structure from the neighborhood of the operand [12]. The new molecular structures of the solution are calculated as Formula (1), and turning operator is generated once for an objective function (f
i) by using Formula (2). This new operator can highly improve the optimal quality and reliability of the algorithm:(1)
NewStructure
=
previousStructure
+
RandomGaussian
·
stepSize
·
Turning  operator  of
f
i
,
(2)
Turning  operator  of
f
i
=
random  number  interval
1,1
E
-
300
,
1
≤
i
≤
23
.


### 3.2. Mutation Operator

Mutation operator is migrated into MCRO to improve solution diversity and accelerate convergence by generating various molecular structures. These structures are generated by using the processing mutation formula. This action increases the probability of finding the optimal solution and avoids being trapped into a local optimal solution; therefore, it accelerates convergence. In our research, the best mutation operator that matches our algorithm was selected from three types of mutation operators (uniform, nonuniform, and polynomial).Uniform and nonuniform mutations are presented in basic GAs and their extending development of algorithm [22, 25]. Polynomial mutation is a popular one that was first introduced in Nondominated Sorting Genetic Algorithm (NSGA) and NSGA-II [23, 24]. Uniform, nonuniform, and polynomial mutations are calculated as Formulas (3), (4), and (5), respectively. As mutation operator algorithm mentioned in Section 2.3, input data is a set of molecular structures presented as ω
=
{
ω
1
,
ω
2
,
…
,
ω
v
}, where v is the number of moles, ω
i is a member of ω, 1
⩽
i
⩽
v. Likewise output data is a set of molecular structures presented as ω
´. According to opportuneness, the variable names such as ω and ω
´ maybe present differently when they appear in other algorithms such as t
e
m
p
ω, t
e
m
p
ω
´, t
e
m
p
ω
1, and t
e
m
p
ω
2:(3)
ω
´
i
=
random  number
0
-
1
-
0.5
×
perturbation
+
ω
i
,
(4)
ω
´
i
=
U
L
-
ω
i
·
1.0
×
random  number
0
-
1
1.0
-
F
E
/
F
E
L
i
m
i
t
perturbation
+
ω
i
U
L
=
upper  bound
,
random  number
0
-
1
<
0.5
lower  bound
,
random  number
0
-
1
≥
0.5
(5)
ω
´
i
=
ω
´
i
+
Δ
Q
2
Δ
Q
2.0
×
r
n
d
+
1.0
-
2.0
×
r
n
d
×
1.0
-
Δ
1
D
1.0
/
D
+
1.0
,
r
n
d
:
r
a
n
d
o
m
n
u
m
b
e
r
0
-
1
<
0.5
1.0
-
2.0
×
1.0
-
r
n
d
+
2.0
×
r
n
d
-
0.5
×
1.0
-
Δ
2
D
+
1.0
1.0
/
D
+
1.0
,
r
n
d
:
r
a
n
d
o
m
n
u
m
b
e
r
0
-
1
≥
0.5
,
where
Δ
1
=
ω
´
i
-
lower  bound
distance
upper  bound  and  lower  bound
,
Δ
2
=
upper  bound
-
ω
´
i
distance
upper  bound  and  lower  bound
.Generally, the optimization method consists of three phases: initialization, iteration, and output, which are all included in our proposed approach. We applied mutation operator to the initialization and iteration phases of the algorithm. A mutation operator was applied to each new molecule in the initialization phase. In the iteration phase, we processed mutation operator in all types of elementary reaction, namely, on-wall ineffective collision, intermolecular ineffective collision, decomposition, and synthesis. Mutation operator was incorporated to change the molecular structure. We compared the results before and after the performance of mutation operator and selected the better result. We believe mutation is one potential component to improve the performance of MCRO, since mutation operator can spread the search space by randomly sampling new points. Furthermore this mutation operator algorithm increases the chance of generating more powerful result not less than twice of original CRO for every elementary reaction. Following are the four elementary reactions’ explanations.In on-wall ineffective collision of MCRO, a moleculeM is chosen. The first new molecular structure (ω
´) of M is generated by neighborhood search operator which includes turning operator as mentioned in Section 3.1 and then the first fitness or P
E
ω
´ is calculated by f
(
ω
´
). The new K
E
ω is generated andbuffer is updated when the condition P
E
ω
+
K
E
ω
≥
P
E
ω
´ occurs. Next the second new molecular structure (t
e
m
p
ω) is produced by computing mutation operator algorithm and then the second fitness ortempPE is calculated by f
(
t
e
m
p
ω
). The profile of moleculeM is updated as the best solution by comparing the first fitness (P
E
ω
´) and the second fitness (tempPE). Therefore this action contains two probabilities and achieves the best solution for each time while there is only one choice for original CRO. The on-wall ineffective collision of MCRO is shown in Algorithm 3.Algorithm 3:On-wall ineffective collision of MCRO.
Input: a molecule M and buffer
(1)Obtain ώ
=
N
e
i
g
h
b
o
r
(
ω
)  with turning operator
(2)Calculate PE
ώ by f
(
ώ
)
(3)
if  PE
ω
+
KE
ω
≥
PE
ώ  then
(4) Get r randomly in interval [
K
E
L
o
s
s
R
a
t
e
,
1
]
(5)
KE
ώ
=
(
PE
ω
+
KE
ω
-
PE
ώ
)
×
r
(6) Update b
u
f
f
e
r
=
b
u
f
f
e
r
-
KE
ώ
(7)
do  Mutation of  ω  to  t
e
m
p
ω
(8)
Calculate  the tempPEby  f
(
t
e
m
p
ω
)
(9)if  tempPEbetter than  PE
ώ  then  Replace  ώ  with  t
e
m
p
ω, PE
ώ  with tempPE
(10) Update the profile ofM by ω
=
ώ, PE
ω
=
PE
ώ and KE
ω
=
KE
ώ
(11)end if
Output  M and b
u
f
f
e
rIntermolecular ineffective collision of MCRO algorithm starts by selecting two moleculesM
1 and M
2. Subsequently, neighborhood search operator with turning operator transforms the molecular structures of M
1 and M
2 from ω
1 and ω
2 to ω
´
1 and ω
´
2, respectively, and evaluates P
E
ω
´
1 by f
(
ω
´
1
) and P
E
ω
´
2 by f
(
ω
´
2
). The new K
E are generated as K
E
ω
´
1 when P
E
ω
´
1
+
P
E
ω
´
2
+
P
E
ω
´
1
+
K
E
ω
´
2
≥
P
E
ω
´
1
+
P
E
ω
´
2 occurs. Furthermore, the algorithm executes mutation operator to build two new molecular structures, t
e
m
p
ω
1 and t
e
m
p
ω
2, and processes fitness of two moleculestempPE1 by f(t
e
m
p
ω
1) andtempPE2 by f(t
e
m
p
ω
2). Meanwhile, the best fitness between P
E
ω
´
1 andtempPE1 is selected to be the optimal solution of M
1, similar to the optimal solution of M
2 is the best fitness between P
E
ω
´
2 andtempPE2, and then the profiles of molecules M
1 and M
2 are updated. Prove that there are two choices to estimate the most outstanding result for this reaction that acted to a molecule; therefor this elementary reaction of MCRO consists of four chances to meet the optimum solution for a time, while the same reaction of original CRO is just giving two choices (one choice for a molecule). Algorithm 4 illustrates intermolecular ineffective collision of MCRO algorithm.Algorithm 4:Intermolecular ineffective collision of MCRO.
Input: molecules M
1, M
2
(1)Obtain ώ
1
=
N
e
i
g
h
b
o
r
(
ω
1
) and ώ
2
=
N
e
i
g
h
b
o
r
(
ω
2
)  with turning operator
(2)Calculate PE
ώ
1 and PE
ώ
2
(3)
t
e
m
p
2
=
(
PE
ώ
1
+
PE
ώ
2
+
KE
ώ
1
+
KE
ώ
2
)
-
(
PE
ώ
1
+
PE
ώ
2
)
(4)
if  PE
ώ
1
+
PE
ώ
2
+
KE
ώ
1
+
KE
ώ
2
≥
PE
ώ
1
+
PE
ώ
2  then
(5) Get r randomly in interval [
0,1
]
(6) KE
ώ
1
=
t
e
m
p
2
×
p and KE
ώ
2
=
t
e
m
p
2
×
(
1
-
p
)
(7)
end if
(8)
do  Mutation of
ω
1
to
t
e
m
p
ω
1
and
ω
2
to
t
e
m
p
ω
2
(9)Calculate  the
t
e
m
p
PE
1
by
f
(
t
e
m
p
ω
1
)
and
t
e
m
p
PE
2
by
f
(
t
e
m
p
ω
2
)
(10)If  t
e
m
p
PE
1
better than
PE
ώ
1
: Replace
ώ
1
with
t
e
m
p
ω
1
and
PE
ώ
1
with
t
e
m
p
PE
1
(11)If  t
e
m
p
PE
2
better than
PE
ώ
2
: Replace
ώ
2
with
t
e
m
p
ω
2
and
PE
ώ
2
with
t
e
m
p
PE
2
(12) Update the profile ofM
1 by ω
1
=
ώ
1, PE
ώ
1
=
PE
ώ
1 and KE
ώ
1
=
KE
ώ
1
(13) Update the profile ofM
2 by ω
2
=
ώ
2, PE
ώ
2
=
PE
ώ
2 and KE
ώ
2
=
KE
ώ
2
(14)Output  M
1 and M
2Decomposition of MCRO algorithm begins by selecting a moleculesM from container. Copy a molecular structure (ω) of M to two new variables ω
1 and ω
2. Next the molecular structures ω
1 and ω
2 are transformed to ω
´
1 and ω
´
2, respectively, by computing neighborhood search operator (with turning operator), and furthermore evaluate the fitness P
E
ω
´
1 as f
(
ω
´
1
) and the fitness P
E
ω
´
2 as f
(
ω
´
2
). The profiles of molecules are updated when P
E
ω
+
K
E
ω
≥
P
E
ω
´
1
+
P
E
ω
´
2 as follows: set K
E
ω
´
1
=
P
E
ω
+
K
E
ω
-
P
E
ω
´
1
-
P
E
ω
´
2
×
k and K
E
ω
´
2
=
P
E
ω
+
K
E
ω
-
P
E
ω
´
1
-
P
E
ω
´
2
×
(
1
-
k
) when k is randomly in interval [
0,1
] and a new molecule M
′ is created. In case ofnot (P
E
ω
+
K
E
ω
≥
P
E
ω
´
1
+
P
E
ω
´
2) and the energy buffer is sufficient set K
E
ω
´
1 = (temp1 +buffer) × r
1
×
r
2 and K
E
ω
´
2
=
t
e
m
p
1
+
b
u
f
f
e
r
-
K
E
ω
´
1
×
r
3
×
r
4, when r
1, r
2, r
3, and r
4 are randomly in interval [
0,1
]; in addition the central energy buffer is updated and a new molecule M
′ is created. If there exists a new molecule M
′ (Success = TRUE), the two new molecular structures t
e
m
p
ω
1 and t
e
m
p
ω
2 are established by operated mutation operator algorithm and then the fitness oftempPE1 andtempPE2 are evaluated byf(tempω
1) andf(tempω
2), respectively. The first minimum fitness chooses the best one from P
E
ω
´
1 ortempPE1, and the second minimum fitness selects the best one between P
E
ω
´
2 andtempPE2. Furthermore profiles of M and M
′ are updated. This concludes that there are four opportunities to reach the best result in decomposition of MCRO similar to intermolecular ineffective collision of MCRO; in other words, they are twice the same reaction in original CRO. Decomposition of MCRO is represented as Algorithm 5.Algorithm 5:Decomposition of MCRO.
Input: A molecule M and buffer
(1)Obtain ω
1 and ω
2 from ω
(2)Obtain ώ
1
=
N
e
i
g
h
b
o
r
(
ω
1
) and ώ
2
=
N
e
i
g
h
b
o
r
(
ω
2
)  with turning operator
(3)Calculate PE
ώ
1 and PE
ώ
2
(4)
temp
1
=
PE
ω
+
KE
ω
-
PE
ώ
1
-
PE
ώ
2
(5)
S
u
c
c
e
s
s
=
TRUE
(6)
if  PE
ω
+
KE
ω
≥
PE
ώ
1
+
PE
ώ
2  then
(7)  Get k randomly in interval [
0,1
]
(8)  KE
ώ
1
=
t
e
m
p
1
×
k  and  KE
ώ
2
=
t
e
m
p
1
×
(
1
-
k
)
(9)  Create new molecules M
′
(10)else if  t
e
m
p
1
+
b
u
f
f
e
r
≥
0  then
(11)      Getr
1, r
2, r
3, and r
4 randomly in interval [
0,1
]
(12)KE
ώ
1
=
(
t
e
m
p
1
+
b
u
f
f
e
r
)
×
r
1
×
r
2
(13)KE
ώ
2
=
(
t
e
m
p
1
+
b
u
f
f
e
r
-
KE
ώ
1
)
×
r
3
×
r
4
(14)      Updateb
u
f
f
e
r
=
t
e
m
p
1
+
b
u
f
f
e
r
-
KE
ώ
1
-
KE
ώ
2
(15)      Create new moleculesM
′
(16)end if
(17)else
(18)S
u
c
c
e
s
s
=
FALSE
(19)end if
(20)If Success = TRUE
(21)do  Mutation of
ώ
1
to
t
e
m
p
ώ
1
and
ώ
2
to
t
e
m
p
ώ
2
(22)Calculate  the
t
e
m
p
PE
1
by
f
(
t
e
m
p
ώ
1
)
and
t
e
m
p
PE
2
by
f
(
t
e
m
p
ώ
2
)
(23)If  t
e
m
p
PE
1
better than
PE
ώ
1
then
Replace
ώ
1
with
t
e
m
p
ώ
1
and
PE
ώ
1
with
t
e
m
p
PE
1
(24)If  t
e
m
p
PE
1
better than
PE
ώ
2
then
Replace
ώ
2
with
t
e
m
p
ώ
2
and
PE
ώ
2
with
t
e
m
p
PE
2
(25)   Assignώ
1, PE
ώ
1, KE
ώ
1 to the profile of M
(26)   Assignώ
2, PE
ώ
2, KE
ώ
2 to the profile of M
′
(27)end if
(28)Output  M and M
′, S
u
c
c
e
s
s and b
u
f
f
e
rIn synthesis of MCRO algorithm, two moleculesM
1 and M
2 are chosen. Secondly, neighborhood search operator (with turning operator) generated the two molecular structures of M
1 and M
2 from ω
1 and ω
2 to ω
´
1 and ω
´
2, respectively, and the first fitness or P
E
ω
´
1 is calculated by f
(
ω
´
1
). Subsequently, the new K
E
ω
´
1 is computed when P
E
ω
1
+
P
E
ω
2
+
K
E
ω
1
+
K
E
ω
2
≥
P
E
ω
´
1 as P
E
ω
1
+
P
E
ω
2
+
K
E
ω
1
+
K
E
ω
2
-
P
E
ω
´
1. Afterward mutation operator algorithm generates ω
´
1 to t
e
m
p
ω
´
1, and the fitness generated by mutation operator algorithm ortempPE is calculated by f
(
t
e
m
p
ω
´
1
). Finally the profile of molecule M
1 is updated by choosing the best solution between the fitness (P
E
ω
´
1) and the fitness generated by mutation operator (tempPE). There are two probabilities included in this elementary reaction while synthesis of original CRO provides only one. Synthesis of MCRO algorithm is presented as Algorithm 6.Algorithm 6:Synthesis of MCRO.
Input: molecules M
1
,
M
2
(1)Obtain ώ
1 from ω
1 and ώ
2 from ω
2
(2)Calculate PE
ώ
1
(3)
if  PE
ω
1
+
PE
ω
2
+
KE
ω
1
+
KE
ω
2
≥
PE
ώ
1  then
(4)
S
u
c
c
e
s
s
=
TRUE
(5)
KE
ώ
1
=
PE
ω
1
+
PE
ω
2
+
KE
ω
1
+
KE
ω
2
-
PE
ώ
1
(6)
do  Mutation of
ώ
1
to
t
e
m
p
ώ
1
(7)
Calculate  the tempPEby
f
(
t
e
m
p
ώ
1
)
(8)
if  tempPEbetter than
PE
ώ
1
then
Replace
ώ
1
with
t
e
m
p
ώ
1
and
PE
ώ
1
with tempPE
(9) Assign ώ
1  PE
ώ
1 and KE
ώ
1 to the profile of M
1
(10)else
(11)
S
u
c
c
e
s
s
=
FALSE
(12)end if
(13)Output
M
1 and S
u
c
c
e
s
s


## 3.1. Turning Operator

Turning operator is a new operator that is merged into a subalgorithm named neighborhood search operator orN
(
·
). Neighborhood search operator is used in three types of elementary reactions (on-wall ineffective collision, intermolecular ineffective collision, and decomposition) to transform the molecular structure from the neighborhood of the operand [12]. The new molecular structures of the solution are calculated as Formula (1), and turning operator is generated once for an objective function (f
i) by using Formula (2). This new operator can highly improve the optimal quality and reliability of the algorithm:(1)
NewStructure
=
previousStructure
+
RandomGaussian
·
stepSize
·
Turning  operator  of
f
i
,
(2)
Turning  operator  of
f
i
=
random  number  interval
1,1
E
-
300
,
1
≤
i
≤
23
.


## 3.2. Mutation Operator

Mutation operator is migrated into MCRO to improve solution diversity and accelerate convergence by generating various molecular structures. These structures are generated by using the processing mutation formula. This action increases the probability of finding the optimal solution and avoids being trapped into a local optimal solution; therefore, it accelerates convergence. In our research, the best mutation operator that matches our algorithm was selected from three types of mutation operators (uniform, nonuniform, and polynomial).Uniform and nonuniform mutations are presented in basic GAs and their extending development of algorithm [22, 25]. Polynomial mutation is a popular one that was first introduced in Nondominated Sorting Genetic Algorithm (NSGA) and NSGA-II [23, 24]. Uniform, nonuniform, and polynomial mutations are calculated as Formulas (3), (4), and (5), respectively. As mutation operator algorithm mentioned in Section 2.3, input data is a set of molecular structures presented as ω
=
{
ω
1
,
ω
2
,
…
,
ω
v
}, where v is the number of moles, ω
i is a member of ω, 1
⩽
i
⩽
v. Likewise output data is a set of molecular structures presented as ω
´. According to opportuneness, the variable names such as ω and ω
´ maybe present differently when they appear in other algorithms such as t
e
m
p
ω, t
e
m
p
ω
´, t
e
m
p
ω
1, and t
e
m
p
ω
2:(3)
ω
´
i
=
random  number
0
-
1
-
0.5
×
perturbation
+
ω
i
,
(4)
ω
´
i
=
U
L
-
ω
i
·
1.0
×
random  number
0
-
1
1.0
-
F
E
/
F
E
L
i
m
i
t
perturbation
+
ω
i
U
L
=
upper  bound
,
random  number
0
-
1
<
0.5
lower  bound
,
random  number
0
-
1
≥
0.5
(5)
ω
´
i
=
ω
´
i
+
Δ
Q
2
Δ
Q
2.0
×
r
n
d
+
1.0
-
2.0
×
r
n
d
×
1.0
-
Δ
1
D
1.0
/
D
+
1.0
,
r
n
d
:
r
a
n
d
o
m
n
u
m
b
e
r
0
-
1
<
0.5
1.0
-
2.0
×
1.0
-
r
n
d
+
2.0
×
r
n
d
-
0.5
×
1.0
-
Δ
2
D
+
1.0
1.0
/
D
+
1.0
,
r
n
d
:
r
a
n
d
o
m
n
u
m
b
e
r
0
-
1
≥
0.5
,
where
Δ
1
=
ω
´
i
-
lower  bound
distance
upper  bound  and  lower  bound
,
Δ
2
=
upper  bound
-
ω
´
i
distance
upper  bound  and  lower  bound
.Generally, the optimization method consists of three phases: initialization, iteration, and output, which are all included in our proposed approach. We applied mutation operator to the initialization and iteration phases of the algorithm. A mutation operator was applied to each new molecule in the initialization phase. In the iteration phase, we processed mutation operator in all types of elementary reaction, namely, on-wall ineffective collision, intermolecular ineffective collision, decomposition, and synthesis. Mutation operator was incorporated to change the molecular structure. We compared the results before and after the performance of mutation operator and selected the better result. We believe mutation is one potential component to improve the performance of MCRO, since mutation operator can spread the search space by randomly sampling new points. Furthermore this mutation operator algorithm increases the chance of generating more powerful result not less than twice of original CRO for every elementary reaction. Following are the four elementary reactions’ explanations.In on-wall ineffective collision of MCRO, a moleculeM is chosen. The first new molecular structure (ω
´) of M is generated by neighborhood search operator which includes turning operator as mentioned in Section 3.1 and then the first fitness or P
E
ω
´ is calculated by f
(
ω
´
). The new K
E
ω is generated andbuffer is updated when the condition P
E
ω
+
K
E
ω
≥
P
E
ω
´ occurs. Next the second new molecular structure (t
e
m
p
ω) is produced by computing mutation operator algorithm and then the second fitness ortempPE is calculated by f
(
t
e
m
p
ω
). The profile of moleculeM is updated as the best solution by comparing the first fitness (P
E
ω
´) and the second fitness (tempPE). Therefore this action contains two probabilities and achieves the best solution for each time while there is only one choice for original CRO. The on-wall ineffective collision of MCRO is shown in Algorithm 3.Algorithm 3:On-wall ineffective collision of MCRO.
Input: a molecule M and buffer
(1)Obtain ώ
=
N
e
i
g
h
b
o
r
(
ω
)  with turning operator
(2)Calculate PE
ώ by f
(
ώ
)
(3)
if  PE
ω
+
KE
ω
≥
PE
ώ  then
(4) Get r randomly in interval [
K
E
L
o
s
s
R
a
t
e
,
1
]
(5)
KE
ώ
=
(
PE
ω
+
KE
ω
-
PE
ώ
)
×
r
(6) Update b
u
f
f
e
r
=
b
u
f
f
e
r
-
KE
ώ
(7)
do  Mutation of  ω  to  t
e
m
p
ω
(8)
Calculate  the tempPEby  f
(
t
e
m
p
ω
)
(9)if  tempPEbetter than  PE
ώ  then  Replace  ώ  with  t
e
m
p
ω, PE
ώ  with tempPE
(10) Update the profile ofM by ω
=
ώ, PE
ω
=
PE
ώ and KE
ω
=
KE
ώ
(11)end if
Output  M and b
u
f
f
e
rIntermolecular ineffective collision of MCRO algorithm starts by selecting two moleculesM
1 and M
2. Subsequently, neighborhood search operator with turning operator transforms the molecular structures of M
1 and M
2 from ω
1 and ω
2 to ω
´
1 and ω
´
2, respectively, and evaluates P
E
ω
´
1 by f
(
ω
´
1
) and P
E
ω
´
2 by f
(
ω
´
2
). The new K
E are generated as K
E
ω
´
1 when P
E
ω
´
1
+
P
E
ω
´
2
+
P
E
ω
´
1
+
K
E
ω
´
2
≥
P
E
ω
´
1
+
P
E
ω
´
2 occurs. Furthermore, the algorithm executes mutation operator to build two new molecular structures, t
e
m
p
ω
1 and t
e
m
p
ω
2, and processes fitness of two moleculestempPE1 by f(t
e
m
p
ω
1) andtempPE2 by f(t
e
m
p
ω
2). Meanwhile, the best fitness between P
E
ω
´
1 andtempPE1 is selected to be the optimal solution of M
1, similar to the optimal solution of M
2 is the best fitness between P
E
ω
´
2 andtempPE2, and then the profiles of molecules M
1 and M
2 are updated. Prove that there are two choices to estimate the most outstanding result for this reaction that acted to a molecule; therefor this elementary reaction of MCRO consists of four chances to meet the optimum solution for a time, while the same reaction of original CRO is just giving two choices (one choice for a molecule). Algorithm 4 illustrates intermolecular ineffective collision of MCRO algorithm.Algorithm 4:Intermolecular ineffective collision of MCRO.
Input: molecules M
1, M
2
(1)Obtain ώ
1
=
N
e
i
g
h
b
o
r
(
ω
1
) and ώ
2
=
N
e
i
g
h
b
o
r
(
ω
2
)  with turning operator
(2)Calculate PE
ώ
1 and PE
ώ
2
(3)
t
e
m
p
2
=
(
PE
ώ
1
+
PE
ώ
2
+
KE
ώ
1
+
KE
ώ
2
)
-
(
PE
ώ
1
+
PE
ώ
2
)
(4)
if  PE
ώ
1
+
PE
ώ
2
+
KE
ώ
1
+
KE
ώ
2
≥
PE
ώ
1
+
PE
ώ
2  then
(5) Get r randomly in interval [
0,1
]
(6) KE
ώ
1
=
t
e
m
p
2
×
p and KE
ώ
2
=
t
e
m
p
2
×
(
1
-
p
)
(7)
end if
(8)
do  Mutation of
ω
1
to
t
e
m
p
ω
1
and
ω
2
to
t
e
m
p
ω
2
(9)Calculate  the
t
e
m
p
PE
1
by
f
(
t
e
m
p
ω
1
)
and
t
e
m
p
PE
2
by
f
(
t
e
m
p
ω
2
)
(10)If  t
e
m
p
PE
1
better than
PE
ώ
1
: Replace
ώ
1
with
t
e
m
p
ω
1
and
PE
ώ
1
with
t
e
m
p
PE
1
(11)If  t
e
m
p
PE
2
better than
PE
ώ
2
: Replace
ώ
2
with
t
e
m
p
ω
2
and
PE
ώ
2
with
t
e
m
p
PE
2
(12) Update the profile ofM
1 by ω
1
=
ώ
1, PE
ώ
1
=
PE
ώ
1 and KE
ώ
1
=
KE
ώ
1
(13) Update the profile ofM
2 by ω
2
=
ώ
2, PE
ώ
2
=
PE
ώ
2 and KE
ώ
2
=
KE
ώ
2
(14)Output  M
1 and M
2Decomposition of MCRO algorithm begins by selecting a moleculesM from container. Copy a molecular structure (ω) of M to two new variables ω
1 and ω
2. Next the molecular structures ω
1 and ω
2 are transformed to ω
´
1 and ω
´
2, respectively, by computing neighborhood search operator (with turning operator), and furthermore evaluate the fitness P
E
ω
´
1 as f
(
ω
´
1
) and the fitness P
E
ω
´
2 as f
(
ω
´
2
). The profiles of molecules are updated when P
E
ω
+
K
E
ω
≥
P
E
ω
´
1
+
P
E
ω
´
2 as follows: set K
E
ω
´
1
=
P
E
ω
+
K
E
ω
-
P
E
ω
´
1
-
P
E
ω
´
2
×
k and K
E
ω
´
2
=
P
E
ω
+
K
E
ω
-
P
E
ω
´
1
-
P
E
ω
´
2
×
(
1
-
k
) when k is randomly in interval [
0,1
] and a new molecule M
′ is created. In case ofnot (P
E
ω
+
K
E
ω
≥
P
E
ω
´
1
+
P
E
ω
´
2) and the energy buffer is sufficient set K
E
ω
´
1 = (temp1 +buffer) × r
1
×
r
2 and K
E
ω
´
2
=
t
e
m
p
1
+
b
u
f
f
e
r
-
K
E
ω
´
1
×
r
3
×
r
4, when r
1, r
2, r
3, and r
4 are randomly in interval [
0,1
]; in addition the central energy buffer is updated and a new molecule M
′ is created. If there exists a new molecule M
′ (Success = TRUE), the two new molecular structures t
e
m
p
ω
1 and t
e
m
p
ω
2 are established by operated mutation operator algorithm and then the fitness oftempPE1 andtempPE2 are evaluated byf(tempω
1) andf(tempω
2), respectively. The first minimum fitness chooses the best one from P
E
ω
´
1 ortempPE1, and the second minimum fitness selects the best one between P
E
ω
´
2 andtempPE2. Furthermore profiles of M and M
′ are updated. This concludes that there are four opportunities to reach the best result in decomposition of MCRO similar to intermolecular ineffective collision of MCRO; in other words, they are twice the same reaction in original CRO. Decomposition of MCRO is represented as Algorithm 5.Algorithm 5:Decomposition of MCRO.
Input: A molecule M and buffer
(1)Obtain ω
1 and ω
2 from ω
(2)Obtain ώ
1
=
N
e
i
g
h
b
o
r
(
ω
1
) and ώ
2
=
N
e
i
g
h
b
o
r
(
ω
2
)  with turning operator
(3)Calculate PE
ώ
1 and PE
ώ
2
(4)
temp
1
=
PE
ω
+
KE
ω
-
PE
ώ
1
-
PE
ώ
2
(5)
S
u
c
c
e
s
s
=
TRUE
(6)
if  PE
ω
+
KE
ω
≥
PE
ώ
1
+
PE
ώ
2  then
(7)  Get k randomly in interval [
0,1
]
(8)  KE
ώ
1
=
t
e
m
p
1
×
k  and  KE
ώ
2
=
t
e
m
p
1
×
(
1
-
k
)
(9)  Create new molecules M
′
(10)else if  t
e
m
p
1
+
b
u
f
f
e
r
≥
0  then
(11)      Getr
1, r
2, r
3, and r
4 randomly in interval [
0,1
]
(12)KE
ώ
1
=
(
t
e
m
p
1
+
b
u
f
f
e
r
)
×
r
1
×
r
2
(13)KE
ώ
2
=
(
t
e
m
p
1
+
b
u
f
f
e
r
-
KE
ώ
1
)
×
r
3
×
r
4
(14)      Updateb
u
f
f
e
r
=
t
e
m
p
1
+
b
u
f
f
e
r
-
KE
ώ
1
-
KE
ώ
2
(15)      Create new moleculesM
′
(16)end if
(17)else
(18)S
u
c
c
e
s
s
=
FALSE
(19)end if
(20)If Success = TRUE
(21)do  Mutation of
ώ
1
to
t
e
m
p
ώ
1
and
ώ
2
to
t
e
m
p
ώ
2
(22)Calculate  the
t
e
m
p
PE
1
by
f
(
t
e
m
p
ώ
1
)
and
t
e
m
p
PE
2
by
f
(
t
e
m
p
ώ
2
)
(23)If  t
e
m
p
PE
1
better than
PE
ώ
1
then
Replace
ώ
1
with
t
e
m
p
ώ
1
and
PE
ώ
1
with
t
e
m
p
PE
1
(24)If  t
e
m
p
PE
1
better than
PE
ώ
2
then
Replace
ώ
2
with
t
e
m
p
ώ
2
and
PE
ώ
2
with
t
e
m
p
PE
2
(25)   Assignώ
1, PE
ώ
1, KE
ώ
1 to the profile of M
(26)   Assignώ
2, PE
ώ
2, KE
ώ
2 to the profile of M
′
(27)end if
(28)Output  M and M
′, S
u
c
c
e
s
s and b
u
f
f
e
rIn synthesis of MCRO algorithm, two moleculesM
1 and M
2 are chosen. Secondly, neighborhood search operator (with turning operator) generated the two molecular structures of M
1 and M
2 from ω
1 and ω
2 to ω
´
1 and ω
´
2, respectively, and the first fitness or P
E
ω
´
1 is calculated by f
(
ω
´
1
). Subsequently, the new K
E
ω
´
1 is computed when P
E
ω
1
+
P
E
ω
2
+
K
E
ω
1
+
K
E
ω
2
≥
P
E
ω
´
1 as P
E
ω
1
+
P
E
ω
2
+
K
E
ω
1
+
K
E
ω
2
-
P
E
ω
´
1. Afterward mutation operator algorithm generates ω
´
1 to t
e
m
p
ω
´
1, and the fitness generated by mutation operator algorithm ortempPE is calculated by f
(
t
e
m
p
ω
´
1
). Finally the profile of molecule M
1 is updated by choosing the best solution between the fitness (P
E
ω
´
1) and the fitness generated by mutation operator (tempPE). There are two probabilities included in this elementary reaction while synthesis of original CRO provides only one. Synthesis of MCRO algorithm is presented as Algorithm 6.Algorithm 6:Synthesis of MCRO.
Input: molecules M
1
,
M
2
(1)Obtain ώ
1 from ω
1 and ώ
2 from ω
2
(2)Calculate PE
ώ
1
(3)
if  PE
ω
1
+
PE
ω
2
+
KE
ω
1
+
KE
ω
2
≥
PE
ώ
1  then
(4)
S
u
c
c
e
s
s
=
TRUE
(5)
KE
ώ
1
=
PE
ω
1
+
PE
ω
2
+
KE
ω
1
+
KE
ω
2
-
PE
ώ
1
(6)
do  Mutation of
ώ
1
to
t
e
m
p
ώ
1
(7)
Calculate  the tempPEby
f
(
t
e
m
p
ώ
1
)
(8)
if  tempPEbetter than
PE
ώ
1
then
Replace
ώ
1
with
t
e
m
p
ώ
1
and
PE
ώ
1
with tempPE
(9) Assign ώ
1  PE
ώ
1 and KE
ώ
1 to the profile of M
1
(10)else
(11)
S
u
c
c
e
s
s
=
FALSE
(12)end if
(13)Output
M
1 and S
u
c
c
e
s
s


## 4. Simulation Results and Discussion

### 4.1. Benchmarks and Parameters

The proposed MCRO was simulated to solve the 23 objective functions based on RCCRO [12]. The benchmark objective functions are classified into three categories, as shown in Table 1.Table 1
The benchmark objective functions.
Objective function
Number of molecules
Lower-upper bound
f
min
⁡
Name
Category I
f
1
x
=
∑
i
=
1
n
x
i
2
30
-
100
,
100
n
0
Sphere model
f
2
x
=
∑
i
=
1
n
|
x
i
|
+
∏
i
=
1
n
x
i
30
-
10,10
n
0
Schwefel’s problem 2.22
f
3
x
=
∑
i
=
1
n
∑
j
=
1
i
x
j
2
30
-
100
,
100
n
0
Schwefel’s problem 1.2
f
4
x
=
max
i
⁡
|
x
i
|
,
1
≤
i
≤
n
30
-
100
,
100
n
0
Schwefel’s problem 2.21
f
5
x
=
∑
i
=
1
n
-
1
100
x
i
+
1
-
x
i
2
2
+
x
i
-
1
2
30
-
30,30
n
0
Generalized Rosenbrock’s function
f
6
x
=
∑
i
=
1
n
x
i
+
0.5
2
30
-
100,100
n
0
Step function quartic
f
7
x
=
∑
i
=
1
n
i
x
i
4
+
r
a
n
d
o
m
[
0,1
)
30
-
1.28,1.28
n
0
Function with noise
Category II
f
8
x
=
-
∑
i
=
1
n
x
i
sin
⁡
|
x
i
|
30
-
500
,
500
n
-
12569.5
Generalized Schwefel’s problem 2.26
f
9
x
=
∑
i
=
1
n
x
i
2
-
cos
⁡
2
π
x
i
+
10
30
-
5.12,5.12
n
0
Generalized Rastrigin’s function
f
10
x
=
-
20
exp
⁡
-
0.2
1
n
∑
i
=
1
n
x
i
2
-
exp
⁡
⁡
1
n
∑
i
=
1
n
cos
⁡
2
π
x
i
+
20
+
e
30
-
32,32
n
0
Ackley’s function
f
11
x
=
1
4000
∑
i
=
1
n
x
i
2
-
∏
i
=
1
n
cos
⁡
x
i
i
+
1
30
-
600,600
n
0
Generalized Griewank function
f
12
x
=
π
n
10
sin
2
⁡
π
y
1
+
∑
i
=
1
29
y
i
-
1
2
1
+
10
sin
2
⁡
π
y
i
+
1
+
y
n
-
1
2
h
h
h
h
h
h
h
+
∑
i
=
1
30
u
x
i
,
10,100,4
h
h
h
h
h
h
h
h
h
y
i
=
1
+
1
4
x
i
+
1
30
-
50,50
n
0
Generalized penalized functions
f
13
x
=
0.1
sin
2
⁡
π
3
x
1
+
∑
i
=
1
29
x
i
-
1
2
1
+
sin
2
⁡
π
3
x
i
+
1
+
x
n
-
1
2
1
+
sin
2
⁡
2
π
30
h
h
h
h
h
h
h
+
∑
i
=
1
30
u
x
i
,
5,100,4
30
-
50,50
n
0
Remark: in f
12 and f
13,  u
x
i
,
a
,
k
,
m
=
k
x
i
-
a
m
,
x
i
>
a
0
,
-
a
≤
x
i
≤
a
k
-
x
i
-
a
m
,
x
i
<
-
a
Category III
f
14
x
=
1
500
+
∑
j
=
1
25
1
j
+
∑
i
=
1
2
x
i
-
a
i
j
6
-
1
2
-
65.536,65.536
n
1
Shekel’s foxholes function
f
15
x
=
∑
i
=
1
11
a
i
-
x
1
b
i
2
+
b
i
x
2
b
i
2
+
b
i
x
3
+
x
4
2
4
-
5
,
5
n
0.0003075
Kowalik’s function
f
16
x
=
4
x
1
2
-
2.1
x
1
4
+
1
3
x
1
6
+
x
1
x
2
-
4
x
2
2
+
4
x
2
4
2
-
5
,
5
n
-
1.0316285
Six-hump camel-back function
f
17
x
=
x
2
-
5.1
4
π
2
x
1
2
+
5
π
x
1
-
6
2
+
10
1
-
1
8
π
cos
⁡
x
1
+
10
2
-
5,10
×
[
0,15
]
0.398
Branin function
f
18
x
=
1
+
x
1
+
x
2
+
1
2
19
-
14
x
1
+
3
x
1
2
-
14
x
2
+
6
x
1
x
2
+
3
x
2
2
h
h
h
h
h
h
h
×
30
+
2
x
1
-
3
x
2
2
18
-
32
x
1
+
12
x
1
2
+
48
x
2
-
32
x
1
x
2
+
27
x
2
2
2
-
2
,
2
n
3
Goldstein-Price function
f
19
x
=
-
∑
i
=
1
4
c
i
exp
⁡
-
∑
j
=
1
4
a
i
j
x
j
-
p
i
j
2
3
0
,
1
n
-
3.86
Hartman’s family
f
20
x
=
-
∑
i
=
1
4
c
i
exp
⁡
-
∑
j
=
1
6
a
i
j
x
j
-
p
i
j
2
6
0
,
1
n
-
3.32
f
21
x
=
-
∑
i
=
1
5
x
-
a
i
x
-
a
i
T
+
c
i
-
1
4
0
,
10
n
-
10
Shekel’s family
f
22
x
=
-
∑
i
=
1
7
x
-
a
i
x
-
a
i
T
+
c
i
-
1
4
0
,
10
n
-
10
f
23
x
=
-
∑
i
=
1
10
x
-
a
i
x
-
a
i
T
+
c
i
-
1
4
0
,
10
n
-
10Category  I (High-Dimensional Unimodal Functions). Category  I is composed of high-dimensional functions f
1
–
f
7 and includes 30 molecules in each container. These functions are easy to solve because each objective function has only one global minimum.Category  II (High-Dimensional Multimodal Functions). Category  II provides high-dimensional functions f
8
–
f
13 and includes 30 molecules in each container. These functions consist of many local minimums and can solve the most difficult problem.Category  III (Low-Dimensional Multimodal Functions). Category  III includes low-dimensional functions f
14
–
f
23. In each container of functions, f
14, f
16, f
17, and f
18 contain 2 molecules; f
15, f
21, f
22, and f
23 contain 4 molecules; f
19 contains 3 molecules; and f
20 contains 6 molecules. These functions comprise several local minimums.Several parameters contained in MCRO include the main algorithm and the mutation operator parameters. Table2 illustrates the main parameters in our simulations:popsize InitialKE,buffer,KELossRate,On-wallColl,DecThres,SynThres, andStepSize.Table 2
MCRO parameters.
Parameter
popsize
InitialKE
Buffer
KELossRate
On-wallColl
DecThres
SynThres
Category I (f
1
–
f
7)
10
1000
0
0.1
0.2
150000
10
Category  II (f
8
–
f
13)
20
10000000
100000
0.1
0.2
150000
10
Category III (f
14
–
f
23)
100
1000
0
0.1
0.2
150000
10The mutation operator parameters in our experiment areprobability andDistributionIndex. We setprobability = 0.6 andDistributionIndex = 0.9 for every objective function.


### 4.2. MCRO Solution

To obtain the most appropriate MCRO solution, we considered three types of mutation operators: polynomial, uniform, and nonuniform. Our approach estimates start with alloyed CRO with turning operator, consequently integrating mutation operator to the algorithm. The first, second, and third options are the algorithms with polynomial, uniform, and nonuniform mutations, respectively. We generated the results of these three solutions by running each objective function 25 times. The optimal quality of the solution of each function is the mean of the best global minimum at 25 repeats. If the means of the results are equal, the second key for comparison is the standard deviation. All simulations included in Section4.3 are performed on the same personal computer and same computing environment with computer Intel Core i7, CPU 3.10 GHz, and Ram 4 GB.Table3 compares the results of Category  I functions for the three solutions. All of the solutions yield good results for f
1, f
2, f
3, f
4, and f
6. The algorithm with polynomial mutation is the leader for f
5, and the algorithm with uniform mutation generates the best result for f
7. The average result of Category  I functions is the same for the three solutions.Table 3
Comparisons of the result of the three solutions for Category I (f
1
–
f
7) (the best results are marked in bold).
Function
Result of
Algorithm with mutation
Polynomial
Uniform
Nonuniform
f
1
Mean
0
0
0
StDev.
0
0
0
Rank
1
1
1
f
2
Mean
0
0
0
StDev.
0
0
0
Rank
1
1
1
f
3
Mean
0
0
0
StDev.
0
0
0
Rank
1
1
1
f
4
Mean
0
0
0
StDev.
0
0
0
Rank
1
1
1
f
5
Mean
2.85
E
+
01
2.85
E
+
01
2.85
E
+
01
StDev.
1.05
E
-
02
1.51
E
-
02
1.38
E
-
01
Rank
1
3
2
f
6
Mean
0
0
0
StDev.
0
0
0
Rank
1
1
1
f
7
Mean
2.57
E
-
04
5.44
E
-
06
1.94
E
-
05
StDev.
2.07
E
-
04
6.80
E
-
06
1.71
E
-
05
Rank
3
1
2
Average rank
(f
1
–
f
7)
1.29
1.29
1.29
Rank
(f
1
–
f
7)
1
1
1Table4 compares the results of Category  II functions for the three solutions. The results of the three solutions are as good as those of the two other solutions in f
9, f
10, and f
11. The solution with polynomial mutation performs best for f
12 and f
13. The solution with nonuniform mutation generates the best result for f
8. The average result of high-dimensional multimodal functions is led by the solution combined with polynomial mutation, nonuniform mutation, and then uniform mutation.Table 4
Comparisons of the result of the three solutions for Category II (f
8
–
f
13) (the best results are marked in bold).
Function
Result of
Algorithm with mutation
Polynomial
Uniform
Nonuniform
f
8
Mean
-
1.24
E
+
04
-
6.26
E
+
03
-
1.24
E
+
04
StDev.
6.87
E
+
01
2.94
E
+
02
5.77
E
+
01
Rank
2
3
1
f
9
Mean
0
0
0
StDev.
0
0
0
Rank
1
1
1
f
10
Mean
4.44
E
-
16
4.44
E
-
16
4.44
E
-
16
StDev.
0
0
0
Rank
1
1
1
f
11
Mean
1
1
1
StDev.
0
0
0
Rank
1
1
1
f
12
Mean
2.51
E
-
06
4.61
E
-
03
3.22
E
-
06
StDev.
1.55
E
-
06
1.22
E
-
03
3.61
E
-
06
Rank
1
3
2
f
13
Mean
3.03
E
-
06
1.08
E
-
04
3.34
E
-
06
StDev.
2.15
E
-
06
6.33
E
-
05
2.28
E
-
06
Rank
1
3
2
Average rank
(f
8
–
f
13)
1.17
2.00
1.33
Rank
(f
8
–
f
13)
1
3
2Table5 compares the results of Category  III functions. The solution with polynomial mutation computes the best result for f
14, f
16, f
17, f
18, and f
19. Meanwhile, the solution with uniform mutation is the leader for f
15, f
20, f
21, f
22, and f
23, and the solution with nonuniform mutation performs best forf
15. The polynomial solution does not generate the best result for the remaining functions, but it produces close results to those of the leader for the first five functions. The average ranking of Category  III functions for the three solutions in order of solution is polynomial mutation, uniform mutation, and nonuniform mutation.Table 5
Comparisons of the result of the three solutions for Category III (f
14
–
f
23) (the best results are marked in bold).
Function
Result of
Algorithm with mutation
Polynomial
Uniform
Nonuniform
f
14
Mean
9.98
E
-
01
9.99
E
-
01
1.05
E
+
00
StDev.
8.60
E
-
11
1.62
E
-
03
1.94
E
-
01
Rank
1
2
3
f
15
Mean
3.92
E
-
04
3.79
E
-
04
3.42
E
-
04
StDev.
3.11
E
-
05
2.34
E
-
05
1.64
E
-
05
Rank
3
2
1
f
16
Mean
-
1.03
E
+
00
-
1.03
E
+
00
-
1.03
E
+
00
StDev.
4.51
E
-
03
4.81
E
-
03
4.68
E
-
03
Rank
1
3
2
f
17
Mean
3.98
E
-
01
3.98
E
-
01
3.98
E
-
01
StDev.
9.86
E
-
05
6.16
E
-
04
4.51
E
-
04
Rank
1
3
2
f
18
Mean
3.00
E
+
00
3.00
E
+
00
3.00
E
+
00
StDev.
1.14
E
-
04
1.75
E
-
03
1.53
E
-
03
Rank
1
3
2
f
19
Mean
-
3.86
E
+
00
-
3.86
E
+
00
-
3.86
E
+
00
StDev.
2.42
E
-
03
3.95
E
-
03
4.82
E
-
03
Rank
1
2
3
f
20
Mean
-
3.31
E
+
00
-
3.31
E
+
00
-
3.26
E
+
00
StDev.
5.33
E
-
03
4.67
E
-
03
2.55
E
-
02
Rank
2
1
3
f
21
Mean
-
1.01
E
+
01
-
1.01
E
+
01
-
1.01
E
+
01
StDev.
3.06
E
-
02
1.56
E
-
02
1.06
E
-
01
Rank
2
1
3
f
22
Mean
-
1.04
E
+
01
-
1.04
E
+
01
-
1.03
E
+
01
StDev.
3.14
E
-
02
1.39
E
-
02
7.40
E
-
02
Rank
2
1
3
f
23
Mean
-
1.05
E
+
01
-
1.05
E
+
01
-
1.05
E
+
01
StDev.
1.32
E
-
02
1.28
E
-
02
6.52
E
-
02
Rank
2
1
3
Average rank
(f
14
–
f
23)
1
.
6
0
1
.
9
0
2
.
5
0
Rank
(f
14
–
f
23)
1
2
3
Overall  rank
(f
1
–
f
23)
1.3
9
1.7
4
1
.
83
Rank
(f
1
–
f
23)
1
2
3The overall ranking is shown in the bottom of Table5. The solution with polynomial mutation derives the most excellent results, followed successively by uniform mutation and nonuniform mutation. Hence, we prefer polynomial mutation operator for MCRO.


### 4.3. Experimental Method and Results

The aim of the present experiment is to evaluate the performance of MCRO by comparing it with three previously published algorithms: RCCRO4 [12], the best version of RCCRO; HP-CRO2 [18], the best version of HP-CRO and a hybrid of CRO and PSO; and OCRO [19], which represents the best results among the three algorithms. We generated the result for MCRO, OCRO, HP-CRO2, and RCCRO4 by running each objective function 25 times.We provided three experiment methods to evaluate the capability of comparison algorithms. These three methods were evaluated for optimal solution quality, convergence speed, and statistical hypothesis testing.(1) Optimal Solution Quality Evaluation. For each objective function, the optimal solution or the best global minimum is the most important result in each runtime. In a computing time, each round of iteration contains the local minimum as a result. Consequently, if the current global minimum is worse than the local minimum, then the current global minimum is replaced by the local minimum. The best global minimum at each computing time is generated when the program meets the stop condition of MCRO and other optimization algorithms. The mean of the best global minimum at 25 computing times is the optimal solution of each function. If the optimal solutions of the competitors are equal, then the second key for comparison is the standard deviation. The following optimal solution quality evaluations are demonstrated.Table6 presents the optimal solution quality evaluation of MCRO, OCRO, HP-CRO2, and RCCRO4 for high-dimensional unimodal functions or Category  I (f
1
–
f
7). MCRO performs best for f
1, f
2, f
3, f
4, f
6, and f
7 but not for f
5. MCRO and OCRO are the best for f
1, f
2, f
3, and f
6; HP-CRO2 and RCCRO4 derive the same results as MCRO and OCRO for f
6. RCCRO4 generates the best result for f
5. The ranking of optimal solution quality for Category  I functions in descending order is as follows: MCRO, OCRO, HP-CRO2, and RCCRO4.Table 6
Optimal solution quality for Category I (f
1
–
f
7) (the best results are marked in bold).
Function
FEs
Result of
MCRO
OCRO
HP-CRO2
RCCRO4
f
1
150000
Mean
0
0
2.01
E
-
53
2.20
E
-
07
StDev.
0
0
9.83
E
-
53
3.83
E
-
08
Rank
1
1
3
4
f
2
150000
Mean
0
0
7.14
E
-
06
2.076
E
-
03
StDev.
0
0
2.81
E
-
05
3.206
E
-
04
Rank
1
1
3
4
f
3
250000
Mean
0
0
1.55
E
-
102
2.41
E
-
07
StDev.
0
0
5.91
E
-
102
6.01
E
-
08
Rank
1
1
3
4
f
4
150000
Mean
0
5.73
E
-
21
4.43
E
-
04
8.521
E
-
03
StDev.
0
1.83
E
-
20
2.56
E
-
04
2.348
E
-
03
Rank
1
2
3
4
f
5
150000
Mean
2.85
E
+
01
2.75
E
+
01
2.22
E
+
01
2.61
E
+
01
StDev.
1.05
E
-
02
1.60
E
-
01
3.50
E
+
01
5.61
E
+
01
Rank
4
3
1
2
f
6
150000
Mean
0
0
0
0
StDev.
0
0
0
0
Rank
1
1
1
1
f
7
150000
Mean
2.57
E
-
04
2.08
E
-
03
8.18
E
-
03
3.82
E
-
03
StDev.
2.07
E
-
04
9.96
E
-
04
2.87
E
-
03
1.39
E
-
03
Rank
1
2
4
3
Average
Rank
(f
1
–
f
7)
1.43
1.57
2.5771
3.14
Rank
(f
1
–
f
7)
1
2
3
4Table7 compares the optimal solution quality for Category  II functions. MCRO performs best for f
9, f
10, f
11, and f
12; OCRO generates the same results as MCRO for f
9, f
10, and f
11; HP-CRO2 is the best for f
13; RCCRO4 has the best result for f
8. The ranking of optimal solution quality for Category  II functions in descending order is the same as that for Category  I.Table 7
Optimal solution quality for Category II (f
8
–
f
13) (the best results are marked in bold).
Function
FEs
Result of
MCRO
OCRO
HP-CRO2
RCCRO4
f
8
150000
Mean
1.24
E
+
04
-
1.00
E
+
04
1.24
E
+
04
-
1.26
E
+
04
StDev.
6.87
E
+
01
1.61
E
+
02
1.61
E
+
02
7.86
E
+
01
Rank
3
4
2
1
f
9
250000
Mean
0
0
6.20
E
-
04
1.57
E
-
03
StDev.
0
0
1.31
E
-
03
4.18
E
-
04
Rank
1
1
3
4
f
10
150000
Mean
4.44
E
-
16
4.44
E
-
16
6.88
E
-
12
2.18
E
-
03
StDev.
0
0
2.33
E
-
11
2.60
E
-
04
Rank
1
1
3
4
f
11
150000
Mean
1
1
1.00
E
+
00
1.00
E
+
00
StDev.
0
0
1.04
E
-
14
1.393
E
-
07
Rank
1
1
3
4
f
12
150000
Mean
2.51
E
-
06
9.80
E
-
04
1.08
E
-
01
6.223
E
-
02
StDev.
1.55
E
-
06
1.75
E
-
04
2.09
E
-
01
1.312
E
-
01
Rank
1
3
4
2
f
13
150000
Mean
3.03
E
-
06
1.12
E
-
02
1.04
E
-
14
6.46
E
-
06
StDev.
2.15
E
-
06
2.76
E
-
03
1.59
E
-
14
4.56
E
-
06
Rank
2
4
1
3
Average
Rank
(f
8
–
f
13)
1.50
2.33
2.67
3.00
Rank
(f
8
–
f
13)
1
2
3
4Table8 compares the results of Category  III functions. MCRO is the best in this category because it generates the best results for 8/10 functions: f
14, f
16, f
17, f
18, f
19, f
21, f
22, and f
23. MCRO is followed by OCRO, which is the best for f
15. HP-CRO2, which generates the best result for f
20, is in third rank, followed by RCCRO4 in fourth rank. The ranking of optimal solution quality for Category  III functions in descending order is the same as that for Categories I and II.Table 8
Optimal solution quality for Category II (f
14
–
f
23) (the best results are marked in bold).
Function
FEs
Result of
MCRO
OCRO
HP-CRO2
RCCRO4
f
14
7500
Mean
9.98
E
-
01
9.98
E
-
01
9.98
E
-
01
9.98
E
-
01
StDev.
8.60
E
-
11
8.71
E
-
10
6.46
E
-
04
2.62
E
-
07
Rank
1
2
4
3
f
15
250000
Mean
3.92
E
-
04
3.80
E
-
04
2.05
E
-
03
5.27
E
-
04
StDev.
3.11
E
-
05
6.12
E
-
05
5.62
E
-
03
9.87
E
-
05
Rank
2
1
4
3
f
16
1250
Mean
-
1.03
E
+
00
-
1.01
E
+
00
-
1.01
E
+
00
-
9.67
E
-
01
StDev.
4.51
E
-
03
1.89
E
-
02
2.19
E
-
02
9.50
E
-
02
Rank
1
2
3
4
f
17
5000
Mean
3.98
E
-
01
3.99
E
-
01
3.98
E
-
01
3.98
E
-
01
StDev.
9.86
E
-
05
9.79
E
-
04
3.96
E
-
04
4.35
E
-
02
Rank
1
4
2
3
f
18
10000
Mean
3.00
E
+
00
3.00
E
+
00
3.00
E
+
00
3.04
E
+
00
StDev.
1.14
E
-
04
1.85
E
-
04
6.14
E
-
04
4.33
E
-
02
Rank
1
2
3
4
f
19
4000
Mean
-
3.86
E
+
00
-
3.86
E
+
00
-
3.86
E
+
00
-
3.86
E
+
00
StDev.
2.42
E
-
03
2.80
E
-
03
3.73
E
-
03
5.42
E
-
03
Rank
1
2
3
4
f
20
7500
Mean
-
3.31
E
+
00
-
3.25
E
+
00
-
3.32
E
+
00
-
3.32
E
+
00
StDev.
5.33
E
-
03
2.41
E
-
02
1.78
E
-
03
2.13
E
-
03
Rank
3
4
1
2
f
21
10000
Mean
-
1.01
E
+
01
-
9.57
E
+
00
-
9.50
E
+
00
-
9.03
E
+
00
StDev.
3.06
E
-
02
7.37
E
-
01
3.85
E
-
01
2.59
E
+
00
Rank
1
2
3
4
f
22
10000
Mean
-
1.04
E
+
01
-
9.96
E
+
00
-
9.75
E
+
00
-
1.03
E
+
01
StDev.
3.14
E
-
02
4.83
E
-
01
4.77
E
-
01
2.55
E
-
02
Rank
1
3
4
2
f
23
10000
Mean
1.05
E
+
01
-
1.00
E
+
01
-
9.91
E
+
00
-
9.562
E
+
00
StDev.
1.32
E
-
02
6.05
E
-
01
5.31
E
-
01
2.213
E
+
00
Rank
1
2
3
4
Average
Rank
(f
14
–
f
23)
1.30
2.40
3.00
3.30
Rank
(f
14
–
f
23)
1
2
3
4
Average rank
(f
1
–
f
23)
1.39
2.13
2.78
3.17
Overall Rank
(f
1
–
f
23)
1
2
3
4The overall ranking presented at the bottom of Table8 shows that MCRO performs best in the optimal solution quality evaluation. MCRO is followed successively by OCRO, HP-CRO2, and RCCRO4.(2) Convergence Speed Evaluation. Convergence speed is an essential issue that indicates the performance of algorithms in optimization. In our experiment, the convergence speed of the algorithm was calculated by counting the number of iterations (FEs) before the algorithm converges with the accepted result. The accepted result is the results given there are the average FEs needed to reach the threshold expressed as acceptable solutions for each objective function such as acceptable solution of f
1 is 1
E
-
60, the robust algorithm has to generate the result at lease not worse than accepted result. The algorithm with fewer FEs is more powerful than that with greater FEs. Table 9 compares the convergence speeds of the algorithms. MCRO demonstrates the fastest convergence speed for all functions, except for f
8, where HP-CRO2 is the best, and for f
19 and f
21, where OCRO is the best. In addition, the distance between MCRO and the second best of each function is significant. For f
1, f
3, f
4, f
10, f
11, and f
14, MCRO converges the accepted results with 691, 819, 338, 896, 1056, and 314 FEs, respectively, whereas OCRO, respectively, has 23253, 25053, 31245, 65200, 64947, and 2818 FEs for the same functions. For f
22, MCRO and RCCRO4 undergo 28 and 4721 FEs, respectively. The convergence speed ranking of comparison algorithms for all objective functions from fastest to slowest is as follows: MCRO, OCRO, HP-CRO2, and RCCRO4.Table 9
Convergence speed (the best results are marked in bold).
Function
Accept
MCRO
OCRO
HP-CRO2
RCCRO
Function
Accept
MCRO
OCRO
HP-CRO2
RCCRO
f
1
1
E
-
60
691
23253
138711
x
f
13
1
E
-
02
29767
95685
51597
81992
Rank
1
2
3
4
Rank
1
4
2
3
f
2
1
E
-
10
334
2620
105625
x
f
14
9.99
E
-
01
314
2818
2996
3354
Rank
1
2
3
4
Rank
1
2
3
4
f
3
1
E
-
110
819
25053
237038
x
f
15
4
E
-
03
2075
44535
56843
90405
Rank
1
2
3
4
Rank
1
2
3
4
f
4
1
E
-
04
338
31245
128103
x
f
16
-
1.02
166
651
752
937
Rank
1
2
3
4
Rank
1
2
3
4
f
5
5
E
+
01
1251
6732
23608
120316
f
17
3.99
E
-
01
1544
3849
3419
2935
Rank
1
2
3
4
Rank
1
4
3
2
f
6
1
E
-
06
704
4695
29235
97733
f
18
3.0001
5239
8444
7555
x
Rank
1
2
3
4
Rank
1
3
2
4
f
7
1
E
-
02
349
9471
107379
48223
f
19
-
3.85
2324
2011
2331
2703
Rank
1
2
4
3
Rank
2
1
3
4
f
8
-
1
E
+
04
6741
53688
4306
11499
f
20
-
3.30
2469
6233
5643
3662
Rank
2
4
1
3
Rank
1
4
3
2
f
9
1
E
-
03
909
3928
103567
138790
f
21
-
9
8232
6143
7278
6220
Rank
1
2
3
4
Rank
4
1
3
2
f
10
1
E
-
13
895
65200
74078
x
f
22
-
9
28
5419
7604
4721
Rank
1
2
3
4
Rank
1
3
4
2
f
11
1
1056
64947
x
x
f
23
-
9
3796
5974
7210
4745
Rank
1
2
3
3
Rank
1
3
4
2
f
12
1
E
-
03
15711
75733
28990
89666
Rank
1
3
2
4
Average
(Rank)
1.22
2.43
2.91
3.35
Rank
1
3
4
2After evaluating the convergence speed on the basis of iteration number, we evaluated the same parameter in MCRO, OCRO, HP-CRO2, and RCCRO4 by drawing a convergence curve for specific functions (f
4, f
7, f
9, f
10, f
11, and f
23) in a particular run. MCRO remains the most advantageous among the four algorithms.(3) Statistical Hypothesis Testing. Friedman test [26], a well-known nonparametric statistical test, was used to assess the statistical hypothesis. Friedman test evaluates the differences or equality of results among competitor algorithms. We calculated the Friedman statistic according to x
2 distribution with k
-
1 degrees of freedom. Then, we estimated the p value according to normal approximations. The Friedman statistic F
f is presented as Formula (6). Parameter n is the number of objective functions, which is 23 in our test. k represents the number of comparison algorithms. In this case, we compared our proposed algorithm MCRO with three previous algorithms (OCRO, HP-CRO2, and RCCRO4); hence k
=
4. Friedman rank or R
j is searching by transforming the quality results of MCRO, OCRO, HP-CRO2, and RCCRO4 to ranks for each objective function (i). In cases of equal ranks, the average ranks are assigned: (6)
F
f
=
12
n
k
k
+
1
∑
j
R
j
2
-
k
k
+
1
2
4
.Table10 demonstrates the results of Friedman rank test in terms of the comparison of optimal solution quality and convergence speed. MCRO achieves the best rank in the statistic test comparing both the optimal solution quality and the convergence speed on the basis of the corresponding Friedman ranks 1.59 and 1.22, the statistic F
f values 21.76398 and 35.96694, and the p values 7.30387
E
-
05 and 7.60987
E
-
08. In addition, the results explicitly display significant differences across the competing algorithms. In multiple comparisons, the post hoc test was utilized to compare a set of algorithms with a control algorithm (best algorithm). The post hoc test starts with finding the test statistic z of the ith and jth algorithms, which is processed using Formula (7). Consider(7)
z
=
R
i
-
R
j
k
k
+
1
/
6
,where R
i and R
j are the Friedman ranks of the compared algorithms.Table 10
Result of Friedman test.
Algorithm
Friedman ranks
Friedman ranks
Optimal result quality
Convergence
MCRO
1.59
1.22
OCRO
2.33
2.43
HP-CRO2
2.85
2.93
RCCRO4
3.24
3.41
StatisticF
f
21.76398
35.96694
p value
7.30387
E
-
05
7.60987
E
-
08The unadjustedp value was calculated using the z value from the table of normal distribution N
(
0,1
). The z value was then compared with an appropriate level of significance α. In the present study, the following three computing procedures were applied to obtain the adjusted p values (APVs): Bonferroni-Dunn procedure [27] presented as Formula (8), Holm procedure [28] assigned as Formula (9), and Hochberg procedure [29] expressed as Formula (10). Subscripts i and j are indexes that each corresponds to a concrete hypothesis, and p
j is the p-value obtained for the jth hypothesis.The Bonferroni-Dunn procedure adjusts the valueα through a single step: (8)
Bonferroni
A
P
V
i
:
min
⁡
v
,
1
,
where
v
=
k
-
1
p
i
.The Holm procedure adjusts the valueα in a step-down manner:(9)
Holm
A
P
V
i
:
min
⁡
v
,
1
,
where
v
=
max
⁡
k
-
j
p
j
:
1
≤
j
≤
i
.The Hochberg procedure adjusts the valueα in a step-up direction:(10)
Hochberg
A
P
V
i
:
min
⁡
k
-
j
p
j
:
k
-
1
≥
j
≥
i
.The results of the APVs for the Friedman test are shown in Table11, where the control algorithm is the proposed algorithm MCRO. These results comprise the z value, unadjusted p values, and APVs that were extracted using the post hoc procedures and computed using the three procedures. We compared the results for both optimal solution quality and convergence speed. MCRO is superior to RCCRO4, HP-CRO2, and OCRO in all post hoc procedures considered.Table 11
Adjustedp values for the Friedman test (control algorithm: MCRO).
Compare method
Algorithm
z
Unadjusted
p value
Bonferroni-Dunn
Holm
Hochberg
Result quality (StDev.)
RCCRO4
4.334195427
1.46294
E
-
05
4.38883
E
-
05
4.38883
E
-
05
4.38883
E
-
05
HP-CRO2
3.309749235
0.000933796
0.002801388
0.001867592
0.001867592
OCRO
1.943820979
0.051917043
0.155751129
0.051917043
0.051917043
Convergence
RCCRO4
5.752659385
8.78504
E
-
09
2.63551
E
-
08
2.63551
E
-
08
2.63551
E
-
08
HP-CRO2
4.491802534
7.06229
E
-
06
2.11869
E
-
05
1.41246
E
-
05
0.000014125
OCRO
3.178409980
0.001480852
0.004442556
0.001480852
0.001480852(4) Computation Time. Normally, the numbers of computation times are often proportional to capability of computer. Unlike the other results such as optimal solution quality and convergence speed, although the simulations perform on various personal computers, these results are very approximate. Hence our experiments disregard using the computation time as an evaluation method. However, the computation times appearing in Table 12 indicate that, in our simulated situation, the computer times for these four comparison algorithms are closed.Table 12
Computation times.
Function
Time to reach the best global optimum (sec.)
MCRO
OCRO
HP-CRO2
RCCRO4
f
1
0.0668
0.0050
0.0052
0.0063
f
2
0.0069
0.0066
0.0056
0.0068
f
3
0.0202
0.0073
0.0086
0.0095
f
4
0.0070
0.0076
0.0065
0.0123
f
5
0.0244
0.0102
0.0112
0.0165
f
6
0.0105
0.0098
0.0149
0.0088
f
7
0.0123
0.0274
0.0074
0.0553
f
8
0.0133
0.0528
0.0621
0.0433
f
9
0.0263
0.0324
0.0494
0.0335
f
10
0.0162
0.0195
0.0295
0.0443
f
11
0.0231
0.472
0.0547
0.0335
f
12
0.0238
0.0275
0.0288
0.0553
f
13
0.0255
0.0287
0.0301
0.0295
f
14
0.0007
0.0009
0.0009
0.0308
f
15
0.0165
0.0151
0.0156
0.0152
f
16
<0.0001
0.0005
0.0005
0.0005
f
17
<0.0001
0.0005
0.0009
0.0005
f
18
0.0002
0.0007
0.0007
0.0007
f
19
0.0001
0.0010
0.0010
0.0009
f
20
0.0005
0.0012
0.0011
0.0013
f
21
0.0005
0.0005
0.0005
0.0006
f
22
0.0006
0.0008
0.0008
0.0006
f
23
0.0008
0.0008
0.0009
0.0007


### 4.4. Discussion

Section4.2 recommends that the best MCRO solution is the combination of CRO, turning operator, and polynomial mutation operator. The solution with polynomial mutation obtains the most appropriate results over uniform and nonuniform mutations.The experimental results in Section4.3 substantiate that MCRO is more powerful than OCRO, HP-CRO2, and RCCRO4. MCRO can generate the best result on most of the 23 objective functions (see Figure 1). We determined several issues, such as optimal solution quality, convergence speed, and statistical hypothesis testing, to evaluate algorithm performance. Table 6 shows that MCRO can generate the best optimal solution for all high-dimensional unimodal functions. We can obtain the optimal solution 0 (equal f
m
i
n) and StdDev 0 for five functions (f
1, f
2, f
3, f
4, and f
6). MCRO achieves the best average rank in solving high-dimensional multimodal functions (Table 7) and performs the optimal solution 0 (equal f
m
i
n) and StdDev 0 for two functions (f
9 and f
11). For low-dimensional functions (Table 8), the results of MCRO are close to the true optimal, indicating that this algorithm is outstanding and consistent. Moreover, some comparison algorithms can generate the same results as MCRO in solving several objective functions, but MCRO converges faster than the other algorithms (Table 10).Figure 1


## 4.1. Benchmarks and Parameters

The proposed MCRO was simulated to solve the 23 objective functions based on RCCRO [12]. The benchmark objective functions are classified into three categories, as shown in Table 1.Table 1
The benchmark objective functions.
Objective function
Number of molecules
Lower-upper bound
f
min
⁡
Name
Category I
f
1
x
=
∑
i
=
1
n
x
i
2
30
-
100
,
100
n
0
Sphere model
f
2
x
=
∑
i
=
1
n
|
x
i
|
+
∏
i
=
1
n
x
i
30
-
10,10
n
0
Schwefel’s problem 2.22
f
3
x
=
∑
i
=
1
n
∑
j
=
1
i
x
j
2
30
-
100
,
100
n
0
Schwefel’s problem 1.2
f
4
x
=
max
i
⁡
|
x
i
|
,
1
≤
i
≤
n
30
-
100
,
100
n
0
Schwefel’s problem 2.21
f
5
x
=
∑
i
=
1
n
-
1
100
x
i
+
1
-
x
i
2
2
+
x
i
-
1
2
30
-
30,30
n
0
Generalized Rosenbrock’s function
f
6
x
=
∑
i
=
1
n
x
i
+
0.5
2
30
-
100,100
n
0
Step function quartic
f
7
x
=
∑
i
=
1
n
i
x
i
4
+
r
a
n
d
o
m
[
0,1
)
30
-
1.28,1.28
n
0
Function with noise
Category II
f
8
x
=
-
∑
i
=
1
n
x
i
sin
⁡
|
x
i
|
30
-
500
,
500
n
-
12569.5
Generalized Schwefel’s problem 2.26
f
9
x
=
∑
i
=
1
n
x
i
2
-
cos
⁡
2
π
x
i
+
10
30
-
5.12,5.12
n
0
Generalized Rastrigin’s function
f
10
x
=
-
20
exp
⁡
-
0.2
1
n
∑
i
=
1
n
x
i
2
-
exp
⁡
⁡
1
n
∑
i
=
1
n
cos
⁡
2
π
x
i
+
20
+
e
30
-
32,32
n
0
Ackley’s function
f
11
x
=
1
4000
∑
i
=
1
n
x
i
2
-
∏
i
=
1
n
cos
⁡
x
i
i
+
1
30
-
600,600
n
0
Generalized Griewank function
f
12
x
=
π
n
10
sin
2
⁡
π
y
1
+
∑
i
=
1
29
y
i
-
1
2
1
+
10
sin
2
⁡
π
y
i
+
1
+
y
n
-
1
2
h
h
h
h
h
h
h
+
∑
i
=
1
30
u
x
i
,
10,100,4
h
h
h
h
h
h
h
h
h
y
i
=
1
+
1
4
x
i
+
1
30
-
50,50
n
0
Generalized penalized functions
f
13
x
=
0.1
sin
2
⁡
π
3
x
1
+
∑
i
=
1
29
x
i
-
1
2
1
+
sin
2
⁡
π
3
x
i
+
1
+
x
n
-
1
2
1
+
sin
2
⁡
2
π
30
h
h
h
h
h
h
h
+
∑
i
=
1
30
u
x
i
,
5,100,4
30
-
50,50
n
0
Remark: in f
12 and f
13,  u
x
i
,
a
,
k
,
m
=
k
x
i
-
a
m
,
x
i
>
a
0
,
-
a
≤
x
i
≤
a
k
-
x
i
-
a
m
,
x
i
<
-
a
Category III
f
14
x
=
1
500
+
∑
j
=
1
25
1
j
+
∑
i
=
1
2
x
i
-
a
i
j
6
-
1
2
-
65.536,65.536
n
1
Shekel’s foxholes function
f
15
x
=
∑
i
=
1
11
a
i
-
x
1
b
i
2
+
b
i
x
2
b
i
2
+
b
i
x
3
+
x
4
2
4
-
5
,
5
n
0.0003075
Kowalik’s function
f
16
x
=
4
x
1
2
-
2.1
x
1
4
+
1
3
x
1
6
+
x
1
x
2
-
4
x
2
2
+
4
x
2
4
2
-
5
,
5
n
-
1.0316285
Six-hump camel-back function
f
17
x
=
x
2
-
5.1
4
π
2
x
1
2
+
5
π
x
1
-
6
2
+
10
1
-
1
8
π
cos
⁡
x
1
+
10
2
-
5,10
×
[
0,15
]
0.398
Branin function
f
18
x
=
1
+
x
1
+
x
2
+
1
2
19
-
14
x
1
+
3
x
1
2
-
14
x
2
+
6
x
1
x
2
+
3
x
2
2
h
h
h
h
h
h
h
×
30
+
2
x
1
-
3
x
2
2
18
-
32
x
1
+
12
x
1
2
+
48
x
2
-
32
x
1
x
2
+
27
x
2
2
2
-
2
,
2
n
3
Goldstein-Price function
f
19
x
=
-
∑
i
=
1
4
c
i
exp
⁡
-
∑
j
=
1
4
a
i
j
x
j
-
p
i
j
2
3
0
,
1
n
-
3.86
Hartman’s family
f
20
x
=
-
∑
i
=
1
4
c
i
exp
⁡
-
∑
j
=
1
6
a
i
j
x
j
-
p
i
j
2
6
0
,
1
n
-
3.32
f
21
x
=
-
∑
i
=
1
5
x
-
a
i
x
-
a
i
T
+
c
i
-
1
4
0
,
10
n
-
10
Shekel’s family
f
22
x
=
-
∑
i
=
1
7
x
-
a
i
x
-
a
i
T
+
c
i
-
1
4
0
,
10
n
-
10
f
23
x
=
-
∑
i
=
1
10
x
-
a
i
x
-
a
i
T
+
c
i
-
1
4
0
,
10
n
-
10Category  I (High-Dimensional Unimodal Functions). Category  I is composed of high-dimensional functions f
1
–
f
7 and includes 30 molecules in each container. These functions are easy to solve because each objective function has only one global minimum.Category  II (High-Dimensional Multimodal Functions). Category  II provides high-dimensional functions f
8
–
f
13 and includes 30 molecules in each container. These functions consist of many local minimums and can solve the most difficult problem.Category  III (Low-Dimensional Multimodal Functions). Category  III includes low-dimensional functions f
14
–
f
23. In each container of functions, f
14, f
16, f
17, and f
18 contain 2 molecules; f
15, f
21, f
22, and f
23 contain 4 molecules; f
19 contains 3 molecules; and f
20 contains 6 molecules. These functions comprise several local minimums.Several parameters contained in MCRO include the main algorithm and the mutation operator parameters. Table2 illustrates the main parameters in our simulations:popsize InitialKE,buffer,KELossRate,On-wallColl,DecThres,SynThres, andStepSize.Table 2
MCRO parameters.
Parameter
popsize
InitialKE
Buffer
KELossRate
On-wallColl
DecThres
SynThres
Category I (f
1
–
f
7)
10
1000
0
0.1
0.2
150000
10
Category  II (f
8
–
f
13)
20
10000000
100000
0.1
0.2
150000
10
Category III (f
14
–
f
23)
100
1000
0
0.1
0.2
150000
10The mutation operator parameters in our experiment areprobability andDistributionIndex. We setprobability = 0.6 andDistributionIndex = 0.9 for every objective function.


## 4.2. MCRO Solution

To obtain the most appropriate MCRO solution, we considered three types of mutation operators: polynomial, uniform, and nonuniform. Our approach estimates start with alloyed CRO with turning operator, consequently integrating mutation operator to the algorithm. The first, second, and third options are the algorithms with polynomial, uniform, and nonuniform mutations, respectively. We generated the results of these three solutions by running each objective function 25 times. The optimal quality of the solution of each function is the mean of the best global minimum at 25 repeats. If the means of the results are equal, the second key for comparison is the standard deviation. All simulations included in Section4.3 are performed on the same personal computer and same computing environment with computer Intel Core i7, CPU 3.10 GHz, and Ram 4 GB.Table3 compares the results of Category  I functions for the three solutions. All of the solutions yield good results for f
1, f
2, f
3, f
4, and f
6. The algorithm with polynomial mutation is the leader for f
5, and the algorithm with uniform mutation generates the best result for f
7. The average result of Category  I functions is the same for the three solutions.Table 3
Comparisons of the result of the three solutions for Category I (f
1
–
f
7) (the best results are marked in bold).
Function
Result of
Algorithm with mutation
Polynomial
Uniform
Nonuniform
f
1
Mean
0
0
0
StDev.
0
0
0
Rank
1
1
1
f
2
Mean
0
0
0
StDev.
0
0
0
Rank
1
1
1
f
3
Mean
0
0
0
StDev.
0
0
0
Rank
1
1
1
f
4
Mean
0
0
0
StDev.
0
0
0
Rank
1
1
1
f
5
Mean
2.85
E
+
01
2.85
E
+
01
2.85
E
+
01
StDev.
1.05
E
-
02
1.51
E
-
02
1.38
E
-
01
Rank
1
3
2
f
6
Mean
0
0
0
StDev.
0
0
0
Rank
1
1
1
f
7
Mean
2.57
E
-
04
5.44
E
-
06
1.94
E
-
05
StDev.
2.07
E
-
04
6.80
E
-
06
1.71
E
-
05
Rank
3
1
2
Average rank
(f
1
–
f
7)
1.29
1.29
1.29
Rank
(f
1
–
f
7)
1
1
1Table4 compares the results of Category  II functions for the three solutions. The results of the three solutions are as good as those of the two other solutions in f
9, f
10, and f
11. The solution with polynomial mutation performs best for f
12 and f
13. The solution with nonuniform mutation generates the best result for f
8. The average result of high-dimensional multimodal functions is led by the solution combined with polynomial mutation, nonuniform mutation, and then uniform mutation.Table 4
Comparisons of the result of the three solutions for Category II (f
8
–
f
13) (the best results are marked in bold).
Function
Result of
Algorithm with mutation
Polynomial
Uniform
Nonuniform
f
8
Mean
-
1.24
E
+
04
-
6.26
E
+
03
-
1.24
E
+
04
StDev.
6.87
E
+
01
2.94
E
+
02
5.77
E
+
01
Rank
2
3
1
f
9
Mean
0
0
0
StDev.
0
0
0
Rank
1
1
1
f
10
Mean
4.44
E
-
16
4.44
E
-
16
4.44
E
-
16
StDev.
0
0
0
Rank
1
1
1
f
11
Mean
1
1
1
StDev.
0
0
0
Rank
1
1
1
f
12
Mean
2.51
E
-
06
4.61
E
-
03
3.22
E
-
06
StDev.
1.55
E
-
06
1.22
E
-
03
3.61
E
-
06
Rank
1
3
2
f
13
Mean
3.03
E
-
06
1.08
E
-
04
3.34
E
-
06
StDev.
2.15
E
-
06
6.33
E
-
05
2.28
E
-
06
Rank
1
3
2
Average rank
(f
8
–
f
13)
1.17
2.00
1.33
Rank
(f
8
–
f
13)
1
3
2Table5 compares the results of Category  III functions. The solution with polynomial mutation computes the best result for f
14, f
16, f
17, f
18, and f
19. Meanwhile, the solution with uniform mutation is the leader for f
15, f
20, f
21, f
22, and f
23, and the solution with nonuniform mutation performs best forf
15. The polynomial solution does not generate the best result for the remaining functions, but it produces close results to those of the leader for the first five functions. The average ranking of Category  III functions for the three solutions in order of solution is polynomial mutation, uniform mutation, and nonuniform mutation.Table 5
Comparisons of the result of the three solutions for Category III (f
14
–
f
23) (the best results are marked in bold).
Function
Result of
Algorithm with mutation
Polynomial
Uniform
Nonuniform
f
14
Mean
9.98
E
-
01
9.99
E
-
01
1.05
E
+
00
StDev.
8.60
E
-
11
1.62
E
-
03
1.94
E
-
01
Rank
1
2
3
f
15
Mean
3.92
E
-
04
3.79
E
-
04
3.42
E
-
04
StDev.
3.11
E
-
05
2.34
E
-
05
1.64
E
-
05
Rank
3
2
1
f
16
Mean
-
1.03
E
+
00
-
1.03
E
+
00
-
1.03
E
+
00
StDev.
4.51
E
-
03
4.81
E
-
03
4.68
E
-
03
Rank
1
3
2
f
17
Mean
3.98
E
-
01
3.98
E
-
01
3.98
E
-
01
StDev.
9.86
E
-
05
6.16
E
-
04
4.51
E
-
04
Rank
1
3
2
f
18
Mean
3.00
E
+
00
3.00
E
+
00
3.00
E
+
00
StDev.
1.14
E
-
04
1.75
E
-
03
1.53
E
-
03
Rank
1
3
2
f
19
Mean
-
3.86
E
+
00
-
3.86
E
+
00
-
3.86
E
+
00
StDev.
2.42
E
-
03
3.95
E
-
03
4.82
E
-
03
Rank
1
2
3
f
20
Mean
-
3.31
E
+
00
-
3.31
E
+
00
-
3.26
E
+
00
StDev.
5.33
E
-
03
4.67
E
-
03
2.55
E
-
02
Rank
2
1
3
f
21
Mean
-
1.01
E
+
01
-
1.01
E
+
01
-
1.01
E
+
01
StDev.
3.06
E
-
02
1.56
E
-
02
1.06
E
-
01
Rank
2
1
3
f
22
Mean
-
1.04
E
+
01
-
1.04
E
+
01
-
1.03
E
+
01
StDev.
3.14
E
-
02
1.39
E
-
02
7.40
E
-
02
Rank
2
1
3
f
23
Mean
-
1.05
E
+
01
-
1.05
E
+
01
-
1.05
E
+
01
StDev.
1.32
E
-
02
1.28
E
-
02
6.52
E
-
02
Rank
2
1
3
Average rank
(f
14
–
f
23)
1
.
6
0
1
.
9
0
2
.
5
0
Rank
(f
14
–
f
23)
1
2
3
Overall  rank
(f
1
–
f
23)
1.3
9
1.7
4
1
.
83
Rank
(f
1
–
f
23)
1
2
3The overall ranking is shown in the bottom of Table5. The solution with polynomial mutation derives the most excellent results, followed successively by uniform mutation and nonuniform mutation. Hence, we prefer polynomial mutation operator for MCRO.


## 4.3. Experimental Method and Results

The aim of the present experiment is to evaluate the performance of MCRO by comparing it with three previously published algorithms: RCCRO4 [12], the best version of RCCRO; HP-CRO2 [18], the best version of HP-CRO and a hybrid of CRO and PSO; and OCRO [19], which represents the best results among the three algorithms. We generated the result for MCRO, OCRO, HP-CRO2, and RCCRO4 by running each objective function 25 times.We provided three experiment methods to evaluate the capability of comparison algorithms. These three methods were evaluated for optimal solution quality, convergence speed, and statistical hypothesis testing.(1) Optimal Solution Quality Evaluation. For each objective function, the optimal solution or the best global minimum is the most important result in each runtime. In a computing time, each round of iteration contains the local minimum as a result. Consequently, if the current global minimum is worse than the local minimum, then the current global minimum is replaced by the local minimum. The best global minimum at each computing time is generated when the program meets the stop condition of MCRO and other optimization algorithms. The mean of the best global minimum at 25 computing times is the optimal solution of each function. If the optimal solutions of the competitors are equal, then the second key for comparison is the standard deviation. The following optimal solution quality evaluations are demonstrated.Table6 presents the optimal solution quality evaluation of MCRO, OCRO, HP-CRO2, and RCCRO4 for high-dimensional unimodal functions or Category  I (f
1
–
f
7). MCRO performs best for f
1, f
2, f
3, f
4, f
6, and f
7 but not for f
5. MCRO and OCRO are the best for f
1, f
2, f
3, and f
6; HP-CRO2 and RCCRO4 derive the same results as MCRO and OCRO for f
6. RCCRO4 generates the best result for f
5. The ranking of optimal solution quality for Category  I functions in descending order is as follows: MCRO, OCRO, HP-CRO2, and RCCRO4.Table 6
Optimal solution quality for Category I (f
1
–
f
7) (the best results are marked in bold).
Function
FEs
Result of
MCRO
OCRO
HP-CRO2
RCCRO4
f
1
150000
Mean
0
0
2.01
E
-
53
2.20
E
-
07
StDev.
0
0
9.83
E
-
53
3.83
E
-
08
Rank
1
1
3
4
f
2
150000
Mean
0
0
7.14
E
-
06
2.076
E
-
03
StDev.
0
0
2.81
E
-
05
3.206
E
-
04
Rank
1
1
3
4
f
3
250000
Mean
0
0
1.55
E
-
102
2.41
E
-
07
StDev.
0
0
5.91
E
-
102
6.01
E
-
08
Rank
1
1
3
4
f
4
150000
Mean
0
5.73
E
-
21
4.43
E
-
04
8.521
E
-
03
StDev.
0
1.83
E
-
20
2.56
E
-
04
2.348
E
-
03
Rank
1
2
3
4
f
5
150000
Mean
2.85
E
+
01
2.75
E
+
01
2.22
E
+
01
2.61
E
+
01
StDev.
1.05
E
-
02
1.60
E
-
01
3.50
E
+
01
5.61
E
+
01
Rank
4
3
1
2
f
6
150000
Mean
0
0
0
0
StDev.
0
0
0
0
Rank
1
1
1
1
f
7
150000
Mean
2.57
E
-
04
2.08
E
-
03
8.18
E
-
03
3.82
E
-
03
StDev.
2.07
E
-
04
9.96
E
-
04
2.87
E
-
03
1.39
E
-
03
Rank
1
2
4
3
Average
Rank
(f
1
–
f
7)
1.43
1.57
2.5771
3.14
Rank
(f
1
–
f
7)
1
2
3
4Table7 compares the optimal solution quality for Category  II functions. MCRO performs best for f
9, f
10, f
11, and f
12; OCRO generates the same results as MCRO for f
9, f
10, and f
11; HP-CRO2 is the best for f
13; RCCRO4 has the best result for f
8. The ranking of optimal solution quality for Category  II functions in descending order is the same as that for Category  I.Table 7
Optimal solution quality for Category II (f
8
–
f
13) (the best results are marked in bold).
Function
FEs
Result of
MCRO
OCRO
HP-CRO2
RCCRO4
f
8
150000
Mean
1.24
E
+
04
-
1.00
E
+
04
1.24
E
+
04
-
1.26
E
+
04
StDev.
6.87
E
+
01
1.61
E
+
02
1.61
E
+
02
7.86
E
+
01
Rank
3
4
2
1
f
9
250000
Mean
0
0
6.20
E
-
04
1.57
E
-
03
StDev.
0
0
1.31
E
-
03
4.18
E
-
04
Rank
1
1
3
4
f
10
150000
Mean
4.44
E
-
16
4.44
E
-
16
6.88
E
-
12
2.18
E
-
03
StDev.
0
0
2.33
E
-
11
2.60
E
-
04
Rank
1
1
3
4
f
11
150000
Mean
1
1
1.00
E
+
00
1.00
E
+
00
StDev.
0
0
1.04
E
-
14
1.393
E
-
07
Rank
1
1
3
4
f
12
150000
Mean
2.51
E
-
06
9.80
E
-
04
1.08
E
-
01
6.223
E
-
02
StDev.
1.55
E
-
06
1.75
E
-
04
2.09
E
-
01
1.312
E
-
01
Rank
1
3
4
2
f
13
150000
Mean
3.03
E
-
06
1.12
E
-
02
1.04
E
-
14
6.46
E
-
06
StDev.
2.15
E
-
06
2.76
E
-
03
1.59
E
-
14
4.56
E
-
06
Rank
2
4
1
3
Average
Rank
(f
8
–
f
13)
1.50
2.33
2.67
3.00
Rank
(f
8
–
f
13)
1
2
3
4Table8 compares the results of Category  III functions. MCRO is the best in this category because it generates the best results for 8/10 functions: f
14, f
16, f
17, f
18, f
19, f
21, f
22, and f
23. MCRO is followed by OCRO, which is the best for f
15. HP-CRO2, which generates the best result for f
20, is in third rank, followed by RCCRO4 in fourth rank. The ranking of optimal solution quality for Category  III functions in descending order is the same as that for Categories I and II.Table 8
Optimal solution quality for Category II (f
14
–
f
23) (the best results are marked in bold).
Function
FEs
Result of
MCRO
OCRO
HP-CRO2
RCCRO4
f
14
7500
Mean
9.98
E
-
01
9.98
E
-
01
9.98
E
-
01
9.98
E
-
01
StDev.
8.60
E
-
11
8.71
E
-
10
6.46
E
-
04
2.62
E
-
07
Rank
1
2
4
3
f
15
250000
Mean
3.92
E
-
04
3.80
E
-
04
2.05
E
-
03
5.27
E
-
04
StDev.
3.11
E
-
05
6.12
E
-
05
5.62
E
-
03
9.87
E
-
05
Rank
2
1
4
3
f
16
1250
Mean
-
1.03
E
+
00
-
1.01
E
+
00
-
1.01
E
+
00
-
9.67
E
-
01
StDev.
4.51
E
-
03
1.89
E
-
02
2.19
E
-
02
9.50
E
-
02
Rank
1
2
3
4
f
17
5000
Mean
3.98
E
-
01
3.99
E
-
01
3.98
E
-
01
3.98
E
-
01
StDev.
9.86
E
-
05
9.79
E
-
04
3.96
E
-
04
4.35
E
-
02
Rank
1
4
2
3
f
18
10000
Mean
3.00
E
+
00
3.00
E
+
00
3.00
E
+
00
3.04
E
+
00
StDev.
1.14
E
-
04
1.85
E
-
04
6.14
E
-
04
4.33
E
-
02
Rank
1
2
3
4
f
19
4000
Mean
-
3.86
E
+
00
-
3.86
E
+
00
-
3.86
E
+
00
-
3.86
E
+
00
StDev.
2.42
E
-
03
2.80
E
-
03
3.73
E
-
03
5.42
E
-
03
Rank
1
2
3
4
f
20
7500
Mean
-
3.31
E
+
00
-
3.25
E
+
00
-
3.32
E
+
00
-
3.32
E
+
00
StDev.
5.33
E
-
03
2.41
E
-
02
1.78
E
-
03
2.13
E
-
03
Rank
3
4
1
2
f
21
10000
Mean
-
1.01
E
+
01
-
9.57
E
+
00
-
9.50
E
+
00
-
9.03
E
+
00
StDev.
3.06
E
-
02
7.37
E
-
01
3.85
E
-
01
2.59
E
+
00
Rank
1
2
3
4
f
22
10000
Mean
-
1.04
E
+
01
-
9.96
E
+
00
-
9.75
E
+
00
-
1.03
E
+
01
StDev.
3.14
E
-
02
4.83
E
-
01
4.77
E
-
01
2.55
E
-
02
Rank
1
3
4
2
f
23
10000
Mean
1.05
E
+
01
-
1.00
E
+
01
-
9.91
E
+
00
-
9.562
E
+
00
StDev.
1.32
E
-
02
6.05
E
-
01
5.31
E
-
01
2.213
E
+
00
Rank
1
2
3
4
Average
Rank
(f
14
–
f
23)
1.30
2.40
3.00
3.30
Rank
(f
14
–
f
23)
1
2
3
4
Average rank
(f
1
–
f
23)
1.39
2.13
2.78
3.17
Overall Rank
(f
1
–
f
23)
1
2
3
4The overall ranking presented at the bottom of Table8 shows that MCRO performs best in the optimal solution quality evaluation. MCRO is followed successively by OCRO, HP-CRO2, and RCCRO4.(2) Convergence Speed Evaluation. Convergence speed is an essential issue that indicates the performance of algorithms in optimization. In our experiment, the convergence speed of the algorithm was calculated by counting the number of iterations (FEs) before the algorithm converges with the accepted result. The accepted result is the results given there are the average FEs needed to reach the threshold expressed as acceptable solutions for each objective function such as acceptable solution of f
1 is 1
E
-
60, the robust algorithm has to generate the result at lease not worse than accepted result. The algorithm with fewer FEs is more powerful than that with greater FEs. Table 9 compares the convergence speeds of the algorithms. MCRO demonstrates the fastest convergence speed for all functions, except for f
8, where HP-CRO2 is the best, and for f
19 and f
21, where OCRO is the best. In addition, the distance between MCRO and the second best of each function is significant. For f
1, f
3, f
4, f
10, f
11, and f
14, MCRO converges the accepted results with 691, 819, 338, 896, 1056, and 314 FEs, respectively, whereas OCRO, respectively, has 23253, 25053, 31245, 65200, 64947, and 2818 FEs for the same functions. For f
22, MCRO and RCCRO4 undergo 28 and 4721 FEs, respectively. The convergence speed ranking of comparison algorithms for all objective functions from fastest to slowest is as follows: MCRO, OCRO, HP-CRO2, and RCCRO4.Table 9
Convergence speed (the best results are marked in bold).
Function
Accept
MCRO
OCRO
HP-CRO2
RCCRO
Function
Accept
MCRO
OCRO
HP-CRO2
RCCRO
f
1
1
E
-
60
691
23253
138711
x
f
13
1
E
-
02
29767
95685
51597
81992
Rank
1
2
3
4
Rank
1
4
2
3
f
2
1
E
-
10
334
2620
105625
x
f
14
9.99
E
-
01
314
2818
2996
3354
Rank
1
2
3
4
Rank
1
2
3
4
f
3
1
E
-
110
819
25053
237038
x
f
15
4
E
-
03
2075
44535
56843
90405
Rank
1
2
3
4
Rank
1
2
3
4
f
4
1
E
-
04
338
31245
128103
x
f
16
-
1.02
166
651
752
937
Rank
1
2
3
4
Rank
1
2
3
4
f
5
5
E
+
01
1251
6732
23608
120316
f
17
3.99
E
-
01
1544
3849
3419
2935
Rank
1
2
3
4
Rank
1
4
3
2
f
6
1
E
-
06
704
4695
29235
97733
f
18
3.0001
5239
8444
7555
x
Rank
1
2
3
4
Rank
1
3
2
4
f
7
1
E
-
02
349
9471
107379
48223
f
19
-
3.85
2324
2011
2331
2703
Rank
1
2
4
3
Rank
2
1
3
4
f
8
-
1
E
+
04
6741
53688
4306
11499
f
20
-
3.30
2469
6233
5643
3662
Rank
2
4
1
3
Rank
1
4
3
2
f
9
1
E
-
03
909
3928
103567
138790
f
21
-
9
8232
6143
7278
6220
Rank
1
2
3
4
Rank
4
1
3
2
f
10
1
E
-
13
895
65200
74078
x
f
22
-
9
28
5419
7604
4721
Rank
1
2
3
4
Rank
1
3
4
2
f
11
1
1056
64947
x
x
f
23
-
9
3796
5974
7210
4745
Rank
1
2
3
3
Rank
1
3
4
2
f
12
1
E
-
03
15711
75733
28990
89666
Rank
1
3
2
4
Average
(Rank)
1.22
2.43
2.91
3.35
Rank
1
3
4
2After evaluating the convergence speed on the basis of iteration number, we evaluated the same parameter in MCRO, OCRO, HP-CRO2, and RCCRO4 by drawing a convergence curve for specific functions (f
4, f
7, f
9, f
10, f
11, and f
23) in a particular run. MCRO remains the most advantageous among the four algorithms.(3) Statistical Hypothesis Testing. Friedman test [26], a well-known nonparametric statistical test, was used to assess the statistical hypothesis. Friedman test evaluates the differences or equality of results among competitor algorithms. We calculated the Friedman statistic according to x
2 distribution with k
-
1 degrees of freedom. Then, we estimated the p value according to normal approximations. The Friedman statistic F
f is presented as Formula (6). Parameter n is the number of objective functions, which is 23 in our test. k represents the number of comparison algorithms. In this case, we compared our proposed algorithm MCRO with three previous algorithms (OCRO, HP-CRO2, and RCCRO4); hence k
=
4. Friedman rank or R
j is searching by transforming the quality results of MCRO, OCRO, HP-CRO2, and RCCRO4 to ranks for each objective function (i). In cases of equal ranks, the average ranks are assigned: (6)
F
f
=
12
n
k
k
+
1
∑
j
R
j
2
-
k
k
+
1
2
4
.Table10 demonstrates the results of Friedman rank test in terms of the comparison of optimal solution quality and convergence speed. MCRO achieves the best rank in the statistic test comparing both the optimal solution quality and the convergence speed on the basis of the corresponding Friedman ranks 1.59 and 1.22, the statistic F
f values 21.76398 and 35.96694, and the p values 7.30387
E
-
05 and 7.60987
E
-
08. In addition, the results explicitly display significant differences across the competing algorithms. In multiple comparisons, the post hoc test was utilized to compare a set of algorithms with a control algorithm (best algorithm). The post hoc test starts with finding the test statistic z of the ith and jth algorithms, which is processed using Formula (7). Consider(7)
z
=
R
i
-
R
j
k
k
+
1
/
6
,where R
i and R
j are the Friedman ranks of the compared algorithms.Table 10
Result of Friedman test.
Algorithm
Friedman ranks
Friedman ranks
Optimal result quality
Convergence
MCRO
1.59
1.22
OCRO
2.33
2.43
HP-CRO2
2.85
2.93
RCCRO4
3.24
3.41
StatisticF
f
21.76398
35.96694
p value
7.30387
E
-
05
7.60987
E
-
08The unadjustedp value was calculated using the z value from the table of normal distribution N
(
0,1
). The z value was then compared with an appropriate level of significance α. In the present study, the following three computing procedures were applied to obtain the adjusted p values (APVs): Bonferroni-Dunn procedure [27] presented as Formula (8), Holm procedure [28] assigned as Formula (9), and Hochberg procedure [29] expressed as Formula (10). Subscripts i and j are indexes that each corresponds to a concrete hypothesis, and p
j is the p-value obtained for the jth hypothesis.The Bonferroni-Dunn procedure adjusts the valueα through a single step: (8)
Bonferroni
A
P
V
i
:
min
⁡
v
,
1
,
where
v
=
k
-
1
p
i
.The Holm procedure adjusts the valueα in a step-down manner:(9)
Holm
A
P
V
i
:
min
⁡
v
,
1
,
where
v
=
max
⁡
k
-
j
p
j
:
1
≤
j
≤
i
.The Hochberg procedure adjusts the valueα in a step-up direction:(10)
Hochberg
A
P
V
i
:
min
⁡
k
-
j
p
j
:
k
-
1
≥
j
≥
i
.The results of the APVs for the Friedman test are shown in Table11, where the control algorithm is the proposed algorithm MCRO. These results comprise the z value, unadjusted p values, and APVs that were extracted using the post hoc procedures and computed using the three procedures. We compared the results for both optimal solution quality and convergence speed. MCRO is superior to RCCRO4, HP-CRO2, and OCRO in all post hoc procedures considered.Table 11
Adjustedp values for the Friedman test (control algorithm: MCRO).
Compare method
Algorithm
z
Unadjusted
p value
Bonferroni-Dunn
Holm
Hochberg
Result quality (StDev.)
RCCRO4
4.334195427
1.46294
E
-
05
4.38883
E
-
05
4.38883
E
-
05
4.38883
E
-
05
HP-CRO2
3.309749235
0.000933796
0.002801388
0.001867592
0.001867592
OCRO
1.943820979
0.051917043
0.155751129
0.051917043
0.051917043
Convergence
RCCRO4
5.752659385
8.78504
E
-
09
2.63551
E
-
08
2.63551
E
-
08
2.63551
E
-
08
HP-CRO2
4.491802534
7.06229
E
-
06
2.11869
E
-
05
1.41246
E
-
05
0.000014125
OCRO
3.178409980
0.001480852
0.004442556
0.001480852
0.001480852(4) Computation Time. Normally, the numbers of computation times are often proportional to capability of computer. Unlike the other results such as optimal solution quality and convergence speed, although the simulations perform on various personal computers, these results are very approximate. Hence our experiments disregard using the computation time as an evaluation method. However, the computation times appearing in Table 12 indicate that, in our simulated situation, the computer times for these four comparison algorithms are closed.Table 12
Computation times.
Function
Time to reach the best global optimum (sec.)
MCRO
OCRO
HP-CRO2
RCCRO4
f
1
0.0668
0.0050
0.0052
0.0063
f
2
0.0069
0.0066
0.0056
0.0068
f
3
0.0202
0.0073
0.0086
0.0095
f
4
0.0070
0.0076
0.0065
0.0123
f
5
0.0244
0.0102
0.0112
0.0165
f
6
0.0105
0.0098
0.0149
0.0088
f
7
0.0123
0.0274
0.0074
0.0553
f
8
0.0133
0.0528
0.0621
0.0433
f
9
0.0263
0.0324
0.0494
0.0335
f
10
0.0162
0.0195
0.0295
0.0443
f
11
0.0231
0.472
0.0547
0.0335
f
12
0.0238
0.0275
0.0288
0.0553
f
13
0.0255
0.0287
0.0301
0.0295
f
14
0.0007
0.0009
0.0009
0.0308
f
15
0.0165
0.0151
0.0156
0.0152
f
16
<0.0001
0.0005
0.0005
0.0005
f
17
<0.0001
0.0005
0.0009
0.0005
f
18
0.0002
0.0007
0.0007
0.0007
f
19
0.0001
0.0010
0.0010
0.0009
f
20
0.0005
0.0012
0.0011
0.0013
f
21
0.0005
0.0005
0.0005
0.0006
f
22
0.0006
0.0008
0.0008
0.0006
f
23
0.0008
0.0008
0.0009
0.0007


## 4.4. Discussion

Section4.2 recommends that the best MCRO solution is the combination of CRO, turning operator, and polynomial mutation operator. The solution with polynomial mutation obtains the most appropriate results over uniform and nonuniform mutations.The experimental results in Section4.3 substantiate that MCRO is more powerful than OCRO, HP-CRO2, and RCCRO4. MCRO can generate the best result on most of the 23 objective functions (see Figure 1). We determined several issues, such as optimal solution quality, convergence speed, and statistical hypothesis testing, to evaluate algorithm performance. Table 6 shows that MCRO can generate the best optimal solution for all high-dimensional unimodal functions. We can obtain the optimal solution 0 (equal f
m
i
n) and StdDev 0 for five functions (f
1, f
2, f
3, f
4, and f
6). MCRO achieves the best average rank in solving high-dimensional multimodal functions (Table 7) and performs the optimal solution 0 (equal f
m
i
n) and StdDev 0 for two functions (f
9 and f
11). For low-dimensional functions (Table 8), the results of MCRO are close to the true optimal, indicating that this algorithm is outstanding and consistent. Moreover, some comparison algorithms can generate the same results as MCRO in solving several objective functions, but MCRO converges faster than the other algorithms (Table 10).Figure 1


## 5. Conclusions and Future Work

This paper presents a hybrid optimization algorithm MCRO that solves global numerical optimization problems by combining CRO with turning and mutation operators. The most excellent MCRO framework is the utilization of the solution with polynomial mutation. Therefore, we provide polynomial mutation operator into our proposed approach. Our algorithm is advantageous because the nature of CRO is suitable for global numerical optimization, and turning operator is a perfect method to improve optimal solution quality and algorithm reliability. Furthermore, polynomial mutation operator accelerates algorithm convergence. To analyze the evaluation results, we compared the results of MCRO and other previously published algorithms (OCRO, HP-CRO2, and RCCRO4) in terms of optimal solution quality, convergence speed, and statistical hypothesis testing. There results indicate that MCRO is superior to other algorithms in solving global numerical optimization problems. Several potential parameters such asPopsize,InitialKE,buffer,KELossRate,On-wallColl,DecThres,SynThre,StepSize,probability, andDistributionIndex were also discussed.MCRO is useful in solving global numerical optimization problems with high-dimensional unimodal, high-dimensional multimodal, and low-dimensional functions. However, whether or not MCRO will also be excellent for solving other problem types is unclear. Hence, the applicability of MCRO to other problem types requires further research and consideration.Our future work will focus on investigating the applicability of MCRO to other numerical optimization problems and practical engineering optimization problems. We also intend to develop a new hybrid metaheuristic approach to solve optimization problems.



---

*Source: 375902-2015-12-09.xml*