Mathematical Problems in Engineering

Volume 2018, Article ID 8042689, 16 pages

https://doi.org/10.1155/2018/8042689

## An Advanced Chemical Reaction Optimization Algorithm Based on Balanced Local and Global Search

College of Automation Engineering, Nanjing University of Aeronautics and Astronautics, Nanjing 210016, China

Correspondence should be addressed to Min Zhang; nc.ude.aaun@nimgnahz

Received 21 September 2017; Accepted 21 January 2018; Published 16 April 2018

Academic Editor: Antonino Laudani

Copyright © 2018 Min Zhang et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

#### Abstract

An advanced chemical reaction optimization algorithm based on balanced local search and global search is proposed, which combines the advantages of adaptive chemical reaction optimization (ACRO) and particle swarm optimization (PSO), to solve continuous optimization problems. This new optimization is mainly based on the framework of ACRO, with PSO’s global search operator applied as part of ACRO’s neighborhood search operator. Moreover, a “finish” operator is added to the ACRO’s structure and the search operator is evolved by an adaptive scheme. The simulation results tested on a set of twenty-three benchmark functions, and a comparison was made with the results of a newly proposed hybrid algorithm based on chemical reaction optimization (CRO) and particle swarm optimization (denoted as HP-CRO). The finial comparison results show the superior performance improvement over HP-CRO in most experiments.

#### 1. Introduction

We often encounter optimization problems in scientific and technological research and development. Over the past decades, a series of optimization algorithms have been proposed: genetic algorithm (GA) (see, e.g., [1]), simulated annealing (SA) (see, e.g., [2]), ant colony optimization (ACO) (see, e.g., [3]), particle swarm optimization (PSO) (see, e.g., [4]), chemical reaction optimization (CRO) (see, e.g., [5]), and others. The optimization algorithms mentioned above are with the same objective, that is, to find a best (or optimal) solution.

In general, when faced with an optimization problem, we can always simplify it as follows: a solution and a solution space , an objective function , and a set of constraints (assume there are constraints), , which confine the search region, respectively. A particular solution is usually represented by a vector of variables , where corresponds to the problem dimensions.

The optimality of is evaluated by an objective function and its output value , that is, . Our objective can be to either maximize or minimize . In this paper we assume the latter. Then our goal is to find the minimum solution where , . Then a minimization problem can be described as follows:where , , and represent the real number set, the index set for equalities, and the index set for inequalities, respectively. The No-Free-Lunch theorem states that all metaheuristics which search for extreme are exactly the same in performance when averaged over all possible objective function (see, e.g., [6]). In other words, when one works excellent in a certain class of problems, it will be outperformed by the others in other classes.

In recent years, CRO has been proposed and attracted an increasing interest from the community of optimization algorithms, a variety of improved algorithms based on CRO has been suggested (see, e.g., [7–10]) and it has been applied in many fields (see, e.g., [11–15]). Of all these algorithms, adaptive chemical reaction optimization (ACRO) stands out and shows its strong superiority. PSO has been applied in variety of fields and shows its higher convergence speed. However, it usually converges to local minimum quickly and loses the opportunity to find a better one.

According to the introduction mentioned above, ACRO seems to be a well-performed optimization algorithm. However, similar to CRO, ACRO is still lacking in convergence speed. In order to avoid weaknesses of ACRO and PSO, we proposed a new algorithm which combines the advantages of both (denoted as AACRO).

The rest of the paper is organized as follows. Section briefly outlines the related works in this paper and gives the inspiration of our proposed algorithm. We explain the modifications of ACRO and introduce the basic framework of AACRO in Section. In Section, we propose the proof on convergence and provide the convergence speed analysis. In Section, we describe 23 benchmark problems. In Section, we present the simulations results and compare the results of AACRO and HP-CRO. In particular, Section presents the experimental environment, parameter settings are shown in Section, and Section gives the comparison results. We conclude this paper and give some potential future works in Section.

A good optimization algorithm must have a good global search performance as well as a good local search performance. However, global search and local search performance are always confined to each other in practice. For example, if an optimization algorithm is good at global search then it must be poor at local search and vice versa. In order to achieve the best performance, the two abilities should be well balanced.

#### 2. Related Works

##### 2.1. The Adaptive Chemical Reaction Algorithm

As an improvement of CRO, ACRO is proposed by Yu et al. in 2015 (see, e.g., [9]) and substantially inherits the standard CRO’s structure. ACRO reduces the number of parameters defined in canonical from eight (initial population size* (inipopsize)*, initial molecular kinetic energy* (iniKE)*, initial central energy buffer* (iniBuffer)*, molecular collision rate* (CollRate)*, energy loss rate* (LossRate)*, decomposition occurrence threshold* (DecThres)*, synthesis occurrence threshold* (SynThres)*, and perturbation step size* (StepSize)*) to three classes (energy-related, reaction-related, and real-coded-related) and makes the occurrence of elementary reactions adaptive.

The energy-related class includes* iniKE*,* iniBuffer*, and* LossRate*. The modifications of the parameters are as follows:where and are molecules with the largest and the smallest and the value for* LossRate* of each molecule is approximated by a modified folded normal distribution, which is generated from a normal distribution with a mean value of 0 and standard deviation of .

The reaction-related class includes* CollRate*,* SynThres*, and* DecThres*. A new parameter* ChangeRate* has been introduced to replace the original parameters* SynThres* and* DecThres* to control the frequency of decompositions and syntheses*.* And in order to control the number of molecules, , , and have been introduced to the system; then the population feedback term is modified as follows:where* curPopSize* is the current population size and* iniPopSize* is the initial population size. and determine that the probability the current iteration is a decomposition and a synthesis, respectively.

The real-code-related class includes* StepSize*. In order to solve the continuous optimization problems, the parameter* StepSize* needs to keep changing with iterations. The modification in* StepSize* is twofold.

*(1**) Initial Value of StepSize*where is the initial* StepSize* for the element in the solution and and are the upper and lower bounds for the element, respectively.

*(**2) Evolution of StepSize*. The strategy “1/5 success rule” (see, e.g., [16]) has been adopted to modify* StepSize* in the course of searching. This rule was originally stated as follows.

After every mutations, check how many successes have occurred over the preceding mutations. If the number is less than , multiply the step lengths by the factor 0.85; divide them by 0.85 if more than successes occurred.

Besides these parameter modifications, the framework of ACRO is similar to the canonical CRO. ACRO also satisfies two thermodynamics laws and four basic reactions (i.e., on-wall ineffective collision, decomposition, intermolecular ineffective collision, and synthesis).

###### 2.1.1. On-Wall Ineffective Collision Operator

An on-wall ineffective collision represents the situation when a molecule collides with the container (i.e., ). This can be done by picking in the neighborhood of , so it only leads to a small change of the previous molecule’s structure. With the increasement of this elementary reaction, more and more will be transferred to the buffer and offers the energy needed in decomposition. This process can be regarded as a kind of local search of the solution space.

###### 2.1.2. Intermolecular Ineffective Collision Operator

Intermolecular ineffective collision takes place when molecules collide with each other and then bounce away. The molecules (assume two) (i.e., ) remain unchanged before and after the process. This elementary reaction is very similar to the on-wall ineffective collision operator but no external buffer is involved. The new molecules and are generated from their own neighborhoods. This process can also be regarded as a kind of local research.

###### 2.1.3. Decomposition Operator

Decomposition refers to the situation when a molecule hits the wall and breaks into several parts (for simplicity, we only consider two parts, i.e., ). The idea of decomposition is to allow the system to explore other regions of the solution space after enough local search by the ineffective collisions, so this process can be regarded as a local search over a wider range.

###### 2.1.4. Synthesis Operator

A synthesis happens when multiple (assume two) molecules collide with each other and then fuse together (i.e., ). The resulting molecules have a higher “ability” to explore a new solution region. In other words, the resultant molecule may appear in a region farther away from the existing ones in the solution space. The idea behind synthesis is a kind of global research.

Based on the framework introduced above, we can formulate ACRO algorithm as Algorithm 1.