Abstract

We propose an approach to solve continuous variable optimization problems. The approach is based on the integration of predatory search strategy (PSS) and swarm intelligence technique. The integration is further based on two newly defined concepts proposed for the PSS, namely, “restriction” and “neighborhood,” and takes the particle swarm optimization (PSO) algorithm as the local optimizer. The PSS is for the switch of exploitation and exploration (in particular by the adjustment of neighborhood), while the swarm intelligence technique is for searching the neighborhood. The proposed approach is thus named PSS-PSO. Five benchmarks are taken as test functions (including both unimodal and multimodal ones) to examine the effectiveness of the PSS-PSO with the seven well-known algorithms. The result of the test shows that the proposed approach PSS-PSO is superior to all the seven algorithms.

1. Introduction

As one of the key foundations of intelligent systems, computational intelligence is a strong tool to deal with challenging optimization problems. Most intelligent optimization methods are inspired from the biological system, such as Genetic algorithm [1], artificial immune systems [2], artificial neural network [3], ant colony optimization [4], particle swarm optimization [5, 6], culture algorithm [7], and colony location algorithm [8]. There are also methods learned from the artificial or man-made system, for example, simulated annealing [9] and fractal geometry [10]. Compared with the traditional optimization algorithms, the intelligent optimization algorithms have fewer restrictions to the objective function and are of computational efficiency and thus are widely used in industrial and social problems [11, 12].

However, to many real-world applications, the intelligent algorithms as mentioned earlier all encounter a common problem; that is, it is difficult to deal with the balance between exploitation and exploration. Exploration is the ability to test various regions in the problem space in order to locate a good optimum, hopefully the global one, and exploitation is the ability to concentrate on the search around a promising candidate solution in order to locate the optimum precisely [13]. Fast convergence velocity tends to result in the premature solution as opposed to the best solution.

Inspired by the predatory behavior of animals, Linhares [14, 15] proposed the predatory search strategy (PSS) to solve the previous problem; in particular, he used PSS to solve discrete variable optimization problems. This strategy is an individual-based searching strategy and has a good balance between exploitation and exploration.

On a general note, the balance of exploitation and exploration is not only a key problem for discrete variable optimization problems but also for the continuous variable optimization problems. A natural idea extending Linhares’s work is to apply the PSS to the continuous variable optimization problem. However, the feature of individual-based searching does not allow the PSS to be straightforwardly applied to the continuous variable optimization problem. The basic motivation of this paper is to address this issue.

In this paper, we attempt to integrate the PSS with swarm intelligence techniques to solve continuous variable optimization problems. There are two major models in swarm intelligence, particle swarm optimization (PSO) and ant colony optimization (ACO). ACO is used for discrete problems, while the PSO is used for continuous problems. Therefore, in this paper, PSO is adopted to be incorporated with the PSS. The proposed approach may be called PSS-PSO. The PSS-PSO approach is tested by five benchmark examples of complex nonlinear functions. Compared with well-known PSO algorithms, the PSS-PSO is found to achieve a superior performance to the existing algorithms for continuous variable optimization problems.

In the following, we will first present the related works of PSS and PSO algorithms. Then, we will propose the basic idea of PSS-PSO and discuss the implementation of the PSS-PSO approach in Section 3, followed by the experiment and analysis in Section 4. Finally, there is a conclusion with discussion of future work.

2.1. Predatory Search Strategy for Discrete Problems

Biologists have discovered that despite their various body constructions, the predatory search strategies of many search-intensive animals are amazingly similar [1620]. When they seek food, they first search in a certain direction at a fast pace until they find a prey or sufficient evidence of it. Then, they slow down and intensify their search in the neighboring area in order to find more preys. After some time without success, they give up the intensified “area-restricted” search and go on to scan other areas [15]. As shown in Figure 1, this predatory search strategy of animals can be summarized by two search processes [21]: Search 1 (general search)—extensive search in the whole predatory space, and if prey or its proof is found, turn to search 2; Search 2 (area-restricted search)—intensive search in its neighboring area, and after a long time without success, turn to search 1.

This strategy is effective for many species because (besides being simple and general) it is able to strike a good balance between the exploitation (intensive search in a defined area) and the exploration (extensive search through many areas) of the search space. Linhares [14, 15] introduced the predatory search strategy as a new evolutionary computing technique to solve discrete optimization problems, such as TSP and VLSI layout. When this technique searches for the optimum, it first seeks solutions in the whole solution space until finding a “good” solution. Then, it intensifies the search in the vicinity of the “good” solution. After some time without further improvement, it gives up the area-restricted search and turns to the original extensive search. In this technique, a concept called restriction was defined as the solution cost to represent the neighborhood of a solution, which is used to adjust the neighboring area and implement the balance of exploitation and exploration.

The previous approach, in essence, can be viewed as a strategy to balance exploitation and exploration; however, it does not give any detail of the general search and area-restricted search. Hence, in this paper, we call it predatory search strategy (PSS), instead of predatory search algorithm. As mentioned in Section 1, the balance between local search and global search or exploration and exploitation is a key to all the intelligent algorithms. PSS is an example strategy to address this key. Liu and Wang [21] proposed another way to implement the PSS by adopting the solution distance as the restriction. All these studies focus on the discrete variable optimization problem.

On a general note, the general search enables the approach with a high search quality to avoid falling into the local optimum, while the area-restricted search enables the approach to have a fast convergence velocity. It is interesting to note that such search strategy was taken three decades ago in the M. S. degree thesis of Zhang [22]. In his approach, a random search technique and a gradient-based technique were combined to solve a specific continuous variable optimization problem for design of special mechanisms [22]. In his combined approach, the switch criterion for the two search algorithms was specifically related to the particular application problem; in particular, in the general search, the stop criterion is the feasible solutions in a highly constrained region [22]. The very motivation of the Zhang’s combined approach was to overcome the difficulty in obtaining a feasible solution, because the constrained area was extremely “narrow.” Zhang’s work was at times prior to the development of intelligent optimization ideas, concepts, and techniques such as PSO. His work is inspiring but not a generalized one.

2.2. Particle Swarm Optimization and Its Developments

The PSO algorithm was first developed by Kennedy and Eberhart based on the simulation of a simplified social model [5, 6, 23]. The standard PSO algorithm can be explained as follows.

A swarm being made up by particles searches a -dimensional problem space. Each particle is assigned a randomized velocity and a stochastic position. The position represents the solution of the problem. When “flying” each particle is attracted by a good location achieved so far by itself and by a good location achieved by the members in the whole swarm (or the members in the neighborhood). The position of the th particle is represented as , and its velocity is represented as , , . The best previous position of the th particle, namely, the position with the best fitness value, is represented as , and the index of the best particle among all the particles in the neighborhood is represented by the symbol . Each particle updates its velocity and position according to the following equations: where is the inertia weight that determines how much a particle holds its current velocity in the next iteration. and are learning factors, also named acceleration constants, which are two positive constants. Learning factors are usually equal to 2, while other settings can also be seen in the literature [13]. and are pseudorandom numbers and they obey the same homogeneous distribution in the range . The velocity of a particle is limited in the range of  .   is set to be the range of each dimension variable and used to initialize the velocity of particles without selecting and tuning in detail. The running of the PSO is much similar to evolutionary algorithms such as GA, including initialization, fitness evaluation, update of velocity and position, and testing of the stop criterion. When the neighborhood of a particle is the whole population, it is called the global version of PSO (GPSO) [24]; otherwise, it is called local version of PSO (LPSO) [25].

The PSO algorithm has increasingly attracted attention now [13, 24, 26, 27] with many successful applications in real-world optimization problems [2833]. The most salient advantage of PSO is its fast convergence to the optimum; however, this feature also tends to lead the whole swarm into the local optimum, especially for solving multimodal problems [34].

Different strategies have been developed in the literature to solve the problem with PSO. Liang et al. [34] proposed a comprehensive-learning PSO (CLPSO) which uses a novel learning strategy where the historical best information of all other particles is used to update a particle’s velocity for multimodal applications. Shubham et al. [35] proposed a fuzzy clustering-based particle swarm (FCPSO) algorithm by using an external repository to preserve nondominated particles found along the search process to solve multiobjective optimization problems. Zhan et al. [36] proposed an adaptive PSO (APSO) by developing a systematic parameter adaptation scheme and an elitist learning strategy. Clerc [37] proposed an adaptive PSO, called TRIBES, in which the parameters change according to the swarm behavior. TRIBES is a totally parameter free algorithm and the users only modify the adaptive rules [37, 38]. In the work of [39], the flight mechanism of wild goose team, including goose role division, parallel principle, aggregate principle, and separate principle, was proposed to address the problem with PSO [39]. Silva et al. [40] proposed a variant of PSO, called predatory prey optimizer (PPO), by introducing another swarm; in particular, original swarm is called prey swarm and the new swarm is called predator swarm. These two swarms have different dynamic behaviors which will balance the exploration and exploitation in PSO. They further proposed a simple adaptable PPO by introducing a symbiosis adaptive scheme into PPO [41]. The difference between their work and ours will be discussed in the next section after some detail of our approach is introduced.

3. The Proposed PSS-PSO Approach

3.1. Basic Idea

To make the PSS be capable of solving continuous variable optimization problems, we need to address three issues: (1) how to search the continuous space, including the general search and the area-restricted search, (2) how to define restrictions, and (3) how to define the neighborhood. The first issue can be addressed by the PSO; so we will not discuss it here. In the following, we will address the last two issues. We start with proposing two concepts, namely Restriction and Neighborhood.

Restriction. It is the distance between two points in a multidimensional space. Here, we use the Euclid norm to define the distance.

Neighborhood. The neighborhood of a point, or a particle, under some restriction, is defined as a hyperspherical space which takes the particle as the center and the restriction as the radius.

Further, there are restrictions in the initial solution space, which are represented as , where is called the level of the restriction. Therefore, the neighborhood of a point, say , under the restriction, , can be represented as .

The list of the restriction levels needs to be recomputed when a new best overall solution, , is found, because a restricted search area should be defined around this new improving point. To build such a restriction list, the following scheme is used: initialize particles in the initialization space and compute each distance between one particle and . Rank the distances. It is noted that carries the smallest distance, and carries the second smallest distance, and so on.

The overall procedure of PSS is given as follows.

Choose one random point in the initial space . A swarm consisting of particles is initialized in , and then the search is carried out with the standard PSO update equations. The number of iterations is controlled by variable . If no better solution can be found, the swarm will be initialized in , and repeat the search; if a better solution, , is found, then the best solution will be updated by this new solution, and all the restrictions will be set up again. The neighborhood is enlarged or reduced through the adjustment of restrictions, which makes sense for the concept of balancing exploration and exploitation.

As mentioned in Section 2.2, Silva et al. [40, 41] proposed algorithms with similar names of ours. However, our idea is totally different from theirs. In their work, they used two swarms in PSO and each swarm has different behavior. The particles in the prey swarm have the same behavior with the standard PSO; the particles in the predatory swarm are attracted to the best individuals in the swarm, while the other particles are repelled by their presence [40, 41]. The essence of such a mechanism with their approach is a multipopulation strategy to keep the diversity of the whole swarm. Our idea only considers the behavior of the predator and the balance of exploration and exploitation is achieved by the movement of predatory individuals not a predatory swarm. Furthermore, there is only one swarm performing the local search in our algorithm PSS-PSO, while there are two swarms in their algorithm PPO.

3.2. Implementation

The pseudocode of the PSS-PSO algorithm is presented in Algorithm 1.

Begin
Choose randomly from
while
   initialize particles in  ( , restriction( ))
   for ( )
      for ( )
        update swarm based on standard PSO equations
        if then
      end for
      
      if then
       , , , re-compute restrictions
   end for
   
   if then
     
End while

Let: The initial space;: The number of restrictions;: The level of the restriction, ; : The maximum number of iterations of PSO;: The iteration number of PSO;: The maximum running times of PSO;: The running number of PSO;: Best solution of PSO in each iteration;: Number of particles in a swarm;: The neighborhood of x, under the restriction restriction(l), ;: A new best overall solution in ;: The best solution in .

It is noted that we used the integer division of as the number of restriction levels for each search mode. The algorithm was made to stop when levels in general search are tried without finding a new better solution.

4. Experiments

4.1. Experimental Setting

Five benchmarks [13, 24, 42] which are commonly used in the evolutionary computation are selected as examples in this paper to test the proposed approach. The detail of the functions, including the formulations, the numbers of dimensions, and the search range of the variables, are summarized in Table 1. It is noted that in the experiment, the initial range of algorithm is set to be the same with the search range. The Sphere function and the Rosenbrock function are two unimodal functions and have only one global minimum in the initial search space. The Rosenbrock function changes very slightly in the long and narrow area close to the global minimum. The Schaffer's function, the Rastrigrin functions, and the Griewank function are three multimodal functions, which have very complicated landforms. The global optimums of the five functions are all zero. The five functions are quite fit for the evaluation of algorithm performance [42].

Seven existing PSO algorithms, as listed in Table 2, are compared with PSS-PSO. First three PSO algorithms, including GPSO, LPSO with ring neighborhood, and VPSO with von Neumann neighborhood, are well known and have widely been used in computation comparisons and real-world applications. The other three PSO algorithms are recent versions as mentioned in Section 2.2. CLPSO adopts a novel learning strategy and aims at better performance for multimodal functions. GTO refers to the goose team flight mechanism and the gradient information of functions and obtains fast convergence for the unimodal functions and some multimodal functions. APSO offers a systematic parameter adaptation scheme which can speed up other PSO variants. TRIBES is an adaptive algorithm which enables the users to be free in the parameter selection.

First, we will compare the PSS-PSO with the first six PSO algorithms on the ability of exploitation and exploration with the five benchmarks listed in Table 1. Then, we will compare the PSS-PSO with TRIBES on the four shifted benchmarks. GPSO, GTO, and PSS are programmed by Java run on a PC with P4-2.66 GHz CPU and 512 MB memory. Results of the other algorithms are from the literature, respectively. To get rid of the randomicity, the results are the average of 30 trial runs [42]. To test exploitation and exploration, we use different swarm sizes and stop criterions, which are given in the following discussion.

4.2. Comparisons on the Exploitation
4.2.1. Comparisons with Different Algorithms

For a fair comparison, the PSS and the first six PSO algorithms are tested with the same population size of 20. The stop criterion is set according to reference [42] as number of function evaluations (FEs) = 200000. With consideration of the population size, this stop criterion also means that the number of iteration is 10000. In the following discussion, we will use the iteration number as the stop criterion. Here, we define the global optimum zero as “less than .” If the algorithm reaches the global optimum, it also ends. It is noted that, similar to the PSS for discrete problem, the PSS-PSO for continuous problems uses the restriction level as the stop criterion (see Algorithm 1). To compare with other PSO algorithms, we also record the iteration number and stop PSS-PSO when the iteration number reaches 10000.

The average optimums obtained by the seven algorithms are listed in Table 3. The data of PSS and GTO, are obtained by our experiments. Other data are from the references listed in Table 2. Symbol “—” in Table 3 means the data unavailable. It is noted that the results of CLPSO and APSO on the Rosenbrock function are with symbol “*”. The reason is that the two algorithms are not good at dealing with unimodal functions, particularly with the Rosenbrock functions. The initial ranges of the Rosenbrock functions for CLPSO and APSO are listed in Table 4 [34, 36], and therefore, the common idea is to narrow the search space of this function.

On the simple unimodal function Sphere, PSS-PSO, GPSO, GTO and APSO can all find the global optimum. Actually, GTO is the fastest one, which will be shown from the comparison on the exploration in the next section. On the complicated unimodal function Rosenbrock, PSS-PSO is the best one. Although GTO references the gradient information in the optimization process, the complicated search space still prevents it from obtaining the satisfactory result. On the simple multimodal function Schaffer’s  , PSS-PSO, GPSO, and GTO can all reach the global optimum. On the complicated multimodal functions, Rastrigrin and Griewank, PSS-PSO, CLSPO and APSO are all good optimizers. PSS-PSO and CLPSO have better performance on Griewank; CLSPO and APSO have better performance on Rastrigrin. The results prove the theorem of “no free lunch” that no algorithm can outperform all the others on every aspects or every kind of problems [43]. However, the PSS-PSO outperforms the six PSO algorithms on most of the benchmark functions except the Rastrigrin function.

4.2.2. Analysis of the Search Behaviors

To further observe the search behaviors of the PSS-PSO, we try other two population sizes, 10 and 30, respectively, and extend the maximum iteration numbers to 50000 in the experiments and give the average convergence curves of PSS-PSO and GPSO on the five functions in Figure 2. In this figure, the x coordinate is the iteration number. The coordinate is , the common logarithm of the fitness value, because the fitness value changes too much in the optimization process.

(1) Exploitation for Unimodal Functions. From the convergence curves on the Sphere function, we can see that GPSO has a faster convergence speed. The reason is that Sphere is a simple unimodal function and the particles easily find the global optimum. On the optimization of the Rosenbrock functions, the problem of GPSO appears (i.e., not having a sustaining search ability during long iterations); in particular, GPSO cannot find better solutions after about 10000 iterations. On the contrary, PSS-PSO can obtain better solutions during the whole optimization process. The reason is that, as mentioned in Section 4.1, the Rosenbrock function changes very slightly in the long and narrow area close to the global minimum. This feature makes GPSO lose its ability of dynamic adjustment of particle’s velocity, which leads the whole swarm to lose the energy of reaching better solutions. However, the switch of different restriction levels enables the swarm in the PSS-PSO with its ability of dynamic adjustment of particle’s velocity continuously.

(2) Exploitation for Multimodal Functions. On the simple multimodal function Schaffer’s , GPSO and PSS-PSO can both perform well. However, on the two complicated functions, Rastrigrin and Griewank, GPSO exposed its deficiency again. After very early iterations, the curve of GPSO stays horizontal, which means that the whole swarm has been trapped into a local optimum. However, PSS-PSO does not have this problem, and the curves of PSS-PSO go down continuously.

4.3. Comparisons on the Exploration

To test the exploration of PSS-PSO, we use the following criterion in the experiment: whether the algorithm can find the goal set for each function in 4000 iterations. Using this criterion, we can get success rate, average iteration number, and average running time. Here, average iteration number is the iteration number for the successful runs; success rate is defined as number of successful runs/total number of runs. The predefined accuracy levels, namely, the goals of the different functions, are listed in Table 5. Since exploration is the ability to test various regions in the problem space in order to locate a good optimum, what we care about in this experiments is the convergence speed. Therefore, the goal value here is different from the global optimum, and in particular, the goal is an acceptable good solution. We compare PSS-PSO with GPSO and GTO in the experiments. We try two population sizes, 10 and 30, respectively, and run the algorithms 100 times for each case. The results are listed in Table 6.

The results show that even with a very small population size 10, PSS can still achieve 100% success rates for all the functions. As the standard version of PSO, GPSO has the worst performance, which is not beyond our expectation. On the three functions, Sphere, Schaffer’s , and Griewank, GTO can reach the goals very fast in even 1 or 3 iterations. This fast convergence speed of GTO benefits from the gradient information. However, on the two complicated functions, Rosenbrock and Rastrigrin, GTO does not have such good performance. It even fails to reach the goal of the Rastrigrin function at any trial. The comparison shows that PSS-PSO has an overall good performance on the exploration.

4.4. Comparisons on the Shifted Benchmarks

In the previous experiments, all the benchmarks are traditional functions with the global optimum at the origin of the search space, which may be more easily for some algorithms to find the global optimum [44]. Therefore, we use the shifted versions of benchmarks in Table 1 to perform a further test; in particular, the results are compared with that of TRIBES from the literature [38]. The shifted benchmarks are defined by Suganthan et al. [42] and labeled as F1 (shifted Sphere), F6 (shifted Rosenbrock), F7 (shifted rotated Griewank without bound), F10 (shifted rotated Rastrigrin), and F14 (shifted rotated expanded Schaffer’s ). Because TIBES can not give satisfying result of F14 [38], we did not consider F14 in this experiment. Two tests are performed to examine the exploitation and exploration of two algorithms. To examine the exploitation, the algorithm stops if the number of evaluations of the objective functions exceeds 10000 * . The dimension is set as 10. Each algorithm runs 25 times for one case. Then, we recorded the mean error for each benchmark. To test the exploration, we examine the number of function evaluations the algorithms needs to achieve a goal. The algorithm stops if it reachs the goal or if the number of evaluations of the objective functions exceeds 10000 * . The dimension is also set as 10. Each algorithm runs 25 times for one case. The goals of functions, the mean of the number of functions evaluations (mean iterations for short), the success rates, and the performance rates are recorded. The performance rate is defined as mean iterations/success rate. All the results are listed in Table 7.

From the results in Table 7, we can see that the PSS-PSO has similar performance with TRIBES in F1, F6, and F7. PSS-PSO and TRIBES can both find global optimum in F1, which is a unimodel function, and PSS-PSO is a little slower than TRIBES. PSS-PSO and TRIBES both have very low ability to reach the goals for F6 and F7. In the runs that find the goals, PSS-PSO needs fewer number of iterations.

However, PSS-PSO has a much better result than TRIBES in F10. TRIBES cannot reach the goal of F10; on contrary, PSS-PSO has a success rate of 0.12. Furthermore, PSS-PSO can achieve a much less mean error in F10.

5. Conclusions

In this paper, we proposed an approach to integrate PSS with PSO, and the approach was named PSS-PSO. This integration is achieved by proposing two concepts with the PSS, namely restriction and neighborhood. Five benchmarks are taken as test functions to examine the exploration and exploitation of the proposed approach. Experiments show that the ability of balancing exploration and exploitation makes the proposed approach be applicable for both the unimodal and multimodal functions. Compared with six existing PSO algorithms, PSS-PSO has achieved a better performance overall.

Some future research needs to be carried out on the proposed approach. First, we will test the PSS-PSO for more benchmarks, especially for more rotated functions. Second, we will test the PSS-PSO in complex environments; in particular, we will use it to solve the dynamic problems and multiple objective optimization problems. Third, we will use the PSS-PSO to solve the complex real-world applications such as the mixed topology and geometry optimization design problems in robotics [45].

Acknowledgments

The authors want to thank the financial support to this work by NSERC through a strategic project grant, and a grant of ECUST through a program of the Fundamental Research Funds for the Central Universities to W. J. Zhang, and by NSFC (Grant No. 71001018, 61273031) of China to H. F Wang. Our gratitude is also extended to the Department of Industrial and Systems Engineering of the Hong Kong Polytechnic University (G-YK04).