Abstract
This paper introduces a hybrid method that uses Firefly Algorithm (FA) and Linde-Buzo-Gray (LBG) algorithm to Channel-Optimized Vector Quantization (COVQ) codebook design. Fast nearest neighbor search (NNS) techniques are used with the purpose of execution time savings of the proposed COVQ codebook design. Simulation results concerning image transmission over a binary symmetric channel (BSC) reveal the superiority of the proposed swarm intelligence technique, referred to as FA-COVQ, over conventional COVQ codebook design method. Simulation results also reveal that the adoption of acceleration techniques in FA-COVQ codebook design can lead to execution time savings up to about 97% when compared to the FA-COVQ with brute force approach.
Keywords
Introduction
Communication systems are crucial to the society development due to their importance to a plethora of services and applications, such as medical services, bank operations and data transmission. A huge amount of information as image, voice and video are processed and transmitted every day. In this scenario, compression techniques play an important role, since their purpose is to reduce the number of bits used in signal representation, aiming to decrease memory and/or bandwidth requirements.
Vector Quantization (VQ) [22, 23] can lead to high compression rates and has been widely used in image compression, e.g. [42]. VQ is also used in other applications, such as safety monitoring systems [45], medical image processing [27, 28], information security (such as steganography and digital watermarking) [10, 33] and classification tasks [43]. However, VQ is highly sensitive to channel noise. In the case of VQ for image transmission, channel noise can generate artifacts that visually compromise the quality of the reconstructed images [37]. The Channel-Optimized Vector Quantization (COVQ) is a technique that aims to minimize the effect of the noise in the reconstructed signal. In this context, COVQ uses a codebook which is designed by a clustering algorithm to be more robust to channel errors by using information from both source and transmission channel [18].
Bio-inspired computing is a field where computational algorithms are developed based on natural processes or social behaviors [60]. Applications of bio-inspired algorithms include a wide variety of scenarios, such as image processing using machine learning [2], finite element model updatings [9, 52] and forecasting in Civil Engineering [12].
In optimization problems, such as Vector Quantization codebook design, bio-inspired techniques have been used. Examples of applications of bio-inspired algorithms to COVQ include Fuzzy logic [29], GA (Genetic Algorithm) [30] and PSO (Particle Swarm Optimization) [37]. Optimization problems often require non-biased techniques to find a proper solution. Swarm algorithms are a good choice to these cases [56] and have been used in image processing applications [4, 3, 41] and in clustering problems [13, 51, 55].
This paper introduces the application of the Firefly Algorithm (FA), a bio-inspired computing method [21, 58, 59], to design codebooks for image transmission over a noisy channel. The proposed method, called FA-COVQ codebook design, is a hybrid approach that uses FA and LBG (Linde-Buzo-Gray) [39] algorithms and aims to reduce the average distortion between the designed codebook and the training set and therefore improve the quality of reconstructed images when compared to conventional COVQ codebook design.
Previous published works regarding the combination of swarm techniques with the LBG algorithm use the methods separately, in the scenario of conventional VQ (that is, VQ codebook design assuming a noiseless channel), such as the Particle Swarm Optimization (PSO) in 2005 [11] and in 2007 [38], Artificial Bee Colony (ABC) [25], Bacterial Foraging Particle Swarm Optimization (BFPSO) [19], Honey-Bee Mating Optimization (HBMO) [24] in 2011 and Firefly Algorithm (FA) [26] in 2012. In 2013, Ping-Yi et al. [46] developed an enhancement to PSO-LBG modifying the particles initialization method and Tsai et al. [54] presented a method for speeding up Ant Colony Optimization (ACO) to solve the codebook design problem. In 2016, Karri and Jena [32] proposed the BA-LBG where a codebook designed by the LBG algorithm is used as one of the bats of the Bat Algorithm (BA). In the scenario of hybrid optimization by memetic computing [35], spatially distributed memetic algorithms can be applied to vector quantizer design [5].
In the present paper, the proposed method, FA-COVQ, is a hybrid algorithm using FA and COVQ LBG. The purpose is to take advantage of using bio-inspired computation approach to optimization problems by attempting to avoid trapping to local minima. Also, the use of LBG algorithm attempts to satisfy the nearest neighbor condition for partition and centroid condition for codevectors [22].
A variety of swarm intelligence methods should be considered for the application addressed in this work: ant colony optimization (ACO) [14], particle swarm optimization (PSO) [15, 16], bat algorithm (BA) [57], fish school search (FSS) [7] and firefly algorithm (FA) [60]. A discussion concerning the choice of one out of the four aforementioned methods follows:
The optimization problem under consideration (i.e., COVQ codebook design) is modeled in the present work in such manner that a swarm clustering method could be applied, jointly with the LBG algorithm. In this sense, the modeling under consideration does not involve the use of graphs – that is the reason why ACO was not chosen for the application addressed in the present work. Although COVQ codebook design can be carried out by PSO, it is important to point out that PSO is a more adequate alternative when precision is an important issue in the optimization problem. This is not the case in the scenario of COVQ codebook design for image transmission – one should observe that the digital transmission under consideration involves grayscale images with 8.0 bits per pixel, a representation with 256 different intensities, which corresponds to 256 integers ranging from 0 to 255. Additionally, PSO has a high exploitation capacity and consequently it may quickly lose diversity in its canonic version. The BA is as meta-heuristic algorithm introduced by Yang in 2010 [57], based on the echolocation feature of micro bats. According to [32], intensification (local search) and diversification (global search) are attained respectively with pulse rate and loudness parameters of BA. In this sense, it is possible that BA requires a high number of iterations for large codebook sizes. Additionally, according to [31], most of the application of BA is in the continuous problem domain, and the algorithm is especially suitable for complex high-dimensional problems where convergence often is a challenge. According to [57], fine adjustment of BA parameters can affect the convergence of the bat algorithm. Among the two remaining candidates, it is worth mentioning the knowledge of success is not based on “marking” the search space (as occurs in ACO) nor is associated to positions of particles in the search space (as occurs in PSO). Precisely, in FA and FSS the aforementioned knowledge occurs in an indirect manner – by means of brightness in FA and by means of a mechanism of increasing/decreasing fish weights and expanding/contracting the school radius in FSS. Particularly, FSS has the capacity of generating diversity in a controlled manner, by using the aforementioned mechanisms, but it is not straightforward that it has a neighborhood attraction effect that is tuned to the problem under study. The brightness attraction mechanism of FA points out this algorithm as a good candidate for COVQ codebook design. The fact that FA has a good neighborhood attraction effect points out this technique as an appropriate one for the optimization problem under consideration, which involves clustering. It is worth mentioning that, according to [31], a positive aspect of FA is its ability to be used with other algorithms (hybrid approaches) to improve outcome, and this algorithm can provide a good balance of exploration and exploitation. This issue has a good consequence in terms of computational complexity.
The inclusion of transmission channel characteristics and bio-inspired techniques increases the computational complexity of the codebook design when compared to conventional VQ codebook design. This paper introduces an alternative to enhance the performance of the FA-COVQ codebook design in terms of execution time. Due to the large amount of arithmetic and logic operations involved in the partitioning step, which is carried out mapping training vectors to their corresponding codevectors, this is the step with highest computational complexity in codebook design. An alternative is presented in the present work to speed up COVQ codebook design. It consists in the accommodation of efficient nearest neighbor search (NNS) techniques in the partitioning step of COVQ codebook design. It is important to emphasize that the original application of those NNS techniques was introduced in the literature in another scenario, more precisely, for speeding up the encoding phase of VQ. Considerations in terms of how some pre-calculus operations must be executed are introduced in the aforementioned techniques so that they work properly in the new scenario of FA-COVQ codebook design.
There is no previous work in the literature concerning the application of the firefly algorithm for Channel-Optimized Vector Quantization (COVQ) codebook design, that is, taking into account that the channel is noisy, and particularly incorporating a simple but effective strategy (i.e., the use of efficient nearest neighbor search in the partitioning step of the algorithm) to speed up the execution time. It is worth mentioning that in the work of Horng [26], the codebook is designed assuming a noiseless channel (conventional vector quantization). It is important no emphasize that COVQ codebook design is a more challenging optimization problem when compared to conventional VQ codebook design. Thus, in the present paper, the application of the firefly algorithm differs from the one addressed by Horng. Additionally, the way firefly is used differs from the approach of Horng – indeed, in the present paper, a hybrid approach is used, as an attempt to take into account the potentials of firefly and Linde-Buzo-Gray (LBG) algorithms. In the present work, the COVQ codebook design is carried out at the light of a “proactive joint work” of algorithms LBG and firefly. In the optimization task, both algorithms are used. In the work of Horng, the only role of the LBG algorithm is to generate an initial codebook for the firefly algorithm, which uses other randomly generated initial codebooks. Since the proposed approach involves the use of a population of fireflies, each one representing a COVQ codebook, nearest neighbor search (NNS) methods are used for alleviating the computational complexity of the method. In this sense, other novelty of the paper is the application of NNS in this scenario. Precisely, NNS methods are used with the purpose of arithmetic and logic operations savings in the clustering phase of the proposed method.
The remaining of this paper is organized as follows: Section 2 presents the principles of Vector Quantization and Section 3 is devoted to conventional COVQ. Section 4 describes the Firefly Algorithm, Section 5 presents the FA-COVQ codebook design and methods to accelerate the codebook design are described in Section 6. Simulation results are presented in Section 7. Conclusions are presented in Section 8.
Vector Quantization is a signal compression method that allows high compression rates. In image VQ, the original image is split in non-overlapping blocks of pixels. Figure 1 shows an example of a block of
Block of 4 
A concise block diagram of an image compression system based on VQ.
In the encoding phase of VQ, each input vector is compared to a list of vectors, called codevectors. The objective of this comparison is to find the nearest neighbor, that is, the codevector closest to the input vector considering some distance measure. The set of codevectors is called codebook. For each input vector, the closest codevector is determined and its index is transmitted over a channel or stored in some storage device. In this way, instead of transmitting or storing a multi-dimensional vector, an index is transmitted or stored.
In the decoding phase, the opposite process is performed. To properly reconstruct a vector, the system must have previously stored a copy of the codebook used at the encoding phase. In a table lookup procedure, each index is used to find the corresponding codevector in the codebook. So, VQ is a lossy compression method. Figure 2 shows the encoding and decoding phases in a concise block diagram.
Mathematically, VQ can be expressed as a mapping
in which the codebook
The mapping
The codevector
A usual distance measure is the squared Euclidean distance, given by
where
The quality of reconstructed images compressed by a VQ-based system is highly dependent on the quality of the codebook. Thus, an important issue of VQ is the codebook design. Given a training set of input vectors and the size
Among several methods, the LBG (Linde-Buzo-Gray) algorithm [39] or K-means algorithm outstands due to its vast use on literature. Given
Initialization – the codevectors in the codebook Partitioning – the training vectors are mapped in Average distortion computation – the average distortion of the current iteration is calculated as
where Stopping criterion – the stopping criterion is defined by
If the stopping criterion is satisfied, the algorithm is terminated. Otherwise, it goes to Step 5; Codebook update – the codevectors (centroids) are updated according to
where
When a channel error occurs, the codevector index received by the decoder differs from the one that was sent by the encoder. As a consequence, the codevector used to reconstruct the signal will be no more the closest one to the input vector. When the signal is an image, the errors that occur in the transmission channel lead to blocking artifacts that compromise the visual quality of the quantized images [17].
In general, VQ schemes aiming to increase the robustness against the effects of channel noise can be classified in two categories: Robust Vector Quantization (RVQ) [17] and Channel-Optimized Vector Quantization (COVQ) [18]. In RVQ schemes, the codebooks are designed assuming a noiseless channel and then, by means of some Index Assignment algorithm [34, 61], the codebook is organized (e.g., the codevectors are ordered) to be more robust to channel errors. On the other hand, COVQ schemes address the channel noise problem by incorporating previously known information about the channel in the codebook design. So, COVQ-based systems are developed to a specific channel, such as the Binary Symmetric Channel (BSC) or the Binary Erasure Channel (BEC). The present paper considers a COVQ scheme to a BSC, that is a discrete memoryless channel, for a variety of bit error rates.
Let
In COVQ codebook design, to measure the distance between a training vector
The bit error rate of the channel is known before designing the codebook. The index transition-probability matrix is
Since the channel used is the BSC, the bit error rate (
Scheme of a binary symmetric channel.
The Firefly Algorithm (FA) was developed by Yang in 2008 at Cambridge University [60]. It uses the concept of bioluminescence effect to find solutions in optimization problems. The FA is based on the following three rules:
The fireflies do not have gender, so any firefly can attract or be attracted; The attractiveness is proportional to the emitted brightness, so a less bright firefly moves toward a brighter one. In the particular case of a firefly that does not have any brighter firefly to follow, it moves randomly; The brightness emitted by a firefly is determined by evaluating the objective function; the better is the evaluation, the brighter is the firefly.
There are two important elements in the FA that simulate natural phenomena: the light intensity variation and the attractiveness formulation. For the sake of simplicity, the attractiveness of a firefly is a function of its brightness. The attractiveness varies with the distance between the fireflies. It occurs because the light intensity decreases when the distance between them increases and the light may be absorbed by the environment.
Let
in which
where
Flowchart of Firefly Algorithm.
The stopping criterion strongly depends on the problem to be solved. In classic maximum/minimum optimization problems, usual criteria are the number of iterations and the amount of times that the objective function is calculated.
The FA-COVQ uses the Firefly Algorithm embedded to the codebook design phase. The target is to take advantage of the multiple possible solutions of the FA to generate a better codebook in terms of the achievement of a minimum distortion. In this work, conventional COVQ codebook design is the name in literature used to the COVQ codebook design considered in [17].
The implementation of the FA-COVQ considers that each firefly represents one codebook. So, assuming the use of
Initialization – initially Partitioning 1 – for each firefly,
Average distortion computation – the average distortion
where Brightest firefly selection – the brightness of each firefly is calculated with respect to its average distortion computed in Step 3. The brightest firefly is the current candidate to be the FA-COVQ solution. The brightness intensity of a firefly is given by the inverse of the corresponding average distortion, that is, the smaller is the average distortion, the brighter is the firefly.
Stopping criterion – the stopping criterion depends on the average distortion of the brightest firefly’s corresponding codebook, that is, of the best one, given by
If it is satisfied, the algorithm is terminated and the brightest firefly found in Step 4 is returned as the solution. Otherwise, the algorithm goes to Step 6; Firefly algorithm update 1 – each firefly (with the exception of the brightest one) is attracted by a brighter one according to Eqs (12) and (13); Firefly algorithm update 2 – the brightest firefly moves randomly according to
Partitioning 2 – the Codebook update – for each firefly, the codevectors are updated according to Eq. (10) and return to Step 2.
Notice that the partitioning step is performed twice (Steps 2 and 8) for each iteration in FA-COVQ while the conventional COVQ algorithm performs it just once for each iteration (Step 2). This is necessary to update the partitions with the influence of the firefly steps. Otherwise, the codebook update Step 9 would override the modifications incorporated by the firefly algorithm. Figure 5 shows the flowchart of FA-COVQ algorithm.
Flowchart of FA-COVQ algorithm.
The swarm COVQ codebook design algorithm itself has a higher computational complexity when compared to the non-swarm version of the algorithm due to the multiple particles used. The fact that the partitioning step is executed twice for every particle also leads to a higher complexity when compared to conventional COVQ. This motivates the search for techniques to accelerate the codebook design algorithm, as proposed in Section 6.
Channel-Optimized Vector Quantization codebook design has a high computational cost due to the amount of logic and arithmetic operations performed at each iteration. The partitioning is the most complex step of COVQ codebook design. In this step, the conventional COVQ codebook design scheme performs
In this work, alternatives are presented for the purpose of execution time savings of the swarm based COVQ codebook design. Precisely, in the present work efficient nearest neighbor search techniques (originally proposed in the literature to speed up the encoding phase of VQ) are accommodated in the partitioning steps of FA-COVQ codebook design.
Efficient nearest neighbor search techniques
Alternatives to reduce the computational cost, in general, involve eliminating codevectors from the search for the nearest neighbor. Thus, elimination criteria are included to prevent the partial or complete calculation of the squared Euclidean distance. The application of those criteria involves an additional set of operations carried out to determine, for instance, the average and norm of vectors. For some techniques, extra memory storage is also needed during algorithm execution. In this section the following techniques are addressed: Partial Distance Search (PDS) [8], Equal-average Nearest Neighbor Search (ENNS) [50], Improved Equal-average Neighbor Search (IENNS) [44], Equal-average Equal-variance Nearest Neighbor Search (EENNS) [36], Improved Equal-average Equal-variance Nearest Neighbor Search (IEENNS) [6], Equal-average Equal-variance Equal-norm Nearest Neighbor Search (EEENNS) [40].
Bei and Gray introduced the algorithm PDS as a modification to the encoding stage of Vector Quantization. This method avoids to perform the squared difference between every component of two vectors by checking if the partial distance is greater than the smallest distance found so far. Initially, the first distance calculation is performed completely according to Eq. (5). Then, for the next codevectors, for each component, it is checked whether the partial distance is greater than the smallest distance found. If that is true, there is no need to continue the calculation and the algorithm can proceed to the next codevector. Thus, it is possible to reduce the number of multiplications, additions and subtractions at the price of increasing the number of comparisons [8].
The rest of the algorithms in this paper uses average, standard deviation, norm or a combination of them to reduce the number of squared Euclidean distance calculations. The ENNS algorithm takes into account the fact that close vectors have close component averages, that is, the average of the components. Thus, the average of the closest codevector is usually close to the corresponding training vector average. Based on this premise, an elimination criterion is established. Let
then
The IENNS algorithm can be seen as an improvement of the ENNS algorithm. In the IENNS technique, the vectors are split into two equal-sized sub-vectors. Let
is satisfied, then the codevector
Set of images of 256 
The remaining algorithms, EENNS, IEENNS and EEENNS, follow the same ENNS structure and include new criteria to eliminate more codevectors. Besides the relation between the vectors averages, the EENNS creates a new criterion based on the relation between the standard deviation of the vectors. The standard deviation of a
where
Thus,
Such as EENNS technique, the IEENNS also uses the average and standard deviation based inequalities to eliminate codevectors. The difference is that the latter one uses both simultaneously. So, the inequality introduced by IEENNS is given by
The IEENNS is performed in two steps. The first one is the criterion based on the vectors average defined in Eq. (19). Then the criterion based on Eq. (23) is applied and only after, if necessary, the PDS algorithm is used. For the IEENNS it is enough to calculate and store previously the same number of values that EENNS, since IEENNS uses no additional information.
The EEENNS algorithm also takes advantage of the closeness relation with respect to the average and standard deviation of the vectors, but includes a new one based on the vectors norm, defined by
Let
This criterion is applied after the second criterion of the EENNS algorithm, based on standard deviation. It is important to mention that
In the encoding phase, the pre-calculated data of the codevectors are used only for querying and need to be computed and stored only once for future reference. However, it is also necessary at each encoding process to perform the pre-calculation with respect to the
In FA-COVQ, the pre-calculations concerning the training vectors should be performed before Step 1 (Initialization). Concerning the codevectors, at each iteration they must be sorted in ascending order and the pre-calculus should be performed before Step 2 (Partitioning 1) and Step 8 (Partitioning 2).
Mean values and standard deviations of final average distortion (
Simulation results are presented for images Lena, Boat and Clock, 256
results achieved by different codebook design methods after transmission over a BSC for
0.005 and
0.010. The highest values for each combination of
,
and image are in bold
The codebooks were designed with sizes (
The FA-COVQ algorithm is compared with the conventional COVQ and two other hybrid methods: an algorithm based on Fish School Search (FSS), called FSS-COVQ [20], and an algorithm based on Particle Swarm Optimization, called PSO-COVQ [37]. The parameter values
The robustness of the codebooks is measured by using the Peak Signal-to-Noise Ratio (PSNR) of the corresponding reconstructed images after transmission over the noisy channel. In other words, more robust codebooks lead to reconstructed images with better quality, that is, with higher values of PSNR.
The mean values and standard deviations of the final average distortions
In this work,
Considering the hybrid techniques (FA-COVQ, FSS-COVQ and PSO-COVQ), in general, FSS-COVQ codebooks led to reconstructed images with more quality in terms of PSNR, as presented in Fig. 7. In 41.66% of simulations, the
Percentage of times that each codebook design method outperforms the others in terms of 
Figure 8 shows the images Lena and Clock reconstructed after transmission over a BSC with bit error rate 0.005 and a slice zoomed. Codebooks were designed by conventional COVQ and FA-COVQ for size
Reconstructed images after transmission over a BSC, bit error rate 0.005, codebooks designed with size 
In Fig. 9, reconstructed Lena and Clock images are presented after transmission over a binary symmetric channel with bit error rate 0.010. Codebooks were designed by conventional COVQ and FA-COVQ for size
Reconstructed images after transmission over a BSC, bit error rate 0.010, codebooks designed with size 
Results of the non-parametric Wilcoxon test are presented in Table 4 considering the PSNR of reconstructed images using the conventional COVQ and FA-COVQ. The confidence level was set to 95%. It is worth to note that the data set of PSNR values obtained by the reconstructed images using codebooks designed by FA-COVQ method presents a statistically significant superiority in most cases. It is worth to note that, considering bit error rates 0.005 and 0.010, FA-COVQ outperforms conventional COVQ in all cases. For higher bit error rates (e.g.,
Non-parametric Wilcoxon test for two data sets of PSNR values of reconstructed images by conventional COVQ and FA-COVQ with a confidence level of 95%. A black triangle (
FA-COVQ codebook design execution time (in minutes) considering 7 NNS techniques. For each combination of
Figure 10 shows the average distortion achieved by a set of 10 codebooks designed with size
Average distortion for each iteration of FA-COVQ and conventional COVQ codebook design algorithm with 
Codebook design execution time for FA-COVQ, FSS-COVQ and PSO-COVQ with IEENNS considering
Codebook design execution time for FA-COVQ, FSS-COVQ and PS-COVQ with IEENNS considering
Table 5 shows the results for all NNS techniques presented in this paper applied to FA-COVQ codebook design: full search (FS), PDS, ENNS, IENNS, EENNS, IEENNS and EEENNS. In general, IEENNS showed better results in terms of execution time savings when used in the partitioning steps of FA-COVQ codebook design. For Lena, time savings up to 95.89% was achieved with respect to FS, decreasing the codebook design from 293.65 minutes to 12.06 minutes, for
Regarding the efficient nearest neighbor search (NNS) techniques presented previously, the one who led to more time savings was IEENNS. As presented in Fig. 11, considering all hybrid methods presented in this paper (FA-COVQ, FSS-COVQ and PSO-COVQ), IEENNS led the highest time savings in 95% of simulations. It was possible to achieve codebook design execution time savings up to 96.63%. It was achieved for Clock, using FA-COVQ codebook design with
Percentage of times that each NNS technique outperforms the others in terms of execution time savings.
Percentage of times that each hybrid codebook design method, using IEENNS, showed better results in terms of execution time.
In Tables 6 and 7, the execution time in minutes are presented for FA-COVQ, FSS-COVQ and PSO-COVQ using IEENNS as NNS technique. In most of simulations, the FA-COVQ method allows faster codebook design. For example, considering Lena image,
This work presents an alternative to conventional Channel-Optimized Vector Quantization (COVQ) codebook design based on bio-inspired swarm intelligence computation. A hybrid method based on the Firefly Algorithm (FA) is proposed to COVQ codebook design, called FA-COVQ. This approach aims to reduce the final average distortion of the codebooks designed as an attempt to minimize the effects of channel noise in the quality of reconstructed images. Additionally, alternatives to accelerate FA-COVQ codebook design are presented, which consist on including efficient nearest neighbor search (NNS) techniques in the partitioning steps of FA-COVQ codebook design. It is worth to mention that the original application of these acceleration techniques in the literature is in the encoding phase of Vector Quantization.
The proposed method differs from other FA-based codebook design techniques in terms of how the swarm algorithm is used with the LBG algorithm. Previously published works use the LBG algorithm to generate a codebook that is used as one of the particles (or fireflies in the case of the Firefly Algorithm). In this paper, the Firefly Algorithm is embedded to the LBG iterations taking advantage of using bio-inspired computation approach to optimization problem by attempting to avoid trapping to local minima and LBG algorithm in attempting to satisfy the nearest neighbor conditions for partition and centroid condition for codevectors.
Future works may consider other swarm algorithms like the Honey-Bee Mating Algorithm [1] applied to COVQ codebook design. Future works also include the use of other fast NNS techniques to be incorporated to COVQ codebook design as well as the use of swarm algorithms for COVQ codebook design with the purpose of image transmission over different channels, such as Rayleigh, Rician and Nakagami fading channels [47, 48, 49, 53].
Footnotes
Acknowledgments
The authors would like to thank CNPq and FACEPE for the financial support. The authors also would like to thank the anonymous reviewers for their valuable comments and suggestions to improve the quality of the paper. The authors would like to express their gratitude to Prof. Carmelo J.A. Bastos Filho, for his relevant comments and proficient discussions about swarm intelligence algorithms.
