A Novel Numerical Optimization Algorithm Inspired from Salps: Salp Swarm Optimization Algorithm

1. Introduction

    Inspiration analysis Salp Swarm Algorithm (SSA) is one of meta-heuristic algorithms recently proposed by Mirjalili in 2017. A novel optimization algorithm called Salp Swarm Optimizer (SSA) is proposed. Multi-objective Salp Swarm Algorithm (MSSA) is proposed to solve multi-objective problems [1]. Swarm intelligence techniques mimic the intelligence of swarms, herds, schools, or flocks of creatures in nature. The main foundation of these algorithms originates from the collective behavior of a group of creatures. SSA replicates the swarming of salps when navigating and foraging behavior in oceans. In the authors indicate that the cropped results in comparison to other challenging optimizers demonstrate the value of the SSA in solving optimization problems with hard and unidentified search spaces. The objective function is formulated to fit the results obtained by the proposed model to actual measured voltage data. Two test case studies are implemented to demonstrate the performance of the SSA along with necessary comparisons. Performance measures are carried out to confirm viability of effectiveness of the proposed SSA-based methodology [2]. As a binary problem with a large number of local solutions, the number of parameters of a feature selection problem varies significantly when changing datasets that should be addressed by a reliable stochastic optimization algorithm. This motivated our attempts to propose a feature selection technique using SSA to benefit from the flexibility and highly stochastic nature of this algorithm in handling diverse range of parameter and local solutions. Because, SSA algorithm has only one main controlling parameter, it is simple and easy to implement. The adaptive mechanism of SSA allows it to avoid local solutions and eventually finds an accurate estimation of the best solution obtained during optimization [3]. This algorithm can produce a superior, excellent performance when applied to global optimization and challenging engineering problems. However, our initial investigation showed that this algorithm requires modifications and adaptations when applying the FS problems due to high-dimensionality of such problems.

2. Life Cycle of Salp Swarm Optimization Algorithm

     Salps have a complex life cycle, with an obligatory alternation of generations. Both portions of the life cycle exist together in the seas they look quite different, but both are mostly transparent, tubular, gelatinous animals that are typically between 1 and 10 cm (0.4 and 3.9 in) tall. The solitary life history phase, also known as an oozooid, is a single, barrel-shaped animal that reproduces asexually by producing a chain of tens to hundreds of individuals, which are released from the parent at a small size [4]. The chain of salps is the ‘aggregate’ portion of the life cycle. The aggregate individuals are also known as blastozooids; they remain attached together while swimming and feeding, and each individual grows in size. Each blastozooid in the chain reproduces sexually (the blastozooids are sequential hermaphrodites, first maturing as females, and are fertilized by male gametes produced by older chains), with a growing embryo oozoid attached to the body wall of the parent. The growing oozoids are eventually released from the parent blastozooids, and then continue to feed and grow as the solitary asexual phase, thus closing the life cycle of salps. The alternation of generations allows for a fast generation time, with both solitary individuals and aggregate chains living and feeding together in the sea. When phytoplankton is abundant, this rapid reproduction leads to fairly short-lived blooms of salps, which eventually filter out most of the phytoplankton [5]. The bloom ends when enough food is no longer available to sustain the enormous population of salps. Occasionally, mushroom corals and those of the genera Heteropsammia are known to feed on salps during blooms.

     One reason for the success of salps is how they respond to phytoplankton blooms. When food is plentiful, salps can quickly bud off clones, which graze the phytoplankton and can grow at a rate which is probably faster than that of any other multi cellular animal, quickly stripping the phytoplankton from the sea. But if the phytoplankton is too dense, the salps can clog and sink to the bottom. During these blooms, beaches can become slimy with mats of salp bodies, and other planktonic species can experience fluctuations in their numbers due to competition with the salps. Sinking fecal pellets and bodies of salps carry carbon to the sea floor, and salps are abundant enough to have an effect on the ocean’s biological pump [6]. Consequently, large changes in their abundance or distribution may alter the ocean’s carbon cycle, and potentially play a role in climate change.

Fig 1: Life cycle of Salp

3. Slap Swarm Optimization Algorithm (SSA)

    Salps belong to the family of Salpidae and have transparent barrel-shaped body. Their tissues are highly similar to jelly fishes. They also move very similar to jelly fish, in which the water is pumped through body as propulsion to move forward [7]. The biological researches about this creature are in its early mile stones mainly because their living environments are extremely difficult to access, and it is really difficult to keep them in laboratory environments. One of the most interesting behaviors of salps is their swarming behavior. In deep oceans, salps often form a swarm called salp chain. The main reason of this behavior is not very clear yet, but some researchers believe that this is done for achieving better locomotion using rapid coordinated changes and foraging. Needless to say, the mathematical model for simulating salp chains cannot be directly employed to solve optimization problems. In other words, there is a need to tweak the model a little bit to make it applicable to optimization problems. The ultimate goal of a single-objective optimizer is to determine the global optimum [8].

    In the SSA swarm model, follower salps follow the leading salp. The leading salp also moves towards the food source. If the food source be replaced by the global optimum, therefore, the salp chain automatically moves towards it. However, the problem is that the global optimum of optimization problems is unknown. In this case, it is assumed that the best solution obtained so-far is the global optimum and assumed as the food source to be chased by the salp chain. The SSA algorithm starts approximating the global optimum by initiating multiple salps with random positions. It then calculates the fitness of each salp, finds the salp with the best fitness, and assigns the position of the best salp to the variable as the source food to be chased by the salp chain. It should be noted that the food source will be updated during optimization because the salp chain is very likely to find a better solution by exploring and exploiting the space around it. Therefore, the salp chain has the potential to move towards the global optimum that changes over the course of iterations.

  • SSA algorithm saves the best solution obtained so far and as- signs it to the food source variable, so it never gets lost even if the whole population deteriorates [9].
  • SSA algorithm updates the position of the leading salp with respect to the food source only, which is the best solution obtained so far, so the leader always explores and exploits the space around it.
  • SSA algorithm updates the position of follower salps with respect to each other, so they move gradually towards the leading salp [10].
  • Gradual movements of follower slaps prevent the SSA algorithm from easily stagnating in local optima.
  • Parameter is decreased adaptively over the course of iterations, so the SSA algorithm first explores the search space and then exploits it [11].
Fig 2: Swarming Behavior of Salp Swarm Algorithm

3.1. Steps for Salp Swarm Optimization algorithm

  • Parameter initialization
  • Fitness function
  • Position updating
  • Termination criteria

3.1.1. Parameter Initialization

     In the beginning, SSA starts with randomly initialized salps positions. Then, it initially sets the initial parameters. The lower boundary and upper boundary are initially set respect to the used benchmark function, while for the used benchmark data set; it initially set the lower boundary and the upper boundary for given data [12]. The values of population size and number of iterations are set low for feature selection problem, due to the complexity of the search space.

3.1.2. Fitness function

    Fitness function is used to evaluate each solution (salp position). All the used global benchmark problems are minimization problems. While for feature selection problem, the optimal solution is the one, which maximizes the classification accuracy, while minimizing the number of selected features. The used fitness functions for feature selection problem, where these two objectives are combined into one by setting a weight factor [13].

3.1.3. Position updating

      After evaluating the fitness function of each salp and selecting the best salp position. In addition, in order to make SSA have better overall and randomness in the previous search process, this paper is the same as the original SSA select more than one leader to search. The more leaders, the more random the algorithm is, but the stability of the algorithm will also be reduced, so in order to balance the randomness and stability of the algorithm [14].

3.1.4. Termination criteria

      The process of evaluating each salp and updating the position of best salp will repeat again and again until it reaches to the maximum number of iterations or the optimal solution is early found [15].

3.2. Flow Chart of SSA

Fig 3: Flow Chart of Salp Swarm Algorithm

4. Numerical Expressions of SSA

     Mathematical model of SSA The population of SSA is divided into two groups. These two groups are leader and followers [16]. The leader is the one that taking the position at the front of the chain, while the remainder of salps is known as followers.

5. Applications of SSA

  • Feature selection
  • Science and Industry [17]
  • Image segmentation
  • Self Tuning Regulator [18]
  • Pole Shifting [19]
  • Machine learning
Fig 4: Applications of Salp Swarm Algorithm

6. Advantages of SSA

  • Logistic chaotic map is the optimal map of the used ten, which can significantly boost the performance of original SSA [20].
  • The first two advantages originate from the fact that meta-heuristics consider and solve optimization problems by only looking at the inputs and outputs.
  • These techniques need intense calculations with longer computer processing time [21].
  • Feature selection (FS) is a machine learning process commonly used to reduce the high dimensionality problems of datasets.
  • In comparison with other algorithms that used the same data, our approach has a higher performance using less number of features [22].
  • The inspiration behind incorporating changes in salp swarm optimizer algorithm is to assist the basic approach to avoid premature convergence and to rapidly guide the search towards the probable search space.
  • This modification has two features regarding the transfer function, namely multiplicity and mobility [23]. By this modification, the exploration and exploitation capabilities can be enhanced.


[1] Sayed, G., Khoriba, G. and Haggag, M. (2018). A novel chaotic salp swarm algorithm for global optimization and feature selection. Applied Intelligence, 48(10), pp.3462-3481.

[2] Mirjalili, S., Gandomi, A., Mirjalili, S., Saremi, S., Faris, H. and Mirjalili, S. (2017). Salp Swarm Algorithm: A bio-inspired optimizer for engineering design problems. Advances in Engineering Software, 114, pp.163-191.

[3] El-Fergany, A. (2018). Extracting optimal parameters of PEM fuel cells using Salp Swarm Optimizer. Renewable Energy, 119, pp.641-648.

[4] Faris, H., Mafarja, M., Heidari, A., Aljarah, I., Al-Zoubi, A., Mirjalili, S. and Fujita, H. (2018). An efficient binary Salp Swarm Algorithm with crossover scheme for feature selection problems. Knowledge-Based Systems, 154, pp.43-67.

[5] Mahdad, B. and Srairi, K. (2019). A New Strategy Based Modified Salp Swarm Algorithm For Optimal Reactive Power Planning. IET Generation, Transmission & Distribution.

[6] Aljarah, I., Mafarja, M., Heidari, A., Faris, H., Zhang, Y. and Mirjalili, S. (2018). Asynchronous accelerating multi-leader salp chains for feature selection. Applied Soft Computing, 71, pp.964-979.

[7] Ibrahim, R., Ewees, A., Oliva, D., Abd Elaziz, M. and Lu, S. (2018). Improved salp swarm algorithm based on particle swarm optimization for feature selection. Journal of Ambient Intelligence and Humanized Computing, 10(8), pp.3155-3169.

[8] Singh, N., Son, L., Chiclana, F. and Magnot, J. (2019). A new fusion of salp swarm with sine cosine for optimization of non-linear functions. Engineering with Computers.

[9] Xing, Z. and Jia, H. (2019). Multilevel Color Image Segmentation Based on GLCM and Improved Salp Swarm Algorithm. IEEE Access, 7, pp.37672-37690.

[10] Rizk-Allah, R., Hassanien, A., Elhoseny, M. and Gunasekaran, M. (2018). A new binary salp swarm algorithm: development and application for optimization tasks. Neural Computing and Applications, 31(5), pp.1641-1663.

[11] Hegazy, A., Makhlouf, M. and El-Tawel, G. (2018). Improved salp swarm algorithm for feature selection. Journal of King Saud University – Computer and Information Sciences.

[12] Chen, Y. (2014). Design of Temperature Control System Based on FPGA and Fuzzy-PID Control Algorithm. Applied Mechanics and Materials, 599-601, pp.1124-1127.

[13] Yang, B., Zhong, L., Zhang, X., Shu, H., Yu, T., Li, H., Jiang, L. and Sun, L. (2019). Novel bio-inspired memetic salp swarm algorithm and application to MPPT for PV systems considering partial shading condition. Journal of Cleaner Production, 215, pp.1203-1222.

[14] Zhang, Q., Chen, H., Heidari, A., Zhao, X., Xu, Y., Wang, P., Li, Y. and Li, C. (2019). Chaos-Induced and Mutation-Driven Schemes Boosting Salp Chains-Inspired Optimizers. IEEE Access, 7, pp.31243-31261.

[15] Laskar, N., Guha, K., Chatterjee, I., Chanda, S., Baishnab, K. and Paul, P. (2018). HWPSO: A new hybrid whale-particle swarm optimization algorithm and its application in electronic design optimization problems. Applied Intelligence, 49(1), pp.265-291.

[16] Mahdad, B. and Srairi, K. (2019). A New Strategy Based Modified Salp Swarm Algorithm For Optimal Reactive Power Planning. IET Generation, Transmission & Distribution.

[17] PAN, Q. (2010). Differential Evolution Algorithm Based on Blocks on Critical Path for Job Shop Scheduling Problems. Journal of Mechanical Engineering, 46(22), p.182.

[18] Bazi, S. and Nait Said, M. (2015). Extreme Learning Machines and Particle Swarm Optimization for Induction Motor Faults Detection and Classification. International Review of Electrical Engineering (IREE), 10(4), p.501.

[19] Heidari, A., Aljarah, I., Faris, H., Chen, H., Luo, J. and Mirjalili, S. (2019). An enhanced associative learning-based exploratory whale optimizer for global optimization. Neural Computing and Applications.

[20] Qais, M., Hasanien, H. and Alghuwainem, S. (2019). Enhanced salp swarm algorithm: Application to variable speed wind generators. Engineering Applications of Artificial Intelligence, 80, pp.82-96.

[21] El-Fergany, A. and Hasanien, H. (2019). Salp swarm optimizer to solve optimal power flow comprising voltage stability analysis. Neural Computing and Applications.

[22] Kang, F., Li, J. and Dai, J. (2019). Prediction of long-term temperature effect in structural health monitoring of concrete dams using support vector machines with Jaya optimizer and salp swarm algorithms. Advances in Engineering Software, 131, pp.60-76.

[23] Bairathi, D. and Gopalani, D. (2019). Numerical optimization and feed-forward neural networks training using an improved optimization algorithm: multiple leader salp swarm algorithm. Evolutionary Intelligence.

Leave a Reply

%d bloggers like this: