A Cooperative Coevolutionary Cuckoo Search Algorithm for Optimization Problem

Taking inspiration from an organizational evolutionary algorithm for numerical optimization, this paper designs a kind of dynamic populationandcombiningevolutionaryoperatorstoformanovelalgorithm,acooperativecoevolutionarycuckoosearchalgorithm(CCCS),forsolvingbothunconstrained,constrainedoptimizationandengineeringproblems.Apopulationofthisalgorithmconsistsoforganizations,andanorganizationconsistsofdynamicindividuals.Inexperiments,fifteenunconstrainedfunctions,elevenconstrainedfunctions,andtwoengineeringdesignproblemsareusedtovalidatetheperformanceofCCCS,andthoroughcomparisonsaremadebetweentheCCCSandtheexistingapproaches.TheresultsshowthattheCCCSobtainsgoodperformanceinthesolutionquality.Moreover,fortheconstrainedproblems,thegoodperformanceisobtainedbyonlyincorporatingasimpleconstrainthandlingtechniqueintotheCCCS.TheresultsshowthattheCCCSisquiterobustandeasytouse.


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.

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 > 0 is the step-size-scaling factor, which should be related to the scales of the problem of interests. In most cases, we can use = ( /10), and = ( /100) can be more effective and can avoid flying too far.

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.

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

Begin
Initializing population 0 with 0 organizations, and each organization has one member; ← 0; 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 +1 ; While (the number of organizations in is greater than 1) do Begin Randomly selecting two parent organizations 1 and 2 from ; Performing the CS and selecting their leaders; If rand < 0.

The Pseudo Code of the Proposed Algorithm is Shown
in Algorithm 1. In the initialization, each organization has only one member, and the population has total 0 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.

Problem Definition
A unconstrained optimization problems (UCOPs) are formulated as solving the objective function where ⊆ R defines the search space which is andimensional space bounded by the parametric constraints 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 ( ), = 1, 2, . . . , are constraints.

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 1 ≤ and 0 ≤ V . 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.

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.

Experimental Studies on Unconstrained Optimization
Problems. In this section, 15 benchmark functions ( 01 -15 ) are used to test the performance of CCCS in solving UCOPS.  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. 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 05 , 14 , 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 11 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 08 and 15 as shown in Figures 1  and 2 respectively, other convergence curve figure has been omitted. Table 2 shows statistical results of the CCCS optimization. As can be seen, as for functions 01 , 02 , 03 , 04 , 07 , 08 , and 11 , the mean function values of CCCS is better than MECA; as for functions 06 and 09 , both CCCS and MECA can find the global optimal solution. It is a pity that the results of these functions ( 05 , 10 , 12 , 13 , and 14 ) is worse than MECA.

Experimental Studies on Constrained Optimization Problems.
In this section, 11 benchmark functions ( 01 -11 ) 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, | ( ) − | ≤ 0, using the degree of violation = 0.00001, 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 02 , 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.

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.

Conclusions
Taking inspiration from the OEA, a new numerical optimization algorithm, CCCS, has been proposed in this paper. The experimental results in Tables 1-6 indicate that CCCS 8 Journal of Applied Mathematics  [21] N/A N/A N/A N/A 6290 30000 Akhtar et al. [28] N 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.