1 Introduction

Nature is a big inspiration for the development of human society, right from the Stone Age. When mankind learned to see, observe and analyze the activities of nature, they realized that nature is a system of huge complexity and it always produces a near—optimum solution by settling into a state of minimum energy. The field of nature-inspired computing has gained popularity over the last 50 years. The algorithms produced in this field can often be outlined to the use of computer simulations to study nature. Evolutionary algorithms, swarm intelligence based algorithms and artificial neural network based algorithms are the three basic categories of nature inspired optimization algorithms. Swarm Intelligence is a meta-heuristic methodology in the area of Artificial Intelligence which is used to solve real-world complex optimization problems. It is the study of the decentralized collective behavior of flocks of birds, social insects or schools of fish. However, any collection of interacting agents or individuals in the environment can be called as a swarm. Bonabeau et al. (1999) said that “any attempt induced by the collective behavior of social insect colonies and other animal societies to design algorithms or distributed problem-solving devices is called swarm intelligence”. The Swarm Intelligence algorithms can be used to solve non-convex, non-linear or combinatorial optimization problems in many domains of science and engineering. Earlier research (Yang et al. 2012, 2013; Rao et al. 2012; Dorigo et al. 2006; Eberhart and Kennedy 1995; Price et al. 2006; Vesterstrom and Thomsen 2004; Formato 2008; Vinod et al. 2004; Krishnanand et al. 2006; Venkata Rao 2007; Satsangi et al. 2012; Ram et al. 1996; Kim et al. 2008; Nagar and Robinson 2012) have revealed that the solution of real-world optimization problems can easily be found out by swarm intelligence based algorithms. Self-organization and division of labor are the two most important and significant properties of swarm intelligent behavior which can be explained as:

  1. 1.

    Self-organization It is an important characteristic of a swarm structure, in which a global level response arises by means of communication among its lower order components. It is not controlled by any external element or central authority. Bonabeau et al. (1999) have explained the following four important features, which form the base of self-organization:

    1. a.

      Positive feedback It is the data obtained from the output of a system and again applied to the input to encourage the formation of appropriate structures. In the area of swarm intelligence, it provides diversity and speeds up the system to a new stable state.

    2. b.

      Negative feedback It balances the effect of positive feedback and helps the collective pattern to become stable.

    3. c.

      Fluctuations These are the amount or extent of random changes in the system. With the help of fluctuations, stagnation is cleared from foraging process.

    4. d.

      Multiple interactions It specifies the learning technique from the individuals of a society and thus improves the combined intellect of the swarm.

  2. 2.

    Division of labor In particular, it is a cooperative labor. There are several tasks in a group, which are done simultaneously by specialized individuals. It is believed that simultaneous task performance by conjoining specialized individuals is more effective than the consecutive task performance by unspecialized individuals (De Castro and Von Zuben 1999; Jeanne 1986; Oster and Wilson 1978).

In the series of algorithms based on swarm intelligence, Spider Monkey Optimization (SMO) is a new stochastic optimization method inspired by the social activities of spider monkeys. It was developed by Bansal et al. (2014). The social organization of spider monkeys is related to fission–fusion social system (FFSS). Thus the SMO algorithm can be better explained in terms of FFSS. This paper presents a review on Spider Monkey Optimization Algorithm along with the modifications done in the original SMO and the applications of SMO in various areas and classifies these modifications in an ontological framework. The paper provides a complete and holistic view of research on SMO algorithm.

2 Spider Monkey Optimization Algorithm

SMO is a population-based algorithm stimulated by the social activities of spider monkeys. It is based on the intelligent foraging behavior of spider monkeys that imitate fission–fusion social structure. In FFSS, the individuals form momentary small groups whose members belong to a larger or stable community. Monkeys divide themselves from larger to smaller groups and vice versa on the basis of scarcity and availability of food sources (Fig. 1).

Fig. 1
figure 1

Spider monkeys

The main features of the FFSS are:

  1. 1.

    The animals based on the fission–fusion social organization are social and persist in groups of 40–50 individuals (Bansal et al. 2014).

  2. 2.

    The group is headed by a most senior female in general who is responsible for exploring food sources. It is represented as the global leader. If she is not able to find out sufficient quantity of food for the group, then she breaks the group into small subgroups (varying from 3 to 8 individuals in size) that forage independently.

  3. 3.

    Sub-groups are also directed by a female who takes the decision and designs a well-organized foraging route each day. In this case, the leader is called local leader (Bansal et al. 2014).

  4. 4.

    The group members communicate over long distances using a particular call among themselves and with other members of the group. Each spider monkey has a distinct sound which can be easily identified by other individuals of the group to find out who is calling. This helps the spider monkeys to maintain social bonds and defensive boundaries (Bansal et al. 2014) (Fig. 2).

2.1 Main Steps of Spider Monkey Optimization Algorithm

There are six stages in the algorithm viz., Local Leader Phase, Global Leader Phase, Local Leader Learning Phase, Global Leader Learning Phase, Local Leader Decision Phase and Global Leader Decision Phase. To comprehend the usage of SMO, the accompanying explanation can be looked upon.

Fig. 2
figure 2

Fission–fusion social structure of spider monkeys

2.1.1 Initialization of the population

In the first place, SMO generates a uniformly scattered initial population of N spider monkeys where each monkey \(SM_{i}\) (i = 1, 2, …, N), is a D-dimensional vector and SM i denotes the ith Spider Monkey (SM) in the population. Each dimension j of SM i is initialized as follows:

$$SM_{ij} = SM_{min j} + rand\left[ {0,1} \right](SM_{max j} {-}SM_{min j} )$$

where SM minj and SM maxj are limits of SMi in jth direction and rand[0,1] is a uniformly distributed random number in the range [0,1].

2.1.2 Local Leader Phase (LLP)

On the premise of the information picked up from the experiences of the local leader and local group members, each spider monkey updates its present position in this stage. The fitness value of so acquired new position is assessed. In the event that the fitness value of the new position is more noteworthy than that of the old position, then the SM changes its position with the new one. The position update equation for ith SM (member of kth local group) in this stage is

$$SM_{newij} = SM_{ij} + rand\left[ {0,1} \right](LL_{kj} {-}SM_{ij} ) + rand\left[ { - \,1,1} \right](SM_{rj} {-} \, SM_{ij} )$$

where the jth dimension of the ith SM is denoted by SM ij , the jth dimension of the kth local group leader position is denoted by LL kj . SM rj indicates the jth dimension of the rth SM which is selected randomly from the kth group such that r ≠ i, rand[− 1,1] is a uniformly distributed random number between − 1 and 1.

figure a

2.1.3 Global Leader Phase (GLP)

The Global Leader Phase (GLP) begins after the finish of the Local Leader Phase. All the spider monkeys reexamine their position utilizing the experience of Global Leader and members of the local group. The position update equation for this stage is given by

$$SM_{newij} = SM_{ij} + rand\left[ {0,1} \right](GL_{j} {-} \, SM_{ij} ) + rand\left[ { - \,1,1} \right](SM_{rj} {-} \, SM_{ij} )$$

where GL j is the jth dimension of the global leader position and j ∈{1, 2, …, D} is an arbitrarily selected index.

The positions of spider monkeys (SM i ) are updated on the basis of a probability prob i which are determined utilizing their fitness. In this way, a superior candidate will have more possibility to make it to the next stage. The probability prob i is calculated as follows (Sharma et al. 2014):

$$prob_{i} = 0.9 \times \frac{{fitness_{i} }}{max \,fitness} + 0.1$$

Here fitness i means the fitness value of the ith SM and \(max\,fitness\) signifies the maximum fitness in the group. The fitness of the recently generated position of the SMs is assessed and the comparison is done with the old one and the better position is adopted.

figure b

2.1.4 Global Leader Learning (GLL) Phase

In this stage, the position of the SM having best fitness in the population is chosen as updated using greedy selection. Further, the position of global leader is checked whether it is updating or not and if not then the Global Limit Count (GLC) is incremented by 1.

2.1.5 Local Leader Learning (LLL) Phase

In this stage, the position of the local leader is updated by applying the greedy selection in that group. At that point the enhanced position of the local leader is coordinated with the old one and if the local leader position is not updated, at that point the Local Limit Count (LLC) is increased by 1.

2.1.6 Local Leader Decision (LLD) Phase

In the event that any Local Leader position is not updated up to a predetermined threshold known as Local Leader Limit (LLLimit), at that point the position of all the members of that smaller group is updated either by initializing them arbitrarily or by means of collective information from Global Leader and Local Leader using the following equation:

$$SM_{newij} = SM_{ij} + rand\left[ {0, 1} \right]\left( {GL_{j} {-} SM_{ij} } \right) + rand\left[ {0, 1} \right]\left( {SM_{ij} {-} LL_{kj} } \right)$$
figure c

2.1.7 Global Leader Decision (GLD) Phase

In this stage, the global leader position is checked and on the off chance that it is not updated up to a predetermined number of iterations, called Global Leader Limit (GLLimit), then the population is divided into smaller groups by the global leader. At first, the population is part into two groups, and after that three groups etc., till the maximum number of groups (MaxGrps) are formed. At that point, LLL process is started in order to choose the local leader in the newly created groups. At the time when the maximum numbers of groups are created and even then the global leader position is not updated, at that point global leader joins all the smaller groups into a single group.

figure d

The complete pseudo-code of Spider Monkey Optimization is as follows:

figure e

2.2 Control parameters in SMO

Global Leader Limit (GLLimit) and Local Leader Limit (LLLimit) are the two fundamental control parameters in SMO algorithm to supply proper direction to global and local leaders. LLLimit also avoids the situation of stagnation. A Maximum number of groups and perturbation rate are also the control parameters of SMO. Some general settings of control parameters are recommended as follows:

  • Maximum number of groups should be selected such that minimum number of spider monkeys in one group should be 10, i.e., MG = \(\frac{swarm\;size}{10}\)

  • Global Leader limit should lie between \(\frac{swarm\;size}{2}\) and 2 × swarm size.

  • Local Leader limit should be D × swarm size, where D are the total dimensions of the group.

  • Perturbation rate (pr) should lie between 0.1 and 0.9

The aim of this research article is to provide readers with a concise and yet relatively comprehensive list of information since the inception of SMO. This paper will assist in picking up bits of knowledge of all the significant studies with respect to this intense and effective optimization algorithm. The next section gives a brief review of the modifications done in the original SMO algorithm as far as new variations presented and hybridization with other probabilistic and deterministic algorithms.

3 Modifications in Spider Monkey Optimization Algorithm

As SMO is a novel algorithm in the area of Swarm Intelligence developed by Bansal et al. (2014), very little research is done on it. All the research work in the related area is done in 2014, 2015, 2016 and recently in 2017. Researchers different changes in the fundamental adaptation of SMO keeping in mind the end goal to wipe out its downsides like stagnation, less exploitation capabilities, premature convergence and so forth and consistent endeavors are being made to additionally upgrade the algorithm. Several variations are introduced using different perturbation rate, different probability scheme, Quadratic approximation operator, Monkey’s behavior on the basis of their age, Change in Local search ability, Modified position update strategy etc. Hybridization is also done with other probabilistic algorithms like Genetic Algorithms (GA), Power law-based local search strategy (PLLS) and so on (Fig. 3).

Fig. 3
figure 3

Modifications in Spider Monkey Optimization Algorithm

The control parameters are to be set manually in the fundamental SMO. Kumar et al. (2014) identified a technique named “Self-Adaptive Spider Monkey Optimization Algorithm for engineering optimization problems” in which position of the local leader gets modified based on its current position using self-adaptive strategy. It uses cognitive learning to update current position of agents. As the strategy was self-adaptive in nature, so no manual setting of parameters was required. The algorithm performed well in contrast with its different variations in terms of consistency, effectiveness, and precision. Likewise, the rate of convergence of SaSMO is four times more than the rate of convergence of original SMO.

Ceaseless endeavors were being made to build the effectiveness of the algorithm. In this order, Kumar and Kumari (2014) proposed “Modified Position Update in Spider Monkey Optimization Algorithm” in 2014 which presents two changes in original SMO algorithm. In this paper, modifications of local leader and global leader stages were done by using the Golden Section Search (GSS) process. The position update in Local Leader Phase is done using the equation

$$SM_{newij} = SM_{ij} + rand\left[ {0,1} \right](LL_{kj} {-}SM_{ij)} + rand\left[ { - \,1,1} \right](SM_{rj} {-}SM_{ij)} + f(SM_{rj} {-}SM_{ij} )$$

where f is determined by GSS process. The position update in Global Leader Phase is done using the equation

$$SM_{newij} = SM_{ij} + rand\left[ {0,1} \right](GL_{j} {-}SM_{ij} ) + rand\left[ { - \,1,1} \right](SM_{rj} {-}SM_{ij} ) + f(SM_{rj} {-}SM_{ij} )$$

where f is determined by GSS process. The proposed technique was giving the better results for unbiased problems under consideration when it was applied to 9 benchmark functions.

Kumar et al. (2015) presented “Fitness Based Position Update in Spider Monkey Optimization Algorithm”. This paper demonstrated a new strategy to update the position of spider monkeys in local leader phase, global leader phase and local leader decision phase using fitness of individuals. The altered equations are as follows:

$$\begin{aligned} SM_{newij} & = SM_{ij} + prob_{i} (LL_{kj} {-}SM_{ij} ) + (1 - prob_{i} )(SM_{rj} {-} \, SM_{ij} ) \\ SM_{newij} & = SM_{ij} + prob_{i} (GL_{j} {-}SM_{ij} ) + (1 - prob_{i} )(SM_{rj} {-}SM_{ij} ) \\ SM_{newij} & = SM_{ij} + prob_{i} (GL_{j} {-}SM_{ij} ) + (1 - prob_{i} )(SM_{ij} {-}LL_{kj} ) \\ \end{aligned}$$

where prob i is the probability, which depends on fitness. As the fitness of individuals was the criterion for the position update, hence the algorithm was referred as the Fitness based Position Update in SMO (FPSMO). The anticipated strategy enhanced the rate of convergence. The planned FPSMO approach was tested over nineteen benchmark functions and for one real world problem in order to set up its prevalence over fundamental SMO calculation.

The location of each spider monkey in fundamental SMO algorithm was updated on the basis of selection of random spider monkey in global leader phase and local leader phase, regardless of considering the fact that the position of random monkey is better or not. It was assumed that all the spider monkeys have same searching capabilities and the same level of networking. But practically, this is impractical as all the monkeys are not of a similar age; some are younger and some are older. In this way, clearly the younger monkeys will be more active in interacting and updating their position than the aged or physically disabled monkeys. Utilizing this reality, Sharma et al. (2016) proposed “Ageist Spider Monkey Optimization algorithm” in 2016. In this paper, age and changing features of the spider monkeys were considered as the reason for modification. The position update in local leader phase resulted in Ageist Spider Monkey Optimization algorithm (ASMO), while the position update in both the local leader phase and global leader phase resulted in Ageist Modified Spider Monkey Optimization algorithm (AMSMO). The modified algorithms (ASMO and AMSMO) were proposed to tackle the issue of low rate of convergence of original SMO which resulted in higher rate of group breaking and merging.

The low rate of convergence is the main drawback of original SMO algorithm. To defeat this downside and to enhance the exploitation capabilities of basic SMO, Hazrati et al. (2016) proposed another variation of SMO in their paper “Adaptive Step-size based Spider Monkey Optimization” in 2016 and named the variation as AsSMO algorithm. The process of position update in AsSMO utilizes the spider monkey fitness to assess the step-size. The position update in Global Leader Phase is done by the following equation:

$$SM_{newij} = SM_{ij} + rand\left[ {0,2.2{-}prob_{i} } \right](GL_{j} {-}SM_{ij} ) + rand[ - \,(2.2 \, {-}prob_{i} ),2.2{-}prob_{i} ](SM_{rj} {-}SM_{ij} )$$

where prob i is the probability. In this way, the more fit solutions will converge faster than the less fit solutions. Likewise, to stay away from the situation of stagnation, fluctuations are introduced in the Global Leader Decision Phase. Random initialization of the global leader is done, if the global leader does not update itself up to a pre-determined limit (GLLimit). This increases the exploration capacity of the algorithm. The presented algorithm was compared with SMO and SaSMO over 15 benchmark problems and AsSMO gave better results among the three.

Around the same time, Hazrati et al. (2016) introduced another variant of SMO in their paper “Modified Spider Monkey Optimization” in which Metropolis principle of simulated annealing and probability were used in local leader phase and global leader phase of original SMO respectively. The global search ability was improved due to metropolis principle and the step-size was adjusted due to probability so that the algorithm does not get stuck at local optima and the global optimum is not missed. The modified algorithm was analyzed over 10 benchmark problems and the outcomes were compared with SMO, PSO and another variant of SMO, SaSMO. It was concluded that MSMO gave better outcomes as compared to other algorithms.

In 2016, the first attempt to solve constrained continuous optimization problems using SMO was made by Gupta et al. (2017a) in “Spider monkey optimization algorithm for constrained optimization problems.” In this paper, the authors anticipated a modified form of Spider Monkey Optimization algorithm using Deb’s constraint handling technique to solve constrained optimization problems. The modified version was named as Constrained Spider Monkey Optimization algorithm (CSMO). To do the performance check of the proposed algorithm, the investigation was done over constrained benchmark problems. In CSMO, the fitness of a solution is based on its feasibility. Here, the comparison of two solutions is based on three feasibility rules. This paper has compared the CSMO with ABC, PESO and CHDE on CEC2006 and CEC2010 benchmark problems.

The basic SMO algorithm utilized the perturbation rate which was linearly increasing. To explore various other methods of perturbation rate, Gupta and Deep (2016a) recommended a new direction in her paper “Investigation of suitable perturbation rate scheme for spider monkey optimization algorithm” in 2016 by introducing varying perturbation rate schemes to study the behavior of SMO. Four varieties of perturbation strategies were introduced in the paper—constant, random, linearly increasing and linearly decreasing. The four schemes are as follows (Table 1).

Table 1 Perturbation rate varying scheme with their formula

Experiments suggested that linearly increasing perturbation rate is more desirable over other introduced perturbation rates. It was proposed that some more perturbation rate varying schemes such as adaptive, chaotic, non-linear etc. will be explored and their performance will be examined in near future.

To enhance the local search ability of spider monkeys in the original SMO, Gupta et al. (2017b) propounded a Quadratic Approximation operator in her research “Improving the local search ability of spider monkey optimization algorithm using Quadratic Approximation for unconstrained optimization” in 2016. The QA operator works as follows.

First of all, three distinct solutions A(a1, a2, …, aD), B(b1, b2, …, bD) and C(c1, c2, …, cD) are chosen such that A is the best fit solution and B and C are random. The point of minima of the quadratic curve passing through A, B and C gives a new solution P(p1, p2, …, pD) using the following equation:

$$p_{j} = \frac{1}{2}\frac{{\left( {b_{j}^{2} - c_{j}^{2} } \right)f\left( A \right) + \left( {c_{j}^{2} - a_{j}^{2} } \right)f\left( B \right) + \left( {a_{j}^{2} - b_{j}^{2} } \right)f\left( C \right) }}{{\left( {b_{j} - c_{j} } \right)f\left( A \right) + \left( {c_{j} - a_{j} } \right)f\left( B \right) + \left( {a_{j} - b_{j} } \right)f\left( C \right)}} \quad \forall j = 1, 2, \ldots , D$$

where j is the dimension and f(A), f(B)and f(C) are the objective function value of f at A, B and C respectively. In this way, the position of the worst member of the group is updated using the global/local leader and two other randomly selected monkeys in Global Leader Learning (GLL) Phase and Local Leader Learning (LLL) phase. This operator has been incorporated in order to enhance the local search capability of basic SMO. The modified algorithm performed well on scalable benchmark problems, but performed fairly on non-scalable benchmark problems.

Gupta and Deep (2016b) rolled out an improvement in the probability scheme of original SMO using Tournament selection method in her paper “Tournament selection based probability scheme in Spider Monkey Optimization Algorithm.” In this paper, the authors experimented that for the two main phases of manipulation in each iteration on which swarm gets updated can be done by Tournament selection scheme. The update in position is based on the probability and this probability is proportionate to fitness just like roulette wheel selection method in Genetic Algorithm. Authors investigated that sometimes low fit members may contain some significant information and to avoid such loss, tournament selection based probability scheme was used in lieu of fitness proportionate probability scheme so that even the individuals with low fitness may get a chance to update their location.

Sharma et al. (2017) in “Power law-based local search in spider monkey optimization for lower order system modeling” suggested new search ability in Spider Monkey Optimization named Power law based local search (PLLS). In this, the step size is iteratively decreased to exploit and identify the search region in the periphery of the best candidate solution. Paper additionally recommended that by the incorporation of power law based local search strategy, exploitation capability can be enhanced. To check the competitiveness of the proposed strategy, different tests like Mann–Whitney U rank sum test, Boxplots, Acceleration Rate etc. were executed. To check the robustness of the strategy, it was applied to solve the lower order system modeling problems. The proposed PLSMO was applied on four higher order complex systems to get the respective lower order systems. The algorithm might be considered as a focused technique in investigating the parameters during system modeling problems.

As per No Free Lunch theorem, no specific algorithm can give great outcomes for all the numerical optimization problems. As a result, new algorithms are developed and sometimes, two algorithms are merged together to solve this problem to some extent. In other words, it can be said that hybridization of two algorithms is done to get improved outcomes. Hybridization of two algorithms maintains a reliable balance between exploitation and exploration. Agrawal et al. (2017) proposed a scheme that assimilates evolutionary technique and swarm intelligence into the optimization process. They introduced two hybridized algorithms using Spider Monkey Optimization (SMO) technique and genetic algorithm (GA) in the paper “On the hybridization of Spider Monkey Optimization and Genetic Algorithms.” First hybridized algorithm is Spider Monkey followed by Genetic Algorithm, known as SMOGA and the second hybridized algorithm is genetic algorithm followed by Spider Monkey optimization, known as GASMO. Results demonstrate that both hybridized algorithms give better outcomes in few cases and can be used with different blends for efficient outcomes.

The exploration and exploitation capabilities of original SMO are limited. Thus, with a specific end goal to increase the exploitation capacity of SMO, Agarwal and Jain (2017) presented a modification of SMO in their paper “Fast Convergent Spider Monkey Optimization Algorithm” in 2017. Another procedure in light of acceleration coefficient is presented in the original SMO and called it as Fast Convergent Spider Monkey Optimization Algorithm (FCSMO). The modified algorithm is examined over 14 benchmark test problems and the comparison is done with original SMO. Results show that FCSMO gives preferred outcomes than the original SMO.

The next section gives an insight of the various fields where SMO can be applied.

4 Applications of Spider Monkey Optimization Algorithm

As very few control parameters are required in SMO, so it turns out to be easy to apply it in different complex optimization problems. Now-a-days, SMO is being applied in almost every field and domain of engineering optimization, function optimization, scheduling, image processing, planning, forecasting, feature selection and other real-world applications like lower order system modeling, multi-machine power system based on VSC-HVDC link, cluster based routing protocol Wireless Sensor networks, optimal power flow analysis, optimal reactive power dispatch problem, electromagnetics, diabetes classification, multilevel thresholding segmentation, placement and sizing of capacitors, antenna optimization and many others. SMO is very efficient in tackling real-world optimization problems in various spaces of engineering like electronics engineering, computer engineering, electrical engineering, mechanical engineering, civil engineering etc. Being a recent one, various areas are yet to be explored where SMO can demonstrate its efficiency (Fig. 4).

Fig. 4
figure 4

Applications of Spider Monkey Optimization Algorithm

4.1 Applications in electronics engineering

Kaur (2016) presented a paper “Comparison Analysis of CDMA Multiuser Detection using PSO and SMO.” In this paper, SMO was connected to take care of the near-far effect problems in code division multiple access (CDMA) system and to decrease the complexity involved in the computation. Results indicate that the proposed algorithm is effective in CDMA multiuser situation and outperforms in contrast with other algorithms like PSO and GA.

Al-Azza et az. (2016) reported in their paper “Spider Monkey Optimization: A Novel technique for Antenna Optimization” that creation of the linear array antenna for the purpose of suppressed side lobes and null placement in particular directions can be possible with the help of SMO. It was in this paper that SMO was used surprisingly to solve electromagnetic problems. The algorithm proved to be an effective alternative to other algorithms in order to tackle with such problems.

In the same year, Al-Azza et al. (2016) intended to solve electromagnetic problems like linear array antenna synthesis and patch antenna design using SMO in their paper “Spider Monkey Optimization (SMO): A novel optimization technique in Electromagnetics.” The algorithm is used to synthesize the array factor of a linear antenna array and to optimally design a coaxial feeding patch antenna for wireless applications. It was discovered that SMO was equipped to get the best arrangements with few number of trials.

Pal et al. (2016) in the paper titled “Multi-level Thresholding Segmentation Approach Based on Spider Monkey Optimization Algorithm” introduced SMO for histogram based bi-level and multi-level segmentation of grey scale images. SMO has likewise been utilized to maximize Kapur’s and Otsu’s objective function. Results delineated that the new segmentation method is able to improve results in terms of optimum threshold values and CPU time when compared to other nature inspired algorithms.

Gui et al. (2016) studied the mechanism of SMO in the field of WSNs in the paper “A Novel Cluster-based Routing Protocol Wireless Sensor Networks using Spider Monkey Optimization.” The study additionally showed the change in traditional routing protocols in term of low-energy consumption and system quality of the network. SMO-C protocol suggested in the paper worked for Wireless sensor networks to minimize global energy consumption.

In the same year, Wu et al. (2016) stated in their paper “Pattern synthesis of Sparse Linear Arrays using Spider Monkey Optimization” that SMO is used to reduce the side lobe levels of the array by optimizing the amplitudes of all the elements and the locations of elements in the extended sparse sub-array. These sparse arrays are found vital for the applications of radars, radio, satellite communication and many branches of bio medical sciences and remote sensing. The research is supported by four simulation designs and the results are compared with EHS algorithm.

Singh and Salgotra (2016) recommended in their paper “Optimal Synthesis of Linear Antenna Arrays Using Modified Spider Monkey Optimization” that traditional SMO can give enhanced performance if it is supported by dual strategy. A new approach Modified SMO (MSMO) for the synthesis of linear antenna array was proposed in this paper. LAA was designed using the MSMO algorithm and the method was used to optimize three different antenna arrays. Results demonstrated that MSMO is capable of solving difficult antenna optimization problems, and can be a tool for solving other real-world problems.

In the same year, Singh et al. (2016) proposed in their paper “A Novel Binary Spider Monkey Optimization Algorithm for Thinning of Concentric Circular Antenna Arrays”, a binary Spider Monkey Algorithm working in binary search space. In this paper, the location of spider monkey comprises of 0 and 1 logic values and these logic values are utilized for thinning of CCAA. The intended algorithm is exceptionally proficient for binary optimization and the main use of this updated SMO is that it converges quickly and has fewer chances to get stuck at local minima.

Mittal et al. (2017) introduced a paper “A boolean spider monkey optimization based energy efficient clustering approach for WSNs.” In wireless sensor networks (WSNs), management of energy and optimization of network lifetime are the two major concerns in the scheming of cluster-based routing protocols. In this paper, SMO based threshold-sensitive energy-efficient clustering protocol is presented to increase network lifetime with an aim to expand the period of stability of the network. Results show that the presented protocol gives better results than prevailing protocols in terms of network lifetime, consumption of energy and stability period.

4.2 Applications in electrical engineering

Lenin et al. (2015) in their study “Modified Monkey Optimization Algorithm for Solving Optimal Reactive Power Dispatch Problem” expressed that to reduce the real power loss, modifications were required in local and global leader phase and a Modified Spider Monkey Algorithm (MMO) was introduced. Paper also upheld that MMO is more favorable for dealing with non-linear constraints. The algorithm was examined on the IEEE 30-bus system to minimize the active power loss.

Sharma et al. (2016) discussed in “Optimal placement and sizing of the capacitor using Limaçon inspired spider monkey optimization algorithm” that to limit the losses in distribution and transmission, capacitors of definite sizes are should have been positioned in the distribution network. Authors have used SMO incorporated with Limaçon curve inspired local search strategy for optimal positioning and the sizing problem of capacitors. In the proposed local search strategy, Limaçon curve has been used, which is a botanical curve resembling a snail. This approach has been used to improve the exploitation ability of SMO. The performance of LSMO algorithm by evaluating it on 25 benchmark problems has been represented. Consequences of this paper showed that LSMO attains minimum transmission and distribution losses while preserving the minimum cost.

Sharma et al. (2016) presented a paper “Optimal design of PIDA controller for induction motor using Spider Monkey Optimization algorithm” in which, SMO is used in finding the optimal parameters of PIDA controller in order to regulate the induction motor. It was the first attempt to use SMO for such a purpose. The results were compared with Dorf approach and PSO and it was found that SMO gave better results than both the approaches.

Nayak et al. (2016) exhibited in their paper “Dynamic Stability Improvement of VSC-HVDC Connected Multi-machine Power System by Spider Monkey optimization Based PI controller”, the mathematical representation of a multi-machine power system, based on VSC-HVDC link. A PI controller, whose gains are chosen by SMO technique, is operated to diminish the power oscillations and to improve the dynamic stability of VSC-HVDC based four machine power systems.

Sharma et al. (2016) presented a paper “Optimal power flow analysis using Lévy flight spider monkey optimization algorithm” in which a Lévy flight spider monkey optimization (LFSMO) algorithm was proposed to solve the standard Optimal power flow (OPF) problem for IEEE 30-bus system. The exploitation capacity of SMO was increased in the proposed algorithm. LFSMO was tested over 25 benchmark functions and its performance was examined. It was found that LFSMO gave desirable outcomes than the original SMO.

Selvam and Kumar (2017) presented a paper “Frequency Control of Micro Grid with Wind Perturbations using Levy Walks with Spider Monkey Optimization Algorithm.” In this paper, a new eagle strategy, which is a combination of levy flights and SMO, is utilized in the optimization of the gains of PI controllers which helps in regulating the frequency of the micro grid. A typical micro grid test system and a real time micro grid setup at British Columbia are the two case studies considered, in which the frequency control is implemented. The implementation is done in two-step search process; in the first place, levy flights do the random search and after that SMO does a thorough local search. Results demonstrate that the proposed method outperforms the results of other well-known algorithms and is sufficiently able to control the frequency of PI controllers by tracing the perturbations in the system.

In the same year, Sivalingam and Chinnamuthu (2017) presented a paper “A hybrid Self-Adaptive Spider Monkey Optimization for Automatic Generation Control.” In this paper, a hybrid SaSMO with tournament selection based probability scheme is applied to design 2 Degree of freedom Fractional Order PID controllers for Automatic Generation Control (AGC). The approach is employed to an interconnected two equal area thermal power system and the improvement in the proposed approach is shown by comparing it with DE and SMO.

Ali (2017) proposed a paper “An Improved Spider Monkey Optimization for solving a Convex Economic Dispatch Problem.” Economic load dispatch (ELD) is a non-linear global optimization problem to find out the power distributed among the generating units to fulfill the generation limit constraints of each unit and reducing the power production cost. A new hybrid algorithm was propounded by introducing multidirectional search algorithm in the last stage of basic SMO to tackle the problem of low rate of convergence. It was known as the multidirectional Spider Monkey Optimization algorithm (MDSMO). The algorithm is capable of increasing the convergence speed and prevents from getting trapped at the local minima. The MDSMO algorithm is examined over a six-generator test system for a total demand of 700 and 800 MW and comparison was done with GA, PSO, BA, CS and SMO. It was found out that MDSMO gave better results in solving ELD problems as compared to other algorithms.

4.3 Applications in biology and medicine

Cheruku et al. (2017) proposed in their paper “SM-RuleMiner: Spider monkey based rule miner using novel fitness function for diabetes classification” that SMO can be used to outline an effective rule miner called SM-RuleMiner for diabetes diagnosis. Fitness function was also designed for SM-RuleMiner. On its comparison with other meta-heuristic-based rule mining algorithms, it was found that SM-RuleMiner achieved the best ranking in average sensitivity and the second best ranking in average classification accuracy.

The next section gives a brief performance analysis of SMO when compared with other probabilistic and deterministic algorithms.

5 Performance analysis of Spider Monkey Optimization Algorithm

Arora et al. (2015) presented a comparison analysis of Hybrid Particle Swarm Optimization with Wavelet Mutation, Krill Herd and Spider Monkey Optimization algorithm in their paper “A comparison of HPSOWM, Krill Herd and Spider Monkey Optimization Algorithms.” The three algorithms were tested over different benchmark problems and t test was applied to check their statistical significance. Results showed that the performance of algorithms was different for distinct functions.

Rajan and Malakar (2016) used SMO and several other algorithms for comparison with exchange market algorithm (EMA) in their paper “Optimum economic and emission dispatch using exchange market algorithm.” In this paper, Optimum Active Power Dispatch (OAPD) problem for standard IEEE 30 bus system is solved using EMA and the results are compared with SMO and other algorithms. It was concluded that EMA gave better results for OAPD problems than other algorithms and can be utilized in various other power system problems of higher dimension due to its remarkable performance.

In the same year, Sangwan et al. (2016) utilized GA, PSO, ASMO (Ageist SMO) and DE to compare the battery models of Li-ion battery in their paper “Estimation of Battery Parameters of the Equivalent Circuit Models using Meta-Heuristic Techniques.” Results revealed that DE was the most accurate among the four algorithms for determining the battery parameter for first order model, while ASMO was the most accurate for second order model. Further investigation revealed that DE was consistent and computationally cheap in comparison to other algorithms for both the models.

6 Conclusion

As the real world problems are getting complex and intricate day by day, the need of fast, simple (with few control parameters) and effective optimization algorithms is increasing among the researchers from various fields. New algorithms are required to cope up with the existing problems. SMO is a new meta-heuristic nature-inspired algorithm and is a hit and trial based mutual iterative strategy for global optimization over discrete and continuous spaces. It has performed superior to other evolutionary and swarm intelligence based algorithms which is clear from the fact that it gave better results when tested on various benchmark problems. As few control parameters are involved in SMO, so it becomes easy to implement SMO in various types of optimization problems. It is exceptionally evident that some inborn disadvantages are likewise there in each algorithm. To overcome these, various modifications have been made in the original SMO. These modifications has enhanced the basic algorithm and also improved its efficiency due to which, it can be applied to solve various other real world complex optimization problems.

In this review, a relatively comprehensive list about Spider Monkey Optimization technique, various modifications done, its various applications and performance comparison with other existing algorithms has been presented. First of all, the social behavior of spider monkeys with the help of fission–fusion social structure is explained. Then, the six phases of SMO are discussed in detail along with the algorithms. Further, the descriptions of control parameters are given. Next, it provides a detailed review of the modifications done in SMO till date, based on different perturbation rate used, hybridization, self-adaptive strategy and many more. In the next section, various applications of SMO in the field of electronics and electrical engineering are discussed. Then, there is a performance analysis of SMO and its variants with other existing algorithms. The rapidly increasing literature indicates that Spider Monkey Optimization is a very dynamic research area, due to which, more and more studies on SMO will emerge in the near future. It is worth pointing out from the above review that some significant issues need more investigations. Moreover, the theoretical study should be done so that the insights can be obtained into various versions of the Spider Monkey Optimization algorithm. In addition, applications of SMO and its various versions should emphasize on large-scale real-world problems.

The purpose of this review is twofold. First, it has summarized the variants, modifications, and hybrids of SMO. Second, it has also summarized the application areas of SMO. The contents of the paper signify the fact that SMO is a recent algorithm and is in its preliminary stage. It will continue to attract the researchers for multi-disciplinary research in the near future.