Artiﬁcial Flora (AF) Optimization Algorithm

: The proposed algorithm can be used in unconstrained multivariate


Introduction
In science and engineering, there are cases in which a search for the optimal solution in a large and complex space is required [1].Traditional optimization algorithms, such as Newton's method and the gradient descent method [2], can solve the simple and continuous differentiable function [3].For complex, nonlinear, non-convex or discrete optimization problems, traditional optimization algorithms have a hard time finding a solution [4,5].Using a swarm intelligence algorithm, such as the particle swarm optimization (PSO) algorithm [6] and artificial bee colony (ABC) algorithm [7], can find a more satisfactory solution.
A swarm intelligence optimization algorithm is based on the interaction and cooperation between individuals in a group of organisms [8,9].The behavior and intelligence of each individual is simple and limited, but the swarm will produce inestimable overall capacity by interaction and cooperation [10].Every individual in the swarm intelligent algorithm must be processed artificially.The individuals do not have the volume and mass of the actual creatures, and the behavioral pattern is processed by humans in order to solve problems when necessary.The algorithm takes all the possible solution sets of the problem as the solution space.Then, it starts with a subset of possible solutions for the problem.
After that, some operations are applied to this subset to create a new solution set.Gradually, the population will approach to the optimal solution or approximate optimal solution.In this evolutionary process, the algorithm does not need any information about the question to be solved, such as gradient, except for the objective function [11].The optimal solution can be found whether the search space is continuously derivable or not.The swarm intelligence algorithm has characteristics of self-organization, robustness, coordination, simplicity, distribution and extensibility.Therefore, the swarm intelligence optimization algorithms are widely used in parameter estimation [12], automatic control [13], machine manufacturing [14], pattern recognition [15], transportation engineering [16], and so on.The most widely used intelligence algorithms include the genetic algorithm (GA) [17,18], particle swarm optimization (PSO) algorithm [19], artificial bee colony (ABC) algorithm [20], ant colony optimization (ACO) [21], artificial fish swarm algorithm (AFSA) [22], firefly algorithm (FA) [23], Krill Herd algorithm (KHA) [24], and the flower pollination algorithm (FPA) [25].In the 1960s, Holland proposed the genetic algorithm (GA) [26].GA is based on Darwin's theory of evolution and Mendel's genetic theory.GA initialize a set of solution, known as group, and every member of the group is a solution to the problem, called chromosomes.The main operation of GA is selection, crossover, and mutation operations.Crossover and mutation operations generate the next generation of chromosomes.It selects a certain number of individuals from the previous generation and current generations according to their fitness.They then continue to evolve until they converge to the best chromosome [27].In [28], the Spatially Structured Genetic Algorithm (SSGA) is proposed.The populationin SSGA is spatially distributed with respect to some discrete topology.This gives a computationally cheap method of picking a level of tradeoff between having heterogeneous crossover and preservation of population diversity [29].In order to realize the twin goals of maintaining diversity in the population and sustaining the convergence capacity of the GA, Srinivas recommend the use of adaptive probabilities of crossover and mutation [30].
In 1995, Kennedy and Eberhart proposed the particle swarm optimization (PSO) algorithm [31].The algorithm was inspired by the flight behavior of birds.Birds are lined up regularly during migration, and every bird changes position and direction continually and keeps a certain distance from the others.Each bird has its own best position, and the birds can adjust their speed and position according to individual and overall information to keep the individual flight optimal.The whole population remains optimal based on individual performance.The algorithm has the characteristics of being simple, highly efficient, and producing fast convergence, but for a complex multimodal problem, it is easy to get into a local optimal solution, and the search precision is low [32].In order to prevent premature convergence of the PSO algorithm, Suganthanintroduced a neighborhood operator to ensure the diversity of population [33].Parsopulos introduced a sequential modification to the object function in the neighborhood of each local minimum found [34].The particles are additionally repelled from these local minimums so that the global minimum will be found by the swarm.In [35], a dual-PSO system was proposed.This system can improve search efficiency.
In 2005, Karaboga proposed the artificial bee colony (ABC) algorithm based on the feeding behavior of bees [36].This algorithm becomes a hot research topic because of its easy implementation, simple calculation, fewer control parameters, and robustness.The bee is a typical social insect, and the behavior of a single bee is extremely simple in the swarm.However, the whole bee colony shows complex intelligent behavior through the division and cooperation of the bees with different roles.However, the ABC algorithm has some disadvantages [37]: for example, its search speed is slow, and its population diversity will decrease when approaching the global optimal solution.It results in the local optimal.Dongli proposed a modified ABC algorithm for numerical optimization problems [38].A set of benchmark problems are used to test its performance, and the result shows that the performance is improved.Zhong proposed an improved ABC algorithm to improve the global search ability of the ABC [39].Rajasekhar investigated an improved version of the ABC algorithm with mutation based on Levy probability distributions [40].This paper proposed a new intelligent algorithm called the artificial flora (AF) algorithm.It was inspired by the reproduction and the migration of flora.A plant cannot move but can spread seeds to let the flora move to the most suitable environment.Original plants spread seeds in a certain way, and the propagation distance is actually learning from the previous original plants.Whether the seeds can survive or not is related to environmental fitness.If a seed, also called offspring plant, cannot adapt to the environment, it will die.If a seed survives, it will become original plants and spread seeds.By using the special behavior of plants, the artificial flora algorithm updates the solution with the migration of flora.
The main contributions of this paper are given as follows: 1.
AF is multi-parent techniques, the movement in AF is related to the past two generation plants.So, it can balance more updating information.This can help algorithm avoid running into the local extremum.

2.
AF algorithm selects the alive offspring plants as new original plants each iteration.It can take the local optimal position as the center to explore around space.It can converge to optimal point rapidly.

3.
Original plants can spread seeds to any place within their propagation range.This guarantees the local search capability of the algorithm.The classical optimization problem is an important application of the AF algorithm.Function optimization is a direct way to verify intelligent algorithm performance.In this paper, we successfully apply it to unconstrained multivariate function optimization problems.We try to apply it to multi-objective, combinatorial, and more complex problems.In addition, a lot of practical problems, such as wireless sensor network optimization and parameter estimation, can be converted to optimization problems, and we can use AF to find a satisfactory solution.
The rest of this paper is organized as follows.Section 2 describes the principle of the artificial flora (AF) algorithm.Section 3 use six benchmark functions to test the efficiency and stability of artificial flora algorithm and compare it with the PSO and ABC algorithms.The conclusions are presented in Section 4.

Biological Fundamentals
Plants have a variety of modes to spread seeds.Seed dispersal can be divided into autochory and allochory.Autochory refers to plants that spread by themselves, and allochory means the plants spread through external forces.For example, the mechanical propagation is autochory, and biological propagation, anemochory, and hydrochory are all allochory.Autochory provides the conditions for plants to migrate to a more suitable environment autonomously.For example, sorrels, impatiens, and melons can spread seeds by this way.When a sorrel is ripe, its fruits will be loculicidal, and the shells will curl up to pop the seeds.The fruits of the impatiens will burst open and spread its seeds around.When a melon reaches a certain maturity, the seeds will be squirted out along with mucus from the top of the melon.The distance can be 5 m.On the other hand, allochory provides the conditions for plants to migrate to farther and uncharted regions.For instance, the spread direction and distance of seeds are determined by the wind in anemochory as the wind speed and direction changes.These modes of propagation extend the scope of exploration of flora and reduce the possibility of extinction of flora.
Because of climate change, severe natural environment, or competition, the distribution area of flora can be expanded, reduced, or migrated.As flora migrates to new environment, the individual in the flora will evolve as well.Therefore, the migration of flora can change distribution area and induce the evolution, extinction, and rebirth of flora.A plant cannot move and has no intelligence, but flora can find the best place to live by spreading seeds and reproducing.
In the migration and reproduction of flora, the original plant scatters seeds around randomly within a certain distance.The survival probability of a seed is different due to the external environment.
In a suitable environment, a plant survives and spreads seeds around after being ripe.In harsh environments, there is a probability that flora will evolve to adapt to the environment or that become extinct in the region.Before the flora in a region is completely extinct, allochory sows potential probability that the flora may multiply in other areas.The seeds may be taken to any new area where the flora resumes reproduction.Through multi-generational propagation, the flora will migrate to a most suitable area.Under the mechanism of migration and reproduction, the flora completes the task of finding the optimal growth environment through the evolution, extinction, and rebirth of flora.

Artificial Flora Algorithm Theory
The artificial floras algorithm consists of four basic elements: original plant, offspring plant, plant location, and propagation distance.Original plants refer to the plants that are ready to spread seeds.Offspring plants are the seeds of original plants, and they cannot spread seeds in that moment.Plant location is the location of a plant.Propagation distance refers to how far a seed can spread.There are three major behavioral patterns: evolution behavior, spreading behavior, and select behavior [41][42][43].Evolution behavior means there is a probability that the plant will evolve to adapt to the environment behavior [44][45][46].Spreading behavior refers to the movement of seeds, and seeds can move through autochory or allochory.Select behavior means that flora may survive or become extinct due to the environment.
The aforementioned social behaviors can be simplified by some idealized rules as follows: Rule 1: Because of a sudden change in the environment or some kind of artificial action, a species may be randomly distributed in a region where there is no such species and then become the most primitive original plant.Rule 2: Plants will evolve to adapt to the new environment as the environment changes.Therefore, the propagation distance of offspring plants is not a complete inheritance to the parent plant but rather evolves on the basis of the distance of the previous generation of plants.In addition, in the ideal case, the offspring can only learn from the nearest two generations.Rule 3: In the ideal case, when the original plant spreads seeds around autonomously, the range is a circle whose radius is the maximum propagation distance.Offspring plants can be distributed anywhere in the circle (include the circumference).Rule 4: Environmental factors such as climate and temperature vary from one position to another, so plants have different probability of survival.The probability of survival is related to the fitness of plant in the position, fitness refers to how well plants can adapt to the environment.That is, fitness is the survival probability of a plant in the position.The higher the fitness, the greater the probability of survival is.However, inter-specific competition may cause plant with high fitness to die.Rule 5: The further the distance from the original plants, the lower the probability of survival because the difference between the current environment and the previous environment will be greater as the offspring plan farther from the original plant in the same generation.Rule 6: When seeds spread by an external way, the spread distance cannot exceed the maximum limit area because of constraints such as the range of animal activity.
Distance2 and Distance3.7. Plants are constantly spreading seeds around and causing flora to migrate so that flora can find the best area to live.8.If all the offspring plants do not survive, as (c1,c2,c3) shown in Figure 1, a new original plant can be randomly generated in the region by allochory.

Evolution Behavior
The original plant spread seeds around in a circle with radius which is propagation distance.The propagation distance is evolved from the propagation distances of the parent plant and grandparent plant.
( ) ( ) where d1j is the propagation distance of grandparent plant, d2j is the propagation distance of parent plant, c1 and c2 are the learning coefficient, and rand(0,1) denotes the independent uniformly distributed number in (0,1).
The new grandparent propagation distance is The new parent propagation distance is the standard deviation between the positions of the original plant and offspring plant.
According to Rule 1, there was no such species in the region, due to sudden environmental changes or some kind of artificial action, original plants were spread over a random location in the region, as the (x1) shows in Figure 1.

2.
According to Rule 3, original plants spread seeds in the propagation range.In Figure 1, Distance 1 is the propagation distance of (x1), offspring can be located in anywhere within the blue circle, and the offspring is shown as  (c1,c2,c3) shown in Figure 1, a new original plant can be randomly generated in the region by allochory.

Evolution Behavior
The original plant spread seeds around in a circle with radius which is propagation distance.The propagation distance is evolved from the propagation distances of the parent plant and grandparent plant.
( ) ( ) The number of  (c1,c2,c3) shown in Figure 1, a new original plant can be randomly generated in the region by allochory.

Evolution Behavior
The original plant spread seeds around in a circle with radius which is propagation distance.The propagation distance is evolved from the propagation distances of the parent plant and grandparent plant.
( ) ( ) stand for the fitness.The higher the number, the higher the offspring's fitness.It can be seen from the Figure 1 that if the offspring is closer to the original plant, the fitness is higher: fitness(a1) > fitness(a2) > fitness(a3).This matches Rule 5.

4.
According to Rule 4, only some of the offspring plant survive because the fitness is different.As shown in Figure 1, the solid line indicates a living plant and the dotted line indicates that the plant is not living.Due to competition and other reasons, the offspring a1 with highest fitness did not survive, but a2 with the fitness less than a1 is alive and becomes a new original plant.5.
The new original plant spread seeds around, as (b1,b2,b3) shown in Figure 1.It can be seen that b1 and b3 are alive, but b2 does not survive.Then select one plant between b1 and b2 randomly to become latest original plant, and b1 is selected as shown in Figure 1.Plants are constantly spreading seeds around and causing flora to migrate so that flora can find the best area to live.

8.
If all the offspring plants do not survive, as  (c1,c2,c3) shown in Figure 1, a new original plant can be randomly generated in the region by allochory.

Evolution Behavior
The original plant spread seeds around in a circle with radius which is propagation distance.The propagation distance is evolved from the propagation distances of the parent plant and grandparent plant.
( ) ( ) 1, a new original plant can be randomly generated in the region by allochory.

Evolution Behavior
The original plant spread seeds around in a circle with radius which is propagation distance.The propagation distance is evolved from the propagation distances of the parent plant and grandparent plant.
where d 1j is the propagation distance of grandparent plant, d 2j is the propagation distance of parent plant, c 1 and c 2 are the learning coefficient, and rand(0,1) denotes the independent uniformly distributed number in (0,1).The new grandparent propagation distance is The new parent propagation distance is the standard deviation between the positions of the original plant and offspring plant.

Spreading Behavior
First, the artificial flora algorithm randomly generated the original flora with N solutions, which is that there are N plants in the flora.The position of the original plants are expressed by the matrix P i,j where i is the dimension and j is the number of plant in the flora.
where, d is the maximum limit area and rand(0,1) is an array of random numbers that are uniformly distributed between (0,1).The position of the offspring plant is generated according to the propagation function as follows: where, m is the number of seeds that one plant can propagate, P i,j×m stand for the position of offspring plant, P i,j is the position of the original plant, and D i,j×m is a random number with the Gaussian distribution with mean 0 and varianced j .If no offspring plant survives, then a new original plant is generated according to Equation (4).

Select Behavior
Whether the offspring plants are alive is determined by survival probability as follows: where x is Q x to the power of (j × m − 1) and Q x is the selective probability.This value has to be between 0 and 1.It can be seen that the fitness of an offspring plant that is farther from the original plant is lower.Q x determines the exploration capability of the algorithm.Q x should be larger for the problem that is easy to get into local optimal solution.F max is maximum fitness in the flora this generation and F(P i,j×m ) is the fitness of j-th solution.
The fitness equation is an objective function.Then, a roulette wheel selection method is used to decide if the offspring plant is alive or not.The roulette wheel selection method is also called proportion select method [47].Its basic purpose is to "accept according probability"; that is to say there are several alternatives and each has its own potential score.However, selection does not completely rely on the value of the score.Selection is according to the accepting probability.The higher the score, the greater the accepting probability is.Generate a random number r with a [0,1] uniform distribution every time, and offspring plant will be alive if the survival probability P is bigger than r, or it will die.Select N offspring plants among the alive offspring as new original plants and repeat the above behaviors until the accuracy requirement is reached or the maximum number of iterations is achieved.

The Proposed Algorithm Flow and Complexity Analysis
The basic flowchart of the proposed AF algorithm is shown in Figure 2. The main steps of artificial flora algorithm are as follows: (1) Initialization according Equation ( 4 (7) Estimate whether this meets the termination conditions.If so, output the optimal solution, otherwise goto step 2.
Appl.Sci.2018, 8, x FOR PEER REVIEW 7 of 21 (7) Estimate whether this meets the termination conditions.If so, output the optimal solution, otherwise goto step 2. Based on the aforementioned descriptions, the AF algorithm can be summarized as the pseudo code shown in Table 1.
Table 1.Pseudo code of artificial flora algorithm.
Input: times: Maximum run time Based on the aforementioned descriptions, the AF algorithm can be summarized as the pseudo code shown in Table 1.The time complexity of the algorithm can be measured by running time t(s) in order to facilitate the comparison of various algorithms.
where t A , t B , t P are the time required to perform every operation once and A(s), B(s), P(s) are the number of each operation.
In the artificial flora algorithm, the number of original plants is N, and the maximum branching number M is the number of seeds that one original plant can generate.t 1 is the time to initialize population.t 2 is the time of calculating propagation distance.t 3 is the time to update the plant position.t 4 is the time to calculate the fitness.t 5 is the time to calculate the survival probability.t 6 is the time to decide which plant is alive this generation using roulette wheel selection method.The time complexity analysis of this algorithm is shown in Table 2. Therefore, we can see that the time complexity of artificial flora algorithm is O(NM) in Table 2.

Validation and Comparison
In this section, we use six benchmark functions [48,49] to test the efficiency and stability of artificial flora algorithm.The definition, bounds, and the optimum values of functions are shown in Table 3.For a two-dimensional condition, the value distributions of these functions are shown in Figures 3-8.It can be seen from the Figures 3 and 4 that Sphere (f 1 ) and Rosenbrock (f 2 ) functions are unimodal functions that can be used to test the optimization precision and performance of the algorithm.f 3 to f 6 functions are complex nonlinear multimodal functions.The general algorithm has difficulty finding the global optimal value.Because they have many local extreme points, they can be used to test the global search performance and the ability to avoid prematurity of algorithm.

Functions Expression formula Bounds Optimum Value
Sphere ]  32,32] 0              The AF, PSO, and ABC are all bio-inspired swarm intelligence optimization algorithms.The PSO and ABC methods are widely used intelligent optimization algorithms.So, we compare the AF algorithm with the PSO [50] and ABC [36] algorithms to prove the advantages of this algorithm.The maximum number of iterations, cycle index, and the running environment are the same.The three algorithms will be iterated 1000 times respectively and run 50 times independently.All the experiments using MATLAB (2012a, MathWorks Company, Natick, MA, USA, 2012) are performed on a computer with Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz and 8.00GB RAM running the Windows 10 operating system.The default parameters are shown in Table 4.
Table 4.The default parameters in particle swarm optimization (PSO), artificial bee colony (ABC), and artificial flora (AF) algorithms.show the statistical results in 20-dimensional space, 50-dimensional space, and 100dimensional space, respectively.According to the statistical results shown in Tables 5−7, AF can find a more satisfactory solution with higher accuracy compare with PSO and ABC.For the unimodal function Sphere, AF can find the globally optimal solution.The accuracy of the solution obtained by AF is improved compare to those obtained by PSO and ABC.For Rosenbrock function, the accuracy of the solution is almost the same between AF and ABC in high dimensions (100-dimensional), and they are all better than PSO.However, the algorithm stability of AF is higher than that of ABC.For multimodal function (Rastrigin and Griewank), AF can steadily converge to the global optimal solution in 20-dimensional and 50-dimensional space, and in 100-dimensional space, AF can find the global optimal solution at best.For Schwefel function, the AF algorithm has better search precision The AF, PSO, and ABC are all bio-inspired swarm intelligence optimization algorithms.The PSO and ABC methods are widely used intelligent optimization algorithms.So, we compare the AF algorithm with the PSO [50] and ABC [36] algorithms to prove the advantages of this algorithm.The maximum number of iterations, cycle index, and the running environment are the same.The three algorithms will be iterated 1000 times respectively and run 50 times independently.All the experiments using MATLAB (2012a, MathWorks Company, Natick, MA, USA, 2012) are performed on a computer with Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz and 8.00GB RAM running the Windows 10 operating system.The default parameters are shown in Table 4.

Algorithm
Table 4.The default parameters in particle swarm optimization (PSO), artificial bee colony (ABC), and artificial flora (AF) algorithms.Tables 5-7 show the statistical results in 20-dimensional space, 50-dimensional space, and 100-dimensional space, respectively.According to the statistical results shown in Tables 5-7 , AF can find a more satisfactory solution with higher accuracy compare with PSO and ABC.For the unimodal function Sphere, AF can find the globally optimal solution.The accuracy of the solution obtained by AF is improved compare to those obtained by PSO and ABC.For Rosenbrock function, the accuracy of the solution is almost the same between AF and ABC in high dimensions (100-dimensional), and they are all better than PSO.However, the algorithm stability of AF is higher than that of ABC.For multimodal function (Rastrigin and Griewank), AF can steadily converge to the global optimal solution in 20-dimensional and 50-dimensional space, and in 100-dimensional space, AF can find the global optimal solution at best.For Schwefel function, the AF algorithm has better search precision in higher dimensions.In low dimensions, the search precision of the AF algorithm is superior to PSO but slightly worse than ABC.For Ackley function, AF is better than PSO and ABC for finding the global optimal solution.

Algorithm
On the whole, the solution accuracy obtained by the AF algorithm is improved obviously for the unimodal functions and the multimodal functions.It shows that the AF algorithm has strong exploration ability.Also, the stability of AF in these benchmark functions is better than that of PSO and ABC besides the Schwefel function.It can be seen from Figure 9 that the AF algorithm converges very quickly.The rate of convergence of ABC algorithm, PSO algorithm and AF algorithm is slowing down at 120th iteration, 50th iteration, and 15th iteration, respectively.The convergence curves of ABC and PSO intersect at the 50th iteration.It can be seen from Figure 9 that the AF algorithm converges very quickly.The rate of convergence of ABC algorithm, PSO algorithm and AF algorithm is slowing down at 120th iteration, 50th iteration, and 15th iteration, respectively.The convergence curves of ABC and PSO intersect at the 50th iteration. algorithm.
It can be seen from Figure 9 that the AF algorithm converges very quickly.The rate of convergence of ABC algorithm, PSO algorithm and AF algorithm is slowing down at 120th iteration, 50th iteration, and 15th iteration, respectively.The convergence curves of ABC and PSO intersect at the 50th iteration.As shown in Figure 10, for Rosenbrock function, the PSO algorithm and ABC algorithm both converge at about 100 iterations, and the AF algorithm converges at about the 55th iteration.As shown in Figure 10, for Rosenbrock function, the PSO algorithm and ABC algorithm both converge at about 100 iterations, and the AF algorithm converges at about the 55th iteration.Figure 11 illustrates that the convergence rate of the AF algorithm is still better than the other two algorithms for Rastrig in function.The AF algorithm is convergent to a good numerical solution at the 15th iteration.The PSO algorithm converges fast, but it is easily trapped into the local optimal solution.The convergence rate of ABC is slow.Figure 11 illustrates that the convergence rate of the AF algorithm is still better than the other two algorithms for Rastrig in function.The AF algorithm is convergent to a good numerical solution at the 15th iteration.The PSO algorithm converges fast, but it is easily trapped into the local optimal solution.The convergence rate of ABC is slow.Schwefel is a typical deceptive function, as shown in Figure 12.The convergence rate of the AF algorithm is similar to that of ABC for Schwefel function.Schwefel is a typical deceptive function, as shown in Figure 12.The convergence rate of the AF algorithm is similar to that of ABC for Schwefel function.Figure 13 shows that the AF algorithm converges at about the 23rd iteration, and the PSO and ABC algorithms converge at about the 50th iteration and 200th iteration, respectively.Figure 13 shows that the AF algorithm converges at about the 23rd iteration, and the PSO and ABC algorithms converge at about the 50th iteration and 200th iteration, respectively.As Figure 14 shows, for Ackley function, the PSO algorithm is easily trapped into a local optimization.The convergence speed of the ABC algorithm is slow.The ABC algorithm converges at about the 900th iteration.However, the AF algorithm can get a convergence solution at only the 40th iteration.As Figure 14 shows, for Ackley function, the PSO algorithm is easily trapped into a local optimization.The convergence speed of the ABC algorithm is slow.The ABC algorithm converges at about the 900th iteration.However, the AF algorithm can get a convergence solution at only the 40th iteration.Best Solution       It can be seen from Figures 15−20 that the trend of convergence curves in 100-dimensional space is similar to that in 50-dimensional space.
It can be concluded that the AF algorithm can get a solution with higher accuracy and stability than PSO and ABC according to Tables 5−7 and Figures 9−20.First, since the AF algorithm selects the alive offspring plants as new original plants at each iteration, it can take the local optimal position as the center to explore the surrounding space.It can converge to the optimal point rapidly.Second, It can be seen from Figures 15-20 that the trend of convergence curves in 100-dimensional space is similar to that in 50-dimensional space.
It can be concluded that the AF algorithm can get a solution with higher accuracy and stability than PSO and ABC according to Tables 5-7 and Figures 9-20.First, since the AF algorithm selects the alive offspring plants as new original plants at each iteration, it can take the local optimal position as the center to explore the surrounding space.It can converge to the optimal point rapidly.Second, original plants can spread seeds to any direction and distance within the propagation range.It guarantees the local search capability of the algorithm.Third, when there is no better offspring plant, in order to explore the possibility that a better solution exists, new original plants will be generated randomly in the function domain.This can help the AF algorithm to skip the local optimum and improve the performance of global searching.Therefore, the AF algorithm has excellent accuracy, stability, and effectiveness.

Conclusions
The beautiful posture of birds and the perfect cooperation of a bee colony left an impression on people's minds, so the PSO algorithm and ABC algorithm were proposed.In this paper, the proposed artificial flora algorithm is inspired by the migration and reproduction behavior of flora.There are three main behaviors, including evolution behavior, spreading behavior, and select behavior.In evolution behavior, the propagation distance of offspring plants is evolution based on the propagation distance of parent plant and grandparent plant.The propagation distance is optimized in each generation.Since the propagation distance of offspring plants is not a complete inheritance to the parent plant, there is an opportunity for the algorithm to get out of the local optimal solution.Spreading behavior includes autochory and allochory.Autochory provides the opportunity for the original plant to explore the optimal location around itself.This behavior provides local search capability to the algorithm.Allochory provides opportunity for original plant to explore greater space, and global search capability of the algorithm is obtained from this behavior.According to the natural law of survival of the fittest, the greater the survival probability of a plant with higher fitness, and thus the natural law is called select behavior.
Several simulations have shown the effective performance of the proposed algorithm when compared with PSO and ABC algorithms.The AF algorithm improves the algorithm's ability to find the global optimal solution and accuracy and also speeds up the convergence speed.
In the future, we focus on solving discrete, multi-objective, combinatorial, and more complex problems using the AF algorithm and its variants.For example, we are now trying to apply AF to multi-objective optimization problems.Using the method of generating a mesh, AF can converge to the optimal Pareto front.In addition, a lot of practical problems can be converted to optimization problems, and then we can use AF to find a satisfactory solution.For instance, AF can be used to find a satisfactory solution and can applied to parameter optimization and cluster analysis.

Figure 1 .
Figure 1.The process of migration and reproduction.

Figure 1 .
Figure 1.The process of migration and reproduction.

Figure 1
Figure 1 illustrates the process of migration and reproduction.The details are as follows:

22 Figure 1 .
Figure 1.The process of migration and reproduction.

Figure 1
Figure 1 illustrates the process of migration and reproduction.The details are as follows:1.According to Rule 1, there was no such species in the region, due to sudden environmental changes or some kind of artificial action, original plants were spread over a random location in the region, as the ◇(x1) shows in Figure1.2. According to Rule 3, original plants spread seeds in the propagation range.In Figure1, Distance1 is the propagation distance of ◇(x1), offspring can be located in anywhere within the blue circle, and the offspring is shown as (a1,a2,a3) in Figure1.3.The number ofstand for the fitness.The higher the number, the higher the offspring's fitness.It can be seen from the Figure1that if the offspring is closer to the original plant, the fitness is higher: fitness(a1) > fitness(a2) > fitness(a3).This matches Rule 5. 4. According to Rule 4, only some of the offspring plant survive because the fitness is different.As shown in Figure1, the solid line indicates a living plant and the dotted line indicates that the plant is not living.Due to competition and other reasons, the offspring a1 with highest fitness did not survive, but a2 with the fitness less than a1 is alive and becomes a new original plant.5.The new original plant spread seeds around, as □(b1,b2,b3) shown in Figure1.It can be seen that b1 and b3 are alive, but b2 does not survive.Then select one plant between b1 and b2 randomly to become latest original plant, and b1 is selected as shown in Figure1.6. Distance2and Distance3 are the propagation distance of (a2) and □(b1), respectively.According to Rule2, Distance2 evolves based on Distance1, and Distance3 is learning from Distance2 and Distance1.If b1 spreads seeds, the distance of b1's offspring is based on Distance2 and Distance3.7. Plants are constantly spreading seeds around and causing flora to migrate so that flora can find the best area to live.8.If all the offspring plants do not survive, as (c1,c2,c3) shown in Figure1, a new original plant can be randomly generated in the region by allochory.

Figure 1 .
Figure 1.The process of migration and reproduction.

Figure 1
Figure 1 illustrates the process of migration and reproduction.The details are as follows:1.According to Rule 1, there was no such species in the region, due to sudden environmental changes or some kind of artificial action, original plants were spread over a random location in the region, as the ◇(x1) shows in Figure1.2. According to Rule 3, original plants spread seeds in the propagation range.In Figure1, Distance1 is the propagation distance of ◇(x1), offspring can be located in anywhere within the blue circle, and the offspring is shown as (a1,a2,a3) in Figure1.3.The number ofstand for the fitness.The higher the number, the higher the offspring's fitness.It can be seen from the Figure1that if the offspring is closer to the original plant, the fitness is higher: fitness(a1) > fitness(a2) > fitness(a3).This matches Rule 5. 4. According to Rule 4, only some of the offspring plant survive because the fitness is different.As shown in Figure1, the solid line indicates a living plant and the dotted line indicates that the plant is not living.Due to competition and other reasons, the offspring a1 with highest fitness did not survive, but a2 with the fitness less than a1 is alive and becomes a new original plant.5.The new original plant spread seeds around, as □(b1,b2,b3) shown in Figure1.It can be seen that b1 and b3 are alive, but b2 does not survive.Then select one plant between b1 and b2 randomly to become latest original plant, and b1 is selected as shown in Figure1.6. Distance2and Distance3 are the propagation distance of (a2) and □(b1), respectively.According to Rule2, Distance2 evolves based on Distance1, and Distance3 is learning from Distance2 and Distance1.If b1 spreads seeds, the distance of b1's offspring is based on Distance2 and Distance3.7. Plants are constantly spreading seeds around and causing flora to migrate so that flora can find the best area to live.8.If all the offspring plants do not survive, as (c1,c2,c3) shown in Figure1, a new original plant can be randomly generated in the region by allochory.

Figure 1
Figure 1 illustrates the process of migration and reproduction.The details are as foll 1.According to Rule 1, there was no such species in the region, due to sudden changes or some kind of artificial action, original plants were spread over a r in the region, as the ◇(x1) shows in Figure 1. 2. According to Rule 3, original plants spread seeds in the propagation ran Distance1 is the propagation distance of ◇(x1), offspring can be located in a the blue circle, and the offspring is shown as (a1,a2,a3) in Figure 1. 3. The number of stand for the fitness.The higher the number, the highe fitness.It can be seen from the Figure 1 that if the offspring is closer to th the fitness is higher: fitness(a1) > fitness(a2) > fitness(a3).This matches Rule 4. According to Rule 4, only some of the offspring plant survive becaus different.As shown in Figure 1, the solid line indicates a living plant and indicates that the plant is not living.Due to competition and other reasons, with highest fitness did not survive, but a2 with the fitness less than a1 is ali a new original plant.5.The new original plant spread seeds around, as □(b1,b2,b3) shown in Figure that b1 and b3 are alive, but b2 does not survive.Then select one plant bet randomly to become latest original plant, and b1 is selected as shown in Fig 6.Distance2and Distance3 are the propagation distance of (a2) and □(b According to Rule2, Distance2 evolves based on Distance1, and Distance3 Distance2 and Distance1.If b1 spreads seeds, the distance of b1's offspr Distance2 and Distance3.7. Plants are constantly spreading seeds around and causing flora to migrate find the best area to live.8.If all the offspring plants do not survive, as (c1,c2,c3) shown in Figure plant can be randomly generated in the region by allochory.

(
a2) and (b1), respectively.According to Rule2, Distance 2 evolves based on Distance 1 , and Distance 3 is learning from Distance 2 and Distance 1 .If b1 spreads seeds, the distance of b1's offspring is based on Distance 2 and Distance 3 .7.

22 Figure 1 .
Figure 1.The process of migration and reproduction.

Figure 1
Figure 1 illustrates the process of migration and reproduction.The details are as follows:1.According to Rule 1, there was no such species in the region, due to sudden environmental changes or some kind of artificial action, original plants were spread over a random location in the region, as the ◇(x1) shows in Figure1.2. According to Rule 3, original plants spread seeds in the propagation range.In Figure1, Distance1 is the propagation distance of ◇(x1), offspring can be located in anywhere within the blue circle, and the offspring is shown as (a1,a2,a3) in Figure1.3.The number ofstand for the fitness.The higher the number, the higher the offspring's fitness.It can be seen from the Figure1that if the offspring is closer to the original plant, the fitness is higher: fitness(a1) > fitness(a2) > fitness(a3).This matches Rule 5. 4. According to Rule 4, only some of the offspring plant survive because the fitness is different.As shown in Figure1, the solid line indicates a living plant and the dotted line indicates that the plant is not living.Due to competition and other reasons, the offspring a1 with highest fitness did not survive, but a2 with the fitness less than a1 is alive and becomes a new original plant.5.The new original plant spread seeds around, as □(b1,b2,b3) shown in Figure1.It can be seen that b1 and b3 are alive, but b2 does not survive.Then select one plant between b1 and b2 randomly to become latest original plant, and b1 is selected as shown in Figure1.6. Distance2and Distance3 are the propagation distance of (a2) and □(b1), respectively.According to Rule2, Distance2 evolves based on Distance1, and Distance3 is learning from Distance2 and Distance1.If b1 spreads seeds, the distance of b1's offspring is based on Distance2 and Distance3.7. Plants are constantly spreading seeds around and causing flora to migrate so that flora can find the best area to live.8.If all the offspring plants do not survive, as (c1,c2,c3) shown in Figure1, a new original plant can be randomly generated in the region by allochory.
), generate N original plants; (2) Calculate propagation distance according Equation (1), Equation (2) and Equation (3); (3) Generate offspring plants according Equation (5) and calculate their fitness; (4) Calculate the survival probability of offspring plants according to Equation (6)-whether the offspring survives or not is decided by the roulette wheel selection method; (5) If there are plants that survive, randomly select N plants as new original plants.If there are no surviving plant, generate new original plants according to Equation (4); (6) Record the best solution;

Figure 2 .
Figure 2. Algorithm flow of artificial flora algorithm.

Figure 2 .
Figure 2. Algorithm flow of artificial flora algorithm.

Figures 9 -
Figures 9-14 show the convergence time of the three algorithms in 50-dimensional space, and Figures 15-20 show the convergence time of the three algorithms in 100-dimensional space.

Figures 9 −
Figures 9−14 show the convergence time of the three algorithms in 50-dimensional space, and Figures 15−20 show the convergence time of the three algorithms in 100-dimensional space.

Figure 9 .
Figure 9.The convergence curve of the three algorithms for Sphere function in 50-dimensional space.PSO: particle swarm optimization algorithm; ABC: artificial bee colony algorithm; AF: artificial flora algorithm.

Figure 9 .
Figure 9.The convergence curve of the three algorithms for Sphere function in 50-dimensional space.PSO: particle swarm optimization algorithm; ABC: artificial bee colony algorithm; AF: artificial flora algorithm.

Figure 10 .
Figure 10.The convergence curve of the three algorithms for Rosenbrock function in 50-dimensional space.

Figure 10 .
Figure 10.The convergence curve of the three algorithms for Rosenbrock function in 50-dimensional space.

Figure 11 .
Figure 11.The convergence curve of the three algorithms for Rastrigin function in 50-dimensional space.

Figure 11 .
Figure 11.The convergence curve of the three algorithms for Rastrigin function in 50-dimensional space.

Figure 11
Figure 11  illustrates that the convergence rate of the AF algorithm is still better than the other two algorithms for Rastrig in function.The AF algorithm is convergent to a good numerical solution at the 15th iteration.The PSO algorithm converges fast, but it is easily trapped into the local optimal solution.The convergence rate of ABC is slow. space.

Figure 12 .
Figure 12.The convergence curve of the three algorithms for Schwefel function in 50-dimensional space.

Figure 12 .
Figure 12.The convergence curve of the three algorithms for Schwefel function in 50-dimensional space.

Figure 13 .
Figure 13.The convergence curve of the three algorithms for Griewank function in 50-dimensional space.

Figure 13 .
Figure 13.The convergence curve of the three algorithms for Griewank function in 50-dimensional space.

Figure 13
Figure13shows that the AF algorithm converges at about the 23rd iteration, and the PSO and ABC algorithms converge at about the 50th iteration and 200th iteration, respectively.

Figure 13 .
Figure 13.The convergence curve of the three algorithms for Griewank function in 50-dimensional space.

Figure 14 .
Figure 14.The convergence curve of the three algorithms for Ackley function in 50-dimensional space.

Figure 14 .
Figure 14.The convergence curve of the three algorithms for Ackley function in 50-dimensional space.

Figure 15 .
Figure 15.The convergence curve of the three algorithms for Sphere function in 100-dimensional space.

Figure 15 .
Figure 15.The convergence curve of the three algorithms for Sphere function in 100-dimensional space.

Figure 15 .
Figure 15.The convergence curve of the three algorithms for Sphere function in 100-dimensional space.

Figure 16 .
Figure 16.The convergence curve of the three algorithms for Rosenbrock function in 100-dimensional space.

Figure 16 .
Figure 16.The convergence curve of the three algorithms for Rosenbrock function in 100-dimensional space.Appl.Sci.2018, 8, x FOR PEER REVIEW 17 of 21

Figure 17 .
Figure 17.The convergence curve of the three algorithms for Rastrigin function in 100-dimensional space.

Figure 17 .
Figure 17.The convergence curve of the three algorithms for Rastrigin function in 100-dimensional space.

Figure 17 .
Figure 17.The convergence curve of the three algorithms for Rastrigin function in 100-dimensional space.

Figure 18 .
Figure 18.The convergence curve of the three algorithms for Schwefel function in 100-dimensional space.

Figure 18 . 21 Figure 19 .
Figure 18.The convergence curve of the three algorithms for Schwefel function in 100-dimensional space.Appl.Sci.2018, 8, x FOR PEER REVIEW 18 of 21

Figure 19 .
Figure 19.The convergence curve of the three algorithms for Griewank function in 100-dimensional space.

Figure 19 .
Figure 19.The convergence curve of the three algorithms for Griewank function in 100-dimensional space.

Figure 20 .
Figure 20.The convergence curve of the three algorithms for Ackley function in 100-dimensional space.

Figure 20 .
Figure 20.The convergence curve of the three algorithms for Ackley function in 100-dimensional space.

Table 1 .
Pseudo code of artificial flora algorithm.

Table 2 .
The time complexity of artificial flora algorithm.

Table 5 .
Comparison of statistical results obtained by AF, PSO, and ABC in 20-dimensional space.

Table 6 .
Comparison of statistical results obtained by AF, PSO, and ABC in 50-dimensional space.

Table 7 .
Comparison of statistical results obtained by AF, PSO, and ABC in 100-dimensional space.