Abstract

The flower pollination algorithm (FPA) is a novel optimization technique derived from the pollination behavior of flowers. However, the shortcomings of the FPA, such as a tendency towards premature convergence and poor exploitation ability, confine its application in engineering problems. To further strengthen FPA optimization performance, an orthogonal learning (OL) strategy based on orthogonal experiment design (OED) is embedded into the local pollination operator. OED can predict the optimal factor level combination by constructing a smaller but representative test set based on an orthogonal array. Using this characteristic of OED, the OL strategy can extract a promising solution from various sources of experience information, which leads the population to a potentially reasonable search direction. Moreover, the catfish effect mechanism is introduced to focus on the worst individuals during the iteration process. This mechanism explores new valuable information and maintains superior population diversity. The experimental results on benchmark functions show that our proposed algorithm significantly enhances the performance of the basic FPA and offers stronger competitiveness than several state-of-the-art algorithms.

1. Introduction

Conventional optimization methods face serious challenges in modern sciences because the characteristics of optimization problems are often noncontinuous, nonlinear, multivariate, or nonconvex [1]. Currently, swarm intelligence algorithms are efficiently used to solve complex optimization problems. Most swarm intelligence algorithms are developed by simulation of foraging behavior, migration patterns, or the evolutionary approach in natural species, and these algorithms include the genetic algorithm (GA) [2], particle swarm optimization (PSO) [3], differential evolution (DE) [4], shuffled frog leaping algorithm (SFLA) [5], biogeography-based optimization (BBO) [6], cuckoo search (CS) [7], krill herd algorithm (KH) [8], fruit fly optimization (FFO) [9], pigeon inspired optimization (PIO) [10], invasive weed optimization (IWO) [11], and bat algorithm (BA) [12].

As a novel heuristic algorithm, the flower pollination algorithm (FPA) is inspired by the pollination behavior of flowers. In nature, the pollination methods for flowers involve two main types: cross-pollination and self-pollination [13]. In cross-pollination, certain birds act as global pollinators that transfer pollen to the flowers of more distant plants. By contrast, in self-pollination, pollen is spread by the wind and only between adjacent flowers at the same plant. As such, the FPA is developed by mapping the two forms of cross-pollination and self-pollination into global pollination and local pollination operators, respectively. The FPA has attracted significant attention due to its merits of simple principles, few parameters, and ease of operation.

However, similar to other swarm intelligence algorithms, the FPA also suffers from a lack of perfect compromise between global exploration and local exploitation. Therefore, researchers have proposed various improved strategies to enhance the FPA search ability. Nabil [14] introduced the clone selection mechanism into the local pollination operator to obtain more accurate solutions. Hoang et al. [15] integrated the mutation, cross, and selection operators of DE to replace the original update method for local pollination. Zhou et al. [16] developed the elite opposition mechanism, the local self-adaptive greedy strategy, and a dynamic switch probability method to balance exploration and exploitation. Salgotra and Singh [17] analyzed the influence of the various mutation techniques on the performance of the basic FPA. These variants exhibited excellent performance on benchmark functions. Additionally, the FPA has achieved favorable results in selected practical engineering applications. Abdelaziz et al. [18] used the basic FPA to solve the economic load dispatch problem. Wang et al. [19] conducted cluster analysis using bee pollinator-based FPA. Zhang et al. [20] proposed a chaotic local search-based FPA to forecast wind speed. Xu et al. [21] hybridized the FPA with the good point set theory and Deb’s heuristic rules to identify multipass turning parameters. Salgotra and Singh [22] implemented the bat algorithm and the FPA in parallel to synthesize the linear antenna arrays.

As is known to all, standard FPA adopts the differential learning method to achieve the global exploration and refine exploitation. However, this simple evolution pattern is inefficient and presents some drawbacks. First, the random search behavior around the current individual is lack of an effective mechanism to avoid the premature convergence; moreover, the update formula works on the complete solution vector rather than dimension by dimension; it may cause the consequence of “two steps forward, on step back” [23]. The main reason is that different solution vectors may contain different qualities of components; thus some high-quality components at some dimensions may improve the current individual, while some inferior components may result in a degeneration phenomenon at some certain dimensions. Through the above analysis, how to keep the population diversity and make better use of the various experience information to exploit the higher-quality solution becomes the critical factors of improving the optimizing capability.

Orthogonal experiment design (OED) as a typically analytical tool of experiment scheme can effectively predict the best combination of levels at different factors through choosing a smaller but most representative test set. In this paper, considering that potentially valuable information might exist in certain dimensions in different candidate solution vectors, an OL strategy based on orthogonal experiment design (OED) [24] is developed to obtain more promising candidate solution by combining the useful information among the best individual, current individual, and a random selected individual. In this way, the convergence accuracy and speed would be significantly improved. However, although OL strategy can improve the optimizing efficiency, the algorithm still suffers from the loss of diversity. To overcome this problem, the catfish effect mechanism [25, 26] is introduced to enhance the population diversity by replacing the worst individuals with their own opposition information. Specifically, as the iterations progress, the worst individuals are coming closer and closer to the best individual, and once the algorithm traps into the local convergence, catfish effect mechanism can drive the worst subpopulation to explore the new region. In this way, the population diversity is kept. In sum, the incorporation of OL strategy and catfish effect mechanism into the FPA guarantees the search stability of algorithm and can effectively improve the convergence performance. The experimental results demonstrate that our proposed algorithm is superior to the original FPA and other advanced evolutionary algorithms in testing on benchmark functions.

The remainder of this paper is described as follows. Section 2 describes the model of global optimization problems, Section 3 reviews the principle of FPA in detail, Section 4 elaborates on the OL strategy and catfish effect mechanism, Section 5 demonstrates the optimization performance of OCFPA on the benchmark functions, and Section 6 summarizes the conclusions.

2. Global Optimization Problems

Many engineering problems can be considered as global optimization problems [27, 28], which can be described as follows:where is the vector form of the decision variable, is the number of decision variables, is the objective function, defines the decision space (i.e., the search space of the optimization algorithm), and and are the lower and upper limits of decision variable , respectively. Global optimization problem is to obtain the best decision variable SX by minimizing or maximizing the object function .

3. Flower Pollination Algorithm

The FPA is a population-based global optimization algorithm. In [13], Yang et al. summarized the characteristics of the flower pollination process into four ideal rules as follows.

Rule 1. Cross-pollination conducted by the pollinators such as birds is viewed as a global pollination phase and the pollinators act with levy flight behavior.

Rule 2. Self-pollination occurring on the nearby flowers is viewed as a local pollination process.

Rule 3. The flower constancy is treated as the reproductive rate, which is direct ratio with the similar level of two involved flowers.

Rule 4. Global pollination and local pollination are implemented based on a switch probability.

According to the above rules, the FPA contains a global pollination operator and a local pollination operator. In the FPA, each pollen item is treated as a solution , and the solutions are initialized with random vectors in the feasible search space. The initial formula is given as follows:where , NP is the population size; is a -dimensional random vector in ; the lower limit of search space is Lower = , and the upper limit is Upper = .

In the global pollination operation, pollinators such as birds have a relatively large movement range and can carry pollen over a long distance. Thus, Rules 1 and 3 are formulated as follows:where is the solution at iteration , is the current global best solution, is a step factor, the flight feature of birds can be numerically imitated by a levy distribution denoted by in (3), and can also be considered a varying step factor to quantify the intensity of pollination. The levy distribution when can be described as follows:where is the standard gamma function with and is determined with two Gaussian distributions and as follows:where denotes the normal distribution with the mean value 0 and variance ; denotes the standard normal distribution.

If the pollination activities involve local pollination, then pollen are spread to a local neighbor, and the model can be formulated with Rules 2 and 3 as follows:where and are the pollen randomly selected from different flowers in the same plant, where and and is a -dimensional random vector in . In addition, from Rule 4, the two pollination activities occur randomly and are determined by a probability . In other words, if a random value rand in is smaller than , then global pollination is conducted, otherwise, vice versa. The flowchart of the FPA is shown in Figure 1.

4. OCFPA

4.1. Orthogonal Experimental Design

It is assumed that an experimental system contains factors and levels per factor. To obtain the best combination of levels from each factor, the direct method is used to assess the overall combinations. However, the calculation cost of this process is relatively high, particularly when and are large. Although OED can achieve this purpose by testing only a smaller number of experiments, OED is performed based on an orthogonal array (OA) and factor analysis (FA) [29].

The OA denoted by is used to create the most representative combinations for OED, where represents the OA, , and is a minimum integer that satisfies . Additionally, the OA is constructed by generating the basic columns and nonbasic columns; the detailed procedures are given in [24]. In this work, an example of OA is shown in (7). It is clear that there are 6 factors (column number), two levels per factor (1 or 2), and 8 combinations (row number).

To more clearly illustrate the use of OED, a four-dimensional SumSqurare function, that is, , is chosen as a test case. In this case, there are four factors (designated , , , and ), and each factor has two levels: = and = . Because a subarray of an OA is also an OA, the first four columns of are chosen as the OA of this case. In Table 1, each row corresponds to a combination such as , , , and in combination 1 or , , , and in combination 2. Thus, 8 combinations are constructed by combining the various levels of the factors based on the OA. All combinations are tested based on the function formula, and the evaluation results are also given in Table 1.

FA is used to further measure the average effect of each level at each factor based on the evaluation results . The FA can effectively obtain the most beneficial level at each factor and then may predict one better combination of levels. The average effect of level of factor is computed by the following formula:where is the evaluation result of combination , and if the level of factor in combination is , = 1; otherwise, = 0. For a minimization problem, the smaller the value of is, the better the level is at factor . The procedure of FA in this case is shown in Table 2. We can see that a new combination = in the FA result is discovered by choosing the level with a smaller at each factor, and, apparently, the evaluation result is superior to .

4.2. OL Strategy

In the local pollination operator, the exploitation ability of differential search patterns is limited [30]. To enhance the performance, an OL strategy based on OED is incorporated into the local search phase. The motivation for this choice is that by applying the principle of OED, OL can systematically and reasonably combine the useful information on each dimension from various individuals, and a high-quality solution can be implemented to effectively guide the population towards a promising search direction.

To add sufficient information to the search, the OL strategy should act on three individuals: one is the current best individual used to supply the advanced guidance information, and the other two are the current individual and a randomly selected individual , which are used to share their search experiences and enrich the diversity of information. Thus, a novel local update method of is formed based on the OL strategy as follows:

In OL, the factor number corresponds to the problem dimensionality , and the level number in each factor is equal to the number of the selected individuals, that is, 3. Once the OL strategy is implemented, the value of level at dimension can be determined:Subsequently, candidate solutions are generated based on OA as follows:The candidate solutions are evaluated by the specified objective function, and the FA is conducted. The implementation of the OL strategy is shown in Algorithm 1.

Input
 Number of factors ( = ) and number of levels ( = 3).
 Three individuals: , , .
 Objective function (solution) of minimization or maximization problems.
 Number of fitness evaluations FEs = 0.
Output
 OL result.
Begin
% Construct the OA based on and .
 Compute the minimum integer that satisfies ()/() = , then .
 Construct an OA based on [24].
% Compute the value of each level at each dimension by using (10).
For
   = = ; = .
End for
 Generate solutions based on .
 The solution vectors are formulated as Equation (11).
 % Evaluate the solutions with objective function.
 The results are: .
% Accumulate the number of fitness evaluations.
 FEs = FEs + .
 % Choose the best solution .
=   or  .
 % Compute the average effect of each level at each dimension  .
For
 % Find the row index that having the same level at dimension d based on OA.
 % Compute the mean value of fitness results according to the index vector.
  Index_1 = find (OA(:, ) == 1), = mean((Index_1));
  Index_2 = find (OA(:, ) == 2), = mean((Index_2));
  Index_3 = find (OA(:, ) == 3), = mean((Index_3));
  Compare , , , select the most beneficial level at dimension .
End for
 Construct by combining all the most beneficial level values .
 Compare and , and choose the best one as the OL result.
End

As shown in steps (16)–(21) of Algorithm 1, it should be noted that each execution of OL increases fitness evaluations. Taking a 30-dimensional problem, for example, when OL strategy works on three individuals, there are 34 = 81 solutions to be generated based on OA and then evaluated by the specified objective function. Therefore, the use of OL strategy will result in larger computational complexity. To maintain the computational efficiency at every iteration, the OL strategy is applied only when the current solution enters into local pollination and the index is equal to the random integer , where . In this manner, the local exploitation ability can be enhanced with smaller consumption of computational overhead.

4.3. Catfish Effect Mechanism

In real life, to maintain the freshness of sardines, fishermen always place catfish into a sardine pond. The catfish disturb the living environment of the sardines to activate their survival ability. The catfish effect is derived from this phenomenon and has been successfully incorporated into PSO [25, 26].

To avoid the premature convergence in the FPA, the catfish effect mechanism is introduced to force the worst individuals to explore new regions and obtain potentially better candidate solutions. The working principle of this mechanism is that if the fitness value of the current best solution has not been enhanced in consecutive iterations, the worst “sardine” individuals WX in 10% of the population are replaced with new “catfish” individuals CX. In this paper, the “catfish” individual is considered an opposition solution of the “sardine” individual and can be computed as follows:where is the index of the “sardine” individuals. The catfish effect mechanism is shown in Algorithm 2.

Input
 Number of population NP, population dimensionality .
 Current iteration number , current iterative population .
 Objective function of minimization or maximization problems.
 The storage vector of historical best fitness.
 Consecutive iteration number .
Output
  “Catfish” individuals CX.
Begin
If
% The global best individual has not improved in consecutive iterations.
  If
% Sort the population from good to bad based on fitness.
   sort_f, sort_ind = sort((SX)).
% Choose 10% worst individuals as WX based on sort_ind.
   WX = SX(sort_ind .
% Generate the catfish individuals CX by using (12).
   For to the number of WX
   For
    .
   End for
   End for
   Compute the fitness value .
  End if
  Replace all the worst individuals WX with “catfish” individuals .
End if
End
4.4. Main Procedure of the OCFPA

By embedding the OL strategy and catfish effect mechanism into the basic FPA, the modified method OCFPA is developed. To better demonstrate our proposed algorithm, the complete pseudocode of the OCFPA is shown in Algorithm 3.

Input
 Pollen .
 Objective function of minimization or maximization problems.
 Number of pollen (NP), number of fitness evaluations (FEs).
 Switch probability (), step factor ().
Output
 Global best pollen ().
Begin
% Initialize the population of pollen randomly.
For to number of pollen (NP)
  .
  Compute the fitness value and store it.
End for
 The pollen with the best fitness value is chosen as the current best pollen.
While (the maximum number of fitness evaluations is not reached)
  Draw a random integer  .
  For to number of pollen (NP)
  If a random number in < switch probability (p)
  % conduct global pollination.
    ().
  Else
  % conduct local pollination.
   If  
    Draw a random vector .
    Draw two random integers j and .
    .
   Else
   Generate  byPerforming OL strategy according to Algorithm  1.
   End if
  End if
   Compute the fitness value .
   Update if the current individual is superior to its previous one.
  End for
  Find the pollen with the best fitness in the population.
  Update   if the current best pollen beats the previous best pollen.
  Perform catfish effect mechanism according to Algorithm  2.
  Return to the next generation until stop criterion is reached.
End while
 Output .
End

5. Experimental Verification and Comparisons

To verify the effectiveness of our proposed algorithm, fourteen benchmark functions [31, 32] were tested. Table 3 lists the information for each function, including the function name, scope of variables, optimal solution, and global optimum. As such, are unimodal functions used primarily to test the optimal efficiency, and are multimodal functions used primarily to test the ability to escape local optima. The parameter settings of FPA and OCFPA are and . The number of consecutive iterations in catfish effect mechanism is set to 7. To guarantee fairness of comparison, the population size NP and fitness evaluations FEs are set to 20 and 2 × 105, respectively. All statistical results are obtained with 30 independent runs using the involved algorithms. The better results are marked in bold. The subsequent experiments are executed on a PC with a 3.2 GHz CPU and 2.5 GB memory running the Windows XP operating system.

5.1. Comparison of FPA and OCFPA

This subsection investigates the improvement degree of our proposed algorithm against the basic FPA. Table 4 lists the statistical results, including the mean and standard deviation values (Std), for the FPA and OCFPA. From Table 4, the OCFPA is superior to the FPA on all benchmark functions. In solving the unimodal functions, the OCFPA finds better solutions than the FPA on , , , and , and although it is challenging to find the global optima of and due to their complex function characteristics, the OCFPA still outperforms the FPA. The results indicate that the OCFPA has excellent exploitation ability and optimal efficiency. In addition, for multimodal functions with many local optima, the OCFPA achieves global or near-global optimal solutions and surpasses the FPA in accuracy and robustness. This result indicates that the OCFPA can avoid local convergence and obtain more accurate solutions. In short, the comparative results illustrate that our proposed algorithm has a faster optimal speed and can converge to a higher accuracy than the basic FPA.

5.2. Influence of Two Strategies

We introduced the OL strategy and catfish effect mechanism to enhance the search ability of the FPA. Therefore, it is necessary to analyze the contribution of each strategy to the optimization performance. To accomplish this aim, two strategies are combined with the FPA, namely, the OL-based FPA (OFPA) and the catfish-effect-based FPA (CFPA).

Table 5 shows the experimental results of the OFPA, CFPA, and OCFPA in the form of “mean (standard deviation).” Relative to the OFPA, the OCFPA is superior on 13 functions except for . The results indicate that it is unlikely that the OL strategy will enhance the quality of the solution once the algorithm becomes trapped in local optima, because OL mainly serves to recombine various pieces of information and is incapable of exploring new regions to find more valuable information. With respect to the CFPA, the OCFPA is clearly superior on 10 functions, but for , , and , the optimization performances of the CFPA and OCFPA are equivalent. This result implies that the catfish effect mechanism has the ability to expand the search space to obtain a more promising candidate solution.

By analyzing the experimental results from Table 5, it can be concluded that the mutual interaction of the two strategies is beneficial to OCFPA performance. In detail, the catfish effect mechanism can explore the new search space and supply valuable individuals for the OL strategy, and the OL strategy can take full advantage of the useful information to acquire a high-precision solution.

5.3. Influence of Population Size

To study the influence of different population sizes on the search ability of our proposed algorithm, the FPA and OCFPA with NP = 20, 50, 80, and 100 are implemented in comparative experiments. The results of these four cases are listed in the form of “mean (standard deviation)” in Table 6. It is clear that, for , the OCFPA performs better than the FPA on the four cases. However, we note that the optimal accuracy of the FPA and OCFPA exhibits downward trends as the population size increases. The comparison results reflect the fact that a population size that is too large can result in a rapid consumption of fitness evaluations and prevent the algorithm from obtaining the global optimum. By contrast, a population that is too small can also have a negative influence on the search ability owing to the reduction in population diversity. Therefore, choosing a proper population size for various complex problems is a key step in achieving a better optimal effect.

5.4. Influence of Problem Dimensionality

The complexity of the problem increases with larger dimensions. Therefore, the optimization performance of OCFPA was investigated in different dimensionality situations. As shown in Table 7, the experiment involved four cases of = 10/FEs = 1 × 105, = 50/FEs = 3 × 105, = 75/FEs = 4.5 × 105, and = 100/FEs = 6 × 105. The simulation results show that, for the four different dimensions, both the FPA and OCFPA can find the optimal solution 0 on but that the OCFPA outperforms the FPA on the other remaining 13 functions. Furthermore, the convergence accuracies and optimal speeds of OCFPA in the four cases are considerable. These results prove that the introduction of these two strategies significantly improves the search ability of FPA, even when solving high-dimensional optimization problems.

5.5. Comparison with Several Evolutionary Algorithms

To further demonstrate the superiority of the OCFPA, several advanced evolutionary algorithms are introduced for comparison on the benchmark functions with = 30, including CS [7], GSA [33], CMAES [34], OXDE [35], SGHS [36], and CLPSO [37]. The related parameters of these algorithms are in accordance with the references [7, 3337]. Tables 8 and 9 list the results in the form of “Mean/(Std)/Rank.” The ranking of the performance of OCFPA and the other algorithms is based on the mean and Std values.

The comparative results of OCFPA and six competitors on the unimodal functions are presented in Table 8. The OCFPA has a better global optimization ability than the other algorithms on , , , , and . For , the OCFPA surpasses the CS, GSA, SGHS, and CLPSO methods but is surpassed by the CMAES and OXDE methods. For , all algorithms converge to the optimal solution 0.

Table 9 lists the comparative results on seven multimodal functions; for , , and , the OCFPA achieves the global optimal solutions and outperforms the other algorithms. For , both the OCFPA and CLPSO converge to the global optimum 0 and outperform the other five algorithms. For , the OCFPA surpasses the other algorithms in terms of search accuracy and robustness. For and , CLPSO performs slightly better than the OCFPA, but we can observe that CLPSO, OCFPA, and OXDE on and CLPSO, OCFPA, OXDE, and CMAES on achieve the same order of magnitude of accuracy.

To more intuitively reflect the optimal effect, Figures 2 and 3 show the iterative curves of the OCFPA compared with those of the competitors on several functions. The comparative results illustrate that the OCFPA is superior to these advanced intelligent algorithms in terms of convergence speed and accuracy on most functions.

Figures 4 and 5 show the box-and-whisker plots of the optimal solution set of 30 independent runs on unimodal functions , , , and and multimodal functions , , , and . We note that our proposed algorithm has fewer outliers and that the dispersion degree is lower than that of the other algorithms, indicating that the proposed OCFPA has excellent stability characteristics.

5.6. Nonparametric Statistical Analysis

In this section, the Wilcoxon sign-rank test [38, 39], a nonparametric statistic technique, is introduced for pairwise comparison of the significant difference of OCFPA against other state-of-that-art competitors on the final results over 30 independent runs. The significance level α is fixed at 0.05. In Table 10, the value is compared with α to evaluate the significance of the results; denotes the sum of ranks for which OCFPA outperforms other competitors, and indicates the inverse relation; “+,” “=,” and “−” denote that OCFPA is superior, equivalent, or inferior to the compared algorithm, respectively, and “” is used to count the number of OCFPA wins on , ties on , and loses on functions against the corresponding competitor.

From Table 10, we observe that, for “CS versus OCFPA,” “GSA versus OCFPA,” and “SGHS versus OCFPA,” the values are much smaller than 0.05 on 13 functions. For “CMAES versus OCFPA” and “OXDE versus OCFPA,” CMAES and OXDE surpass OCFPA only on . For “CLPSO versus OCFPA,” OCFPA is inferior to CLPSO only on and . In summary, from the “” results, we can conclude that our proposed algorithm shows excellent or at least higher competitive performance than the advanced evolutionary algorithms.

6. Conclusion

We offer a novel variant of the FPA by combining the OL strategy and catfish effect mechanism to solve complex optimization problems. The OCFPA uses the OL strategy to improve the local search ability of the basic FPA by sharing and exchanging useful information at each dimension from various solution vectors. Furthermore, the catfish effect mechanism is introduced to force the FPA to escape the local optima and improve the search space of the population to explore more promising regions. With the aid of these two strategies, the OCFPA offers a favorable balance of exploration and exploitation ability. The experimental results on benchmark functions demonstrate the effectiveness and efficiency of our proposed algorithms.

In future work, although the OL strategy has been successfully incorporated into the FPA, the potential of the OL method should be further exploited by acting on different information sources. In addition, we plan to apply the OL-based FPA to real-world engineering problems, such as parameter identification and feature selection.

Conflicts of Interest

The authors declare that there are no conflicts of interest regarding the publication of this paper.