Abstract

Taking inspiration from an organizational evolutionary algorithm for numerical optimization, this paper designs a kind of dynamic population and combining evolutionary operators to form a novel algorithm, a cooperative coevolutionary cuckoo search algorithm (CCCS), for solving both unconstrained, constrained optimization and engineering problems. A population of this algorithm consists of organizations, and an organization consists of dynamic individuals. In experiments, fifteen unconstrained functions, eleven constrained functions, and two engineering design problems are used to validate the performance of CCCS, and thorough comparisons are made between the CCCS and the existing approaches. The results show that the CCCS obtains good performance in the solution quality. Moreover, for the constrained problems, the good performance is obtained by only incorporating a simple constraint handling technique into the CCCS. The results show that the CCCS is quite robust and easy to use.

1. Introduction

High dimension numerical optimization problems tend to be complex, and general basic intelligent algorithms are difficult to obtain the global optimal solution. In order to solve this problem, many improved methods are put forward, such as evolutionary programming made faster [1], orthogonal genetic algorithm [2], and good point set based genetic algorithm [3], and these methods have achieved good effect.

Recently, a novel heuristic search algorithm, called Cuckoo Search (CS) in [4], has been proposed by Yang and Deb in 2009. The CS is a search algorithm based on the interesting breeding behavior such as brood parasitism of certain species of cuckoos. Each nest within the swarm is represented by a vector in multidimensional search space; the CS algorithm also determines how to update the position of cuckoo laid egg. Each cuckoo updates it position of lay egg based on current step size via Lévy flights. It has been shown that this simple model has been applied successfully to continuous nonlinear function, engineering optimization problem in [5], and so forth. Intelligent algorithm is based on the selection of the fittest in biological systems which have evolved by natural selection over millions of years, between organisms in nature not only competition but also cooperation. Potter et al. earlier proposed a cooperative coevolutionary genetic algorithm to function optimization (CCGA) [6], and Bergh et al. apply this idea to the standard particle group Algorithm to construct a new collaborative model (CPSO-SK) [7]. Liu et al. proposed an organizational evolutionary algorithm for numerical optimization [8], Mu et al. put forward M-elite coevolutionary algorithm for numerical optimization [9], and Fister et al. proposed memetic artificial bee colony algorithm for large-scale global optimization [10]. They have obtained the good effect in the numerical optimization problem. Based on this idea and combining evolutionary operators, this paper proposes a new algorithm of solving high-dimensional unconstrained, constrained, and engineering optimization problem, namely, a cooperative coevolutionary cuckoo search algorithm (CCCS) algorithm. Population of the algorithm is divided into M groups, each group has a leader, by annexation and collaborative operation between different organizations, and uses the cuboids crossover operator, discrete crossover operator, flip crossover operator, and mutation operator to achieve the exchange of information between individuals, to promote the evolution of the population. Simulation experiments show that CCCS optimization ability is very strong, can well solve the unconstrained optimization, constrained optimization, and engineering optimization problems and so on.

The remainder of this paper is organized as follows: Section 2 briefly introduces the original cuckoo search algorithm. This is followed in Section 3 by new cooperative coevolutionary implements of the CS algorithm. Section 4 describes the definition of a constrained optimization and a unconstrained optimization problem in the penalty function approach. The results can be found and discussed in Section 5. Finally, some directions for future research are discussed in Section 6.

2. Original CS

CS is a heuristic search algorithm which has been proposed recently by Yang and Deb. The algorithm is inspired by the reproduction strategy of cuckoos. At the most basic level, cuckoos lay their eggs in the nests of other host birds, which may be of different species. The host bird may discover that the eggs are not it’s own and either destroy the egg or abandon the nest all together. This has resulted in the evolution of cuckoo eggs which mimic the eggs of local host birds. To apply this as an optimization tool, Yang and Deb [4] used three ideal rules.(1)Each cuckoo lays one egg, which represents a set of solution coordinates, at a time, and dumps it in a random nest.(2)A fraction of the nests containing the best eggs, or solutions, will carry over to the next generation.(3)The number of nests is fixed, and there is a probability that a host can discover an alien egg. If this happens, the host can either discard the egg or the nest, and this results in building a new nest in a new location.

This algorithm uses a balanced combination of a local random walk and the global explorative random walk, controlled by a switching parameter . The local random walk can be written as where and are two different solutions selected randomly by random permutation, is a Heaviside function, is a random number drawn from a uniform distribution, and is the step size. On the other hand, the global random walk is carried out by using Lévy flights where Here is the step-size-scaling factor, which should be related to the scales of the problem of interests. In most cases, we can use , and can be more effective and can avoid flying too far.

3. A Cooperative Coevolutionary Cuckoo Search Algorithm

In section, taking inspiration from an organizational evolutionary algorithm, we present a cooperative coevolutionary cuckoo search algorithm (CCCS) which integers annexing operator and cooperating operator, in the core the cuckoo search algorithm. This proposed model will focus on enhancing diversity and the performance of the cuckoo search algorithm.

3.1. Splitting Operator

When a size is too large usually it is split into several small organizations; let be the parameter controlling the maximum size of organization.

3.2. Annexing Operator

Two organizations, and , are randomly selected from the current generation. Choose their leaders using CS algorithm. If the is the winner; thus will annex to generate a new organization, , where , . Let be a predefined parameter. Then, if , , are generated by (4). Otherwise they are generated by (5). is the leader of an organization and are new member After , are generated, , are determined in (6):

3.3. Cooperating Operator

Two organizations, and , are randomly selected from the current generation. Let be a predefined parameter; if , the child organization is generated in (7). , are the leader of organization respectively. Otherwise use (8); is random integer and uses flip operator; xy(8)

3.4. The Pseudo Code of the Proposed Algorithm is Shown in Algorithm 1

Begin
  Initializing population with organizations, and each organization has one member;
     ;
  While (the termination criteria are not reached) do
  Begin
    For each organization in , if the number of it more than 20, performing the splitting
    operator on it, deleting it from , and adding the child organizations into ;
    While (the number of organizations in is greater than 1) do
    Begin
      Randomly selecting two parent organizations  and  from ;
      Performing the CS and selecting their leaders;
      If rand < 0.5
        Annexing operator;
      Else
        Cooperating operator;
        If and
           ;
           ;
        End
        adding the child organizations into ;
      End
      Deleting and form ;
    End
    Deleting the organizations form ;
    % is the child number of join organizations
     ;
     ;
  End
  output the best solution in
End

In the initialization, each organization has only one member, and the population has total organizations. During the evolutionary process, the number of the organizations changes; this is just to maintain the diversity of the population. The main difference between the CCCS and the OEA is that populations changes during the optimization process, in OEA, the number of populations in the optimization process is the same. In contrast, the number of the population in CCCS is changing. In addition, cooperating operators of CCCS and OEA are also different.

4. Problem Definition

A unconstrained optimization problems (UCOPs) are formulated as solving the objective function where defines the search space which is an -dimensional space bounded by the parametric constraints , . Thus, , where and .

A constrained optimization problems (COPs) can be formulated as solving objective function where is the same with that of (9), and the feasible region is where , are constraints.

4.1. Constraint Handling

In the penalty function approach, nonlinear constraints can be collapsed with the cost function into a response functional. By doing this, the constrained optimization problem is transformed into an unconstrained optimization problem simpler to solve [35]. For example, if there are some nonlinear equality constraints and some inequality constraints , the response functional PI can be defined as follows: where and . The coefficients of penalty terms should be large enough; their values may depend on the specific optimization problem. The contribution of any equality constraints function to the response functional is null but increases significantly as soon as the constraint is violated. The same applies to inequality constraints when they become critical.

5. Implementation in Optimization Problems

All computational experiments are conducted with Matlab R2010a and run on Celeron(R) Dual-core CPU T3100, 1.90 GHZ with 2 GB memory capacity under windows7.

5.1. Experimental Studies on Unconstrained Optimization Problems

In this section, 15 benchmark functions () are used to test the performance of CCCS in solving UCOPS. are in [1] and , are , in [36]. The problem dimension is set to 30 for and 100 for and . In this manner, these functions have so many local minima that they are challenging enough for performance evaluation. The parameters of CCCS are set as follows: the number of organization is 10, others refer to [8], and the number of iterations is 2500.

5.1.1. Experimental Results of CCCS

Table 1 summarizes the experimental results of CCCS, which include the best, the mean, the standard deviation, and the worst function values found. As can be seen, besides , , other function values reached the theoretical value or are very close to the theoretical value. What should be noted is that the global optimum for is 0 every time, but both MECA (M-elite co-evolutionary algorithm for numerical optimization) and OEA (An organizational evolutionary algorithm for numerical optimization) cannot find the global optimal solution. Convergence curve of and as shown in Figures 1 and 2 respectively, other convergence curve figure has been omitted.

5.1.2. Comparison between CCCS, MECA, and OEA

Table 2 shows statistical results of the CCCS optimization. As can be seen, as for functions , , , , , , and , the mean function values of CCCS is better than MECA; as for functions and , both CCCS and MECA can find the global optimal solution. It is a pity that the results of these functions (, , , , and ) is worse than MECA.

5.1.3. Comparison between MECA, CCGA, CPSO, and CCCS

Table 3 summarizes the experimental results of comparison between MECA, CCGA, CPSO, and CCCS. Data of CCGA and CPSO algorithm results from the literature [9], MECA, CCGA, and CPSO requite 200000 function evaluations. But CCCS requires 2500 function evaluations to complete the optimization process. As a whole, the results of CCCS are better than those of MECA, OEA.

5.2. Experimental Studies on Constrained Optimization Problems

In this section, 11 benchmark functions () and 2 engineering design problems (welded beam design, pressure vessel design) are used to validate the performance of CCCS in solving constrained optimization problems. These functions are described in [37]. The equality constraints have been converted into inequality constraints, , using the degree of violation , the same with that of [37] (see Figures 3 and 5).

The parameters of CCCS are set as follows: the number of iterations is 2500. However, the others of OEA are 24000. The experimental results of OEA are obtained over 50 independent trials. The running environment is the same as the previously. Table 4 shows the comparison results between OEA, SMES, and CCCS. As can be seen, besides , other function values reached the theoretical value or are very close to the theoretical value. On the whole, the result of CCCS is better than those of SMES and CCCS.

5.3. Implementation in Structural Optimization Problems

Case I (welded beam design). The objective function and parameters of Case I are refers to in [32]. With 25 nests, CCCS found the global optimum requiring 1000 iterations per optimization run. Table 5 compares the optimization results found by CCCS with similar data reported in the literature. CCCS obtained the best design overall of 2.1730. Mahdavi et al. [25] and Fesanghary et al. [26] found a better desgin. “But for the continuous optimization problem equal to 1.7248’’ is deleted. In addition, CCCS requires only 25,000 function evaluations to complete the optimization process, hence much less than the literature. Convergence curve of Case I as shown in Figure 4.

Case II (pressure vessel design). The objective function and parameters of the Case II are refers to in [33]. With 25 nests, CCCS found the global optimum requiring 1000 iterations per optimization run. Table 6 compares the optimization results found by CCCS with similar data reported in the literature. CCCS obtained the best design overall of 5885.3. In addition, CCCS requires only 25,000 function evaluations to complete the optimization process, hence much less than the literature. Here, represents no records in the literature. Convergence curve of Case II is shown in Figure 6.

6. Conclusions

Taking inspiration from the OEA, a new numerical optimization algorithm, CCCS, has been proposed in this paper. The experimental results in Tables 16 indicate that CCCS outperforms the MECA and OEA. On the whole, CCCS obtains a good performance for the unconstrained functions, constrained functions, and 2 engineering design problems. These benefits mainly from the following three aspects. One is the dynamics population, and the other is three evolutionary operators. The third aspect is a combination of CS algorithm. 28 experiments illustrate that CCCS has an effective searching mechanism. However, the number of dynamic populations, is difficult to control, which spends lots of computational cost. How to control the number of dynamic population is the future research work.

Acknowledgments

This work is supported by the National Science Foundation of China under Grant no. 61165015, Key Project of Guangxi Science Foundation under Grant no. 2012GXNSFDA053028, Key Project of Guangxi High School Science Foundation under Grant no. 20121ZD008, Open Research Fund Program of Key Lab of Intelligent Perception and Image Understanding of Ministry of Education of China under Grant no. IPIU01201100 and the Innovation Project of Guangxi Graduate Education under Grant no. YCSZ2012063.