1 Introduction

Real world problems are complex in nature which needs intelligent algorithms for solving those [8]. Evolutionary Algorithms (EAs) are a group of intelligent algorithms which are used to find optimal solutions for problems which require non deterministic polynomial time to solve. Polynomial time solvable problems (P) are easy to solve and are easily verifiable for example addition, subtraction, multiplication etc. Non deterministic polynomial time solvable problems (NP) are hard to solve. NP-complete problems are those NP problems which are although tough, but verifiable such as game of Sudoku. NP-hard problems are those NP problems which are hard to solve as well as hard to verify like finding the next best move in game of Chess. Hence EAs are suitable dealing with NP problems. Using randomly initialized candidate solutions and an appropriate fitness function are the two main important features of EAs, which enable them to find solutions to difficult problems, though the solution may not be the best one but getting a near optimal solution can be expected. Hence, EAs find huge application to several problem domains such as engineering, life sciences, medicine etc.

According to No Free Lunch theorem, no evolutionary algorithm could be claimed to solve all types of optimization problems, and that has paved way for emergence of new evolutionary algorithms. These evolutionary algorithms achieve their goals by proper tuning of algorithmic parameters such as different operators, control parameters, different number of phases etc. Tuning of control parameters play a vital role to make the algorithm perform better for wide range of problems under investigation. In the literature, it is found that various works have been done to fine tune the control parameters. Many hybrid methods or adaptive methods have been suggested by researchers for different evolutionary algorithms. However, authors of this work feel that there must be viable inference, to be drawn, to ascertain the behavior of a particular algorithm whilst its control parameters are being modified. Why an algorithm gives better result for a particular problem? Why at a certain value of control parameter, an algorithm performs better? These are some of the basic questions which arise in mind of every reader and every researcher. Researchers should not only focus trying different possibilities of experimentation but also try to explain their perceptions and analysis about the same.

An evolutionary algorithm has two important parts – Exploration phase and Exploitation phase. So, tuning of parameters should be done basing upon the position of parameter, whether it is present in the exploration or exploitation phase. Parameters of exploration phase help the algorithm to make sharp convergence towards the optimum, whereas of exploitation phase, help algorithm to search the vicinity of the present solution space for optimal solution. Let’s take the example of PSO, which is a widely used evolutionary algorithm. It has three control parameters i.e. ‘w’, ‘c1’ and ‘c2’. The inertia weight ‘w’ [16] refers to exploration phase and the algorithm performs better for higher values of ‘w’ [38] or linear decreasing value of ‘w’ [17]. The reason lies behind the fundamental philosophy of PSO. It was inspired from flock of birds flying towards a certain goal. In PSO, every bird tries to follow the leader. So, for a particular bird, initial velocity is higher, but as it nears the destination, velocity gradually decreases. Hence, ‘Linear decreasing inertia weight based PSO’ [17] performed better than PSO and it was one of the most popular technique and has got numerous citations.

Social Group Optimization (SGO) [36, 49], proposed by Satapathy and Naik has performed well in various optimization and real-world problems. The algorithm has an advantage of having only one control parameter ‘C’, i.e. self-introspection parameter, which is actually good, as dealing with too many control parameters increases the computational complexity. Moreover, SGO algorithm is based on a very simplified approach i.e. Random walk based on the best candidate solution and the fitness value of a randomly chosen candidate solution. No complex techniques are involved which makes it easier to be understood by the researchers of other fields and hence appropriate for easy applications. Complex techniques needs more complex logic to be implemented, but in SGO simple random walk technique has been used in both the phases. SGO has successfully been applied to several domains. Rajnikanth and Satapathy [43] used SGO and fuzzy-tsallis entropy for segmentation of ischemic stroke lesion in brain MRI images. Dey et al. [11] used SGO for segmentation and evaluation of skin melanoma images. Praveen et al. [42] used SGO for task scheduling and resource allocation in cloud environment. SGO was also used for task scheduling and resource allocation by Dey et al. [12]. Naik et al. [37] used a modified SGO for short term hydro-thermal scheduling. Similarly, Fang et al. [19] used improved SGO for transformer fault diagnosis. Das et al. [9] used SGO for structural monitoring in the field of civil engineering.

While going through the state of the arts of the SGO, we find that no works based on application of inertia weight techniques could be found in the literature and this has been addressed in this paper. After analyzing the performance of some of the inertia weight strategies with SGO, we felt the need of a better inertia weight technique which can properly tune the parameter for variety of problems, and hence Sigmoid Adaptive Inertia Weight have been proposed and simulated with SGO (SGOSAIW) upon several benchmark functions and few engineering domain applications and results obtained were satisfactory. Highlights of the works carried out in this paper are -

  • Simulated SGO with some of the inertia weight techniques and analyzed their behavior.

  • Following the analysis, we felt the need of a better performing inertia weight strategy, which could be applicable to wide range of problems and hence proposed a new inertia weight technique known as Sigmoid-adaptive inertia weight

  • Sigmoid adaptive inertia weight was implemented with SGO (SGOSAIW) and compared to two well-known and recently proposed, adaptive evolutionary algorithms i.e. ATLBO [51] and ASF-BA [48]

  • SGOSAIW has also been applied to variety of engineering design problems such as Three bar truss problem, Cantilever beam problem, Process design and synthesis problems and has been compared to some recent state of the arts techniques.

Rest of the paper have been organized as - Review of some related works have been provided in Sect. 2 followed by application of inertia weight strategies to SGO in Sect. 3. The description of proposed SGOSAIW have been provided in Sect. 4 followed by simulation and results in Sect. 5. Section 6 highlights the Conclusion and future aspects of the research work.

2 Related works

Several evolutionary algorithms have emerged based on mathematical derivations or inspired from nature, and various inertia weight strategies have been applied for parameter tuning for increasing the algorithm efficiency and efficacy. This section gives a comprehensive view of such kind of inertia weight strategies in various algorithms. Liu et al. [31] have proposed a Modified PSO having a chaotic based non-linear inertia weight and found significant improvement in the performance. Pawan and Prakash [41] investigated a range of inertia weight for PSO and proposed IWPSO with some effective modifications, which enhanced its performance. Shukla et al. [51] proposed an Adaptive TLBO and found increased convergence rate in the algorithm. Yue and Zhang [55] proposed a modified hybrid bat algorithm and got better results while using it for multilevel image segmentation. Rauf et al. [48] proposed ASF-Bat algorithm and also found promising results. Kiani et al. [29] proposed a Chaotic inertia weight PSO and found better results in estimating solar cell parameters. Huang et al. [25] used time varying inertia weight based PSO for task scheduling in cloud and obtained better results. Chen et al. [6] used adaptive inertia weights to propose an Improved pigeon-inspired optimization and observed improvement in performance. Singh et al. [50] used inertia constant strategy on Mean grey-wolf optimizer found enhanced performance in the algorithm. Orouskhani et al. [40] proposed an average inertia weighted cat swarm optimization and found better results. Olivas et al. [39] proposed an ACO with dynamic parameter adaptation and witnessed improved performance. Hu et al. [24] proposed Improved whale optimization based on inertia weights and observed that performance of the algorithm improved greatly. Rani et al.[44] proposed Modified cuckoo search algorithm with weighted sum for optimization of linear antenna array synthesis. Chou and Ngo [7] proposed inertia weight based Modified firefly algorithm for multidimensional optimization in structural design and achieved improved performance. In the literature, it is found that PSO has been extensively studied with varieties of inertia weights. Harrison et al. [22], Rathore and Sharma [47], Bansal et al. [2], Imran et al. [26] and Chauhan et al. [3] have reviewed several such works on inertia weight based PSO, which can be referred to and can be used for improving other optimization algorithms.

Though there are several other parameters which affect the optimality of the algorithm, but in this paper we have focused on algorithmic dependent parameter only like ‘C’ in SGO, ‘w’ in PSO etc. When an EA have more algorithmic dependent parameters, we have to also perform the correlation analysis among the parameters which will help us in knowing their mutual behavior when there value changes. More parameters mean more complexity in parameter tuning. There are other parameters such as number of population, number of function evaluation, number of iterations etc. which are basic to every EA and hence not algorithm dependent. Table 1 provides the information about some of the EAs along with their algorithm dependent variables.

Table 1 List of Control Parameters of some Evolutionary Algorithms

Also several optimization algorithms have found their applications in solving some of the constrained optimization problems such as engineering design problems and a few such engineering optimization problems are considered in our work to implement our proposed algorithm. Mirjalili et al. [35] used Salp Swarm algorithm to solve various engineering design problems and got better result. Similarly, Dhiman and Kaur [13] used Spotted hyena optimizer for the same and observed improvement in the performance. Chen et al. [4], proposed a balanced Whale optimization algorithm using levy flight and chaotic local search to solve constrained optimization problems and the results obtained were promising. Azqandi et al. [1] used an enhanced time evolutionary optimization and de Paula Garcia et al. [10] used Genetic algorithm along with a rank based technique to solve constrained engineering design problems the performance was found better than some of the state of the arts techniques. Overall idea is that, few algorithms will perform better than the others in some cases where as others will perform better in some different cases. So, there has always been a scope of improvement and experimentation by using several combinations of techniques and hence in this paper, we have tried to improve the performance of the conventional SGO using some inertia weight strategy.

After reviewing the literature thoroughly, we come to a conclusion that inertia weight techniques are doing fairly good and it motivated us to explore the same with Social group optimization (SGO) and later the proposed SGO with sigmoid-adaptive inertia weight (SGOSAIW) has been simulated upon numerical benchmark functions and engineering design problems to verify the effectiveness of the proposed approach.

3 Application of different inertia weight strategies to SGO

In this section, the basic SGO is presented and followed by that, seven varieties of inertia weight parameter tuning techniques are discussed and those are simulated for few benchmark functions to verify their effectiveness in solving optimization problems.

3.1 SGO algorithm

SGO is inspired from social behavior of individuals in a group. It has two phases. They are ‘Improving phase’ and ‘Acquiring phase’. Improving phase is the exploration phase of the algorithm and acquiring phase is the exploitation phase of the algorithm, whose equations are described in Eqs. (1), (2) and (3), respectively, where ‘Pij’ is the ‘ith’ person having ‘j’ number of traits, ‘gbest’ is the best person in the whole group, ‘f(Pi)’ is the fitness of ‘ith’ person and ‘rand’ is any random number generated in the range of (0,1).

$$Xij=c*{P}_{ij}+rand*(\mathrm{gbest}(j)-{P}_{ij})$$
(1)

In improving phase, a person interacts with the best person and tries to improve himself, as shown in Eq. (1), but percentage of improvement depends on ‘rand’. It indicates that, as no person is same, so their rate of improvement will also be not same. But, an individual improvement not only depends on the good impact of best person, but also on how much he is introspecting himself, which is represented by ‘c’ in Eq. (1),. In SGO algorithm, it was considered to be ‘0.2’, which is a constant.

If f (\({P}_{i}\)) < f (\({P}_{r}\))

$$Xij={P}_{i,j}+{rand}_{1}*\left({P}_{i,j}-{P}_{r,j}\right)+{rand}_{2}*(\mathrm{ gbest}(j)-{P}_{i,j})$$
(2)

else

$$Xij={P}_{i,j}+{rand}_{1}*\left({P}_{r,j}-{P}_{i,j}\right)+{rand}_{2}*(\mathrm{ gbest}(j)-{P}_{i,j})$$
(3)

As, all individuals cannot have same rate of self-introspection, so in Sect. 3.2, we have tried to vary the self-introspection parameter according to various inertia weight functions. In acquiring phase, every individual interact with a random person of the group and tries to learn from them, as given in Eqs. (2) and (3). More clear description can be found in the base paper of SGO [36].

3.2 SGO with inertia weight strategies

In this section, some of the basic inertia weights adjustment strategies have been discussed along with their respective equations. These techniques were applied to vary the value of ‘C’ i.e. self-Introspection parameter of SGO and their performance was compared to the original SGO algorithm, where the value of ‘C’ is a constant i.e. 0.2. To study the effect, convergence graphs of SGO versus SGO with adjusted inertia weights, have been provided, after simulating those on Ackley and Griewank benchmark functions to find their optimal value, with Dimension 50. Ackley is a complex function, where the EAs find it harder to find the global optimum and mostly gets trapped in local optimum. Griewank is a simple function, where EAs easily converge to the global optimum. Taking both the variety of functions helped us in analyzing the performance of the algorithms with better clarity. The inertia weight strategies which performed better than SGO were simulated with other benchmark functions and their result has been provided in Sect. 5.1. Table 2 shows the values of the basic parameters used for simulation of SGO and SGO with various inertia weight strategies. In the description, ‘I’ represents the current iteration number, ‘Imax’ represents the value of maximum number of Iterations, ‘C(I)’ represents the value of ‘C’ at iteration ‘I’, ‘Cmin’ is the minimum value of ‘C’ and ‘Cmax’ is the maximum value of ‘C’. Summary of the performance of these inertia weight strategies when implemented with SGO, has been provided in Table 3.

Table 2 Values of the basic parameters
Table 3 Summary of the performance of some inertia weight strategies when simulated with SGO on few numerical benchmark functions

3.2.1 Linear decreasing inertia weight

Eberhart and Shi [17] proposed a linearly decreasing inertia weight technique, defined in Eq. (4), which was one of the most cited and popular technique, as it converged faster than the original PSO. Figure 1a, b shows the convergence graphs of applying the same to vary the values of ‘C’ in SGO and it clearly shows that SGO with linear decreasing inertia weight does not perform better. Though, it obtains the optimal result finally in both the cases, but convergence is too poor with respect to SGO. Figure 1c shows, how value of ‘C’ changes for SGO with linear decreasing inertia weight and for SGO it is constant. It clearly shows that, having greater ‘C’ value in the beginning, is making the convergence graph, convex in nature. Hence, greater ‘w’ value was suitable for PSO because ‘w’ signifies weight associated to inertia of the birds and initially speed of the birds should be greater and it should gradually decrease as they near the goal, but greater ‘C’ value may not be suitable for SGO because, ‘C’ signifies learning rate and initially learning rate of a person is less and as knowledge increases, learning rate also increases gradually.

Fig. 1
figure 1

(a) SGO versus SGO with linear decreasing inertia weight for Ackley (b) SGO versus SGO with linear decreasing inertia weight for Griewank (c) value of ‘C’ for SGO versus SGO with linear decreasing inertia weight

$$C\left(I\right)=\frac{\mathrm{Im }ax-I}{\mathrm{Im} ax}\left(C\mathrm{max}-C\mathrm{min}\right)+C\mathrm{min}$$
(4)

3.2.2 Linear increasing inertia weight

Zheng et al. [56] proposed a Linear increasing inertia weight, whose equation is defined in Eq. (5). From the experimentation, it was found that PSO performed better for weight value ranging among 0.4 to 0.9. Hence in Eq. (5), weight increases from 0.4 onwards. But for SGO, 0.1 has been used as minimum. So, ‘0.4’ was replaced with ‘0.1’ in the simulation. Figure 2 shows the comparative performance of SGO and SGO with linear increasing inertia weight. It is very clear from the graphs that, SGO with linear increasing inertia weight converges better, but in Ackley function, it could not reach the minimum [refer to Fig. 2a]. In both the functions, convergence graph is either linear or concave in nature, which is desirable and from Fig. 2c, it can be deduced that lower ‘C’ value in the initial iterations, gives better result. But, as the ‘C’ value increases, gradually, it may not be suitable for reaching the optimum and hence it gets trapped in local minima for functions like Ackley, whereas for functions like Griewank, it performs better in convergence as well as in reaching the optimum. To study more about the performance of SGO with linear increasing inertia weight (SGOLIIW), it was simulated with other benchmark functions and results are given in the Sect. 4.

Fig. 2
figure 2

(a) SGO versus SGO with linear increasing inertia weight for Ackley (b) SGO versus SGO with linear increasing inertia weight for Griewank (c) value of ‘C’ for SGO versus SGO with linear increasing inertia weight

$$C\left(I\right)=0.5\times \frac{I}{\mathrm{Im} ax}+0.4$$
(5)

3.2.3 Sigmoid increasing and decreasing inertia weight

Sigmoid increasing inertia weight and Sigmoid decreasing inertia weight were proposed by Malik et al. [32] for adjusting the weights in PSO and experimentally they found that, Sigmoid increasing inertia weight performed better. Eqs. (6) and (7) defines Sigmoid decreasing inertia weight and Sigmoid increasing inertia weight respectively. They considered the value of ‘w’ to be ranging between 0.4 to 0.9 and n = 0.25, 0.5 and 0.75. We have considered the value of n=0.25. Value of ‘u’ is calculated as \(u=10^{\log\left(\mathrm{Im}\;ax-2\right)}\) , which is used to adjust sharpness of the functions. Figure 3a, b shows convergence graph of SGO versus SGO with sigmoid decreasing inertia weight for Ackley and Griewank function, respectively and Fig. 3c, d shows convergence graph of SGO versus SGO with sigmoid increasing inertia weight for Ackley and Griewank function, respectively. For Ackley function, though SGO with sigmoid decreasing inertia weight reaches optimal solution faster but for Griewank function, its convergence as well as reaching the optimum, is poor.

Fig. 3
figure 3

(a) SGO versus SGO with sigmoid decreasing inertia weight for Ackley (b) SGO versus SGO with sigmoid decreasing inertia weight for Griewank (c) SGO versus SGO with sigmoid increasing inertia weight for Ackley (d) SGO versus SGO with sigmoid increasing inertia weight for Griewank (e) value of ‘C’ for SGO versus SGO with sigmoid decreasing inertia weight (f) value of ‘C’ for SGO versus SGO with sigmoid increasing inertia weight

$$C\left(I\right)=\frac{C\mathrm{max}-C\mathrm{min}}{1+{e}^{u(I-n\times \mathrm{Imax})}}$$
(6)
$$C\left(I\right)=\frac{C\mathrm{max}-C\mathrm{min}}{1+{e}^{-u(I-n\times \mathrm{Imax})}}$$
(7)

Moreover, in Ackley, SGO’s convergence was better for initial number of iterations. Observing Fig. 3e, it may be deduced that for initial iterations, as value of ‘C’ is greater, so performance was poor, but after some iterations, when value of ‘C’ lowered down, performance improved. Whereas, SGO with sigmoid increasing inertia weight (SGOSIIW) performs quite well in both Ackley and Griewank function, which can be observed from Fig. 3c, d and converges much faster than SGO. In Fig. 3f, it can be observed that lower ‘C’ value in initial iterations, may be the reason for faster convergence and higher ‘C’ value after some iterations, may have helped in reaching the optimal solution faster. Hence, it was applied to other benchmark functions, so that, it’s overall performance could be observed and their results have been provided in the Sect. 5.1.

3.2.4 Oscillating inertia weight

Kentzoglanakis and Poole [28] proposed an oscillating inertia weight strategy for PSO, which gave better result for some of the function. Its definition is given in Eq. (8).

$$C\left(I\right)=\frac{C\mathrm{min}+C\mathrm{max}}{2}+\frac{C\mathrm{max}-C\mathrm{min}}{2}\mathrm{cos}(\frac{2\pi I}{T})$$
(8)
$$T=(2\times I)/(3=2k)\; \mathrm{and }\;I=3*Imax/4$$
(9)

For implementing in SGO, the value of ‘k’ was chosen to be 7, as in the specified paper. The value of ‘T’ and ‘I’ are given in Eq. (9). Figure 4 shows the convergence graph of SGO versus SGO with oscillating inertia weight for Ackley and Griewank, and it is observed that SGO performed better than this variant. From Fig. 3c, it may be deduced that, alternating higher and lower values of ‘C’ may not be suitable for SGO algorithm.

Fig. 4
figure 4

(a) SGO versus SGO with oscillating inertia weight for Ackley (b) SGO versus SGO with oscillating inertia weight for Griewank (c) value of ‘C’ for SGO versus SGO with oscillating inertia weight

3.2.5 Chaotic inertia weight

Feng et al. [20] proposed two chaotic strategies to adjust the inertia weight in PSO. They aggregated two popular techniques i.e. Liner decreasing inertia weight and Random inertia weight, with the logistic maps and proposed Chaotic decreasing inertia weight and Chaotic random inertia weight, whose equations are defined in Eqs. (10) and (11) respectively, where z is a random number in the interval of (0,1) and its logistic mapping is defined in Eq. (12). Figure 6a, b shows the convergence graph of SGO versus SGO with chaotic decreasing inertia weight and it can be inferred that SGO performs better. From Fig. 6g, it can be inferred that reason is same as in the case of Linear decreasing inertia weight [Fig. 2a, b]. Figure 6c, d shows the convergence graph of SGO versus SGO with chaotic random inertia weight and it can be observed that SGO performs well in this case too. From Fig. 6h, it can be observed that ‘C’ values produced are random and always greater than 0.5, hence chaotic maps may not be suitable for SGO. Feng et al. aggregated Logistic maps to linear decreasing inertia weight to enhance its performance, as it performed well for PSO [17]. But from the Fig. 1, it can be clearly deduced that, linear decreasing inertia weight did not perform well for SGO, rather linear increasing inertia weight performed better (Fig. 2). This gave way to the curiosity of finding out the performance of aggregated logistic maps and linear increasing inertia weight (Eq. (5)) for adjusting ‘C’ of SGO. We defined Chaotic increasing inertia weight, given in Eq. (13), by simply multiplying ‘z’ to the Eq. (5) and convergence graph of SGO versus SGO with chaotic increasing inertia weight is shown in Fig. 6e, f. From the graphs it can be inferred that, results are very much similar to Linear increasing inertia weight and ‘C’ values shown in Fig. 6i also depicts the same. So, it may be deduced that, chaotic maps do not affect the convergence of SGO significantly.

Fig. 5
figure 5figure 5

(a) SGO versus SGO with chaotic decreasing inertia weight for Ackley (b) SGO versus SGO with chaotic decreasing inertia weight for Griewank (c) SGO versus SGO with chaotic random inertia weight for Ackley (d) SGO versus SGO with chaotic random inertia weight for Griewank (e) SGO versus SGO with chaotic increasing inertia weight for Ackley (f) SGO versus SGO with chaotic increasing inertia weight for Griewank (g) value of ‘C’ for SGO versus SGO with chaotic decreasing inertia weight (h) value of ‘C’ for SGO versus SGO with chaotic random inertia weight (i) value of ‘C’ for SGO versus SGO with chaotic increasing inertia weight

Fig. 6
figure 6

(a) SGO versus SGO with adaptive inertia weight for Ackley (b) SGO versus SGO with adaptive inertia weight for Griewank (c) SGO versus SGO with modified adaptive inertia weight for Ackley (d) SGO versus SGO with modified adaptive inertia weight for Griewank (e) value of ‘C’ for SGO versus SGO with adaptive inertia weight (f) value of ‘C’ for SGO versus SGO with modified adaptive inertia weight

$$C\left(I\right)=\frac{\mathrm{Im}\;ax-I}{\mathrm{Im} ax}\left(C\mathrm{max}-C\mathrm{min}\right)+C\mathrm{min}\times z$$
(10)
$$C\left(I\right)=0.5\times rand+0.5\times z$$
(11)
$$z=4\times z\times (1-z)$$
(12)
$$C\left(I\right)=0.5\times \frac{I}{\mathrm{Im} ax}+0.2\times z$$
(13)

3.2.6 Adaptive inertia weight

Nickabadi et al. [38] proposed a weight adjustment strategy for PSO, which could adapt according to the success rate of swarms in each iteration. Success for a minimization problem, is defined by ‘ S ’ in Eq. (14), where ‘ pbest ’ signifies the local best of each particle ‘i’.

$$S\left(I\right)=\left\{\begin{array}{l}1,\;fit(pbest\left(I\right)<fit(pbest(I-1)\\0,\;fit(pbest\left(I\right)<fit(pbest(I-1)\end{array}\right.$$
(14)
$$S\left(I\right)=\frac{{\sum\limits_{i-1}^{n}}S(i)}{n}$$
(15)
$$C\left(I\right)=\left(C\mathrm{max}-C\mathrm{min}\right)R\left(I\right)+C\mathrm{min}$$
(16)

Success rate is defined by ‘R’ in Eq. (15), where ‘N’ is the number of particles. Success rate signifies the percentage of population, that gained betterment to their previous iteration. Basing on the success rate, weight would adapt itself, whose definition is given in Eq. (16). Figure 7a, b shows the convergence graph of SGO versus SGO with adaptive inertia weight, but it can be clearly deduced that SGO performance is better. The reason could be the linear function used in Eq. (16), was suitable for PSO, but may not be suitable for SGO, which is clearly shown in Fig. 7e, where value of ‘C’ always remained higher. To make it suitable for SGO, we modified the linear function as given in Eq. (17) and the results obtained were better than SGO, which is shown in Fig. 7c, d. The reason may be inferred from Fig. 7f, where ‘C’ values remain always at minimum. From, Fig. 7e, f, it can also be inferred that, Eqs. (17) and (18) failed to generate adaptive ‘C’ values for SGO, as the values generated, may be outside the permitted range and due to normalization, generated values remain constant.

Fig. 7
figure 7

(a) SGO versus SGO with adaptive chaotic inertia weight for Ackley (b) SGO versus SGO with adaptive chaotic inertia weight for Griewank (c) value of ‘C’ for SGO versus SGO with adaptive chaotic inertia weight

$$C\left(I\right)=C\mathrm{max}-(C\mathrm{max}-C\mathrm{min})R\left(I\right)$$
(17)

3.2.7 Adaptive chaotic inertia weight

Chen et al. [5], used another adaptive inertia weight to adjust the weight and used logistic maps to introduce chaotic sequence into iterations in Particle swarm optimization for antenna synthesis. Its definition is given in Eq. (18), where value of ‘k’ is given in Eq. (19) and value of ‘ƌx’ is given in Eq. (20), which is evaluated for every population ‘i’. ‘D’ specifies the number of dimensions and ‘Gbest’ specifies global best for iteration ‘I’.

$$C\left(I\right)=k\times \frac{C\mathrm{max}-C\mathrm{min}}{\mathrm{max}\left\{\partial X\left(i\right)\right\}}\partial X\left(i\right)+C\mathrm{min}$$
(18)
$$k=\frac{\mathrm{Im} ax-1}{\mathrm{Im} ax}$$
(19)
$$\partial X\left(i\right)=\sqrt{\sum_{d-1}^{D}{X}_{id}-{Gbest}_{d}}$$
(20)

Authors have used logistic maps to alter the optimal solution in each iteration and replace it with one of the population. Figure 8a, b shows SGO versus SGO with adaptive chaotic inertia weight for Ackley and Griewank function respectively, from which it can be deduced that SGO with adaptive chaotic inertia weight performs better. Figure 8c shows adaptive ‘C’ values generated with each iterations and it can be inferred that Eq. (18) could successfully generate adaptive values for SGO. For the experimentation purpose, we removed the chaotic maps and simulated only adaptive inertia weight with SGO and it was found that, without chaotic maps also performance was same. It is the adaptive function which has significant effect on the algorithm. To study more about the performance of SGO with adaptive chaotic inertia weight (SGOACIW), it was simulated with other benchmark functions whose results are given in Sect. 5.1.

Fig. 8
figure 8figure 8

Convergence graph of SGO, SGOLIIW, SGOSIIW, SGOACIW and SGOSAIW for (a) Sphere (c) Griewank (e) Rosebrock (g) Schwefel 2.26 and values of ‘c’ of SGO and SGOSAIW for (b) Sphere (d) Griewank (f) Rosebrock (h) Schwefel 2.26

4 Sigmoid-adaptive inertia weight strategy and its effect on SGO

In Sect. 3.2, we have presented the simulation graphs of only two benchmark functions i.e. Ackley and Griewank, to simply segregate those inertia weight strategies, which performed better for SGO. In Sect. 5.1, the simulation results of all the better performing algorithms has been shown, from which a very peculiar behavior can be noticed. For some algorithms, SGO with sigmoid increasing inertia weight (SGOSIIW) converges much faster whereas for some problems SGO with adaptive chaotic inertia weight (SGOACIW) performs better. To know the reason, we analyzed the nature of the functions and found that, for simple functions such as Sphere, Griewank etc., which are uni-modal and separable, SGOSIIW converged faster, though all the algorithms reached the minima, and for complex functions such as Rosenbrock and Schwefel, which are multimodal and non-separable, all algorithms got trapped in local minima, but SGOACIW gave more optimum value. Our proposed technique i.e. Sigmoid-adaptive inertia weight, carries properties of both Sigmoid increasing inertia weight (refer to Sect. 3.2.3) and Adaptive inertia weight (refer to Sect. 3.2.7), whose equation is given in Eq. (21), where value of ‘k’ is given in Eq. (19), value of ‘ƌx’ is given in Eq. (20) and value of ‘n’ has been considered as 0.25. Sigmoid adaptive inertia weight has been applied to SGO (SGOSAIW), to vary the values of ‘C’ and study the effects on the performance of the algorithm. We are not using chaotic maps (as used in Sect. 3.2.7), as we found that, it is not that much effective for SGO. SGOSAIW, along with other SGO variants discussed in Sect. 3.2, were simulated upon two simple functions Sphere and Griewank as well as two complex functions Rosenbrock and Schwefe l2.26. Their comparative convergence graph and the generation of ‘C’ value for every iteration, has been shown in Fig. 8. From Fig. 8a, c, e and g, it can be observed that SGOSAIW performs well for simple functions like Sphere and Griewank as well as for complex functions like Rosenbrock and Schwefel2.26. Thus, this inertia weight technique seems suitable for variety of real word problems. From Fig. 8b, d and f, it can be inferred that, for simple functions, values of ‘C’ need not have to adapt much, hence curve is smooth, but for complex functions more adaptations are required, so the corresponding graph is uneven.

$$C\left(I\right)=k\times \frac{Cmax-Cmin}{1+{e}^{(\mathrm{min}\{\partial x\}-n\times \mathrm{max}\{\partial x\})}}\times \partial x(i)$$
(21)

Table 3 provides the summary of the performance of the discussed inertia weight strategies when simulated with SGO, on some of the numerical benchmark functions with the inferences drawn from each simulation.

5 Simulation and results

5.1 Performance evaluation using benchmark functions

All the simulations were carried out in Matlab 2016a on the system having Intel Core i7 2.67 GHz processor and 8 GB RAM. To know the comparative performance of SGOSAIW to other algorithms, SGOACIW, was compared to Adaptive inertia weight based teaching-learning-based optimization (ATLBO) proposed by Shukla et al. [51] and Adaptive inertia weight Bat algorithm with Sugeno-function fuzzy search (ASF-BA), proposed by Rauf et al. [48]. Shukla et al. have used an eight benchmark functions suite, given in Table 4, to compare ATLBO with GA, various variants of PSO, various variants of ABC, DE, TLBO and Rank Inertia Weight TLBO. Similarly, Rauf et al. have used a nineteen benchmark function suite, given in Table 6, to compare the performance of ASF-BA against BA and PSO.

Table 4 Eight benchmark function suite used for performance analysis of ATLBO and SGOSAIW

In Sect. 4, SGOSAIW was simulated on only four benchmark functions. To get a clearer picture, it was simulated upon the eight benchmark function suite [51] and nineteen benchmark function suite [48], along with other inertia weights based SGO discussed in Sect. 3.2. Table 5 provides the simulation results of the algorithms, upon eight benchmark function suite and its convergence graph is shown in Fig. 9. From Fig. 9a, c, e and g, it can be observed that, SGOSIIW performs better than SGOACIW, because it has better convergence capability, but, in Fig. 9b, d, f and h, SGOACIW performs better than SGOSIIW, because it is capable of finding more optimal solution by adaptive approach. Both of the scenarios are different and demands different approach to find an optimal solution. By observing the convergence graphs and the obtained results, it can be clearly deduced that SGOSAIW performs as better as SGOSIIW and SGOACIW in all the cases. It means, SGOSAIW excels in convergence ability as well as in finding optimal solution using adaptive approach, and hence could be used for variety of problems.

Table 5 Performance analysis of SGO, SGOLIIW, SGOSIIW, SGOACIW and SGOSAIW with eight benchmark functions suite given in Table 4
Fig. 9
figure 9figure 9

Convergence graph of SGO, SGOLIIW, SGOSIIW, SGOACIW and SGOSAIW for (a) F1 (b) F2 (c) F3 (d) F4 (e) F5 (f) F6 (g) F7 (h) F8

Table 6 Performance analysis of PSO, ABC, DE, TLBO, RaIWTLBO, ATLBO and SGOSAIW on eight benchmark functions suite given in Table 4

Table 6 provides the comparative performance of PSO, ABC, DE, TLBO, RaIWTLBO, ATLBO and SGOSAIW. For fair evaluation, SGOSAIW was simulated using same basic input parameters as mentioned in [51] for eight benchmark mark function suite i.e. number of population was taken as 20, dimension was set to 30 and iterations was set to 1000. From Table 6, it can be observed that, SGOSAIW performed better than the other algorithms, for all the cases except F2, where ATLBO performed better.

SGOSAIW along with other SGO variants discussed in Sect. 3.2, were also simulated upon nineteen benchmark function suite, used by Rauf et al, which is given in Table 7. Result of the simulation is provided in Table 8 and convergence graphs of all the functions are shown in Fig. 10. A similar observation can be made from these functions too as it was in Fig. 9. From Fig. 10a−s, it can be observed that SGOSIIW performs much better than SGO, SGOLIIW and SGOACIW. Even in some cases, as shown in Fig. 10c, i, SGO performs better than SGOLIIW and SGOACIW. It means one technique may show different behavior for different types of problems. But, SGOACIW also performs better in some cases too, as shown in Fig. 10f, k and q, where reaching minima is difficult, as functions are quite complex. But in all the cases, SGOSAIW, performs better, irrespective of the nature of the function and same can be deduced from Table 8 also. So, it again proves that SGOSAIW can perform better in varied conditions and is suitable for application to different types of problem.

Table 7 Nineteen benchmark function used for performance analysis of ASF-BA and SGOSAIW
Table 8 Performance analysis of SGO, SGOLIIW, SGOSIIW, SGOACIW and SGOSAIW with nineteen benchmark functions suite given in Table 7
Fig. 10
figure 10figure 10

Convergence graph of SGO, SGOLIIW, SGOSIIW, SGOACIW and SGOSAIW for (a) G1 (b) G2 (c) G3 (d) G4 (e) G5 (f) G6 (g) G7 (h) G8 (i) G9 (j) G10 (k) G11 (l) G12 (m) G13 (n) G14 (o) G15 (p) G16 (q) G17 (r) G18 (s) G19

Table 9 provides the comparative performance of PSO, BA, ASF-BA and SGOSAIW. The values are taken from [48] and for fair evaluation SGOSAIW was simulated with same parameters as mentioned by Rauf et al. Number of population and number of iterations was set to 50 and 5000 respectively and dimension was set to 50 and each process was repeated for 100 times. The algorithms were run for 30 times and their mean and standard deviation were considered as the final results. From Table 9, it can be observed that, SGOACIW provides better result for all function except G17, where ASF-BA performs better.

Table 9 Performance analysis of PSO, BA, ASF-BA and SGOACIW on nineteen benchmark functions suite given in Table 7

Overall performance of SGOSAIW was found to be better than other algorithms in simulation of both the benchmark functions suite. In many cases zero or nearer to zero standard deviation has been obtained which shows that the proposed algorithm has good stability i.e. same results are obtained in most of the runs. From the analysis, it is very clear that, irrespective of any inertia weight adjustment technique, SGO performs better with lower ‘C’ value or gradually increasing ‘C’ value. The reason may be found from the basic principle of SGO which is based on social behavior of individuals and how they put impact on each other or we can say how their traits change by interacting among themselves, which is already discussed in Sect. 3.1. Self-introspection parameter ‘C’ signifies the amount of self-introspection a person does to know his inner traits, to judge himself, so that he can improve. Learning cannot happen, if an individual don’t testify himself, to realize his own merits and demerits. So, lower ‘C’ value or gradually increasing ‘C’ value indicates that, at the beginning of the process, a person’s self-introspection percentage is very less, but gradually it increases as a person improves himself. Thus, at later stage of the process, a person improves himself as well as his ability to judge himself also increases.

Sigmoid adaptive inertia weight means, the value increases in sigmoidal nature as well as it takes into account, its own previous value, current value and the best value achieved so far, and changes adaptively. It signifies, not all the problems can be treated same. So for different types of problems, problem solving approach must be different. Thus, a person, along with gradually increasing his self-introspection, should also change himself according to the surrounding conditions or adapt himself, and then only optimal solution can be ensured, in most of the situations.

For the functions, on which SGOSAIW, did not perform well, it can be deduced that, tuning the parameters, may perform well for some type of problems, but not all. An evolutionary algorithm has many more aspects, on which developmental works can be done such as population initialization, operator hybridization etc., which can improve the performance of the algorithm. In SGOSAIW, we have not taken any such aspects into the consideration, which can apparently be treated as a limitation of the algorithm.

For validation purpose, number of population, number of iterations and dimension of the benchmark functions was kept same. Simulating SGOSAIW by varying these parameters will help in analyzing impact of these algorithm independent parameters on the proposed methodology. Table 10 shows the mean best values got by simulation of SGOSAIW with varied parameter values for Sphere, Griewank, Rosenbrock and Schwefel 2.26 numerical benchmark functions, whose comparative performance analysis is given in Sect. 4. Simulation has been carried out for dimension –20 and 50, for population size –20, 50 and 100 and for number of iterations –50 and 100. It is observed that, for simple functions such as Sphere and Griewank, the optimal value is reached with a few numbers of population and iterations. For complex functions such as Rosenbrock and Schwefel 2.26, optimality is directly proportional to the increasing number of population and iterations, but this condition holds true up to a certain value of fitness function. After a certain point no change in the function value will happen irrespective of population size and number of iterations. So, it can be inferred that algorithm independent parameters like population size and number iterations helps in convergence but for reaching the optimal solution, algorithm dependent parameters and algorithmic operations play a major role.

Table 10 Mean best values of SGOSAIW with different values of Dimensions, Iterations and Population size for Sphere, Griewank, Rosenbrock and Schwefel 2.26 numerical benchmark functions

Comparing ‘C’ of SGO to ‘w’ of PSO, it can be said that ‘w’ is one of the parameter in PSO which added weight to the initial velocity whereas ‘C’ is the self- introspection parameter in SGO which impacts its improving phase. Both are not same, but change in both parameters affect the performance of the respective algorithms. Inertia weight techniques are parameter tuning or parameter changing techniques according to a specific function. That’s why it can be observed that, while one technique works for ‘w’ in PSO, it fails for ‘C’ in SGO. It is completely algorithm dependent. As the nature of algorithms is different, so they behave differently and hence it requires extensive analysis to draw some conclusions.

5.2 Performance evaluation using engineering design problems

In this section, we simulated SGO and SGOSAIW on some of the engineering design problems because these problems integrate constraints satisfiability along with searching the optimal result. Most of the real world problems can be mapped to these Constrained Optimization (CO) problems. In most of the papers, they use several design problems such as mechanical design problems, but from the single domain only. In this section, we have used Three bar truss problem [46] and Cantilever beam problem [46] from mechanical engineering domain and two Process synthesis and design problems [30] from chemical engineering domain, whose problem formulation and description has been provided in Appendix. Every problem domain has its unique constraints, thus using wide variety of problem domains helps in studying the nature of the algorithms better. All the four problems considered here are minimization problems. Three bar truss problem has two variables to optimize constrained to three conditions. Cantilever beam problem has five variables to optimize constrained to one condition. Process synthesis problem has two variables to optimize constrained to two conditions and Process synthesis and design problem has three variables to optimize constrained to two conditions. Results obtained for Three bar truss and Cantilever beam have been compared to SAMP Rao algorithms [46] and results obtained for the two Process synthesis design problems have been compared to Improved Unified Differential Algorithms (IUDE) [52], ἐ - constraint Matrix adaptation gradient approximation evolution strategy(ἐ-MAgES) [23] and improved LSHADE with ἐ- constraint (iLSHADE ἐ) [18], whose results are taken from Kumar et al. [30]. Population size was considered to be 500 and run for 5000 iterations. Each algorithm was simulated for 50 individual runs and the best value and standard deviation obtained have been considered as the result. Comparative performance analysis for the engineering design problems have been given in Tables 11 and 12, from which it can be observed that SGOSAIW gives satisfactory results. In Table 11, it can be observed that, for Three bar truss problem and Cantilever beam problem, proposed method was able to find the optimal value but with better standard deviation value. In Table 12, for both the problems though SGOSAIW performs better than SGO, but not better than the other algorithms. The reason is, some large scale optimization problems require inclusion of extra parameters as in [23, 52] and [18] to get the most optimal value. As in the proposed methodology no such parameters have been included, so it lacks in reaching the optimum.

Table 11 Performance analysis of SAMPRao algorithms, SGO and SGOACIW on Three bar truss and Cantilever beam problem
Table 12 Performance analysis of IUDE, ϵ MAgES, iLSHADEϵ, SGO and SGOACIW on Process synthesis design problems

6 Conclusion

Sigmoid adaptive inertia weight based SGO was tested with several benchmark functions and it was found performing better than other algorithms, for most of the functions, but not all such as ‘Noisy’ benchmark function and ‘Schwefel 2.26’ benchmark function. Mainly, the proposed inertia weight strategy was found suitably adapting to most of the problems, irrespective of their complexities, unlike other inertia weight strategies. Though parameter tuning can affect the performance of an evolutionary algorithm greatly, but there are other aspects as well, which affects the performance too. In this paper, we have only focused on parameter tuning using different inertia weights. Modifying other aspects and analyzing their effects on the performance of the algorithm, may be taken as one of the future works. Moreover, application of inertia weight strategies have been clearly explained with detailed analysis and insights, which are very easy to follow and can be helpful to the researchers who are new to this field. A thorough analysis on changing behavior of algorithms, on application of different inertia weight strategies, was done and reasonable explanations were provided. Proposed inertia weight strategy can be applied to several recent evolutionary algorithms for adaptation to various real-world problems and new paradigms may be explored.

For engineering design problems of mechanical engineering domain and chemical engineering domain, performance of SGOSAIW was satisfactory, but here also a scope of improvement could be found. SGOSAIW is a generalized algorithm and it has not been designed specifically for constrained optimization problems. So, a specialized version could also be designed with SGOSAIW for dealing especially with complex constrained optimization problems.