Abstract

Hunger component is introduced to the existing cockroach swarm optimization (CSO) algorithm to improve its searching ability and population diversity. The original CSO was modelled with three components: chase-swarming, dispersion, and ruthless; additional hunger component which is modelled using partial differential equation (PDE) method is included in this paper. An improved cockroach swarm optimization (ICSO) is proposed in this paper. The performance of the proposed algorithm is tested on well known benchmarks and compared with the existing CSO, modified cockroach swarm optimization (MCSO), roach infestation optimization RIO, and hungry roach infestation optimization (HRIO). The comparison results show clearly that the proposed algorithm outperforms the existing algorithms.

1. Introduction

Swarm intelligence (SI) is a method of computing whereby simple decentralized agents get information by interacting locally with one another and their environment [1]. The local information received is not controlled centrally; local interaction of agents results in amazing and emergent global patterns which can be adopted for solving problems [1].

SI algorithms draw inspiration from insects and animals social behaviour and have been proven in literature to be efficient in solving global optimization problems. Examples of existing SI algorithms include particle swarm optimization (PSO), ant colony optimization (ACO), and bee colony optimization (BCO). PSO based on bird social behaviour, introduced by Kennedy and Eberhart [2], has been applied to several problems, including power and management processes [3, 4] and combinatorial optimization problem in [5]. ACO based on ant social behaviour, introduced by Dorigo [6], has been applied to problems such as vehicle routing problem [7] and network routing problem [8]. BCO based on bees social behaviour, introduced by Pham et al. [9], has been applied to real world problems by Karaboga and his research group [1012].

One of the recent developments in SI is cockroach optimization [1316]. Cockroach belongs to Insecta Blattodea, abodes in warm, dark, and moist shelters, and exhibits habits which include chasing, swarming, dispersing, being ruthless and omnivorous, and food searching. Cockroaches interact with peers and respond to their immediate environment and make decisions based on their interaction such as selecting shelter, searching for food sources and friends, dispersing when danger is noticed, and eating one another when food is scarce.

The original cockroach swarm optimization (CSO) algorithm, introduced by Zhaohui and Haiyan [14], was modified by ZhaoHui with the introduction of inertial weight [15]. CSO algorithms [14, 15] mimic chase swarming, dispersion, and ruthless social behaviour of cockroaches.

Global optimization problems are considered as very hard problems, ever increasing in complexity. It became necessary to design better optimization algorithms; this necessitated the design of a better cockroach algorithm. This paper extends MCSO with the introduction of another social behaviour called hunger behaviour. Hunger behaviour prevents local optimum and enhances diversity of population. An improved cockroach swarm optimization (ICSO) is presented in this paper.

The organization of this paper is as follows: Section 2 presents CSO, MCSO, and ICSO models with algorithmic steps; Section 3 shows the experiments carried out and results obtained; the paper is summarised in Section 4.

2. Cockroach Swarm Optimization

CSO algorithm is a population based global optimization algorithm which has been applied to problems in literature including [1719]. CSO [14] models are given as follows.

(1) Chase-Swarming Behaviour. where is the cockroach position, step is a fixed value, rand is a random number within , is the personal best position, and is the global best position. Consider where perception distance visual is a constant, , . Consider

(2) Dispersion Behaviour. where rand is a -dimensional random vector that can be set within a certain range.

(3) Ruthless Behaviour. where is a random integer within and is the global best position.

2.1. Modified Cockroach Swarm Optimization

ZhaoHui presented a modified cockroach swarm optimization (MCSO) [15] with the introduction of inertial weight to chase swarming component of original CSO as shown below. Other models remain as in original CSO.

Chase-swarming behaviour is as follows: where is an inertial weight which is a constant.

2.2. Improved Cockroach Swarm Optimization

In this paper, MCSO is extended with additional component called hunger behaviour.

2.2.1. Hunger Behaviour

At interval of time, when cockroach is hungry, it migrates from its comfortable shelter and friends company to look for food [13, 20]. Hunger behaviour is modelled using partial differential equation (PDE) migration techniques [21]. Cockroach migrates from its shelter to any available food source within the search space. A threshold hunger is defined, when cockroach is hungry and threshold hunger is reached; it migrates to food source. Hunger behaviour prevents local optimum and enhances diversity of population.

PDE migration equation is described by Kerckhove [21]: with .

Parameter is the controlling speed of the migration. is the population size, is time, and is location or position. is the population size at time in location with being the initial population distribution. Consider

The characteristic equations are

By integration, we have

Consider displacement = speed × time.

In , displaces .

satisfies migration equation at any initial population distribution [21].

Hunger behaviour is modelled as follows:

If where denotes cockroach position, denotes cockroach migration from its present position, is a constant which controls migration speed at time , denotes food location, denotes hunger threshold, and hunger is a random number .

2.2.2. Improved Cockroach Swarm Optimization Models

(1) Chase-Swarming Behaviour. where is an inertial weight which is a constant, step is a fixed value, rand is a random number within , is the personal best position, and is the global best position. Consider where perception distance visual is a constant, , . Consider

(2) Hunger Behaviour. If , where denotes cockroach position, denotes cockroach migration from its present position, is a constant which controls migration speed at time , denotes food location, denotes hunger threshold, and hunger is a random number within .

(3) Dispersion Behaviour. where rand is a -dimensional random vector that can be set within a certain range.

(4) Ruthless Behaviour. where is a random integer within and is the global best position.

The algorithm for ICSO is illustrated in Algorithm 1 and its computational steps given as follows.(1)Initialise cockroach swarm with uniform distributed random numbers and set all parameters with values.(2)Find and using (12) and (13).(3)Perform chase-swarming using (11).(4)Perform hunger behaviour using  (14)(5)Perform dispersion behaviour using  (15).(6)Perform ruthless behaviour using  (16).(7)Repeat the loop until stopping criterion is reached.Series of experiments are conducted in Section 3 using established global optimization problems to test ICSO performance. The performance of ICSO is compared with that of existing algorithms RIO, HRIO, CSO, and MCSO.

INPUT: Fitness function:
set parameters and generate an initial population of cockroach
set  
for     do
      if     then
            
      end if
end for
for     do
      for     do
            for     do
                  if     then
                        
                  end if
            end for
             if     then
                   
             else
                   
             end if
              if     then
                  
            end if
       end for
       if     then
             
             
             Increment counters
       end if
      for     do
            
            if     then
                  
            end if
       end for
       
        ;
end for
Check termination condition

3. Simulation Studies

The speed, accuracy, robustness, stability, and searching capabilities of ICSO are evaluated in this section with 23 benchmark test functions. The test functions were adopted from [2224]; any further information about the test functions can be found in these references. The test functions are of different characteristics such as unimodal , multimodal , separable , and nonseparable . Table 1 of this paper shows the test functions used, whose problem ranges from 2 to 30 in dimension as in [2224].

All algorithms were implemented in MATLAB 7.14 (R2012a) and run on a computer with 2.30 GHz processor with 4.00 GB of RAM. Experimental setting of [1315] is used for the experiments of this paper; experiment runs 20 times with maximum iteration 1000, perception distance , the largest step was , and inertia weight was ; we defined hunger threshold and hunger as a randomly generated number in each iteration for ICSO. Cockroach parameters [13] are used for RIO and HRIO; and , hunger threshold , and hunger as randomly generated number . Cockroach population size is used in this paper for all the algorithms. Further details about RIO, HRIO, CSO, and MSCO can be found in [1315].

ICSO along with similar algorithms, that is, CSO, MSCO, RIO, and HRIO, was implemented with several simulation experiments conducted and reported. Success rate, average and best fitness, standard deviation (STD), and execution time in seconds are used as performance measure for comparative purpose (see Tables 2, 3, and 4 of this paper).

ICSO locates minimum values for the tested benchmark problems such as Bohachevsky, Rastrigin, Easom, Schaffer, Step, and Storn’s Tchebychev problems as shown in Tables 2, 3, and 4. The comparison of the average performance of ICSO with that of RIO, HRIO, CSO, and MCSO is shown in Table 5; the comparison result clearly shows that ICSO outperforms other algorithms. Similarly, the best performance of ICSO with that of RIO, HRIO, CSO, and MCSO is shown in Table 6; ICSO has better performance than others.

ICSO algorithm has consistent performance in each iteration. This is proved by very low standard deviation of the average optimal recoded during experiments. The ICSO average optimal STD is compared with the STD of RIO, HRIO, CSO, and MCSO in Table 7. ICSO has better minimum STD than others.

ICSO locates good solutions in each experiment; this is proved by the success rate of the algorithm. Table 8 shows the comparison of the success rate of the proposed algorithm with the existing algorithms RIO, HRIO, CSO, and MCSO. ICSO has success rate in all test functions except Rosenbrock.

ICSO utilizes minimum time in executing the selected test function. Table 9 shows the comparison of the execution time of ICSO and that of RIO, HRIO, CSO, and MCSO; ICSO is shown to have utilized minimum time.

To determine the significant difference between the performance of the proposed algorithm and the existing algorithms, test statistic of Jonckheere-Terpstra (J-T) test was conducted using the statistical package for the social science (SPSS). The Null hypothesis test for J-T test is that there is no difference among several independent groups. As the usual practice in most literature, value threshold value for hypothesis test was set to 0.05. If value is less than 0.05, the Null is rejected which means there is significant difference between the groups. Otherwise the Null hypothesis is accepted. Table 10 shows the result of J-T test; value (Asymp. Sig.) was computed to be 0.001. The value is less than the threshold value 0.05; therefore, there is significant difference in performance of ICSO and that of RIO, HRIO, CSO, and MCSO for benchmarks evaluated.

Effect size of the significant difference is the measure of the magnitude of the observed effect. The effect size , () of the significant difference of J-T test, was calculated as where is the standard data of J-T statistic as shown in Table 10, is the total number of samples, and . Consider where denotes observed J-T statistic, denotes the mean J-T statistic, and denoted the standard deviation of J-T statistic. Consider

The distance between the observed data and the mean in units of standard deviation is absolute value of ( is negative when observed data is below the mean and positive when above). The effect size is of medium size, using Cohen’s guideline on effect size [25, 26]. The statistics of effect size shows that there is significant difference of medium magnitude between proposed algorithm and existing algorithms.

4. Conclusion

Cockroach swarm optimization algorithm is extended in this paper with a new component called hunger component. Hunger component enhances the algorithm diversity and searching capability. An improved cockroach swarm optimization algorithm is proposed. The efficiency of the proposed algorithm is shown through empirical studies where its performance was compared with that of existing algorithms, that is, CSO, MSCO, RIO, and HRIO. Results show its outstanding performance compared to the existing algorithms. Application of the algorithm to real life problems can be considered in further studies.

Conflict of Interests

The authors declare that there is no conflict of interests regarding the publication of this paper.

Acknowledgment

The authors thank College of Agriculture, Engineering and Science, University of KwaZulu-Natal, for supporting this paper through bursary award.