Keywords

1 Introduction

Nature is the great inspiration for solving complex problems in the universe. Nature İnspired Computing (NIC) algorithms are inspired from nature for solving complex problems and produce nearest results at reasonable amount of time [1, 2]. The NIC algorithms having features of collective behaviour, self learning, self adapt nature are focused to solve NP hard problems. The nature inspired computing algorithms have feature of random probability i.e., algorithms randomly pick solutions for better optimum results [3,4,5,6].

Particle Swarm Optimization (PSO) is a popular nature inspired computing algorithm proposed by Dr. Eberhart and Dr. Kennedy in 1995. PSO is influenced by social behavior of birds and animals [7,8,9,10]. PSO is a well known nature inspired computing algorithm for the optimization of initializing random population of solutions. PSO updates component generations for searching best positions. Their particles manage their velocity of own positions and also positions of their neighbor particles to get optimum solutions.

2 Existing Work

Paper [11] focused on particle swarm optimization about local search (exploitation) and global search (exploration) by applying master and slave method. The leader swarm acts, master and other swarms act and then the slaves. The slave swarms provide new positions along best fitness values to master swarms. The position of new particles is updated by master swarm for best position and manage updated positions of themselves (master swarms) and update slave swarms’ position.

Article [12] proposed reduced energy conservation model of power system for socio-economic development by applying modified particle swarm optimization. Balancing of local search as well as global search using a new technique of multi-swarm was proposed. In the article, ‘clan’ was introduced in place of swarms, and every group had a leader. Representing local best is the best solution that is represented by the leader of clan [13, 14]. To select global best, all these leaders can represent themselves for selection procedure. The clans update their positions, and manage their population risks for selection of local and best positions accordingly.

2.1 Particle Swarm Optimization

PSO is initialized with randomly generated population of particles (initial swarm) and a random velocity is assigned to each particle that propagates the particle in search space toward optima over a number of iterations. Each particle has a memory, remembering best position attained by it in the past, which is called personal best position (Pbest). Each particle has its Pbest and the particle with the best value of fitness is called global best particle (Gbest). Suppose that the search space is D dimensional, the ith particle of the population can be represented by a D-dimensional vector (xi1, xi2, …, xiD)T. The velocity of this particle can be represented by another D-dimensional vector (Vi1, Vi2, …, ViD)T.

The previously best visited position of ith particle is denoted by Pi and the best particle in the swarm is denoted by Pg. The update of the particle's position is accomplished by the following two equations. Eq. (1) calculates a new velocity for each particle based on its previous velocity and Eq. (2) updates each particle's position in search space.

$$ V_{id}^{k + 1} = wV_{id}^{k} + c_{1} r_{1} \left[ {p_{id}^{k} (t) - x_{id} (t)} \right] + c_{2} r_{2} \left[ {p_{g}^{k} (t) - x_{id}^{k} (t)} \right] $$
(1)
$$ x_{id}^{k + 1} (t + 1) = x_{id}^{k} (t) + v_{id}^{k + 1} (t + 1) $$
(2)

where k = iteration number, d = 1,2,3,…, D, i = 1,2,3,…, N, N = swarm size, w = inertia weight which controls the momentum of particle by weighing the contribution of previous velocity, c1 and c2 are positive constants called acceleration coefficients and r1 and r2 are random numbers uniformly distributed between [0,1].

PSO particle represents D-dimensional area as particle i (particle i1, particle i2, particle i3… particle iD), where D represents dimension and particle iD minimum dimension, maximum dimension is mini and max limitations of Dth dimension. Velocity of particle i is velocity i = (velocity i1, velocity i2, velocity i3…. Velocity iD). Particles and time t made manipulations as per the following relations.

$$ \begin{gathered} Velocity\,i\,(time\,t + 1) = velocity\,i\,(time\,t) \hfill \\ + \,r\,value\,1\,con\,1\,(Ppbp\, - \,particle\,i\,(time\,t))\, \hfill \\ + \,r\,value\,2\,con\,2\,(Pgbp\, - \,particle\,i\,(time\,t)) \hfill \\ \end{gathered} $$
(3)
$$ Particle\,i\,(time\,t + 1) = particle\,i\,(time\,t) + velocity\,i\,(time\,t) $$
(4)

In above equation, r value1 and r value2 are random values in the range 0 and 1. The con 1 and con 2 are the velocity constants that improve the movement of particles for a given iteration. The last best position of ith particle is noted as Ppbp and the best position of ith. particle is noted as Pgbp.

$$ \begin{gathered} Velocity\,i\,(time\,t + 1) = inertia\,w\,x\,velocity\,i\,(time\,t) \hfill \\ + \,rvalue1con1\,(Ppbp\, - \,particle\,i\,(time\,t)) \hfill \\ = rvalue2con2\,(Pgbp\, - \,particle\,i\,(time\,t)) \hfill \\ \end{gathered} $$
(5)

In the above equation, inertia is added [15]. For a perfect balancing between the global and local explorations through inertia, minimum iterations are considered to achieve optimal solution.

$$ inertia = inertia\,max = \frac{inertia\,max - inertia\,min}{{iterations\,max}} \times \,iterations $$
(6)

In above equation, inertiamax is denoted by initial weight, inertiamin is denoted by final weights, iterationsmax is max number of iterations considered in each iteration which is denoted as the number of iterations at present.

In addition, Linearly decreasing inertia weight method in PSO (LPSO) is a random inertia weight factor for dynamic systems tracking [16]. Inertia weight factor noted for random vary as per the following equation.

$$ inertia\, = 0.5 - \frac{rand()}{2} $$
(7)

In above equation, rand() denotes equally allocated random numbers in between values 0 to 1 range. Value 1.494 must be maintained by acceleration coefficients. This equation refers to Random weight method in PSO (RPSO).

3 Proposed Work

3.1 Improved Multiple Particle Swarm Optimization (IMPSO)

The main objective of Extensible Multiple Swarm Particle Swarm Optimization is the co-ordination behaviour of communication among the people in the group ‘clan’ (group of people) as in Fig. 1. The leaders of the groups search for optimum solutions. The swarm (group birds) is called as clan (group of people), and every clan (group of members) have solutions produced by the members of group. The best member of every clan is treated as the leader of that clan. A new leader of the clan is selected every generation due to the changing of positions of the members for meeting participation. The inertia function control exploration (global best) presents the algorithm. The main task of clan is to manage and control other members of the clan for movement and time control. Based on the new available position, every leader meet at one room (location) to find the best leader.

Fig. 1
figure 1

Swarm optimization of clan with individual members

PSO algorithm is used for balancing the position for exploration as well as to find exploitation. Based on PSO, the Optimization of Meeting Room Method (OMRM) is performed. İn this, every member in the clan is equal to every particle in swarm. The position as well as velocity is updated by PSO. The proposed algorithm’s step-wise performance, at first step shows to select the best leader (in a group of clan) who is treated as local best. In second step, overall best leader (in clan groups) is selected and is treated as global best. The optimization is determined by OMRM in the meeting room as in Fig. 2. By executing this algorithm, those who are selected as the overall best leaders, share their position with other leaders.

$$ iWeight^{nl} + \left( {\frac{{iWeight^{gl} - iWeight^{nl} }}{{iteration_{\max } }}} \right)x\,rand() = $$
(8)
$$ \begin{gathered} (time_{t} + 1) = iweight^{nl} \,x\,Velocity_{i}^{nl} (t) \hfill \\ + \,rvaluecon(Particle_{global}^{Leader} - Particle_{local}^{Leader} (time_{t} )) \hfill \\ \end{gathered} $$
(9)
$$ particle_{i}^{nl} ({\text{time}}_{{\text{t}}} + 1) = particle_{i}^{nl} ({\text{time}}_{{\text{t}}} + 1) + Velocity_{i}^{nl} (time_{t} ) $$
(10)
Fig. 2
figure 2

Meeting room approach

In above equation, nl denotes the normal_leaders, gl represents the overall global leader, partile i states the position of the normal_leaders, \(Velocity_{i}^{nl}\) states the velocity of normal leaders, \(iWeight^{gl}\) and \(iWeight^{nl}\) denote inertia weight of global leader and normal leader respectively.

Algorithm for Improved Multi-Particle Swarm Optimization

See Fig. 3.

Fig. 3
figure 3

Improved multi particle swarm optimization algorithm

4 Results and Discusssion

The performance of Improved Multiple Particle Swarm Optimization (IMPSO) is evaluated using benchmark functions compared with MPSO, Master–Slave SPO (MSPO) [11], and Multi-swarm Cooperative Particle Swarm optimizer (MCPSO) [17]. Parameters used are same for all these algorithms. The number of iterations used is 500 with 50 dimensions. For every experiment, 30 runs are performed. Testing with function is shown in Table 1 and parameter values in Table 2.

Table 1 Testing with function
Table 2 Parameter values

Table 3 indicates the performance optimum results of particles for benchmark functions. EMPSO perform best results when compare to other algorithms. IMPSO has 6 swarms, every group consists of 10 particles and 6 particles in the room. IMPSO has less computation and shows better performance for optimum solutions.

Table 3 Benchmark test functions’ results

In Fig. 4a, by applying Sphere function, simulation results of IMPSO shows better performance when compared with other algorithms.

Fig. 4
figure 4

a Convergence curve using sphere function, b convergence curve using Griewank unimodal function

In Fig. 4b, by applying Griewank function, simulation results of IMPSO shows better performance than that of MCPSOS, SPSO, MPSO, IMPSO [12].

5 Conclusion

The paper shows the importance of Swarm Intelligence algorithms for solving real-time problems. Swarm Intelligence algorithms are related to Nature Inspired Computing algorithms. The social group behavior of human being is proposed by applying swarm intelligence algorithm. The proposed algorithm Improved Multi-purpose particle swarm optimization manages the local search (exploitation) as well as the global search (exploration) techniques. By applying benchmark functions, the results of the extensible multi purpose swarm optimization shows better performance than the existing swarm optimization algorithms. The future work plans to implement hybrid nature inspired computing algorithms for optimum results.