1. Introduction
The constantly evolving families of evolutionary computation, swarm intelligence, metaheuristic and nature-inspired optimization algorithms have penetrated into various interdisciplinary scientific domains. Their applications to several optimization problems have offered a plethora of results and conclusions [
1]. Recent studies have indicated that these optimization algorithms are here to stay since associated methodologies emerge rapidly. Interesting discourse and debate regarding the classification of metaheuristic and original nature-inspired algorithms have also been examined [
2]. Thus, the need to evolve both the algorithms themselves as well as our own knowledge of them has arisen [
3,
4].
Regarding the improvement of existing metaheuristics/nature-inspired algorithms and their better utilization, one well-established approach is hybridization. We refer to hybrid algorithms as a combination or augmentation of two or more algorithms (and/or heuristics and metaheuristics) in order for them to work together to find the solution of a problem more effectively. This synergy can be achieved in many fashions: algorithms can work in parallel, compete or cooperate, switch places once or multiple times, or augment each other by sharing techniques and knowledge. A hybrid method can be more competitive or cooperative in nature, this depends on the hybridization scheme and the algorithms chosen. In evolutionary optimization, hybridization seems to be very popular and successful since it allows the utilization of advantages of more than one algorithms, while also combating some of their disadvantages. Many well-established nature-inspired algorithms have been incorporated into hybrids with other algorithms or techniques, resulting in many effective approaches which can also be utilized for diverse applications [
5,
6,
7,
8,
9].
Brain storm optimization (BSO) is a relatively new nature-inspired evolutionary algorithm, which was originally introduced by Shi in [
10]. BSO is considered a promising optimization method with several variants [
11,
12,
13] and applications, e.g., in electromagnetic engineering [
14]. BSO models the social behavior of brainstorming amongst a group of people with different characteristics and backgrounds. The goal of BSO is to consistently invent and improve ideas as solutions of a problem. On the other hand, particle swarm optimization (PSO) is an immensely popular nature-inspired optimization algorithm that efficiently models the behavior of a flock of birds in search of food. The group cooperates and shares some knowledge and alignment. Since its introduction and refinement by Kennedy, Eberhart and Shi in [
15,
16], PSO has been used in a multitude of optimization problems and proven to be a robust and relatively simple method. There exist several PSO variants that expand on the algorithm’s topologies, cooperation behaviors, problem domains, stochastic behaviors and more. The chaotic accelerated PSO (CAPSO) algorithm is such a variant [
17], which utilizes chaotic maps, and has been successfully applied to different optimization problems, e.g., [
18,
19,
20]. It constitutes an improvement of accelerated PSO (APSO), serving as a more exploitative and simplified PSO algorithm [
21,
22]. It is worth noting that both BSO (e.g., [
23,
24,
25,
26,
27]) and PSO (e.g., [
27,
28,
29,
30,
31,
32]) are popular hybridization candidates.
For evolutionary global optimization algorithms, the importance of the exploration and exploitation phases is tremendous. Exploration ensures that the algorithm reaches different promising areas of the search space. Additionally, exploration serves the algorithm as a means to escape getting trapped into a local optimum. Exploitation allows the algorithm to effectively search a given promising area around a current solution. It is more comparable to local search behavior. The right balance between exploration and exploitation is necessary, but it is difficult to perfect. The most common approach is to encourage exploration during the initial iterations of the optimization process and exploitation during the later ones. This balance, also referred to as the exploration–exploitation trade-off, is one of the main points of focus when such a metaheuristic is fine tuned with respect to its own parameters.
BSO has demonstrated better speed in its global exploration for a random initialization compared to PSO, with the latter, however, being more competent at local exploitation when given a predefined initialization [
33]. BSO utilizes a clustering process that is impactful and necessary for the algorithm’s update scheme, but, unfortunately, it can be computationally heavy. Considering the above facts, in this work, we hybridized BSO with CAPSO, which is computationally lighter than BSO and more simplistic than PSO. Our main aim was to create a hybrid that served as a possible improvement compared to BSO. The developed BSO–CAPSO hybrid initially ran as BSO, then it continued the optimization process as CAPSO. The two algorithms were used as simple building blocks, facilitating their development and application. Similarly, recent approaches can be found in [
34,
35], where PSO is hybridized with strategies/algorithms considering exploration and exploitation characteristics and benefits.
BSO–CAPSO was tested on seven benchmark functions of various characteristics for different numbers of dimensions. Results showed advantageous behavior when compared to stand-alone BSO and CAPSO. Particularly, the results provided demonstrated that the BSO–CAPSO hybrid achieved the following:
It severely outperformed CAPSO for most types of optimization benchmarks that were tested.
It was more effective when optimizing unimodal functions compared to BSO.
It showed advantageous behavior in multimodal problems with various degrees of success compared to BSO.
It was noticeably computationally lighter than BSO, to around one third of its computation time.
It led to high-quality local search areas within a short amount of iterations.
Thus, the BSO–CAPSO hybrid could be successfully used to explore areas of complex optimization problems efficiently and provide useful solutions or local search areas. It could improve both of the stand-alone algorithms, while its application was not of greater complexity.
The rest of the paper is outlined as follows. In
Section 2, the theoretical bases of stand-alone BSO and CAPSO are presented in detail. In
Section 3, we present the BSO–CAPSO hybrid as a concept; its parameters and hybridization method are demonstrated and explained. In
Section 4, we expand on the experimental parameters and conditions while the benchmarking functions are also provided in detail. Information regarding the hybrid’s parameter tuning is provided alongside a detailed presentation of the parameters used for our set of experiments. In
Section 5, the results for all the experiments are provided. The BSO–CAPSO hybrid is compared to the stand-alone BSO and CAPSO algorithms for all the benchmarking functions and for different numbers of dimensions. Computation time is also accounted for. The results are accompanied by several convergence diagrams to visualize the differences of the algorithms’ behaviors and efficiency. Finally, in
Section 6, the observations regarding the results provided are organized and presented, and the benefits of the BSO–CAPSO hybrid are discussed. Additionally, further discussions regarding the applications of the proposed hybrid algorithm and future experimentation are included.
2. Background
2.1. Brain Storm Optimization (BSO)
BSO is inspired by the brainstorming process observed in groups of humans, which is generally characterized by a plethora of behaviors and mental processes. During brainstorming, a heterogeneous group of people tries to find solutions to a given problem. The group has the ability to generate new ideas, exchange information, inspire each other, form subgroups and constantly improve the candidate solution(s) formed within the group.
The algorithm modeling such a behavior was introduced by Shi in [
10]. Precisely, a group of
N people gathers to facilitate solutions to a difficult problem. Through the various interactions and dynamics, new ideas are generated with respect to Osborn’s four original laws of the brainstorming process [
36]:
Suspend judgement: No idea can be denoted as good or bad. Judging too early is also advised against. The judgement of ideas is reserved for the end of the brainstorming process.
Anything goes: Any generated idea holds potential value, so every idea is presented to and shared with the group.
Cross-fertilize (piggyback): A plethora of ideas can come to life when an already existing idea is further explored and improved. Ideas themselves should be treated as generators of new ideas.
Go for quantity: It is of great importance to generate a very large number of ideas. Improved ideas come from other ideas, so quality depends on quantity for this concept and it will naturally emerge in time.
2.2. The BSO Algoritm
The original BSO algorithm has received various modifications to improve its effectiveness and adaptability to optimization problems. BSO, as it has been developed in this work, is described in the following steps.
Population initialization: As is common for evolutionary stochastic optimization,
N points in a
D-dimensional search space are randomly generated. In BSO, they are referred to as ideas. The initialization formula for the
idea is
where
d is one of the
D dimensions and
are its maximum and minimum boundaries, respectively. The function
returns a number between 0 and 1 via a uniform distribution.
Idea clustering: The
N ideas are clustered into
m groups, depending on their positions in the search space. Various clustering methods have been applied to and experimented with BSO. In this work, we used the
k-means algorithm [
10,
37], which is the most popular. The variant applied to
k-means is
k-means++.
Idea evaluation: Each idea’s fitness is evaluated with respect to the objective function, f. The best idea in each one of the m clusters is denoted as the cluster center.
Cluster center disruption: This occasionally occurs to increase the population’s diversity. Disruption is controlled by the probability
. A random number is generated. If this number is smaller than
, one of the clusters is randomly selected and its center is replaced by a newly generated idea according to Equation (
1).
Idea population update: The most important step in evolutionary global optimization algorithms is the update scheme. In BSO, a new idea can be generated from a chosen one. The update formula, see [
10], is
where
is a Gaussian random value with mean 0 and variance 1. The original BSO algorithm [
10] used a logarithmic sigmoid function for
, while alternative approaches were also developed [
38,
39,
40]. In this work, see [
14,
33],
is calculated by
where
T is the maximum number of iterations,
t is the current iteration and
adapts to the size of the search space as
The idea can be a single selected idea from one cluster or a combination of two ideas from two clusters. This is similarly controlled by a probability, .
- (a)
In one-cluster idea selection, a single cluster is selected. The probability of choosing a cluster is proportional to its size. After the cluster is chosen, is either its center or a randomly chosen idea in it. This is controlled by .
- (b)
In
two-cluster idea selection, two clusters are randomly chosen. The probability of choosing each cluster is the same. Similarly to one-cluster selection, either two centers or two random ideas are chosen. This is controlled by
. The two selected ideas are combined as
Then,
is used to generate a new idea by means of Equation (
2). The newly generated idea is compared to the current idea,
i. If it is evaluated as better, it replaces the current idea. Namely, for minimization problems, we have
while for maximization problems we have
This iterative process takes place for all the individuals (ideas) in the population until the entire population has been updated for the cases when Equations (
6) or (
7) apply.
Termination criteria: Many termination criteria can be applied to BSO. One of the most common ones, and the one used in this paper, is when the maximum number of iterations T is reached. This mean that the population update process occurs T times.
Algorithm 1 contains simple pseudocode for the developed BSO.
Algorithm 1: BSO Algorithm |
|
Clustering: k-Means Algorithm
In general, a clustering algorithm is presented with a set of objects (or data points) and groups them into clusters, meaning groups, according to the similarities they share. Clustering is a process met in many fields, such as data analysis, machine learning and pattern recognition. BSO utilizes clustering in order to group similar ideas (solutions) together. In BSO, ideas exist in the D-dimensional space of the optimization problem, thus similarity is examined as the distance between them in that space.
The
k-means algorithm is a clustering algorithm that groups objects according to their Euclidean distance with respect to the space they belong in [
41]. It forms groups around centers (centroids), which are the same in number as the number of clusters needed, and keeps refining them according to their distances from the iteratively updated centroids. Basic pseudocode for the
k-means clustering process is presented in Algorithm 2.
In the
k-means++ variant of the algorithm [
42], the process is exactly the same except for the consideration of more refined sampling during the centroid initialization phase in order to speed up convergence. Particularly, it initializes the centroids to be adequately distant from each other, leading to (probably) better results than random initialization.
Algorithm 2: k-means Algorithm |
|
It should be emphasized that the centroid of the k-means or k-means++ algorithm is not related to the cluster center we referred to in the BSO algorithm. The centroid is not necessarily a member of the population, it is a point in space that serves as a center and a point of reference. On the other hand, the cluster center is defined after the clusters are obtained as the solution with the fittest objective function evaluation.
2.3. Chaotic Accelerated Particle Swarm Optimization (CAPSO)
The original PSO algorithm [
15,
16] is inspired by the swarm intelligence observed in the behavior of swarms of birds in search for food. Swarms of birds (and other species, e.g., schools of fish) have the ability to cooperate instead of compete in order to find food sources. The members of the swarm have the ability to maintain cohesion, alignment and separation, while they also exhibit cognitive behaviors. They have memory for their own past success during the exploration process, while they can also communicate useful information to each other regarding food allocation.
Usually, in PSO algorithms, we do not refer to animals, but particles, meaning points (vectors) in the D-dimensional solution space. Each particle, i, represents a member of the swarm with position and velocity , both being vectors of . In the original PSO algorithm, each particle takes into account both the global best position, , and its individual (local) best position, , when it updates its velocity, .
The updated velocity is then used to update the position . So, the update scheme of PSO is performed in two steps.
The accelerated PSO (APSO) algorithm was proposed by Yang in 2008 [
21,
22]. Since the individual best of PSO is mainly used for necessary diversity, in the APSO algorithm this is instead simulated by randomness. Additionally, in APSO, each particle’s position updates in a single step (contrasting the two steps of PSO) as follows:
where
, commonly taken in
, is referred to as the attraction parameter for the global best and
, multiplied by a probability distribution, offers useful randomness to the updates. Here, a Gaussian random distribution is chosen. Moreover, it has been shown that a decreasing
is beneficial for the algorithm since, in this manner, it controls the exploration–exploitation trade-off more adequately during the iterative process. To this end, a strictly-decreasing function,
, was chosen, with a commonly used one being
where
is a control parameter and
t refers to time (the current iteration). It is important to fine-tune
to the nature of the optimization problem and search area [
17,
21,
22].
The chaotic APSO (CAPSO) [
17] is a variant of the APSO algorithm. In the CAPSO algorithm, the same single-step routine with APSO is utilized (i.e., Equation (
8)), but a varying
is deemed beneficial for improved performance. This global attraction parameter is updated through a chaotic map. In [
17], many chaotic maps were tested, and the most advantageous results stemmed from the sinusoidal and singer maps. Here, a simplified sinusoidal map was chosen for
, particularly
Algorithm 3 contains simple pseudocode for CAPSO.
Algorithm 3: CAPSO Algorithm |
|
3. The BSO–CAPSO Hybrid Concept
The BSO–CAPSO hybrid approach is fairly simple. Since BSO has better initial exploration compared to PSO [
33], we can safely assume that this could be similar for CAPSO. Additionally, if CAPSO is provided with a predetermined initialization (which is practically a form of information exploitation), it could potentially converge to even better solutions than PSO, since it favors acceleration and exploitation.
Thus, the proposed hybrid algorithm randomly initializes its population, and it first runs as BSO for a fixed number of iterations. When this number of iterations is reached, it continues the optimization process as CAPSO, taking the last BSO updated population as its “initial” population, meaning that the CAPSO phase is active for the remaining iterations. It is worth mentioning that CAPSO is easy to implement and less computationally heavy than BSO, which uses clustering. Hence, the BSO–CAPSO hybrid is expected to demand less computation time than stand-alone BSO.
Important parameters: We refer to the iteration during which the switch between algorithms occurs as ; this parameter depends on the optimization problem. The guideline for selecting an advantageous is to approximately choose an iteration during which BSO starts to favor exploration less and begins to favor exploitation more. This could be observed in convergence diagrams or determined through some sampling procedure.
Furthermore, of the CAPSO phase is crucial since it affects a great part of CAPSO’s exploration–exploitation behavior. CAPSO’s and BSO’s are, after all, the functions that also represent the exploration–exploitation trade-off of their respective algorithms and they need to be adequately synchronized for the hybrid. The CAPSO phase of the BSO–CAPSO hybrid begins with . Since the initial exploration is carried out by BSO, must be adjusted to the optimization problem in a way that when the switch happens the value is as follows:
Not too large (too much added diversity), meaning CAPSO would not take advantage of BSO’s initial exploration.
Not too small (too little added diversity), meaning CAPSO would greatly favor exploitation too early and possibly become trapped in a local minimum and not be able to escape.
As with stand-alone APSO/CAPSO, it is recommended to investigate and fine-tune the decreasing function versus the optimization problem’s characteristics, as well as .
Clustering management: It is also important to note that since BSO utilizes the k-means (k-means++) algorithm, the results of the clustering process need to be appropriately managed. If there is some converging behavior during the BSO process of the hybrid, there is a possibility that the clustering algorithm returns with less clusters than the ones set as its parameter. In the hybrid algorithm’s developed code, we implemented simple mechanisms that always check the cluster number returned by the k-means algorithm and we adjusted the probabilities of cluster/idea picking accordingly so that the algorithm never chooses an empty cluster or nonexistent solution and, thus, fails.
Boundary enforcement: There exist many methods to ensure that candidate solutions remain within the lower and upper boundaries of the available
D-dimensional space; indicatively, we refer to [
43,
44]. In this iteration of the hybrid BSO–CAPSO algorithm, the technique we applied was
absorbing walls. This technique is quite straightforward: if a boundary is crossed, the value of the stray variable becomes the minimum (or maximum) value allowed, depending on which boundary is crossed. For the
idea/solution, if there is boundary crossing in the
dimension, the rule is enforced as follows (for the lower and upper boundary, respectively):
A simple technique was chosen since the examined benchmark functions were all of a different nature. In general, when an algorithm is applied to an open or complex problem, it is preferable to choose boundary conditions that cooperate sufficiently with the problem’s characteristics and constraints.
A flowchart diagram of the BSO–CAPSO hybrid algorithm is presented in
Figure 1.