1 Introduction

Military operations are employing Unmanned Combat Aerial Vehicles (UCAVs) due to the noteworthy advantages offered for tasks such as reconnaissance, carrying equipment, search and rescue, etc. UCAVs offer assistance in complex and advanced applications and are able to carry out high − risk, repetitive tasks in remote and hostile environments (Foo et al. 2008). For autonomous operation of UCAVs, three − dimensional path planning is an essential element (Chen et al. 2009; Ni et al. 2013). Path planning aims to find a flight path to navigate the UCAV from a given starting position to a pre-determined destination under certain constraints including technical, mission specific and operational − cost based constraints. In recent years, considerable research has been done targeting path − planning for UCAVs. Due to the critical involvement of UCAVs in military operations, such research has a huge impact on the effective functioning of military missions. Meta—heuristic algorithms are capable of solving many optimization problems and can be applied to solve problems that cannot be resolved using specific deterministic algorithms (Boussaïd et al. 2013). Meta − heuristics can be applied for various problem domains across multiple areas. No Free Lunch theorem (NFL) states that no specific meta − heuristic algorithm is capable of producing best results across all optimization problems (Wolpert and Macready 1997; Joyce and Herrmann 2018). An algorithm that produces the optimal results for a particular problem may fail to perform better in another problem domain. Therefore, novel meta − heuristics are being developed continuously, and constant refinements are being performed on the existing algorithms to solve complex problems (Kaveh and Dadras 2017).

The major contributions of this paper include:

  1. i.

    A study on the pertinence of the SOS algorithm, in the domain of 3D path − planning for UCAVs.

  2. ii.

    Introduction of a novel modified SOS algorithm, Symbiotic organisms search with adaptive peaking (SOS − AP) to improve the exploration of the 3D environment for path planning.

  3. iii.

    Validation of the alternate SOS − AP algorithm as opposed to the existing meta − heuristic algorithms for 3D path planning.

The paper is ordered as follows: Sect. 2 discusses the significant existing work in the 3D path planning domain, Sect.  3 describes the path − planning problem and gives a formal background. Section 4gives an introduction to the traditional SOS algorithm. Section 5 details the proposed, novel SOS algorithm and its application to 3D path planning. Section 6 analyses the results obtained and Sect. 7 concludes the paper.

2 Related works

Deterministic algorithms such as Dijkstra algorithm (Asadi et al. 2011), search heuristics like A* (Li and Sun 2008; Kala et al. 2010) have been proposed for solving 3D path planning. However, they suffer from large latency in exploring the environment and finding a feasible path. Evolutionary algorithms are another choice for solving optimization problems. Evolutionary algorithms work by mimicking the behaviour of living organisms. Evolutionary algorithms have been applied for solving a variety of optimization problems (Katarya et al. 2016, 2018; Jain 2019; Katarya 2018). The main advantage of evolutionary algorithms over the deterministic algorithms is that they are robust and consume very little time to find near − optimal paths in a complex environment. Prevalent optimization algorithms including, Particle Swarm Optimization (PSO) (Cheng et al. 2014a, b; Duan et al. 2008; Mo and Xu 2015; Li et al. 2006), Genetic algorithm (GA) (Wang et al. 2019; Wu et al. 2011; Fu et al. 2012), Cuckoo search (CS) (Xie and Zheng 2016; Song et al. 2020), Firefly algorithm (FFA) (Wang et al. 2012; Patle et al. 2018; Chen et al. 2017) have been employed to find solution for the 3D path − planning problem, previously.

Recently, many solutions have been proposed using other evolutionary algorithms including, Biogeography based optimization (BBO) (Zhu and Duan 2014), Glowworm swarm optimization (GSO) (Pandey et al. 2018), Grey wolf optimization (GWO) (Dewangan et al. 2019), Predator − prey pigeon based optimization (PPPIO) (Zhang and Duan 2014), Improved Bat Optimization (IBO) (Wang et al. 2016), Multi − verse optimization (MVO) (Tiwari et al 2019). Table 1 summarizes the existing approaches for the 3D path planning problem.

Table 1 Existing works for solving path planning problem using evolutionary algorithms

A new population − based optimization meta − heuristic namely Symbiotic organisms search (SOS) was introduced in (Cheng and Prayogo 2014). The algorithm models the interrelation among different organisms that live together in the ecosystem. SOS has a distinct advantage with the absence of parameters that need to be tuned. The only parameter that needs to be fixed externally is the convergence criteria including number of function evaluations. The distinction of the SOS algorithm from other optimization algorithms such as PSO and GA has been studied and evaluated previously (Cheng and Prayogo 2014). In this work, a novel optimization algorithm based on SOS namely Symbiotic organisms search with adaptive peaking (SOS − AP) is introduced and its application is studied with respect to path − planning for UCAVs.

3 Problem formulation

To begin the path − planning, the first requirement is the modelling of an environment, in particular, a 3D environment for the problem − at − hand. The environment will be represented with the Cartesian coordinate system with three axes \((X,Y,Z).\) For a particular mission, the UCAV will be given a starting position \(S ({x}_{s},{y}_{s},{z}_{s})\) and a target position to reach, \(T ({x}_{t},{y}_{t},{z}_{t})\). The primary goal of the path − planning algorithm is to discover a path from the starting position to the target, represented as a set of coordinate positions, \(({x}_{p},{y}_{p},{z}_{p})\). The environment is considered hostile and may contain obstacles which need to be avoided while planning the path. For the proposed work, the obstacles are represented as cylinders of varying proportions. In a real setting, the obstacles are not geometrical, but that is hard to model. Cylindrical obstacles are chosen since they can tightly encapsulate any irregular shapes easily when compared to other regular shapes such as cuboid. This way, entire encapsulated region can be avoided.

The obstacles are identified with the center \(({x}_{c},{y}_{c},{z}_{c})\) and height \({H}_{c}\) of the cylinder. The points in the co − ordinate space which lie within the boundary of the cylinder, including the surface of the cylinder are considered as collision points and are termed as unsafe points. The points that are not collision points, i.e. that are outside of the cylindrical obstacles are deemed as safe points. During navigation, the UCAV should avoid all the unsafe points, and hence the path − planning algorithm should exclude any such unsafe points from the planned trajectory.

3.1 Cost function

In order to properly explore the environment and find a suitable path, a fitness function is needed. For the 3D path planning problem, the cost of the path calculated is fixed as the fitness function. Three important components need to be considered for calculating path cost, as given below.

3.1.1 Path length

The path length denotes the distance that needs to be travelled by the UCAV. The shorter the length, the lesser the time it takes for the UCAV to avoid the destination. Also, a shorter path will have lesser fuel consumption. The length of the path can be calculated as,

$${C}_{L}= {\sum }_{i in path P}dist(i,P)$$
(1)

Equation 1 calculates the length of a given path P as the sum of distances of each point \(i\) from its previous point in the path. For point \(i\), \(dist(i,P)\) can be calculated as,

$$dist(i,P)= \sqrt{{\left({X}_{i}-{X}_{i-1}\right)}^{2}+{\left({Y}_{i}-{Y}_{i-1}\right)}^{2}+{\left({Z}_{i}-{Z}_{i-1}\right)}^{2}}$$
(2)

Here, \(\left({X}_{i},{Y}_{i},{Z}_{i}\right)\) is the \(i\) th point in path P, \(\left({X}_{i-1},{Y}_{i-1},{Z}_{i-1}\right)\) denotes the \(i-1\) th point in path \(P\). When \(i=1\), \(dist(i,P)\) is taken as zero. \({C}_{L}\) should be minimized to ensure reaching the destination quickly and to ensure minimum fuel consumption.

3.1.2 Smoothness of the path

The flight path of the UCAV should be smooth and should avoid sharp turns since sharp turns will increase fuel consumption. Therefore, the number of sharp turns in a path should be minimized. A path is said to have a sharp turn, if the direction changes of two consecutive segments of the path do not match.

To measure smoothness, the number of sharp turns can be counted as the cost \({C}_{S}\).

$${C}_{S}= {\sum }_{i in path P}dir\_change(i,P)$$
(3)

Let \(Q(x,y,z)\) be the \(i\) th point in path \(P\). Consider, \(P(x,y,z)\) as the \(i-1\) th point and \(R\left(x,y,z\right)\) as the \(i+1\) th point. Then to calculate direction change, \(dir\_change\), vectors \(PQ\) and \(QR\) are calculated, which indicate the direction of movement. If the cross − product of these vectors \(PQ\) and \(QR\) is non − zero, it indicates that there is a change in direction. This can be formulated as,

$$dir\_change\left( {i,\,P} \right)\, = \,\left\{ \begin{gathered} 1,\quad {\text{if}} \,PQ\, \times\, QR\, is \,0 \hfill \\ 0, \quad otherwise \hfill \\ \end{gathered} \right.$$
(4)

3.1.3 Distance from target

The path generated may not reach the destination because of the presence of obstacles or reach of exploration limit etc. For any path generated the distance of the final position of the UCAV from the target position should be minimized, to ensure that the UCAV reaches the destination. The distance from target can be calculated as the remaining − distance cost \({C}_{D}\), as given by Eq. 5.

$$C_{D} = \sqrt {\left( {X_{t} - X_{p} } \right)^{2} + \left( {Y_{t} - Y_{p} } \right)^{2} + \left( {Z_{t} - Z_{p} } \right)^{2} }$$
(5)

Here, \(\left({X}_{p},{Y}_{p},{Z}_{p}\right)\) is the current position reached by the UCAV using the path under consideration, \(\left({X}_{t},{Y}_{t},{Z}_{t}\right)\) denotes the target co − ordinate. When the \({C}_{D}\) value is zero, it indicates that the path under consideration leads to the target.

The overall cost of the path can be calculated using these three components as,

$$Cost = \omega_{L} C_{L} + \omega_{S} C_{S} + \omega_{D} C_{D}$$
(6)

where, \({\omega }_{L}+{\omega }_{S}+{\omega }_{D}=1\). Here, \({\omega }_{L}\), \({\omega }_{S}\), \({\omega }_{D}\) are weights assigned to \({C}_{L}\), \({C}_{S}\), \({C}_{D}\) respectively. In general, to ensure that the generated path reaches destination, \({C}_{D}\) is given the highest weight. \(Fitness\) of a path is taken as the inverse of the \(Cost\) to convert the problem in a maximization problem.

$$Fitness = \frac{1}{Cost}$$
(7)

3.2 Path smoothing mechanism

The path produced by the optimization algorithm may contain sharp turns as mentioned earlier. This will not be suitable for deciding the trajectory of a UCAV and will be hard for a smooth flight. Therefore, the path generated should be post − processed to obtain a smooth flight path. This has been studied extensively, and various path smoothing mechanisms have been proposed previously, such as interpolation, cubic splines, etc. (Farin 2002; Huh and Chang 2013; Chang and Huh 2014). For this work, B − spline curves have been applied to obtain a smoother path (Trepagnier et al. 2007; Elbanhawi et al. 2016). The coordinate points selected as intermediate positions in the path are supplied to the B − spline curve generator (Song et al. 2010), and a smooth path is generated by fitting the curve to the given input points.

4 Symbiotic organisms search

The Symbiotic Organisms Search was first proposed by Cheng and Prayogo in 2014 (Cheng and Prayogo 2014). This optimization algorithm was introduced for solving continuous optimization problems in the area of numerical engineering. The algorithm simulates the symbiotic relationship among organisms surviving in an ecosystem. The symbiotic interaction is replicated to model the optimization algorithm on the survival of the fittest organisms based on their dependence on other organisms. The algorithm creates a population and the individuals of the populations are termed as organisms. Every organism represents a potential solution. For the path − planning problem, each organism will be considered as a particular position in the 3D environment. Each coordinate is taken as a single dimension for the candidate solution, thereby forming candidate solutions with 3 dimensions each. In general, population based optimization algorithms similar to SOS work by evolving the population over iterations. This evolution will be guided by the candidate solutions using specific evolution operators. The evolution process generally requires setting of specific control parameters that are specific to an optimization algorithm. SOS evolves the population by guiding the organisms based on the candidate solutions and evolution operators. However, SOS does not require any specific control parameters to be defined.

The evolution of the population is carried out over three phases viz., mutualism, commensalism, and parasitism. To evolve the organisms, they need to be evaluated first, and hence a fitness function is needed. As described in the earlier section, the fitness function for the organisms is computed using Eq. 7. The organisms with higher fitness values are considered better than those with lower fitness. The initial population is generated randomly by positioning the organisms in random positions around the specified starting position, \(S ({x}_{s},{y}_{s},{z}_{s})\). After initialization, the evolution process begins. The procedure for SOS is given as Algorithm 1and the it involves the following three phases.

4.1 Mutualism

In this phase, as the name suggests, a mutual relationship is established between two organisms, where both the organisms learn from each other. Given an organism \({X}_{i}\), an organism \({X}_{j}\) (\({X}_{j}\ne {X}_{i}\)) is choosen randomly. Based on the selected organisms, new organisms are formed as:

$${X}_{inew} = {X}_{i}+rand\left(\mathrm{0,1}\right)*\left({X}_{best}- {X}_{mutual}* {BF}_{1}\right)$$
(8)
$${X}_{jnew} = {X}_{j}+rand\left(\mathrm{0,1}\right)*\left({X}_{best}- {X}_{mutual}* {BF}_{2}\right)$$
(9)

Here, \({X}_{best}\) is the organism with the best fitness in the population, \({BF}_{1}\) and \({BF}_{2}\) are benefit factors choosen randomly as 1 or 2. \({X}_{mutual}\) indicates the mutual relation between organism \({X}_{i}\) and \({X}_{j}\) and is given by,

$${X}_{mutual}= \frac{{X}_{i}+{X}_{j}}{2}$$
(10)

4.2 Commensalism

In the commensalism phase, organisms \({X}_{i}\) and \({X}_{j}\) are selected and \({X}_{i}\) benefits form \({X}_{j}\), whereas \({X}_{j}\) is unaffected by \({X}_{i}\). \({X}_{i}\) is updated with the following equation.

$${X}_{inew}={X}_{i}+rand\left(-\mathrm{1,1}\right)*({X}_{best}-{X}_{j})$$
(11)

\({X}_{best}\) is the best organism with the best fitness.

4.3 Parasitism phase

In this stage, a parasite called \({X}_{parasite}\) is created within the population by replicating organism \({X}_{i}\) and changing the arbitrarily picked dimensions with a random number. Another organism \({X}_{ij}\) is then selected to act as host to the parasite. \({X}_{parasite}\) will replace \({X}_{j}\) if it has better fitness. Otherwise, \({X}_{j}\) is considered to be immune to \({X}_{parasite}\).

4.4 Other variations of symbiotic organisms search

Due to the simplicity and stability of the SOS algorithm that is a result of its parameter − less character, it has gained wide attention from the researchers. SOS has found application in different domains including, engineering (Akbarifard and Radmanesh 2018; Bozorg − Haddad et al. 2017; Cheng et al. 2014a, b; Ezugwu et al. 2018; Sonmez et al. 2017) power systems (Alomoush 2017; Balachennaiah and Suryakalavathi 2015; Boum et al. 2017) cloud computing (Ezugwu and Adewumi 2017a, b), scheduling (Vincent et al. 2017; Ezugwu et al. 2017). The original SOS algorithm was designed to target numerical optimization problems. In the domain of UCAV optimization, SOS has been applied for multi − UCAV reconnaissance task assignments (Chen et al. 2019).

To make the SOS algorithm fine − tuned for a particular application domain, some new versions of the algorithm have been created. The modifications have been made by adding new features or making changes to existing operators.

figure a

Adaptive symbiotic organisms search algorithm has been presented for applications including structural design optimization problems in (Ghanshyam et al. 2016). In (Nama et al. 2020) a modified SOS algorithm with self − tuning parameters and a new mutualism phase is proposed and evaluated on real − world optimization problems. Other improvements have been proposed such as introduction of an additional reflective parameter (Nama et al. 2016), Chaos based evolution (Saha and Mukherjee 2017), quasi − oppositional based learning (Guha et al. 2018), a new search operation (Prayogo et al. 2017), and perturbed cross − over (Zhao and Liu 2020). In addition to these improvements, researchers also integrate various algorithms to create advanced solutions. Some new solutions have been proposed by hybridizing SOS algorithm with Simulated Annealing (Abdullahi and Ngadi 2016; Ezugwu and Adewumi 2017a, b), Simple Quadratic Interpolation (Nama et al. 2017), Harmony Search (Zhou and Yong − Quan 2016), and PSO (Sedighizadeh et al. 2017).

4.5 Motivation for using symbiotic organisms search

The Symbiotic organisms search algorithm follows the symbiotic relationship between two species to solve optimization problems. The main advantage of this algorithm when compared to the other existing evolutionary algorithms is that it does not have additional parameters apart from population size and convergence criteria. For the other evolutionary algorithms, the efficiency of the algorithm depends heavily of the value on the parameters tuned. Wrongly initializing the parameters can lead to suboptimal solutions are a huge increase in the exploration time. By eliminating the need for parameters, SOS algorithm offers the advantage of avoiding the parameter tuning thereby making it easy to adapt and can avoid potential mistakes in setting correct parameter values. Although the SOS algorithm has been adapted for solving a variety of problems as listed in the previous section, it has still not been applied for the path planning problem. Due to the advantages offered by the SOS algorithm, this proposed work explores the application and suitability of the SOS algorithm in solving the 3D path planning problem.

5 Symbiotic organisms search with adaptive peaking (SOS − AP)

In this work, the SOS algorithm has been modified to solve the UCAV path planning problem. The new algorithm is based on the biological theory of adaptive peaking. This section explains the newly proposed algorithm in detail. Figure 1 gives the flow of the proposed algorithm.

Fig. 1
figure 1

Proposed SOS − AP algorithm flow

Adaptation is a dynamic evolutionary process that makes organisms be suitable for the environment, by improving their evolutionary fitness. In general, multiple organism species evolve together as they adapt based on features that interlink with species in the same ecosystem. In the environment of symbiotic organisms, the relationship between the organisms including, mutualism, commensalism, and parasitism, can lead to mutual co − adaptation, resulting in the improvement of overall fitness of the species or origin of a new species (Margulis and Fester 1991).

In the proposed work, a novel adaptation strategy is included to improve the overall fitness of the population. The adaptation contains two phases: 1. Aggressive mimicry and 2. Defensive mimicry.

5.1 Aggressive mimicry

In this first phase of adaptation, the organisms try to mimic the organisms with the best fitness to improve the overall fitness of the population. Every organism \({X}_{i}\) in the population adapts itself by mimicking the top three best organisms as follows:

$${X}_{iadap}={X}_{i}+\left( \left({X}_{mean}-{X}_{i}\right) \times log\left(\frac{1}{R}\right)\right)$$
(12)

\(R\) is a uniformly distributed random number from \(\left(\mathrm{0,1}\right)\). \({X}_{mean}\) is calculated as:

$${X}_{mean}=\frac{1}{3}\sum_{j\epsilon \left\{\mathrm{1,3}\right\}}{X}_{j}$$
(13)

The top three organisms with best fitness, are involved in influencing the aggressive mimicry. If more number of organisms are involved, then the organisms adapt based on a lot of organisms resulting in a lot of change, that may not be optimal. Figure 2a shows the movement of an organism using aggressive mimicry where \({X}_{mean}\) is calculated for the 3 best organisms. The movement of the organism \({X}_{i}\) is decided by \({X}_{mean}\).

Fig. 2
figure 2

Organism movement with a Aggressive mimicry and b Defensive mimicry

5.2 Defensive mimicry

This new phase starts by identifying the organism with the worst fitness. Then adaptation happens where, every organism tries to improve itself by moving away from the worst organism. This can be done using Eq. 14.

$${X}_{iadap}={X}_{i}-\left(\frac{1}{{X}_{w}-{X}_{i}} \times { e}^{-\left(maxIter-iter\right)}\right)$$
(14)

Here, \({X}_{i}\) is the organism from population, that is currently undergoing adaptation. \({X}_{w}\) is the organism with the worst fitness in the current iteration, \(maxIter\) gives the maximum number of evolution steps allowed, i \(ter\) indicates the current iteration number. The adaptation is based on two values viz., 1. The worst organism, 2. The current iteration. From Eq. 14, it can be seen that, the distance between the organism \({X}_{i}\) and the worst organism is calculated, and the movement of \({X}_{i}\) is affected by this. If the distance \(({X}_{w}-{X}_{i})\) is large, it shows that \({X}_{i}\) is far away from the worst solution and hence it moves only a small distance. However, if \(({X}_{w}-{X}_{i}\)) is small, then \({X}_{i}\) is close to the worst solution and needs to improve. Therefore, it moves farther away from \({X}_{w}\).

Another factor that affects the adaptation is the current iteration, \(iter\). If this value is higher, it indicates that the population has highly evolved and is close to reaching the \(maxIter\) and thus optimal population. Therefore, the organisms in the population will be close to the optima and should not make bigger movements. However, in earlier stages of evolution, i.e. when \(iter\) is small, the population still need to evolve more, and the organisms can move freely in the environment, in search of the optima. With this reasoning, the adaptation is designed such that, the distance moved by \({X}_{i}\) in earlier iterations is larger and when the iteration count increases, \({X}_{i}\) moves smaller distances. Figure 2b shows the organism movement using defensive mimicry. Here the movement is performed to move away from the worst organism. \({X}_{iadap}-1\) is the modified organism obtained in earlier iterations, and the figure shows that the movement will be larger during such earlier iterations. \({X}_{iadap}-3\) shows the movement made in later iteration, which is smaller when compared to \({X}_{iadap}-1\).

In both phases, adaptation of \({X}_{i}\) results in the new organism \({X}_{iadap}\). The fitness value of \({X}_{iadap}\) is then compared with that of \({X}_{i},\) and if it is better, \({X}_{iadap}\) will replace \({X}_{i}\) in the population.

5.3 Exploitation

Earlier works have shown that, for some problems, simple evolutionary algorithms will not result in optimal solution (Li et al. 1997; Lo and Chang 2000; Somasundaram et al. 2005; Rajmohan and Ramasubramanian 2019). To infuse the optimization algorithm with domain − specific insight, exploitation ability is needed. This can be added by either hybridizing with other algorithms or combining local heuristics (Tseng and Liang. 2005) Lévy flight (Viswanathan et al. 2002) is a random walk with a heavy − tailed distribution. Lévy flight has been previously used to explore the search space in optimization problems, with promising results (Pavlyukevich 2007; Rajmohan and Natarajan 2019). To add exploitation capability to the SOS − AP optimizer, Lévy flight search is performed on the elite solutions in each iteration using Eq. 15.

$$L\acute{e} vy \sim u={t}^{-\beta }$$
(15)

Here \(\beta\) should be assigned a value in the range \(\left(1, 3\right).\) After exploration in each iteration, a local search is carried out for finding nearby better solutions. At the end of adaptation, the top three best solutions are selected to further exploit the region they are present in. Algorithm 2 gives the procedure for the proposed SOS − AP optimizer.

figure b

5.4 Proposed algorithm flow—example

Consider a 3D search space with starting coordinates (2, 2, 4) and destination coordinates (8, 9, 4).

Assuming a population size, \(N = 5\) for illustration purposes, the following are the randomly initialized organisms, in the vicinity of the starting coordinate. Each dimension of the organisms corresponds to a coordinate.

\({X}_{1} = (1, 1, 3)\); \({X}_{2} = \left(2, 2, 4\right)\); \({X}_{3} = (1, 2, 5)\); \({X}_{4} = (1, 2, 3)\); \({X}_{5} = (2, 2, 3)\)

The initialization is done such that the organisms are random and are nearer to the starting coordinate without any obstacle in between. The initial fitness values of the organisms are given in Table 2.

Table 2 Initial fitness values of the organisms

The first iteration of the SOS-AP will go through the 5 phases viz. mutualism, commensalism, and parasitism, aggressive mimicry, and defensive mimicry. From the initial fitness values,

$${X}_{best}= {X}_{2}$$

5.4.1 Mutualism

For \(i\) =1, \({X}_{i}\) \(= (\mathrm{1,1},3)\)

Assume \(j\) = 3 \({X}_{j}\) \(= \left(\mathrm{1,2},5\right) \) (chosen randomly). Now using equations (8) – (10):

$${X}_{mutual}= \frac{{X}_{i}+{X}_{j}}{2}$$
$${X}_{mutual}=(\mathrm{1,1.5,4})$$
$${X}_{inew}.x = 1+0.5*\left(2- 1* 1\right)$$

The above step calculates the \(x\) dimension value of \({X}_{inew}\) with \(rand(\mathrm{0,1})\) being 0.5 and \(BF1\) = 1. Similarly, the other dimensions of \({X}_{inew}\) can be calculated as:

$${X}_{inew}.y = 1+0.5*\left(2- 1.5* 1\right)$$
$${X}_{inew}.z = 3+0.5*\left(4- 4* 1\right)$$
$${X}_{inew} = (1.5, 1.25, 3)$$

Using equation (9) with \(rand (\mathrm{0,1})\) as 0.5 and \(BF2\) as 2, \({X}_{jnew}\) can be calculated as follows:

$${X}_{jnew}.x = 1+0.5*\left(2- 1* 2\right)$$
$${X}_{jnew}.x = 2+0.5*\left(2- 1.5* 2\right)$$
$${X}_{jnew}.x = 5+0.5*\left(4- 4* 2\right)$$

This gives,

$${X}_{jnew} = (1, 1.5, 3)$$
$$Fitness ({X}_{inew})= 0.098$$
$$Fitness({X}_{jnew}) = 0.097$$

As \(fitness\left({X}_{inew}\right)\) is better it will replace \({X}_{i}\) in the population where as \({X}_{jnew}\) will be discarded.

5.4.2 Commensalism

New organisms and fitness are given in Table 3.

Table 3 Updated fitness after mutualism phase

With\( i\)=1, \({X}_{i}\) \(= (\mathrm{1.5,1.25,3}).\) Assume \(j\)=4. \({X}_{j} = (\mathrm{1,2},3)\)

$${X}_{inew}.x=1.5+1*(2-1)$$
$${X}_{inew}.y=1.25+(-0.5)*\left(2-2\right)$$
$${X}_{inew}.z=3+0.5*(4-3)$$
$$Xinew=(\mathrm{2.5,1.25,3.5})$$

As \(fitness({X}_{inew}) = 0.105\), is better than \(fitness({X}_{i})\), \({X}_{inew}\) will replace \({X}_{i}\) in the population. Table 4 shows the new fitness values.

Table 4 Updated fitness after commensalism phase

5.4.3 Parasitism

For this phase with \(i=1\), the \(y\) dimension of \({X}_{i}\) is chosen to be randomly updated from 1.5 to 1 to from \({X}_{parasite}\) .

$${X}_{parasite} = (2.5, 1.3.5)$$

Let \(j \) be 5. Now \({X}_{parasite}\) will replace \({X}_{j}\) if it is fitter.

\(Fitness({X}_{parasite}) = 0.102\) is lesser than the \(fitness(Xj)\) which is 0.107. Therefore \({X}_{parasite}\) is discarded.

5.4.4 Aggressive mimicry

The best 3 organisms in the population are \({X}_{2} (\mathrm{2,2},4), {X}_{5} (\mathrm{2,2},3),\) and \({X}_{1} (\mathrm{2.5,1.25,3.5})\).

For \(i=1\) and \(R\) as 0.5, using equations (13) and (12),

$${X}_{mean} = (\mathrm{2.16,1.75,3.5})$$
$${X}_{iadap}.x=2.5+\left( \left(2.16-2.5\right) \times 0.301\right)$$
$${X}_{iadap}.y=1.25+\left( \left(1.75-1.25\right) \times 0.301\right)$$
$${X}_{iadap}.z=3.5+\left( \left(3.5-3.5\right) \times 0.301\right)$$
$${X}_{iadap} = (\mathrm{2.39,1.40,3.5})$$

\(Fitness({X}_{iadap}) = 0.105\) is lesser than the \(fitness({X}_{j}) \) which is 0.107. Therefore \({X}_{iadap}\) is discarded.

5.4.5 Defensive mimicry

The worst organism in the population are \({X}_{3}\) and \({X}_{4}\). \({X}_{w}\) is randomly chosen to be \({X}_{3}\). Assume \(maxIter =10\) and the current iteration, \(iter\) is 1.

$${X}_{iadap}.x=2.5-\left(\frac{1}{1-2.5} \times { e}^{-\left(9\right)}\right)$$
$${X}_{iadap}.y=1.25-\left(\frac{1}{2-1.25} \times { e}^{-\left(9\right)}\right)$$
$${X}_{iadap}.z=3.5-\left(\frac{1}{5-3.5} \times { e}^{-\left(9\right)}\right)$$
$${X}_{iadap} = (2.5, 1.24, 3.49)$$

\(Fitness({X}_{iadap}) = 0.105\) is lesser than the \(fitness({X}_{j})\) which is 0.107. Therefore \( {X}_{iadap}\) is discarded.

The final value of \({X}_{1}\) after the five phases of first iteration is \({X}_{1} = (\mathrm{2.5,1.25,3.5}). \) Most of the phases discarded the new organism in this example. However, for other organisms and for later iterations, the exploration could result in organisms with better fitness thereby improving the population. These calculations will be repeated for other organisms in the population and the exploration will continue till the convergence criteria are met.

6 Experimental results

To study the performance of the proposed SOS − AP algorithm, a series of experiments were performed. All the evolutionary algorithms studied were implemented in C++ and Python was used for visualization. The PC used has 2.40 GHz Intel i3 core with 4 GB RAM.

6.1 Simulation environment

In order to analyse the path planning efficiency of different algorithms, a total of eight 3D environment scenes were created. Each scene has a start and target position and a number of obstacles with different size and location. Table 5 shows the various obstacles used in the different scenes and Table 6 lists the scenes used along with the obstacles present.

Table 5 List of obstacles
Table 6 List of scenes with the start, target, and obstacles present

To evaluate the proposed SOS − AP algorithm, it is compared with different existing algorithms listed below:

  1. 1.

    Standard Symbiotic Organisms Search (SOS) (Cheng and Prayogo 2014)

  2. 2.

    Standard Firefly Algorithm (FFA) (Yang 2009)

  3. 3.

    Standard Particle Swarm Optimization (PSO) (Kennedy and Eberhart 1995)

  4. 4.

    Chaotic Predator–Prey Biogeography− based Optimization (CPPBBO) (Zhu and Duan 2014)

  5. 5.

    Glow—worm Swarm Optimization (GSO) (Pandey et al. 2018)

  6. 6.

    Grey Wolf Optimization (GWO) (Dewangan et al. 2019)

  7. 7.

    Improved Bat Optimization (IBO) (Wang et al. 2016)

  8. 8.

    Multi—verse optimization (MVO) (Tiwari et al. 2019)

  9. 9.

    Predator—Prey Pigeon Optimization (PPPIO) (Zhang and Duan 2014)

The existing algorithms were implemented on the same system as the proposed algorithm for fairness and the results were obtained. Table 7 shows the parameters used for different evolutionary algorithms and their corresponding values obtained from literature. As mentioned earlier, a major advantage of SOS algorithm is the lack of parameters, and the proposed algorithm inherits this advantage. Apart from algorithm − specific parameters, the rest of the parameters are set commonly. Population size is set as 40, maximum number of iterations is set as 100 and maximum number of fitness evaluations is fixed as 1000. \({\omega }_{L}\), \({\omega }_{S}\), \({\omega }_{D}\) are set as 0.3, 0.3, 0.4 respectively.

Table 7 Parameter settings for different algorithms

6.2 Path planning

The path found by the proposed algorithm for different scenes is shown in Fig. 3 and the path found by SOS is shown in Fig. 4. The blue line represents the global best path found. The positions of the organisms are also represented for each iteration as points. The colour of the points representing organisms change with the iteration from blue (earlier iterations) to red (later iterations). The efficiency of the path generated by different algorithms is analysed in the further sections.

Fig. 3
figure 3

Exploration of the environment by SOS-AP

Fig. 4
figure 4

Exploration of the environment by traditional SOS

6.3 Performance analysis

The performance of the different algorithms is studied over 20 runs of each algorithm. The fitness of average, best, worst solutions obtained by the different algorithms for the eight scenes are shown in Tables 8, 9, 10. Since \(Fitness\) is the inverse of \(Cost\), the solutions with higher \(Fitness\) indicate better path. Fitness is used as a measure for path exploration since a better fitness indicates that the path is better in terms of distance and smoothness. The results show that the proposed algorithm performs well across all scenes and is able to converge on the best path. Apart from the SOS − AP, FFA is also able to find the best solution for some scenes. This is because, FFA explores the environment thoroughly and each firefly in the population takes exploration input from all other better fireflies. This is a major advantage of FFA algorithm. However, it may result in high computational time due to the large number of fitness evaluations involved.

Table 8 Fitness of Best, average, and worst paths found by FFA, PSO, CPPBBO, and GSO
Table 9 Fitness of Best, average, and worst paths found by GWO, IBO, and MVO
Table 10 Fitness of Best, average, and worst paths found by PPPIO, traditional SOS, and SOS—AP

Figure 5 shows the box plot for the 20 runs of the different algorithms. Almost all the algorithms report consistent results for the different scenes. However, the solution obtained by the proposed algorithm has higher fitness when compared to the other algorithms, as shown by the position of its box. Also, the size of the box is small for SOS − AP indicating that the algorithm obtains optimal solutions consistently.

Fig. 5
figure 5

Box plot for different algorithms

Figure 6 compares the exploration ability of the algorithms for different population sizes in terms of fitness. For existing algorithms, the performance is better for larger populations in most of the cases. When the population size is less than 40, the existing algorithms result in solutions with lower fitness. However, the proposed algorithm SOS − AP converges on solutions with better fitness, even for smaller population. This is because, the proposed algorithm continuously tries to improve the fitness of its population in every iteration using aggressive and defensive mimicry, thus resulting in a fitter population in every iteration.

Fig. 6
figure 6

Results obtained by existing and proposed algorithms for different population sizes

To compare the accuracy of the proposed algorithm, Table 11 lists the distance between the actual destination and the destination reached by different algorithms after 50 iterations. The different algorithms eventually will reach the destination after different number of iterations. However, to study the accuracy of the algorithms after a fixed number of iterations, the iteration limit is fixed as 50. From Table 11 it can be seen that, SOS − AP is able to reach very close to the destination when compared to other algorithms. Table 12 lists the coordinates of the actual destination and the point reached by SOS − AP and SOS after 50 iterations.

Table 11 Distance between the actual destination and current point reached after 50 iterations by proposed and existing algorithms
Table 12 Coordinates of actual destination and current point reached after 50 iterations by proposed and existing algorithm SOS

To verify that the proposed SOS − AP obtains significant results when compared to existing algorithms, Wilcoxon Signed − Rank Test has been used. The results are summarized in Table 13, where the p − values for different algorithms against SOS − AP is listed for all the scenes. The values in bold highlight where the result is significant for a significant criterion of p < 0.05. The p value cannot be calculated for cases, where there are multiple similar results between two algorithms and hence in those cases, the result is considered not − significant. This result shows that for most cases, the proposed algorithm obtains significant results and this information combined with the previous analysis shows that the proposed algorithm is able to offer significantly better performance when compared to existing algorithms. To further verify this, Table 14 shows the result of Friedman test (Friedman 1937) that can be used to detect significant variations between different algorithms. While conducting the test, in case of ties, average ranks have been used. The comparison shows that the proposed SOS − AP algorithm is able to obtain the best rank among the different algorithms being evaluated.

Table 13 Results obtained by two − tail signed Wilcoxon test. The bold values indicate significant results
Table 14 Results obtained by Friedman test

6.4 Analysis of execution time

Figure 7 shows the convergence plot for the different algorithms. The population size is kept as 25 for the taking the convergence results, since it will clearly show the progression of the exploration for each iteration. In earlier iterations itself, the proposed algorithm starts moving towards better solutions, and the convergence plot shows that the proposed algorithm converges on the best solution very early.

Fig. 7
figure 7

Convergence plot for different algorithms

Figure 8 shows the time taken for each iteration by different algorithms for each scene. With the additional phases in the proposed algorithm, the execution time for single iteration is high when compared to other algorithms. However, this will not affect the overall performance of the algorithm, since the algorithm converges in earlier iterations when compared to other existing algorithms. This is shown in Fig. 9. From Fig. 9 it can be seen that, even though the time taken for a single iteration is high in SOS − AP, since the algorithm manages to converge in early iterations, the overall execution time taken is less when compared to the existing algorithms.

Fig. 8
figure 8

Average execution time taken by different algorithms during each iteration

Fig. 9
figure 9

Execution time taken by different algorithms for convergence

Table 15 compares the improvement in execution time achieved by the proposed version of SOS algorithm as compared to the traditional SOS algorithm. Among the existing algorithms, SOS has better fitness and execution time. The proposed algorithm is able to further reduce the execution time while maintaining performance in terms of solution fitness. The percentage of speedup achieved in terms of execution time is given in the table and the comparison shows that the proposed algorithm improves the execution time by 11%.

Table 15 Percentage improvement in execution time obtained by the proposed approach

7 Case study

UAVs aid in surveying difficult terrains such as steep and hilly areas. However, the path planning algorithm needs to be sophisticated to properly plan a path in a difficult terrain. To further study the applicability of the proposed algorithm and verify its performance on a 3D terrain a case study has been done based on real 3D regions. The terrains have been obtained from the Digital Elevation model of Australia [Geoscience Australia 2015] and Taal Volcano [Phil − LiDAR 2020]. Additional obstacles have been added to the scene obtained. Figure 10 shows the path generated by the proposed SOS − AP and the traditional SOS algorithm for the same start and destination points in Terrain 1 (Australia). The cost of the path generated by the algorithms are 0.530 and 2.012 respectively for SOS − AP and SOS. Figure 11 shows the path generated for Terrain 2 (Taal). Figure 11 a and b show different views of the path generated by SOS − AP and 11c and d show different views of the path generated by SOS. The cost of the path generated by the algorithms are 0.0842 and 0.109 respectively for SOS − AP and SOS. The traditional SOS algorithm incurs additional cost because of the deviation in the path obtained. Therefore, the fuel cost and the distance cost are increased, whereas the proposed algorithm performs better by converging on a minimal cost path. It can also be seen that the path generated by the traditional SOS has sharp turns as opposed to be proposed algorithm.

Fig. 10
figure 10

Path generated by a SOS—AP and b SOS for Terrain 1

Fig. 11
figure 11

Path generated by a and b SOS—AP and c and d SOS for Terrain 2

This case study simulates the path of a UAV planned by the proposed methodology and it verifies the performance of the proposed methodology when compared to the traditional SOS algorithm.

8 Conclusion

This paper has presented a novel improved Symbiotic organisms search optimization named, SOS − AP for automatic path − planning for UCAVs in 3D environment. The concept of adaptive peaking with two phases namely aggressive mimicry and defensive mimicry was introduced based on the biological phenomenon of adaptation. Also, a Lévy flights based local search procedure was added to ensure exploitation of local spaces. In the experimental analysis, the proposed algorithm was compared with other existing algorithms for eight different 3D environments in terms of solution quality and execution time. From the analysis it can be determined that SOS − AP performs better exploration and can find optimal paths with best fitness within a short time. As future work, the algorithm can be tuned to plan the path for multiple co − operative UCAVs.