Keywords

1 Introduction

Nature continuously provide some of the well planned way to solve the real life problems. The nature has progressed for the period of thousands of year elevating with innovative models, techniques and tools and established into well-defined disciplines of scientific aspire. Humankind has been continuously annoying to apprehend the nature from the time when by evolving some innovative techniques and tools day by day. The area of nature-inspired computing is a combination of computing science with knowledge from different streams like mathematics, biology, chemistry physics and engineering. The algorithms simulating processes in nature or inspired from some natural phenomenon are called Nature Inspired Algorithms (NIAs). According to the source of inspiration they are classified in different classes. Most of the NIAs are motivated by working of natural biological systems, swarm intelligence, physical and chemical phenomenon. For that reason, the name biology based, swarm-intelligence based, physics and chemistry based, according to their sources of stimulation. Basically main source of inspiration is nature and thus they called nature-inspired. More than hundred algorithms inspired by nature are now a day available and ABC is one of them. The ABC algorithm is capable to realize better results very quickly however like other stochastic population based approaches, it is not better in terms of exploration of search space. The performance of ABC algorithm is critically analyzed and concluded that it is better than some other NIAs most of the times [1, 2] but it has some drawback also. It is revealed in study that original ABC [3] sometimes halt while inching ahead in the direction of the global optimum despite the fact the population has not converged to a local optimum [4]. It happens due to it’s position update equation that is really good in exploration but pitiable at exploitation [5]. Thus it can be concluded that ABC has no proper balancing between exploration and exploitation process. For that reason these weaknesses require an amendment in position update process in ABC. To boost the exploitation, in this paper, a local search strategy namely, logarithmic spiral local search (LSLS) is anticipated and assimilated with ABC to magnify the exploitation potential of the ABC algorithm. The proposed LSLS is inspired from the equation of logarithmic spiral. The hybridized ABC algorithm is named as logarithmic spiral based ABC (LSABC) algorithm.

Financial system and growth of a country is highly reliant on the agricultural products. A large number of people are concerned in agricultural production where various categories of plants are cropped on a variety of lands based on the ecological circumstances. However, maintaining these plants suffers with a number of problems which are faced by the farmers such as plant diseases, quality of soil, selection of crop and many more. The plant diseases must be detected and prevented well on time to enhance the production. For that reason, an automated plant disease identification system can be very helpful for monitoring the plants. Leaves are primary part of the plants where the effect of a disease is generally visualized and may be identified for required prevention. Similarly in order to enhance productivity a farmer must be aware about quality of soil, so that he/she can use suitable seeds and pesticides. These two things, identification of plant diseases and prediction of soil quality can be easily done using LSABC. The LSABC may be used for clustering of images (images of plant leafs and different soil) while identifying different classes of leafs and soil.

2 ABC Algorithm

The ABC algorithm is invented by Dervis Karaboga in 2005 [3] inspired by extraordinary conduct of honey bees while piercing for food sources with best characteristics. Analogous to natural honey bees the ABC algorithm divided all bees in three different groups according to their behavior and nature of task performed. The whole population composed of three types of bees: employed, onlooker and scout bee. The employed bees are accountable for searching for new food sources and providing useful information regarding food sources to bees that residing in hive (onlooker bees). Based on information received from employed bee, onlooker bees start exploiting these food sources. If a food sources exhausted due to exploitation it is considered as abandoned and replaces by scout bee. The bees are continuously trying to improve solutions using greedy search strategy till the termination criteria meet and memories the best solution established till now. The success of ABC algorithm depends on balance between these two processes. Initialization of swarm also play important role in deciding direction of solution search process. The ABC algorithm modified number of times to improve its performance like memetic search in ABC [6], levy flight ABC [7], modified gbest ABC [8], lbest gbest ABC [9], fitness based position update in ABC [10] and memetic search in ABC with fitness based position update [11]. The practical implementation of ABC is easy, and has only three parameters. The complete ABC algorithm spliced into three phases. The Algorithm 1 revealed the core steps of ABC algorithm.

figure a

2.1 Steps of ABC Algorithm

Initialization: The first phase in ABC is initialization of parameters (Colony Size, Limit for scout bees and maximum number of cycles) and set up an initial population randomly using Eq. 1.

$$\begin{aligned} p_{ij}= LB_{j}+rand\times {(UB_{j}-LB_{j})} \end{aligned}$$
(1)

Where, \(i=1,2,..,(Colonysize/2)\) and \(j=1,2..,D\). Here D represent dimension of problem. \(p_{ij}\) denotes location of \(i^{th}\) solution in \(j^{th}\) dimension. \(LB_j\) and \(UB_j\) denotes lower and upper boundary values of search region correspondingly. rand is a randomly selected value in the range (0, 1).

Employed Bee Phase: This phase try to detect superior quality solutions in proximity of current solutions. If quality of fresh solution is enhanced than present solution, the position is updated. The position of employed bee updated using Eq. 2.

$$\begin{aligned} V_{ij}=p_{ij}+\overbrace{\phi _{ij}\times (p_{ij}-p_{kj})}^{s} \end{aligned}$$
(2)

Where, \(\phi _{ij} \in [-1,1]\) is an arbitrary number, \(k \in {1,2,.(Colonysize/2)}\) is a haphazardly identified index such that \(k\ne i\). In this equation s denotes step size of position update equation. A larger step size leads to skipping of actual solution and convergence rate may degrade if step size is very small.

Onlooker Bee Phase: The selection of a food source depends on their probability of selection. The probability is computed using fitness of solution with the help of Eq. 3.

$$\begin{aligned} Prob_{i}=\frac{fitness_{i}}{\sum _{i=1}^{colonysize/2}Fitness_{i}} \end{aligned}$$
(3)

Scout Bee Phase: An employed bee become scout bee when the solution value not updated till the predefined threshold limit. This scout bee engenders new solution instead of rejected solution using Eq. 1.

3 Motivation

In most of the swarm based stochastic meta-heuristics, the potential to explore the divergent unidentified areas in the solution search region to identify the global optimum is denoted as the process of exploration, whereas the capability to process the information about the earlier good solutions to find best feasible solutions is termed as exploitation. When it comes down to it these two process (exploration and exploitation) are contradictory to each other in nature. It is essential to maintain proper balancing between these two process so that it may attain excelling performance while performing optimization.

The swarm in ABC update its position by the means of two essential processes: the process of exploration, which legitimize discovering diverse areas of the search reason, and the identification of best solution, that make sure the exploitation of the previous experience. Though, some research pointed out that the ABC sometimes not able to continue for the global optimum despite the fact that the swarm has not congregated to a local optimum [4]. It can be perceived that the process of solution searching in ABC is very efficient in exploration but not up to the mark in exploitation [5].

One of the simplest way to embellish the exploration potential of the swarm based algorithm is to increase the size of swarm [12, 13]. In this way, to circumvent the condition of premature convergence annexation of certain peripheral budding solutions are useful in avoiding trapping into local optima and sometimes removal of several individuals may help to accelerate the rate of convergence, if it is taking excessively large time to converge.

Further, the step size in position update equation of ABC has significant impact on the superiority of the updated solution. The high absolute value of \(\phi _{ij}\) and large difference between current solution and arbitrarily chosen solution leads to large step size and it results in skipping the true solution and very small step size results in low convergence rate. A balanced step size can maintain proper balancing between exploration and exploitation potential of the ABC meanwhile. This balancing is not possible by hand as this step size involves some random component. For that reason, a self-adaptive strategy, which can adaptively modify the step size of an individual may also help for balancing the exploration and exploitation competencies of the algorithm.

The size of step during position update process in ABC is the combination of an arbitrary element \(\phi _{ij}\) and a difference vector between the current solution and an arbitrarily identified solution. The high value of \(\phi _{ij}\) and high difference between the vectors in the step generation process may generate the large step size which may leads to the skipping of true solution. Therefore, to avoid this situation and to embellish the exploitation competence of ABC algorithm, logarithmic spiral based local search strategy, namely logarithmic spiral local search (LSLS) is anticipated and assimilated with the ABC. The anticipated hybridized ABC is named as logarithmic spiral based ABC (LSABC). To demonstrate the efficiency and trustworthiness of the LSABC, it is implemented for 10 established benchmarks problems and equated with ABC, Best-so-far ABC, and Modified ABC. The reported results showed that the proposed LSABC is a new worthy variation of ABC algorithm.

4 Logarithmic Spiral Based ABC

A local search strategy inspired by the equation of logarithmic spiral is incorporated in basic ABC. A logarithmic spiral is a self-similar spiral curve which over and over again give the impression in nature [14]. As the solution search process of ABC algorithm is highly depends on a combination of random component \(\phi _{ij}\) and a difference vector (refer Eq. 2). Hence, the high value of random component \(\phi _{ij}\) and the difference vector results in more chances to avoid the actual solution. For that reason, a new approach is projected, which helps the current best solution in the swarm to exploit the search reasons in its locality in this article. The anticipated new local search algorithm is described in Algorithm 2.

The equation of logarithmic spiral is shown in Eq. 4. Logarithmic spiral is the locus of points analogous to the positions with time of a point moving away from a static point with a fixed speed beside a line which revolves with fixed angular velocity. Unvaryingly, in polar coordinates \((r, \theta )\) as designated by the Eq. 4 [14].

$$\begin{aligned} r = a\times e^{b\theta }\, \end{aligned}$$
(4)

Here, a and b denotes some randomly generated positive real numbers while e is the base of natural logarithms. The parameter a used for turning the spiral, whereas the distance between consecutive turnings controlled by b as depicted by Fig. 1.

Fig. 1.
figure 1

Logarithmic spiral represented on a polar graph [14]

In the anticipated local search the most feasible solution in the current population is eligible for location update. The location update equation is developed by taking inspiration from the logarithmic spiral as shown in Eq. 5.

$$\begin{aligned} x_{new}= & {} x_{best}+ \text{ step } \end{aligned}$$
(5)
$$\begin{aligned} \text{ where, } \text{ step }= & {} 2\times sign\times U(0,1)\times (1-\frac{Iter}{TI}) \times e^{\frac{sin(Iter)}{Iter}} \end{aligned}$$
(6)

Here, \(x_{new}\) is the new location of the solution going to update, \(x_{best}\) denotes the highly fitted solution in the present population, Iter is the local search iteration counter, TI denotes total iterations in local search, sign is the addition or subtraction sign which is according to the fitness of the newly engendered solution. The step size is computed with the help of Eq. 6 which is developed by modification of logarithmic spiral equation. In this equation \(a=2\times sign\times U(0,1)\times (1-\frac{Iter}{TI})\) while \(b=\frac{1}{Iter}\) and \(\theta =sin(Iter)\). The step size is used to provide distance to the most suitable individual solution all along the local search process. The anticipated local search is elucidated in Algorithm 2.

figure b

In Algorithm 2, U(0, 1) denotes an arbitrary number that is evenly distributed in the range (0, 1) and D denotes the dimension of particular function.

Additional, the equation for position update in ABC algorithm is also improved. The original ABC updates the location of food sources using Eq. (2). The position update equation narrated by Eq. (2) is reformed as shown below with motivation from Gbest-guided ABC (GABC) [5] algorithm:

$$v_{ij}=p_{ij}+\phi _{ij}(p_{ij}-p_{kj})+\psi _{ij}(p_{bestj}-p_{ij}),$$

here, \(\psi _{ij}\) is an arbitrarily generated evenly distributed number from 0 to C, with a positive constant C.

The pseudo-code of the newly anticipated hybridized LSABC algorithm is depicted in Algorithm 3.

figure c

5 Experiential Setup and Result Analysis

The performance of newly developed variant (LSABC) evaluated over ten unbiased standard problems and analysed here in terms of precision, efficacy and trustworthiness.

5.1 Considered Test Problems

A set of ten mathematical optimization problems (\(f_1\) to \(f_{10}\)) with diverse degree of complexity are selected to confirm the efficiency of the planned LSABC algorithm. These functions are displayed in Table 1. All the selected functions are continuous in nature. These problems are minimization problems and solutions of the most of the functions does not exists on the origin, diagonal and axis.

Table 1. Test problems, AE: acceptable error

5.2 Experimental Setting

The newly developed LSABC algorithm is compared with basic ABC and its two most recent variants, namely, Best-So-Far ABC (BSFABC) [15], and Modified ABC (MABC) [16] for the purpose of assessment to evaluate the efficiency, robustness, and reliability. Simulation results of the newly developed LSABC algorithm and the considered algorithms are presented in terms of average number of function evaluations (AFE), mean error (ME), and success rate (SR) as mentioned in Tables 2, 3, and 4 respectively. Standard deviation (SD) also measured for analysis. The considered algorithms are examined with the following experimental setting:

  • Population size \(NP = 50\) [17, 18].

  • Food source count \(SN = NP/2\),

  • Simulation count/run =100,

  • \(C=1.5\) [5],

  • Total local search iterations \(TI=11\) (It was set through empirical experiments).

  • The termination for ABC,MABC and BSFABC is set to maximum number of function evaluations = 200000 or permissible error (Table 1) whichever meets first.

  • Parameter settings for ABC [3] , MABC [16] and BSFABC [15] are taken from their base papers.

5.3 Analysis of Experimental Results

To evaluate the efficiency, an AFE based comparison is carried out in Table 2. It can be easily observed from this table that the AFE of LSABC is less for most of the functions i.e. the newly developed LSABC is converge to optima faster than the other considered algorithms. Further, the Table 3 shows the results of successful runs over 100 simulations. A simulation is considered successful, if the algorithm achieves optima at the level of acceptable error as mentioned in Table 1. The Table 3 elucidate that the newly developed LSABC is more reliable for most of the benchmark functions in terms of success rate as compared to the considered algorithms. The robustness and accuracy of the newly developed LSABC algorithm is measured by the ME as shown in Table 4. This table show competitiveness of the purposed algorithm in terms of accuracy for the considered Test Problems (TP).

Table 2. Comparison based on AFE.
Table 3. Comparison of success rate out of 100 runs.
Table 4. Comparison of mean error.

5.4 Statistical Analysis

The comparison of LSABC with ABC, BSFABC and MABC is done on the basis of AFE, SR, and ME. The results in Tables 2, 3, and 4 shows that LSABC is very effective for 7 test problems (\(f_2, f_4 \text{ to } f_8, \text{ and } f_{10}\)) while these problems are of different nature, After observing these results it may be concluded that LSABC is able to balance the process of exploitation and exploration very effectively. MABC outperforms LSABC over test function \(f_{3}\) while BSFABC outperforms LSABC over test functions \(f_{1}\) and \(f_{9}\).

Fig. 2.
figure 2

Boxplots graph for AFE

The boxplot [19] analysis of AFE for LSABC, ABC, BSFABC, and MABC have been presented in Fig. 2 to denote the distribution of outcomes. It is clearly visible through the boxplots analyses of the results as shown in Fig. 2 that LSABC outperforms the considered algorithms. While observing the boxplots of success rate, the median of LSABC is high whereas interquartile range is low as compared to the other considered algorithms which proves the reliability of the LSABC over the compared algorithms.

Further, some more statistical analyses, namely Mann-Whitney U (MWU) rank sum test [20] and Acceleration Rate (AR) test are done on the AFEs. As it is clear from the boxplots (refer Fig. 2) that the AFE’s are not uniformly distributed, so the MWU Rank sum test is done at 5% level of significance (\(\alpha =0.05\)) as shown in Table 5. The MWU rank sum test is applied for identification of the significant differences in function evaluations between LSABC-ABC, LSABC-MABC and LSABC-BSFABC. In Table 5, ‘+’ symbol indicates the significant less function evaluations of LSABC, while ‘−’ symbol indicates the significant high function evaluations of LSABC to the compared algorithm. The symbol ‘=’ shows no significance difference of the function evaluations of the algorithms. The last row shows competitiveness of the proposed algorithm. As Table 5 contains 26 ‘+’ signs out of 30 assessment. As a result, it can be declared that the outcomes of LSABC are significantly better than ABC, BSFABC and MABC over measured test problems.

Table 5. Comparison based on AFE and the MWU rank sum test [20].
Table 6. Comparison of AR for LSABC with ABC, BSFABC, and MABC.

Further, a fair comparison in terms of the convergence speed is done through AR analyses on the AFEs of the considered algorithms. The AR is calculated by Eq. 7.

$$\begin{aligned} AR=\frac{AFE_{ALGO}}{AFE_{LSABC}}, \end{aligned}$$
(7)

where, ALGO\(\in \) {ABC, MABC, and BSFABC}. It is clear from Eq. 7 that the AR will be high for the algorithm having fewer AFEs and vice-versa. The calculated AR is presented in Table 6. While observing the Table 6, the value of AR is more than one for most of the function which shows that the newly developed LSABC is fast convergent algorithm as compared to the other considered algorithms.

6 Conclusion

Here a logarithmic spiral inspired local search algorithm assimilated in basic ABC algorithm to ameliorate its exploitation feature. The new local search is named as Logarithmic spiral based local search (LSLS) and variant of ABC is named as logarithmic spiral based ABC (LSABC). The performance of the newly anticipated LSABC is measured over 10 complex benchmark problems and results are compared with the ABC and its some state-of-art its variants. While statistical analyses of the results, it may be declared that the newly developed LSABC is an efficient variant of ABC and give a better trade of between exploration and exploitation abilities. In future LSABC may be implemented for multi variable function optimization. Further, LSABC may be implemented to classify the plant leaf and soil images into different categories.