Multi-Objective Particle Swarm Technique

Particle swarm optimization mimics the social behavior of animal groups, such as flocks of birds or fish shoals. The process of finding an optimal design point is similar to the food-foraging activity of animals.

Particle swarm optimization is a population-based search procedure where individuals (called particles) continuously change position (called state) within the search area. In other words, these particles “fly” around in the design space looking for the best position. Just like the real world where animals tend to follow neighbors who are closer to the food, the best position encountered by a particle and its neighbors is used to decide the next position of the particle. The state of a particle is the value for all design variables in the optimization problem and its velocity in the design space, and each move produces a new generation.

The basic particle swarm algorithm begins by generating a set of random particles that constitute the initial population; each particle is also given an initial velocity. In every iteration, the particle is moved using the two best values: (1) the best position seen by this particular particle (i.e., particle-best or P¯Best) and (2) the best position encountered by all particles among all the generations thus far (i.e., global-best or G¯Best).

Let X¯ij and V¯ij, respectively, be the current position and velocity of a particle i during iteration; j the velocity and position of the particle in the next iteration, (j+1), is calculated using the following equations:

V¯ij+1=IV¯ij+r1PIncr(P¯BestX¯ij)+r2GIncr(G¯BestX¯ij)X¯ij+1=X¯ij+V¯ij+1

Here, r1 and r2 are two random numbers between 0 and 1, I is the inertia of the particle, and PIncr and GIncr are the maximum increments due to particle-best and global-best; PIncr and GIncr are sometimes also called “Learning Rates” or “Learning Factors.”

In the case of multiple-objectives, any point in the Pareto set is a candidate to be selected as a leader. The leader for each particle is selected randomly from this Pareto set based on the crowding distance. Isight also uses a turbulence operator that perturbs the velocity of a small number of particles during each iteration to increase the design-space coverage.

A large inertia value allows the particle to explore a larger portion of the design space while increasing the number of iterations to converge at the optimum point. PIncr and GIncr are typically given a value of 0.9. Apart from these parameters, there is also a limit on the maximum velocity of the particle V¯max.

You can use the Multi-Objective Particle Swarm technique with one objective. However, if you use only one objective, the Pareto file will be empty.