## 1. Introduction

Many real world problems are quite expensive to be solved by using exhaustive computation. Because of this, many metaheuristics have been proposed recently to deal with optimization and search problems. Although many approaches have been proposed based on local search, the current research in Evolutionary Computation (EC) is mainly focused on algorithms that are based on populations and inspired in nature (Schwefel, 1981; Bäck, 1996; Fogel, 1996; Beyer, 2001; Beyer, 2002).

In this context, Swarm intelligence techniques, mainly Particle Swarm Optimization (PSO), have been widely applied to solve many different types of optimization problems. PSO was proposed by Kennedy and Eberhart (Kennedy & Eberhart, 1995) and the main idea is to explore the intelligence originated by the social knowledge disseminated by the agents during the search process. Due to its great performance in difficult optimization tasks and its simplicity, PSO became a popular, easy-to-use and extendable technique (Abido, 2001; Eberhart & Shi, 2001; Parsopoulos & Vrahatis, 2001; Agrafiotis & Cedeno, 2002; Coello Coello & Lechuga, 2002; Parsopoulos et al., 2002; Shi & Krohling, 2002; Praveen et al., 2007; Santana-Quintero ET AL., 2008).

By applying PSO to problems where the feasible solutions are too much difficult to find, more sophisticated approaches are required, mainly for hyper dimensional spaces. Many variations on the basic PSO form have been explored, most of them proposing different velocity update equations (Shi & Eberhart, 1998; Clerc & Kennedy, 2002 ; Kennedy, 2005; Jiao, et al., 2008). Other approaches attempt to change the structure of the swarm (Kennedy & Mendes, 2002; Suganthan, 1999) and its communication schema (Engelbrecht, 2005; Sutton et al., 2006).

To disseminate information within the swarm is the key of any swarm intelligence based algorithm. PSO, like others swarm algorithms, makes use of its own information exchange methods to distribute the best positions found during the algorithm execution (Engelbrecht, 2005). The way used by the swarm to distribute this information lies in the social structure formed by the particles. Variations in this structure can improve the algorithm performance.

By using local communication, each particle of the swarm has its own neighborhood. Many papers (Engelbrecht, 2005; Carvalho & Bastos-Filho, 2008; Carvalho & Bastos-Filho, 2009) have shown that it improves the exploration capacity of the entire swarm but decreases the convergence speed of the algorithm. It means that the algorithm obtains better solutions, but it needs more iterations to reach the convergence.

Other important and already known PSO algorithm variation is the Cooperative Particle Optimizer (CPSO) (van den Bergh & Engelbrecht, 2001; van den Bergh & Engelbrecht, 2004) which is based on the cooperative GA proposed by Potter and De Jong (Potter & De Jong, 1994). This approach proposes a performance improvement of the PSO algorithm by splitting the solution vector into different components that will be optimized by different sub-swarms cooperatively. CPSO inserts another parameter called *split factor* which can be interpreted as the number of sub-swarms that compose the entire swarm.

By using the ring structure as an inspiration, a novel PSO topology called Multi-ring PSO (MRPSO) based on coupling different rings was recently proposed (Bastos-Filho et al. 2008). This novel approach makes use of a diversity mechanism provided by ring rotations in order to improve the exploration of the search space. The structure of the proposed topology is formed by ring layers connected by axis that cross the layers trough the particles. Each single particle, which belongs to a specific layer, is automatically connected to other particles in neighbour ring layers. These connections establish the communication between neighbour particles which is a peculiar neighbourhood scenario based on local communication. The ring layers increase the capacity to avoid stagnation states making use of a process and an attribute called rotation skill and trigger criterion, respectively, also described in the chapter. Furthermore, we included a novel concept proposed by Cai et al. (Cai et al. 2008) that assigns a grade to the particles based on their fitness. This information is used to switch the neighbourhood inside the rings.

The rest of this paper is organized as follows. Section 2 shows a brief review about PSO. It also describes some well known topologies. In Section 3 the proposed Multi-ring topology and its features are described. Section 4 is devoted to the Dispersed based Multi-ring approach. The simulation setup used by the experiments and the chosen benchmark functions are presented in Section 6. In section 7 the analysis of Multi-ring and Multi-ring Dispersed are shown. The results of a comparison with some well-known topologies are presented too.

## 2. Background

### 2.1. Particle Swarm Optimization - PSO

The basic form of the PSO algorithm is composed by a group particles, where each particle represents a possible solution to the problem. Each particle maps the attributes of a solution, *i. e.*, the position of one particle represents exactly the values of the attributes of a solution. Besides, particles move inside the search space reaching new positions. After some iterations, particles tend to a global optimum based on two basic components: the cognitive component and the social component. The first one considers the best position already found by the particle itself (*pbest*). The second one use the best position attained by all the particles of the swarm (*gbest*) in order to guide the swarm to a common spot in the search space. Based on these two information components, each particle updates its own velocity. The velocity is a vector that directs the particle to the next position.

As the original PSO is based on the global knowledge of the swarm, it has a low capacity for local search. Thus, other approaches were proposed in order to avoid this disadvantage. Shi and Eberhart (Shi & Eberhart, 1998) proposed a velocity update equation that uses an inertia factor *w* (see equation 1). This factor balances the exploration-exploitation trade-off by controlling the contribution of the previous velocity in the evaluation of the current velocity of each particle. For each iteration of the PSO algorithm the velocity

where *w* is the inertia factor,
*i* in time step *t*, *c*
_{1} and *c*
_{2} are positive acceleration constants, and *r1* and *r2* are two random numbers generated by a uniform distribution in the interval [0,1].

Recently, Jiao et al. (Jiao et al., 2008) proposed a dynamic inertia weight for the particle swarm optimization algorithm. They showed that it can improve the quality of the solutions obtained by the algorithm.

Another popular approach for the PSO velocity update equation involves a constriction factor which implies a velocity value reduction at each time step (Clerc & Kennedy, 2002). Under some peculiar conditions, it can guarantee both convergence and a high degree of exploration.

Both inertia and constriction approaches balance exploration and exploitation abilities and improve the convergence speed and the quality of the solutions found by the algorithm (Bratton & Kennedy, 2007).

### 2.2. Topologies

The communication between particles inside a swarm is one of the most important mechanisms of PSO. This mechanism distributes information already achieved by the

swarm through all particles, updating the swarm status. Global and local communication structures are the two main structures used for particles’ communication. Considering that particles share information acquired through a structured swarm, this model of communication can be seen as a topology. Some of the well-known topologies are depicted in Figure 1.

Each topology shown in Figure 1 has its own way to spread information through the swarm (Kennedy, 1999; Kennedy & Mendes, 2002).

*Star* and *ring* topologies are shown in Figure 1(a) and
Figure 1(b), respectively. *Star* topology is composed by a fully-connected structure (*gbest*) that allows each particle of the swarm to share information globally. In a global neighbourhood, information is instantaneously disseminated to all particles, quickly attracting the entire swarm to the same swarm region. To avoid local minima, *ring* topology (Figure 1(b)) make use of local neighbourhoods (*lbest*), *i. e.*, particles just communicate with its immediate neighbours. Therefore, the swarm needs a great number of iterations to converge, but higher quality solutions can be found.

In Figure 1(c), a grid of particles forming a peculiar social structure is shown. This structure is very useful for many optimization problems (Kennedy & Mendes, 2002; Peer et al., 2003) and is known as *Von Neumann* topology.

Based on clusters of particles, the *four clusters* topology is shown in Figure 1(d). Each cluster communicates with the others by connections previous defined between the particles (Mendes et al., 2003; Engelbrecht, 2005). The number of connections originated from a cluster is equal to the number of neighbour clusters.

## 3. Multi-ring topology

### 3.1. Multi-ring concepts

Multi-Ring is a novel PSO topology that uses the *ring* structure as an inspiration. By using local communication, each particle of the swarm has its own neighbourhood. Many papers have shown that it improves the explorarion capacity of the entire swarm but decreases the convergence time of the algorithm (Engelbrecht, 2005; Carvalho & Bastos-Filho, 2008; Carvalho & Bastos-Filho, 2009). A topology based on coupling different rings with dynamic commutation of the neighbourhood is proposed, which aims to obtain better solutions as the benefit of the local communication. At the same time, we expect to reduce the number of iterations to reach a convergence as the benefit of the dynamic neighbourhood mechanism.

The proposed topology is formed by particles arranged in multiple rings layers, where each particle of the ring can communicate with some particles of neighbour rings. In order to

couple different ring layers, the number of particles in each ring must be the same. Therefore, each single particle, which belongs to a specific layer, is automatically connected to other particles from neighbour ring layers, as shown in Figure 2. The structure in Figure 2 illustrates an example of the multi-ring topology with 3 rings (A, B and C) of 3 particles.

## 3.2 Communication between different rings

The particles from different ring layers communicate with each other by using a peculiar neighbourhood scenario. The Figure 3 can be used to illustrate this scenario. Considering a ring layer *rl*
_{
(k)
}, each particle *rl*
_{
(k)(i)
} is directly connected with the particles *rl*
_{
(k-1)(i)
} and *rl*
_{
(k+1)(i)
} of the next and previous ring layers. During the algorithm execution, one particle *rl*
_{
(k)(i)
} will exchange information with a neighbourhood composed by { *rl*
_{
(k)(i-1),
}
*rl*
_{
(k)(i+1),
}
*rl*
_{
(k-1)(i)
}, *rl*
_{
(k+1)(i)
} }.

One special observation must be considered for the first and last ring layers of the topology. The communication between the particles located at those two rings is partially limited, since both do not have a complete ring neighbourhood, it means that they only have a unique ring layer directly connected to them. Therefore, the information exchange for one particle belonging to a ring *rl*
_{
(1)
} is limited by the set { *rl*
_{
(1)(i-1),
}
*rl*
_{
(1)(i+1),
}
*rl*
_{
(2)(i)
} }. The same restriction must be considered for the ring *rl*
_{
(n),
} which the neighbourhood is composed by the set { *rl*
_{
(n)(i-1),
}
*rl*
_{
(n)(i+1),
}
*rl*
_{
(n-1)(i)
} }.

One particle which belongs to a ring layer *rl*
_{
(k)
} exchange information with other layers *rl*
_{
(k-1)
} and *rl*
_{
(k+1)
} in order to make use of the social information achieved by the other layers. If one particle just exchanges information with the same neighbourhood through the entire execution of the algorithm, the neighbourhood would be static. In this case, the topology is just a simple *local* approach. To avoid this static possibility, one important process was added to the proposed topology, called *rotation skill.*

### 3.3. Ring layer rotation skill

One of the biggest problems of PSO is the stagnation. In nonlinear multimodal problems, which have many local minima regions, the swarm can be stagnated in one those regions of the search space during the algorithm execution. In those regions, the particles can spend many time steps without varying the value of the best position found by their neighbourhoods. It can cause a stagnation state in the entire swarm. Hence, the proposed strategy to avoid stagnation is to add the ability of rotation to each ring layer. By adding the rotation skill, the position of the particles in the ring can be altered. Hence, the neighbourhood is changed. It can move the swarm from one region to another, increasing the exploration of the space search by considering different local minima regions.

In the Multi-Ring approach, the particles of different rings exchange information between themselves using local communication. The particle that belongs to a ring *rl*
_{
(k)
} exchanges information with other rings *rl*
_{
(k-1)
} and *rl*
_{
(k+1)
} aiming to transmit its previous experience.

Each ring layer of the Multi-Ring has the ability to self-rotate. It means that if the ring layer *rl*
_{
(k)
} does not improve its own best position, defined as *ringbest,* it will be rotated. In the rotation process, each particle in the ring layer has its index changed to *i = (i+d) mod (nl),* where *d* is the rotation distance and *nl* is the number of particles in a layer. Thus, the new neighbourhood will be composed by { *rl*
_{
(k)(i-1),
}
*rl*
_{
(k)(i+1),
}
*rl*
_{
(k-1)(i+d)
}, *rl*
_{
(k+1)(i+d)
} }. One can note that the main difference is the communication replacement between the neighbour ring layers.

Figure 4 shows an example of the rotation process. Initially, the particle E communicates with {D,F,B,H}. After the rotation, the neighbourhood of the particle E is changed to {D,F,A,G}. This process improves the social information exchange. Besides, it also improve the convergence capacity of the swarm. One can note that all the particles of the same ring layer change its neighbourhood.

The main mechanism of the rotation process is the trigger criterion that will be used to invoke the rotation skill. It is based on the idle status of the best solution found in a specific ring layer, i.e. the number of iterations that the best solution found by a specific ring does not change. To clarify the process described above, consider a ring layer *rl*
_{
(k)
}. If the best solution found remains with the same value during *t*
_{
r
} iterations, so this ring layer will be rotated after *t*
_{
r
} iteration.

Therefore, the use of the exploration capacity provided by the local communication combined with rotation mechanisms helps to avoid the stagnation of the solution found by the swarm during the execution of the PSO algorithm.

### 3.4. Multi-ring PSO algorithm

Inspired by the entity described in the previous section, the PSO algorithm with this novel topology has some new specific steps that must be considered in the execution process of the algorithm. Figure 5 illustrates the Multi-Ring topology containing an example with two ring layers (*rl*
_{
(1)
} and *rl*
_{
(2)
}) of three particles.

In the basic PSO algorithm, one of the steps is the definition of the initial *pbest* and *gbest,* which represent the best position found by the particle and swarm, respectively. The manner how the value of *pbest* is updated or chosen is not influenced by the use of Multi-Ring topology, since it is related to the individual experience of the particle. Therefore, all the particles of the swarm define the *pbest* in the same way.

For each iteration, each ring layer performs a search and marks the particle that reached the best position of the entire ring layer. Different from *gbest,* in the Multi-Ring approach, the definition of this new position called *ringbest,* considers only the particles within the respective ring layer. Therefore, each ring layer will have its own *ringbest.* After that, the *ringbests* of each ring layer are compared with each other, and the best one will be selected as the best solution. The pseudo-code of the algorithm is presented in Figure 6.

After the *pbest* evaluation, the algorithm performs the selection of the best particle of the respective ring layer. This process is repeated for all the ring layers that compose the Multi-Ring topology (see Line 10 in Figure 6). Line 12 of Figure 6 shows that the selection of the best *ringbest* for the topology occurs at the end of each algorithm iteration.

The updateVelocityAndPosition() and updateInformation() processes are the core of any PSO algorithm. These two processes are described in the pseudo-codes of Algorithms 2 and 3 that are shown in Figures 7 and 8, respectively.

The other process involved in Algorithm 1 execution is rotate() (see Line 4), which belongs only to the multi-ring topology approach proposed here. One can note that this step is done before the *fitness* evaluation. Figure 9 can be used to represent this process. Consider that the rotation trigger criterion used is the number of successive iterations that the best solution found (*ringbest)* by the ring layer has not improved and *d* is the number of positions that the ring will be rotated. Using *t*
_{
r
} to represent the trigger mechanism and *X*
_{
i
} to represent the particle *i* of the ring layer X, the ring layer X will be rotated if the value of its best position has not improved after *t*
_{
r
} iterations. Otherwise, if the respective number of iterations is below *t*
_{
r,
} the algorithm does not rotate the ring layer X and the number of iterations is incremented. This process is done for all ring layers of the Multi-ring topology.

When the trigger criterion is satisfied, the ring layer is rotated by *d* particles and the number of iterations that the *ringbest* did not improved is reset. It implies in a new neighbourhood for each particle of the rotated ring and, as a result, it improves the social information exchange. One can note that there is a trigger criteria *t*
_{
r(k)
} for each ring layer *rl*
_{
(k).
} The figure 10 illustrates the rotation algorithm process described above.

## 4. Dispersed particle swarm optimization

### 4.1. Dispersed PSO concepts

In particle swarm optimization (PSO) literature, the published social coefficients settings aims to increase the search around the swarm memory. However, few approaches

take into account the useful information inside the particle’s memories. Thus, to improve the convergence speed, a new approach considering the social coefficient was proposed (Cai et al, 2008) by introducing an explicit selection pressure, in which each particle decides its search direction toward the personal memory or swarm memory.

The fitness value of the current position of each particle represents its adaptive capability, and it can be selected to distinguish between search modes. In this approach, the better the fitness of the current position is, more adaptation this particle can get to enhance its survival ratio.

Since the literature consider the extreme situations such as *global* or *local* approaches, they neglect the differences between the particles in the search process. These settings lose some information that can be useful to find the global optima or escape from local optima.

To minimize this problem, Cai et al. (Cai et al., 2008) proposed a new index to indicate performance differences, named *Grade*
_{
i
}
*(t).* The definition of the index is provided as follows:

where *f*
_{
worst
}
*(t)* and *f*
_{
best
}
*(t)* are the worst and the best fitness values of the swarm at time step *t,* respectively.

Occasionally, the swarm can converge onto one point, that means *f*
_{
worst
}
*(t)* = *f*
_{
best
}
*(t)*. In this case, the value *Grade*
_{
i
}
*(t)* of an arbitrary particle *i* is set to 1. *Grade*
_{
i
}
*(t)* represents the performance of particle *i* at time *t,* according to its fitness value of the current position. The better particle is, the larger *Grade*
_{
i
}
*(t)* is, and vice-versa.

In most cases, if the fitness value of particle *i* is better than the fitness of particle *u,* the probability of *i*’s neighbourhood falls into a global optima is higher than the particle *u.* Thus, the particle *i* should give more attentions to exploit its neighbourhood. On the contrary, it may tend to explore other regions with a larger probability. Therefore, the best solution should perform a complete search around its historical best position and the worst solution should perform a global search around the best solution found so far.

Then, the dispersed social coefficient of particle *i* at time *t* is set as follows:

where *c*
_{
up
} and *c*
_{
down
} are two predefined numbers, and *c*
_{
2,i
}
*(t)* represents the social coefficient of particle *j* at time *t.* One can note that better particles will present higher values for *c*
_{
2
}
*.*

### 4.2. Multi-ring dispersed particle swarm optimization

Based on the new manner to determine the acceleration coefficients, the dispersed PSO approach was included into the Multi-Ring Topology. By applying the *Grade*
_{
i
}
*(t)* to determine the communication rules inside each ring, we expect that it will improve the performance of the search made by the Multi-Ring PSO algorithm.

The grade criterion, which is calculated by evaluating a fitness comparison, will make the best solutions perform searches around its vicinities and the worst solutions look for the history of a larger part of the swarm, in order to increase its experience.

Figure 11 illustrates the grade strategy in action. If the *Grade*
_{
i
}
*(t)* is above a threshold (good solutions), we reduce the neighbourhood of the particle. In this case, the neighbourhood of the particle *i* is defined as { *rl*
_{
(k)(i-1),
}
*rl*
_{
(k)(i+1),
}
*rl*
_{
(k-1)(i)
}, *rl*
_{
(k+1)(i)
} }. Otherwise, the particle should expand its communication range to achieve more information, which it would get information from all particles in the same ring in order to increase its experience. One can note that rings which the *ringbest* are below the threshold will perform searches using a more connected structure in order to achieve better regions in the search space. In spite of this, one should note that the communication between the ring layer remains local.

## 5. Simulation setup

In Table 1, seven commonly used benchmark functions are presented. Their names, definitions, search space, initialization range, and optimum compose the columns of Table 1.

All the functions described are used as minimization problems classified as unimodal (*f*
_{
1
}) or multimodal (*f*
_{
2
}, *f*
_{
3
}, *f*
_{
4
}, *f*
_{
5
}, *f*
_{
6
} and *f*
_{
7
}) containing many local minima and a high level of complexity. For the simulations, each function was tested with 30 dimensions.

Each simulation was performed using PSO with inertia factor. The reduction of *w* is linear and starts at 0.9 decreasing to 0.4 along the iterations. The number of rings was varied based on a swarm with 30 particles. Thus, the number of ring layers is defined as *nl = 30 / n*. The rotation distance is equal to a half of the ring layer size (*d = nl / 2*) and the trigger criterion was *t*
_{
r
}
*= 15*.

We used *c*
_{
1
} and *c*
_{
2
} equal to *2.05*. In the MRDPSO, we used *c*
_{
low
}
*= 1.5* and *c*
_{
up
} = *2.5*.

The number of iterations used in a single simulation was 10,000. After 30 executions, the mean and standard deviation were stored. The initial positions of the entire swarm are defined randomly inside the initialization range of the benchmark function used. Comparisons with other topologies were also provided for convergence performance validation in both inertia and dispersed approaches.

## 6. Results

This section shows the results of the experiments involving the benchmark functions described previously. In the first section (Section 6.1) of the simulation results, we vary the number of ring layers. The second one (Section 6.2) presents a comparison between each Multi-ring approach and the topologies already mentioned in Section 2 of this paper.

### 6.1. Ring layer variation

Table 2 shows the results of MRPSO varying the number of ring layers in simulations involving each benchmark function. For function *f*
_{
6
}, the structure composed by 3 ring layers behaved better. The 5-ring MRPSO achieved a better performance for functions *f*
_{
1
}, *f*
_{
2
} and *f*
_{
3
}, and the 10-ring behaves better for *f*
_{
4
}, *f*
_{
5
}, and *f*
_{
7
}.

One can note that the best choice for function *f*
_{
6
} was 3-ring layers followed by the 5-rings configuration. Thus, in general, the 5-rings configuration achieved the most satisfactory fitness values. This is due to the fact that maintaining a balance between the degree of

communication inside a ring and through different rings, the MRPSO can reach regions with better solutions.

For the dispersed approach for the proposed topology (MRDPSO) (see Table 3) the 5-rings configuration achieved the best overall performance.

For functions *f*
_{
2
}, *f*
_{
3
} and *f*
_{
5
} the 3-rings configuration achieved the best fitness values. The configuration with 10 ring layers achieved better performance in functions *f*
_{
1
} and *f*
_{
4
}. Again, we can consider that a configuration with 5-rings is enough to reach satisfactory fitness values in complex and different search spaces.

The dispersed coefficient improves the convergence speed, thus is clearly expected that MRDPSO will converge fast than MRPSO. Therefore, the 5-rings configuration can be considered the best configuration choice in both MRPSO and MRDPSO.

Varying the number of rings, both MRPSO and MRDPSO can fit to different kind of problems. Hence, the number of rings can be varied according to the problem to be solved.

### 6.2. Topologies comparison

The results between the comparison of MRPSO and MRDPSO and other topologies are shown in Table 4 and Table 5, respectively. For all the functions, the fitness values presented by the Multi-ring approaches are the ones that achieved the best performance or similar performance to the best performance.

For function *f*
_{
1
} and *f*
_{
5
} MRPSO reaches the best fitness values (F = 15.05 and F = 0.56). For all the other functions used, it reaches values close to the best performance achieved by some well known topologies. A good example is the performance for functions *f*
_{
6
} and *f*
_{
7
}, in which the only topology that achieved fitness values better than the ones achieved by MRPSO was the global topology. Hence, considering that MRPSO is a local communication topology, the results presented by Table 4 are strongly satisfactory.

Table 5 shows the results of the MRDPSO and topologies enabled with the dispersion grade strategy. For function *f*
_{
1
}, *f*
_{
2,
} and *f*
_{
6
} the MRDPSO achieves the best fitness values (F=8.44, F=6.83E-15 and F=13.929). For the functions *f*
_{
3
} and *f*
_{
5
}, it reaches a good value for the mean fitness with low standard deviation, close to the best performance achieved by well known topologies. For the function *f*
_{
7,
} MRDPSO achieves a value for the mean fitness in the same order of magnitude of Dispersed PSO with local, Von Neumann and Four Clusters topologies. Therefore, considering all results shown at the Table 5, the MRDPSO achieves good solutions for both unimodal and multimodal problems.

## 7. Conclusions

This paper has proposed a novel topology for Particle Swarm Optimization based on a multi layer structure based on local communication (*lbest*). The Multi-ring PSO (MRPSO) and also its combination with the Dispersed PSO approach (MRDPSO) are thoroughly described. The first one introduces a new feature called *rotation skill* that minimizes the stagnation probability of the PSO algorithm. In the second one, some changes in the communication rules inside the rings were made by using the dispersion grade attribute of Dispersed PSO approach.

The Multi-ring approaches achieved better performance or close to well-known topologies used for comparison. This fact exalts how satisfactory the results involving MRPSO and MRDPSO were. By varying the number of rings, the size of each ring and how the rotation skill work, the proposed approach could be used to reach good quality solutions for both unimodal and multimodal problems. Besides, it helps to avoid the swarm of being trapped at local minima regions, making it moves to new regions of space search in order to help the PSO algorithm to converge to the best solution.

Due to its peculiar features, the proposed PSO topology is an interesting approach able to be applied in different kind of optimization problems.