Research Article  Open Access
Stochastic Constriction Cockroach Swarm Optimization for Multidimensional Space Function Problems
Abstract
The effect of stochastic constriction on cockroach swarm optimization (CSO) algorithm performance was examined in this paper. A stochastic constriction cockroach swarm optimization (SCCSO) algorithm is proposed. A stochastic constriction factor is introduced into CSO algorithm for swarm stability enhancement; control cockroach movement from one position to another while searching for solution to avoid explosion; enhanced local and global searching capabilities. SCCSO performance was tested through simulation studies and its performance on multidimensional functions is compared with that of original CSO, modified cockroach swarm optimization (MCSO), and one of the wellknown global optimization techniques in the literature known as line search restart techniques (LSRS). Standard benchmarks that have been widely used for global optimization problems are considered for evaluating the proposed algorithm. The selected benchmarks were solved up to 3000 dimensions by the proposed algorithm.
1. Introduction
Swarm intelligence (SI) models collective social animal behaviour. Cockroach optimization is a new development under SI paradigm; cockroach optimization algorithms [1–3] are inspired by collective cockroach social behaviour.
Obtaining accurate and efficient optimization algorithms with good speed is the desire of optimization research community. Global optimization algorithms have been improved upon in the literature with different techniques to be able to solve high dimension problems. Examples include an improved particle swarm optimization (IPSO) [4] that was used to evaluate problems with 100 and 150 dimensions; parallel particle swarm approach [5] that solves problems up to 128 dimensions; particle swarm optimization (PSO), genetic algorithm (GA), and line search restart (LSRS) approaches were used in [6] for high dimension problems; PSO, GA, and LSRS performances were compared from 50 to 1000 dimensions; LSRS performs better than PSO and GA. LSRS was tested further for 2000 dimensions [6].
Stochastic constriction is used in this paper to improve the performance of original cockroach swarm optimization algorithm (CSO) [2]. A stochastic constriction cockroach swarm optimization (SCCSO) algorithm is presented. The constriction factor controls cockroach movement and prevents swarm explosion; cockroach is able to exploit local neighbourhood and explore the search space.
The performance of SCCSO is investigated and compared with that of original CSO, modified cockroach swarm optimization (MSCO) [3], and LSRS [6] on high dimension problems for finding the global optimal. LSRS was considered for performance comparison with the proposed algorithm because it has been proved for high dimension in the literature [6].
The selected benchmarks are multimodal and multidimensional problems which are considered as very hard global optimization problems. The global optimization problems of the form: minimize subject to , where is a continuous variable vector with domain and is a continuous realvalued function. Between the upper and lower limits of each dimension, is described. represents global solution, while represents the corresponding function fitness value [7]. The problems are described in Table 1 of this paper.

The effects of stochastic constriction factor on cockroach swarm optimization (CSO) algorithm improve its accuracy, and the algorithm solves multidimensional benchmark problems to 3000 dimensions. The organization of the remaining part of this paper is as follows. Section 2 presents the existing CSO, MCSO, and the proposed SCCSO models; Section 3 presents the simulation studies with the obtained results; Section 4 discusses the results of experiments; and the paper is summarised in Section 5.
2. Cockroach Swarm Optimization
CSO algorithm is a population based global optimization algorithm; it was introduced by ZhaoHui and HaiYan [2] and was modified by ZhaoHui [3] with the introduction of inertial weight. CSO has been applied to problems in the literature [8, 9]. CSO models mimic cockroach behaviours which are chaseswarming, dispersing, and ruthless behaviours. CSO [2] models are given as follows.
(1) Chaseswarming behaviour: where is the cockroach position, step is a fixed value, is a random number within , is the personal best position, and is the global best position.
Consider where visual perception distance is a constant. and
(2) Dispersion behaviour where 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
MCSO [3] extends CSO [2] with the introduction of inertial weight in chaseswarming behaviour as shown below. Other models remain the same as in CSO [2].
Chaseswarming behaviour where is an inertial weight which is a constant.
2.2. Stochastic Constriction Cockroach Swarm Optimization
Constriction factor was introduced by Clerc and Kennedy [10] to prevent swarm explosion in particle swarm optimization (PSO); PSO is one of the existing and popular SI algorithms. They proposed a constriction as where , , is the recognition factor, and is the social factor.
Shi described as a constant which is approximately ; is commonly set to 4.1 [11]. An algorithm with constriction constant 0.729 is equivalent to algorithm of inertia weight 0.729 with [11].
Constriction PSO was experimentally compared with inertia weight PSO [12, 13]; constriction PSO performs better than inertia weight PSO.
Similarly, a constriction factor is considered in this paper to control cockroach movement during swarming process for avoidance of swarm explosion. We use a stochastic constriction factor (SCF) instead of a constant constriction. SCF allows generation of different values as constriction factor in each iteration.
SCF helps to maintain the stability of swarm, enhances local and global search, and improves the speed and convergence of the algorithm. The algorithm utilized little cpu time in seconds to solve multidimensional problems and obtain optimal results. SCF was investigated through simulation studies; experiments and results are presented in Section 3.
The chaseswarming behaviour, (1) of CSO [2] is modified in this paper with the introduction of SCF . randomly takes values between zero and one in each iteration. controls entire cockroach movement, not only cockroach position as with inertial weight of CSO in [3]. Chaseswarming equation now becomes
The algorithmic steps for SCCSO are illustrated in Algorithm 1 and its computational steps are given as follows.(1) Initialise cockroach swarm with uniform distributed random numbers and set all parameters with values.(2) Find and using (2) and (3).(3) Exhibit chaseswarming using (8).(4) Exhibit dispersion behaviour using (4).(5) Exhibit ruthless behaviour using (5).(6) Repeat the loop until stopping criteria is reached.

The performance of the proposed algorithm on wellknown high dimension benchmarks is evaluated in Section 3.
3. Simulation Studies
Experiments were conducted in 2 stages to investigate the speed, accuracy, robustness, stability, and searching capabilities of SCCSO. Its performance is compared with that of existing CSO and MCSO algorithm [2, 3] and LSRS approach [6] for high dimension. Table 1 of this paper shows the considered benchmarks for experiments which was adopted from the literature [2, 3, 6]. These are a set of standard benchmarks that have the diverse characteristics which can cover various global optimization problems. SCCSO, CSO, and MCSO algorithms were implemented in MATLAB 7.14 (R2012a) and run on a system with 2.30 GHz processor with 4.00 GB of RAM.
The numerical results for SCCSO, CSO, and MCSO were obtained after implementing the algorithms in this paper, but the numerical results for LSRS were as reported [6].
Experiment parameters of [2, 3] is used in this paper, perception distance ; the largest step size ; experiments run 20 times with 1000 maximum iteration each; and we use swarm size 50. Global minimum values of each benchmark functions were evaluated in each experiment; best and average performance and standard deviation of the average optimal values were recorded during experiments.
3.1. Stage One Experiments and Results
Investigation was done in this stage on the performance and comparison of the SCCSO, CSO, and MCSO for dimensions 10, 20, 30, and 40. Inertial weight was adopted from [3] for MCSO. Success rate (SRT) and computation time in seconds were recorded during experiments.
SRT of an algorithm is the number of successful runs out of predefined number of runs. A run is considered successful when algorithm finds optimal solution, when the algorithm converges to a good solution and the function value satisfies [14]. is the desired accuracy, is the optimum fitness value, and is the global minimum value. , denotes number of successful runs, and denotes total number of runs [14].
SCCSO and MSCO algorithms have SRT on benchmarks except Levy and Rosenbrock. Table 9 depicts the comparison results of SRT of CSO, MCSO, and SCCSO algorithms; CSO has low SRT for most of the benchmarks.
The computation time for each benchmark in the experiments with CSO, MCSO, and SCCSO is depicted in Table 10; more CPU time is utilized by CSO algorithm than MCSO and SCCSO algorithms in evaluating the benchmarks for dimension 10, 20, 30, and 40. SCCSO utilized minimum time in solving the selected test functions.
The performance of SCCSO, CSO, and MCSO for 10, 20, 30, and 40 dimensions, respectively, is shown in Tables 2, 3, 4, and 5 of this paper. Comparison of best performance depicted in Table 6 clearly shows that SCCSO performs better than CSO and MCSO. Table 7 gives a comparison of average performance of SCCSO, CSO, and MCSO; SCCSO algorithm performs better than others. Similarly, the comparison results of standard deviation of the average optimal shown in Table 8 reveal that SCCSO has better standard deviation than others. Bold values indicated better minimum optimal values, and “—” in Tables 7 and 8 indicated no good optimal value.
 
STD denotes standard deviation. Time denotes execution time in seconds. 
 
STD denotes standard deviation. Time denotes execution time in seconds. 
