Keywords

1 Introduction

Many phenomena in nature have unique characteristics that can be utilized and converted into a mathematical model or even an algorithm to solve real-world problems. Over the last few decades, researchers have developed many nature-inspired algorithms so as to attempt to find the best solutions for various optimization problems. Examples are genetic algorithm (GA) [1], artificial bee colony (ABC) [2], particle swarm optimization (PSO) [3], gray wolf algorithm (GWA) [4], firefly algorithm (FA) [5], bat algorithm (BA) [6], and cuckoo search (CS) [7]. These algorithms have been successfully applied to a wide range of optimization problems and are widely used in the literature of metaheuristics for the last two decades [8, 9]. On the other hand, nature still has many other phenomena that can be utilized to solve different types of problems. One phenomenon is flowering plant reproduction strategy through pollination, which inspired Yang in 2012 to propose a new algorithm called the flower pollination algorithm (FPA) [10].

FPA is a swarm-based optimization technique that has attracted the attention of many researchers in several optimization fields due to its impressive characteristics. FPA has very fewer parameters and has shown a robust performance when applied in various optimization problems. In addition, FPA is a flexible, adaptable, scalable, and simple optimization method. Therefore, FPA, compared with other metaheuristic algorithms, shows good results for solving various real-life optimization problems from different domains such as electrical and power system [11,12,13,14,15], signal and image processing [16,17,18], wireless sensor networking [19,20,21], clustering and classification [22, 23], global function optimization [24], computer gaming [25], structural and mechanical engineering optimization [26,27,28], and many others [29, 30].

Procedurally, FPA is a population-based optimization technique, initiated with a set of provisional or random solutions. At each iteration, either one of the two operators is carried out for each individual population member: local pollination operator and global pollination operator. In a local pollination operator, the decision variables of the current solution attract the other two randomly selected solutions from two population members. In a global pollination operator, the decision variables of the current solution attract to the globally best solution found. The switch operator is responsible for exchanging the improvement loop either locally or globally. This process repeats until a predefined stopping criterion is met.

In recent years, the procedural optimization framework of FPA at its initial version has undergone modification or hybridization to enhance its performance with relation to different types of problem landscapes. Therefore, the original form of FPA is first presented in this review paper in terms of its theoretical aspects. Then, several FPA versions are reviewed and analyzed critically by presenting modified and hybridized versions in detail, including the multi-objective and parameter-less variants. Figure 1 summarizes these variants and their foundations as a pie chart. In addition, the limitations of FPA will also be discussed. Critical analysis concerning the FPA optimization framework is presented to provide new opportunities for interested readers to carry out more research about FPA. Furthermore, some important applications of FPA are comprehensively summarized. Finally, this review chapter concludes with recommending possible future work on FPA.

Fig. 1
figure 1

Distribution of published research articles on FPA

The Materials and Methods reviewed here have been selected based on their modifications and relevance. Figure 2 shows the main sources of these materials and methods. In the figure, the selected literature and studies are classified, based loosely on the publishers such as IEEE Explorer, ScienceDirect, SpringerLink, Taylor & Francis, and others. There are other ways of presenting the data. For example, Fig. 3 shows the distribution of publications, Materials and Methods, based on the year of publication. As the time progressed, the interest in FPA increased and attracted the attention of the research community in the last 5 years.

Fig. 2
figure 2

Number of publications of FPA algorithm per databases

Therefore, this chapter is organized as follows. Section 2 describes the flower pollination foundation with Sect. 2.2 describing the flower pollination algorithm. Section 3 provides in detail all the major variants of FPA. Some applications are briefly outlined in Sect. 4, and and critical analysis of FPA is carried out in Sect. 5. Finally, the conclusion will be drawn with some recommendation in Sect. 6.

Fig. 3
figure 3

Number of publications of FPA algorithm per year

2 Flower Pollination and Flower Pollination Algorithm

The majority of plants are flowering plants and there are more than 250,000 species of flowering plants around the world, where pollination represents the main reproduction strategy of the plants [31, 32]. Pollination is a process of transferring pollen from one flower to another by wind or pollinators such as insects, butterflies, bees, birds and bats. Flowering plants have evolved to produce nectar to attract pollinators and to ensure pollination [33]. In addition, some pollinators and plant species such as hummingbirds and ornithophilous flowering plants form some co-evolutionary flower constancy [31, 32]. Based on the main characteristics of pollination, the flower pollination algorithm has been developed [10].

2.1 FPA in Optimization Context: Nature’s Inspiration

Before we describe the flower pollination algorithm in detail, let us briefly review the basic form of pollination in flowering plants. Pollination takes two basic forms: biotic or abiotic.

  1. 1.

    Biotic pollination: The main form of pollination is biotic pollination, also called cross-pollination, by pollinators such as insects and birds and others. Almost 90% of flowering plants use this form of pollination. As pollinators move and even fly with various paces and speeds, the motion of pollen can be quite long distant. Such pollination can also be considered as global pollination with potential Lévy flights properties [10, 34, 90]. If pollen is encoded as a solution vector, this action can be equivalent to global search.

  2. 2.

    Abiotic pollination: Another form of pollination is abiotic pollination, also called self-pollination, which does not require pollinators. It is estimated that about 10% of floral plants take this form of pollination. As the pollination tends to be local and self-pollination, it can be achieved by wind and diffusion [10, 33]. The distance travelled by such local motion is typically short, and such action can thus be considered as local search.

  3. 3.

    Flower constancy: Sometimes, it is advantageous for both plants and pollinators such as hummingbirds to form a partnership to save energy with guaranteed success. Consequently, flower constancy has been evolved. In this case, pollinators only visit a fixed set of flower types without wasting energy for exploring new flower types, while the flower plants evolve to provide sufficient nectar reward to pollinators so as to encourage frequent visits by pollinators and thus maximize their reproduction success [31, 33].

The above characteristics have been used to design an optimization algorithm, called flower pollination algorithm (FPA) [10]. The main characteristics and the algorithm components of FPA can be summarized in Table 1, which shows the relationship or equivalence between optimization terms and flower context.

Table 1 Pollination and its optimization components

With these components and characteristics, we can now describe the standard flower pollination algorithm in detail.

2.2 Flower Pollination Algorithm

FPA is a nature-inspired algorithm that mimics the main pollination behavior of flowering plants. The four idealization rules were used by Yang in 2012 [10] and they can be summarized as follows:  

Rule 1 :

Global pollination involves biotic and cross-pollination where pollinators carry the pollen based on Lévy flights.

Rule 2 :

Local pollination involves abiotic and self-pollination.

Rule 3 :

Flower constancy can be considered as a reproduction probability that is proportional to the similarity between any two flowers.

Rule 4 :

Switch probability \(p \in [0,1]\) can be controlled between local pollination and global pollination due to some external factors, such as wind. Local pollination has a significant fraction p in overall pollination activities.

 

To illustrate the mechanism of the FPA based on these four rules, three key steps can be described in the following three subsections.

2.2.1 Global Search of FPA (Biotic)

As mentioned above, pollinators such as birds and bats can transfer pollen over long distances during biotic pollination, ensuring the diversity and the fittest pollination for reproduction. Therefore, the first (Rule 1) and third (Rule 3) FPA rules can be mathematically formulated as follows:

$$\begin{aligned} x_i^{t+1}= x_i^t + L(g^*-x_i^t) \end{aligned}$$
(1)

where \(x_i^{t}\) is the pollen or solution vector at iteration t and \(g^*\) is the best solution found among all solutions at the current iteration. The parameter L is the strength of pollination, which is essentially a step size. Because pollinators move over long distances with various distance intervals, the Lévy flight can an efficient simulator for this characteristic [10]; that is, L can be drawn from a Lévy distribution as follows:

$$\begin{aligned} L\sim \frac{\lambda \varGamma (\lambda ) \sin (\pi \lambda /2)}{\pi }\frac{1}{s^{1+\lambda }}, \quad (s \ll 0) \end{aligned}$$
(2)

where \(\varGamma (\lambda )\) denotes the standard gamma function and this distribution is valid for large steps \(s>0\). Normally, it is recommended that \(\lambda = 1.5\) can be used [10].

2.2.2 Local Search of FPA (Abiotic)

As abiotic pollination occurs by wind or diffusion without any pollinators, the local pollination (Rule 2) and flower constancy (Rule 3) can be represented as follows:

$$\begin{aligned} x_i^{t+1}=x_i^{t} + \varepsilon \; (x_j^{t} - x_k^{t}) \end{aligned}$$
(3)

where \(x_j^t\) and \(x_j^k\) are pollen from different flowers of the same plant type. This equation essentially mimics the flower constancy in a limited neighborhood. Mathematically speaking, if \(x_j^t\) and \(x_j^k\) are from the same species that can be selected from the same population, the equation becomes a local random walk if we draw \(\varepsilon \) from a uniform distribution in [0, 1], and the new solution vector generated will not be too far away from existing solutions.

Fig. 4
figure 4

Flower pollination algorithm flowchart

2.2.3 Switch Probability in FPA

Though we have simulated both biotic and abiotic pollination, we have not considered the percentage and frequency of each pollination type. To mimic this feature, we use a switch probability (Rule 4), where the value of p determines whether the solution modification follows either local or global pollination. Though a naive value of \(p = 0.5\) can be used, a more realistic and effective value of \(p=0.8\) gives better performance (than \(p=0.5\)) for most applications [10].

Figure 4 shows the flowchart of FPA. Three key steps can be summarized in the FPA pseudocode shown in Algorithm 1.

figure a

3 Recent FPA Variants

Though the standard FPA works well for many applications [10], it can still be improved. Given the complex nature of real-world optimization problems, the basic structure of FPA has been modified to enhance its performance. The modification has been done in many parts of the FPA structure, which will be discussed in Sect. 3.1. Furthermore, several FPA hybridization schemes, which will be discussed in Sect. 3.2, have also been introduced to accelerate the convergence and to improve the balance between exploration and exploitation. Multi-objective optimization problems are also a category of problems. Therefore, Sect. 3.3 describes the multi-objective version of FPA. Finally, it will be useful if an easy-to-use FPA can be built to deal with parameterless structure, which is discussed in Sect. 3.4.

3.1 Modified Versions of FPA

One way of modifications in FPA structure is to deal with problem complexity or high dimensionality. Initially, the researchers realized that FPA uses two search branches and their fitness values are closely linked to the problem landscape. A possible modification is to reduce some attributes in the search space. Others try to discretize FPA to produce binary FPA to solve combinatorial problems. Various modifications will be explained below.

3.1.1 Modified FPA Based on Operators

Yamany et al. [35] proposed a modified FPA based on an attribute reduction approach. The main objective of their proposed algorithm is to handle a possible large search space. The proposed approach suggests a minimum number of attributes and obtains a comparable or even the best classification accuracy by using all attributes and conventional attribute reduction techniques. The strategy of the proposed algorithm improves three new initialization phases, which are driven by forward selection and backward selection. Their proposed technique utilized eight datasets from the UCI machine learning benchmarks and obtained a better performance than other metaheuristic algorithms such as GA and PSO.

Zhou et al. [27] proposed an elite opposition-based flower pollination algorithm (EOFPA), which is a new variant for solving function optimization and structure designs. EOFPA showed an improvement in the balance of exploration and exploitation. The authors tested their proposed algorithm using 18 standard benchmark functions, which yielded impressive results.

For economic load dispatch problems in power generation system, Putra et al. [14] proposed a modified FPA (MFPA), which used a dynamic switching probability, the application of real-coded GA (RCGA) as mutation for global and local search, and the differentiation between temporary local search and optimal solution. MFPA was then evaluated for 10 benchmarks of power systems, and their experimental results showed a lower fuel cost than that found by the standard FPA as well as other similarly applicable solutions for similar economic dispatch problems. In another study, Regalado et al. [36] proposed an MFPA for fuel cost value and time required for obtaining a global optimal solution, and the MFPA tested under the IEEE 30-bus test system showed superior results over standard FPA and other metaheuristic optimization algorithms.

To reduce the real power loss and to improve bus voltages, Namachivayam et al. [37] introduced an MFPA for network reconfiguration and optimal placement of shunt capacitors. The proposed algorithm involved the adaptation of the local search of standard FPA and enhanced the global search by using dynamic switching probability approach. Their proposed algorithm (MFPA) was evaluated using 118-bus, 69-bus, and 33-bus radial distribution test feeders, yielding better results than other metaheuristic algorithms, such as HSA, simulated annealing (SA), and IBPSO.

The modified flower pollination algorithm (MFPA) variant proposed by Dubey et al. [38] solved the economic dispatch problems in large power systems where the technique involved two improving phases. The first phase was the addition of a scaling factor to enhance the local pollination of FPA, while the second improvement was the addition of an intensive exploitation step in tuning the best FPA solution. MFPA was then tested using several mathematical benchmarks as well as four large power systems, and MFPA performance was compared with recent methods for economic dispatch problems, revealing the successful outcomes of their proposed algorithm.

3.1.2 Binary FPA

The original FPA was designed to solve continuous optimization problems. To solve discrete and combinatorial optimization problems, proper modifications are needed. Rodrigues et al. [39] developed a binary flower pollination algorithm (BFPA) for feature selection and tested the BFPA on six datasets, and BFPA provided better results than Particle Swarm Optimization (PSO), harmony search (HS), and firefly algorithm (FA). Later, Rodrigues et al. [16] applied BFPA to address the problem of reducing the number of required sensors for person identification based on EEG signals. BFPA was used to select the optimal subset of channels that provides the highest accuracy. BFPA experiments results showed recognition rates of up to 87% based on the Optimum-Path Forest classifier.

Shilaja et al. [40] suggested a technique called CEED to solve 20 photovoltaic and 5 thermal power generation problems. The CEED technique was a combination of Economic Dispatch Euclidean Affine Flower Pollination Algorithm and BFPA. In addition, testing the proposed CEED technique through IEEE 30 bus and IEEE 57 bus systems provided better results than existing methods.

Dahi et al. [41] conducted a systematic study to evaluate BFPA performance in solving the Antenna Positioning Problem (APP). BFPA was tested using realistic, synthetic, and random data with different dimensions and compared with Population-Based Incremental Learning (PBIL) and the Differential Evolution algorithm (DE), which are two of the efficient algorithms in the APP domain. BFPA achieved a more competitive technical finding than PBIL and DE in the APP domain.

3.1.3 Chotic-Based FPA

The standard FPA uses random numbers, and some randomization can also be achieved by using chaotic maps. In mechanical engineering, Meng et al. [28] has developed a modified flower pollination algorithm (MFPA) to solve a design problem. This MFPA involved the adaptive inertia weight and the chaos theory in the enhancement of local search. Evaluating the performance results of MFPA through five mechanical engineering benchmarks, namely, speed reducer, gear train, tubular column design, pressure vessel, and tension/compression spring design, showed better results than other algorithms for mechanical engineering problems.

Metwalli et al. [42] presented a new method for solving fractional programming problems (FPPs) based on development of chaos-based Flower Pollination Algorithm (CFPA). The performance of CFPA has been proven using several FPP benchmarks. The proposed algorithm was compared with metaheuristic solution methods for solving FPPs where the former showed superiority over other fractional programming problem-solving methods.

Many power system techniques have been proposed for wind speed forecasting, but most of these systems do not have any efficient model on data preprocessing. Therefore, Zhang et al. [43] proposed a new model that involved a combination of three short-term techniques for wind speed forecasting. Their novel system included complete ensemble empirical mode decomposition adaptive noise (CEEMDAN), FPA with chaotic local search (CLSFPA), five neural networks, and no negative constraint theory. CLSFPA aimed to choose the optimal weight coefficients of the combined model. It was shown that their combined algorithms could effectively forecast the wind speed at high accuracy after evaluating the 15 min wind speed data from four different farms in eastern China.

3.2 Hybridized Versions of FPA

One of the main problems for any metaheuristic methods is to strike the right balance between global-wide exploration and local neighborhood exploitation during the search process. Some methods are very powerful in exploring several regions of the problem landscape, despite lacking in the exploitation of each region, and these algorithms tend to be population-based or swarm-based algorithms. Other methods are very powerful in exploiting the good elements in a specific region in the search space at the expense of sacrificing the simultaneous exploration of several regions, which is true for gradient-based methods or trust-region methods. Therefore, research communities have been trying to hybridize FPA with other algorithms to improve its performance. Such types of hybridization are summarized below.

3.2.1 Hybridization with Local Search Based Algorithms

The hybridization of FPA with simulated annealing (SA) for engineering optimization problems, named (FPSA), was developed in [44]. In their method, solutions generated by FPA improved locally using the SA algorithm to enhance the search performance and to speed up the convergence. FPSA had a better performance than other methods in the literature.

Jensi and Jiji [45] proposed FPA hybridization with the K-Means algorithm for data clustering and used the K-Means algorithm to enhance the local exploitation of FPA. The performance of their hybrid algorithm was more effective than using classical K-Means or FPA alone.

Sayed et al. [46] introduced a hybrid algorithm called BCFA, which combined Clonal Selection Algorithm (CSA) with FPA to solve feature selection problem. The authors used the Optimum-Path Forest classifier as an objective function, and their proposed hybrid algorithm (BCFA) produced better results than other metaheuristic algorithms.

Emad Nabil [24] proposed an improved variant of FPA hybrid, which was a combination of MFPA and CSA. To evaluate the performance of MFPA, a total of 23 optimization benchmark problems were tested, and MFPA efficiency was compared with SA, GA, FPA, BA, and FA. Results showed that the proposed hybrid MFPA can obtain the better results than standard FPA and the former outperformed the other four metaheuristic algorithms.

A novel FPA hybrid from the integration of FPA and Path Relinking metaheuristic was presented in [30] and was used in the context of generating healthy and nutritional meals for older adults. This hybridization aimed to improve the search for optimal or near-optimal personalized menu recommendations in terms of execution time and quality. The performance test of this hybrid version on real-world dataset showed the superiority of the algorithm to classical FPA in terms of both solution quality and execution time.

Zhang et al. [43] proposed CLSFPA that combined FPA and chaotic local search to enhance the exploration capabilities and to improve the local search ability of FPA. The authors used their version of CLSFPA to solve wind speed forecasting by combining CEEMDAN, which broke down the raw wind speed series into several independent intrinsic mode function components, with corresponding frequencies for easy analysis and forecasting. Later on, CLSFPA was employed for each component to improve the accuracy of the forecast. Experimental results illustrated that the proposed CLSFPA was effective in predicting wind speed with high precision.

3.2.2 Hybridization with Population Based Algorithms

Abdel-Raouf et al. [47] presented a hybrid method, called hybrid FPA for optimization problems, by combining the FPA with the PSO algorithm to improve the search accuracy. Results showed that their method was more accurate, reliable, and efficient in finding the optimal solutions than the other methods in the literature. In another study, the same authors integrated the FPA with chaotic HS algorithm in [25] and used the hybrid algorithm to solve Sudoku puzzles with satisfactory results compared with chaotic HS algorithm.

Nigdeli et al. [48] integrated FPA with HS algorithm for tuning of mass dampers. In their method, four different types of generations were used, the global and local search process of HS and the global and local pollination of FPA. A probability-based method determined the kind of generation utilized in the construction of new solutions. This proposed probability was calculated based on the objective of optimization, and they found that their probability-based FPA performed better than classical FPA in terms of convergence rates.

Recently, Lenin et al. [49] used a hybrid FPA with chaotic HS algorithm to solve the optimal reactive power dispatch problem. The basic idea was to improve the accuracy of the FPA search process. The authors tested the performance of their hybrid FPA using the standard IEEE 57-bus system dataset, and found its effectiveness and robustness in minimizing real power loss.

A novel hybridization of ABC with FPA, called Bee Pollinated Flower Pollination Algorithm (BPFPA), was introduced in Ref. [50] for solar PV parameter estimation. In BPFPA, the bee behavior of discarding pollen combines within FPA, and an elite-based mutation operation replaced the local pollination of FPA. Introducing these modifications in FPA not only enhanced its randomness but the hybrid method also had a faster execution speed and higher robustness than other methods.

Abdel-Baset and Hezam [51] proposed the hybridization of FPA with GA, called FPA-GA, to solve constrained optimization problems. In their method, the GA was triggered after the FPA loop. Introducing the hybridization enhanced the search accuracy of FPA. The authors tested the performance of their method on seven well-known benchmark design problems, and the performance of the proposed FPA-GA was better than the basic GA, the basic FPA, and other algorithms.

Hybridization of DE algorithm with FPA, called DE-FPA, was proposed in [52] to solve benchmark optimization problems. The main idea of their algorithm was to synthesize the strength and power of both algorithms, where this combination provided a right balance between exploration and exploitation capabilities. For their studies, it seemed that DE algorithm was notably a main source of exploration, whereas the exploitation was the main FPA characteristic in this case. Experimental results showed that DE-FPA outperforms classical DE and FPA in terms of performance and convergence rate. Ramadas et al. developed similar hybridization to solve 15 global optimization benchmark problems [53]. Experimental results illustrated that the proposed method was better than or equal to the standard DE almost all test problems.

To solve the wind-thermal dynamic multi-objective optimal dispatch problem, Dubey et al. [54] hybridized FPA with DE and named their algorithm as HFPA. Furthermore, 5-class, 3-step time varying fuzzy selection mechanism (TVFSM) was integrated with HFPA to find a fuzzy selection index (FSI) by aggregating different conflicting objectives. FSI notably helped the decision maker in finding the trade-off solutions by problem specific parameter selection. Based on the experimental results, the HFPA-TVFSM algorithm was more efficient than DE, FPA, and HFPA.

Kalra and Arora [34] improved the FPA performance with the firefly algorithm (FA) to tackle multimodal optimization functions and to overcome the shortcomings of each algorithm. In FPA, the convergence speed improves, and the chances of trapping within local optima decrease by reducing the effect of randomness in FA. Experimentally, the proposed hybrid algorithm obtained better accuracy and faster convergence than FA and FPAs.

A multi-objective optimal power flow problem was tackled through a new hybrid FPA in [15]. The authors combined the FPA with PSO algorithm order to enhance the global search and validated their algorithm using IEEE 30 test bus system and IEEE 118 test bus system. Based from their results, the hybrid algorithm significantly performed better than FPA and PSO alone. A similar study was evaluated on the optimal reactive power dispatch problem in [55]. The authors evaluated the proposed hybrid algorithm evaluated using IEEE 30 and, IEEE 57 bus test systems and found that the algorithm performance of is better in reducing real power loss.

A novel FAP hybridization with PSO algorithm, called HFPA, was proposed in [56], where the PSO was integrated intentionally to enhance the exploration capability of FPA. The authors used their method to design wide-band infinite impulse response digital differentiators and digital integrators. Simulation results illustrated that the proposed HFPA achieved a superior performance in the least number of function evaluations when compared with the other methods in the literature.

Chakraborty et al. [57] integrated the global search capabilities of FPA with the local search behavior of gravitational search algorithm (GSA) for training the feedforward neural network so as to strike a right balance between exploration and exploitation during the search process. Furthermore, dynamic switch probability and adaptive weights of the GSA velocity operator were introduced to avoid trapping in the local minima and to guide the search toward the global minima, respectively. The authors investigated their method using a set of real-world benchmark datasets retrieved from the UCI Machine Learning Repository. These real-world benchmark data sets included cancer, glass, iris, vertebral column, and wine The numerical experiment demonstrated that their method performed significantly better than FPA and GSA for all datasets.

Salgotra and Singh combined FPA with the bat algorithm, called bat flower pollination algorithm (BFA), to avoid getting stuck in the local optima problem and to enhance the convergence speed [58]. Evaluation of the proposed BFA algorithm entailed using thirteen benchmark functions with superior performance and comparison with state-of-the-art algorithms. For more validation, the authors evaluated their method by synthesizing unequally spaced linear antenna arrays for single and multi-objective design. Interestingly, the proposed BFA obtained better synthesis results than other techniques in the literature.

3.2.3 Hybridization with Other Components

Zawbaa et al. [59] presented a new model for multi-objective feature selection based on the combination of FPA and rough set theory to find the optimal feature set for classification. Their model exploited the characteristics of filter-based feature selection and wrapper-based feature selection. Filter-based method served as a data-oriented technique, while wrapper-based method was a classification technique. The authors verified the performance of their method on eight UCI datasets and found that the proposed method was highly competitive when compared with the classical FPA, PSO, and GA.

Abdel-Baset and Hezam combined FPA and conjugate direction (CD) method to solving the ill-conditioned system of linear and nonlinear equations [44]. FPA was used for fast convergence and to find more than one root, whereas CD method was utilized to increase the accuracy of final results and to avoid getting stuck in the local minima. Numerical simulation results showed that the proposed method was very competitive when compared with the other methods in literature.

Valenzuela et al. [60] introduced FFPA a novel hybrid from the integration of FPA with fuzzy inference system. The fuzzy inference system was used in their method to adapt the probability of switching between local and global pollination. The performance of the proposed method was competitive with other approaches when evaluated on eight benchmark mathematical functions.

In 2016, Wang et al. [61] presented a new hybrid variant by integrating FPA with a bee pollinator to solve clustering problems. Elite-based mutation and crossover operators were used in the local search process of FPA to improve convergence speed and population diversity. Furthermore, the discarded pollen operator was used in the global search process of FPA to improve the exploration capability, thus potentially avoiding from getting stuck in the local minima. The authors evaluated their method using ten datasets and the experimental results demonstrated that the proposed method had a higher accuracy, level of stability, and convergence speed, when compared with K-Means, PSO, DE, CS, ABC, and FPA.

Majidpour et al. [62] integrated FPA with Ada-Boost algorithm to enhance the accuracy in text document classification, where the former was used for feature selection, while the latter was used to classify text documents. The authors evaluated the performance of their proposed algorithm by using three standard datasets such as Reuters-21578, WEBKB, and CADE 12. Experimental results showed that the proposed algorithm performed better than the Ada-Boost algorithm and other algorithms.

Jain et al. [63] introduced a multi-objective FPA hybrid to solve the channel allocation problem in optical division multiplexing. The authors divided the population into a set of subpopulations, and combined the mutation strategy of DE with their method to improve search efficiency and to increase population diversity. Simulation demonstrated that the results of the proposed method were satisfactory when compared with other methods.

Xu and Wang proposed a new version of hybrid FPA for estimating the parameters of solar cells and PV modules [64] by integrating the FPA with the Nelder-Mead simplex method to enhance the local search ability of classical FPA. Furthermore, generalized opposition-based learning mechanism was combined with their method to avoid getting stuck in the local optima. The authors evaluated their method using three different solar models including the single diode model, the double diode model, and a PV module. Numerical results clearly demonstrated that the proposed hybrid FPA was better than the other methods in terms of the accuracy of final solutions, convergence speed, and stability.

In another study, FPA was hybridized with the Nelder-Mead simplex method to enhance the local exploitation ability [65]. The authors tested their method using three typical chaotic system parameter estimation problems with three unknown system parameters, including the Lorenz system, the Rossler system, and the Lorenz system under a noise condition. A comparative evaluation conducted with the state-of-the-art methods revealed the proposed algorithm as an effective technique for solving the parameter estimation problem of chaotic systems.

Bensouyad and Saidouni [66] developed a hybrid version of FPA for Graph Coloring Problem by using the efficient constructive method called Recursive Largest First to maintain the feasibility of the solutions during the search process. Furthermore, combining the swap and inversion strategies within their method could keep population diversity and avoid the stagnation problem that occurs during the search process. The experimental results showed that the proposed method was competitive with the state-of-the-art methods.

Combining FPA with a randomized-location modification operator, called a modified randomized-location flower pollination algorithm (MRLFPA), for medical image segmentation was presented in [67]. In MRLFPA, the randomized-location strategy easily overcame the weakness of the classical FPA. The performance of the proposed MRLFPA was tested using eight medical images with different characteristics. A comparative evaluation with other algorithms revealed the effectiveness of MRLFPA in terms of solution quality, stability, and computation efficiency.

3.3 Multi-objective Versions of FPA

Yang et al. [68] proposed the first attempt of extending FPA to solve multi-objective engineering optimization problems (MOFPA) through a random weighted sum method. MOFPA was evaluated using several engineering optimization problems to produce optimal results. Later, the same authors proposed a novel technique for MOFPA [69] by introducing several multi-objective test functions and two bi-objective design benchmarks, and the results of the proposed algorithm were very efficient, compared with other algorithms.

In the radial distribution system, Tamilselvan et al. [70] introduced an MOFPA to calculate the power flow and losses in the system. The proposed algorithm was then evaluated using two standard test cases of IEEE 33 and IEEE 69 radial distribution systems. Dimitrios Gonidakis also implemented MOFPA [71] in solving the environmental/economic dispatch problem. Testing the proposed algorithm from using two power generation systems showed the MOFPA having several advantages over other modern optimization techniques.

Shilaja et al. [72] proposed an enhanced FPA called EFPA to find the best solution for the OPF problem and implemented EFPA for multi-objective of transmission loss and power plant emission, minimization of generating cost, and improvement of voltage stability. Evaluation of EFPA using the standard IEEE 30 test showed the proposed algorithm yielding better results than other optimization algorithms.

For the power loss reduction, Rajaram et al. [73] proposed a multi-objective FPA to improve the load distribution and the voltage profile for distribution network reconfiguration. MOFPA provided better results than other published techniques. Emary et al. [17] implemented a multi-objective FPA for retinal vessel localization with pattern search (PS). The proposed technique utilized the FPA to find the optimal clustering of the given retinal image. In addition, the proposed algorithm applied PS as a local search approach to improve segmentation results. The proposed method was tested using a standard benchmark named as DRIVE dataset. The results of the proposed technique were comparable with other optimization algorithms in terms of accuracy, sensitivity, and specificity with many extendable features.

3.4 Parameters Setting Versions of FPA

To improve the ease of tuning parameters in the standard FPA, Salgotra et al. [74] proposed a new FPA variant called the adaptive-Lévy flower pollination algorithm (ALFPA), which involved new mutation operators, dynamic switching, and adapting local search. ALFPA had been tested using 17 benchmarks and compared with other optimization algorithms such as ABC, FA, BA, DE, and GWO. As a result, they showed ALFPA had superiority in numerical results for standard benchmark functions as well as in statistical tests.

In the manufacturing industry, one challenging task is the multi-pass turning of parameters such as feed rate, cutting speed, and depth of cut. Xu et al. [75] proposed an improved FPA to solve this problem where the proposed algorithm gusseted in keeping the local and global search operator of the standard FPA, while using Deb’s heuristic rules to initiate the new population. The proposed algorithm has shown comparative results and outstanding performance.

4 Applications of Flower Pollination Algorithm

When we presented various variants of FPA, we also outlined their applications in a diverse range of real-world scenarios. Here, we briefly introduce other applications that were not mentioned earlier. The FPA is successfully tailored for several domains of optimization problems, including electrical and power system [11,12,13,14,15], signal and image processing [16,17,18], wireless sensor networking [19,20,21], clustering and classification [22, 23], global function optimization [24], computer gaming [25], structural and mechanical engineering [26,27,28], and and many others [29, 30].

Table 2 summarizes these applications. Some applications are high dimensional, complex, and non-convex problems that the classical version of FPA may not easily tackle alone without any amendment. The main focus of this review is not to provide a detailed review of all FPA applications, but rather show the alternative FPA variants and the FPA pros and cons, which can motivate researchers to explore new possibilities in enhancing FPA to solve other application problems. Thus, this review presents a comprehensive but not exhaustive summary of FPA applications.

Figure 5 shows the FPA application domains. Most research areas that use FPA are electrical and power system where most problems can efficiently be solved by FPA, including economic/emission dispatch, load frequency control, optimal power flow, and so on. The FPA in the domain of structural and mechanical engineering has shown powerful results in solving challenging problems such as structural design, tuning of mass dampers, and multi-pass turning parameters. In the clustering and classification domain, the FPA is successfully applicable in several problems such as data clustering and feature selection. Furthermore, FPA has obtained optimal findings in wireless and network system domain where it is applicable in addressing different problems such as wireless sensor networks, antenna positioning, and vehicle path planning problem. Another domain, where using FPA shows its superiority, is signal and image processing, in which the algorithm solves medical image segmentation, retinal vessel localization, EEG channel selection, and multilevel image thresholding. Finally, the FPA has shown good results with the optimization problems of standard benchmark functions.

Table 2 FPA applications
Fig. 5
figure 5

FPA applications

5 Critical Analysis of FPA Variants

Almost all metaheuristic algorithms can be modified by hybridizing with other algorithms or adding new components. FPA has undergone various modifications and hybridization with other techniques to address the complexity nature of optimization problems. As we have summarized above, the research community has investigated many different ways to improve the convergence of FPA and to overcome its potential weakness or drawbacks. Here we choose a few variants and analyze them critically so as to gain a better understanding and insight into different variants and try to understand why certain hybrid and additional components can improve the performance.

The first issue is related to the exploration ability of FPA by Lévy flights which can be too aggressive by generating large steps, which may lead to the case when newly generated solutions can be potentially outside of the search domain and thus reduce the true exploration ability. Some variants try to enhance the exploration capability. For example, Wang et al. [61] related the exploration capability of FPA to the pollination operator. Their modification of classical FPA used three steps: use of dynamic switching probability, application of the real-coded GA (RCGA) as mutation for global and local search, and the differentiation between the temporary local search and optimal solution [14]. In addition, exploitation in the standard FPA is mainly by selection and use of \(g^*\) (the best solution found so far). Some variants try to enhance this ability by using gradients or simplex method. Hybridization has been carried out by improving its performance in exploration as FPA has a stronger ability in exploitation [47, 50, 61]. Further research can try to understand why these hybrid algorithms work both numerically and theoretically.

Another issue is about discretization of continuous FPA because theclassical FPA cannot deal with the binary optimization problem directly. To handle this type of problems, Rodrigues et al. [16] produced a new binary FPA version where the local pollination operator has been modified. The search space is modeled as an n-dimensional Boolean lattice, in which the solutions are updated across the corners of a hypercube.

In addition, many optimization problems in real-world applications are multi-objective. Thus, some variants have focused on the extension of FPA to solve challenging multi-objective problems [68, 69]. This area requires further research because multi-objective optimization can be very computationally extensive in higher dimensions. Effective methods should be sorted to generate high quality Pareto fronts for multiobjective optimization.

Like all metaheuristic algorithms, the parameter values of an algorithm may affect the performance of that algorithm. Therefore, some variants of FPA attempted to tune FPA parameters. For example, FPA parameters are tunable through a dynamic switching probability, application of the mutation for global and local search, and identification of the difference between the temporary local search and optimal solution [14, 74, 75]. In addition, the standard FPA has not been applied to solve large-scale problem. Therefore, several researchers have attempted to use FPA with modifications to solve a large spectrum of optimization problems [38, 74]. FPA has a good robust ability in solving continuous optimization problems, and this ability has been tested for discrete optimization problems [88].

Even with the above various modifications and variants, there are still more research opportunities in this area. We will highlight some of research directions in the next section.

6 Conclusions and Future Directions

This review has summarized the most recent FPA variants, based on the main optimization framework of FPA initially proposed by Yang [10]. The variations of FPA variants have been discussed based on four classifications, namely, modified variants, hybridized variants, multi-objective variants, and adaptive parameter variants. Modified FPA variants have been further classified into three classes: modified FPAs based on operators, binary FPAs, and chaotic-based FPAs. Furthermore, the hybridized FPA versions have also been categorized into local search-based hybridization, population-based hybridization, and hybridization with other components. Finally, a critical analysis of some FPA variants has been carried out show to gain some insight.

Even the FPA performance has been enhanced in many places and in many ways, future research can focus on the following areas:

  • Theoretical Analysis: As FPA has successfully been applied into a wide variety of optimization problem, there is one mathematical study on its global convergence by He et al. [89] that has proved that FPA can have guaranteed global convergence. However, this study does not provide any information about the rate of convergence. Therefore, further studies can focus on the theoretical analysis of the convergence rate, stability and robustness of FPA. Such methodology will also be useful to analyze other metaheuristic algorithms.

  • Adaptivity of Parameters: Almost all algorithms have algorithm-dependent parameters and such parameters can influence their performance. However, the tuning, control and variations of such parameters can be difficult. Ideally, an algorithm should tune its parameters automatically and adapt their values according to the type of problem under consideration.

  • Large-Scale Combinatorial Optimization: FPA has been applied to many problems including some combinatorial optimization problems with good results. However, like almost all other metaheuristic algorithms, it has not been applied to truly large-scale combinatorial problems with thousands of design variables. Therefore, future research should focus on the application of FPA and other algorithms to solve large-scale problems that are important in real-world applications.

  • Population Structure: Currently, almost all population-based algorithms including FPA and its variants use a simple structure of updating the population. All solutions in the population are either updated in series or in parallel. It would be useful to investigate the possibility of updating them in a non-synchronized, unstructured way. It will also be useful to see if they work for a mixed parallel-series population with random mixing, even with island models such as cellular automata type of structures.

In summary, this review has justified that FPA is a potentially powerful and useful tool for solving different optimization problems in a diverse range of applications. New modifications and improvements can enhance its performance even further. The authors hope that this chapter can inspire interested researchers and practitioners to carry out more research in this area and to solve more complex and challenging problems in practice.