Mathematical Problems in Engineering

Mathematical Problems in Engineering / 2016 / Article

Research Article | Open Access

Volume 2016 |Article ID 6519678 | 19 pages | https://doi.org/10.1155/2016/6519678

A Chaos-Enhanced Particle Swarm Optimization with Adaptive Parameters and Its Application in Maximum Power Point Tracking

Academic Editor: Zhen-Lai Han
Received11 Apr 2016
Accepted05 Jul 2016
Published16 Aug 2016

Abstract

This work proposes an enhanced particle swarm optimization scheme that improves upon the performance of the standard particle swarm optimization algorithm. The proposed algorithm is based on chaos search to solve the problems of stagnation, which is the problem of being trapped in a local optimum and with the risk of premature convergence. Type constriction is incorporated to help strengthen the stability and quality of convergence, and adaptive learning coefficients are utilized to intensify the exploitation and exploration search characteristics of the algorithm. Several well known benchmark functions are operated to verify the effectiveness of the proposed method. The test performance of the proposed method is compared with those of other popular population-based algorithms in the literature. Simulation results clearly demonstrate that the proposed method exhibits faster convergence, escapes local minima, and avoids premature convergence and stagnation in a high-dimensional problem space. The validity of the proposed PSO algorithm is demonstrated using a fuzzy logic-based maximum power point tracking control model for a standalone solar photovoltaic system.

1. Introduction

Swarm intelligence is becoming one of the hottest areas of research in the field of computational intelligence especially with regard to self-organizing and decentralized systems. Swarm intelligence simulates the behavior of human and animal populations. Several swarm intelligence optimization algorithms can be found in the literature, such as ant colony optimization, artificial bee colony optimization, the firefly algorithm, differential evolution, and others. These are biologically inspired optimization and computational techniques that are based on the social behaviors of fish, birds, and humans. Particle swarm optimization (PSO) is a nature-inspired algorithm that draws on the behavior of flocking birds, social interactions among humans, and the schooling of fish. In fish schooling, bird flocking, and human social interactions, the population is called a swarm and candidate solutions, corresponding to the individuals or members in the swarm, are called particles. Birds and fishes generally travel in a group without collision. Accordingly, using the group information for finding the shelter and food, each particle adjusts its corresponding position and velocity, representing a candidate solution. The position of a particle is influenced by neighbors and the best found solution by any particle. PSO is a population-based search technique that involves stochastic evolutionary optimization. It is originally developed in 1995 by Eberhart and Kennedy [1, 2] to optimize constrained and unconstrained, continuous nonlinear, and nondifferentiable multimodal functions [1, 3]. PSO is a metaheuristic algorithm that was inspired by the collaborative or swarming behavior of biological populations [4]. Since then, it has been applied to solve a wide range of optimization problems, such as constrained and unconstrained problems, multiobjective problems, problems with multiple solutions, and optimization in dynamic environments [58]. Some of the advantages of particle swarm optimization are the following: (a) computational efficiency [6], (b) effective convergence and parameter selection [7], (c) simplicity, flexibility, robustness, and ease of implementations [9], (d) ability to hybridize with other algorithms [10], and many others. PSO has few parameters to adjust and a small memory requirement and uses few CPU resources, making it computationally efficient. Unlike simulated annealing which can work only with discrete variables, PSO can work for both discrete and analog variables without ADC or DAC conversion. Also, genetic algorithm optimization requires crossover, selection, and mutation operators, whereas PSO utilizes only the exchange of information among individuals searching the problem space repeatedly [11]. In recent years, the use of particle swarm optimization has been investigated with focus on its use to solve a wide range of scientific and engineering problems such as fault detection [12], parameter identification [13, 14], power systems [1517], transportation [18], electronic circuit design [19], and plant control design [20]. Most relevant research focuses on either constrained or unconstrained optimization problems.

The particle swarm optimization was developed to optimally search for the local best and the global best; these searches are frequently known as the exploitation and exploration of the problem space, respectively. Hong et al. [21] stated that exploitation involves an intense search of particles in a local region while exploration is a long term search, whose main objective is to find the global optimum of the fitness function. Although particle swarm optimization rapidly searches the solution of many complex optimization problems, it suffers from premature convergence, trapping at a local minimum, the slowing down of convergence near the global optimum, and stagnation in a particular region of the problem space especially in a multimodal functions and high-dimensional problem space. If a particle is located at the position of the global best and the preceding velocity and weight inertia are non-zero, then the particle is moving away from that particular point [16, 22]. Premature convergence happens if no particle moves and the previous velocities are near to zero. Stagnation thus occurs if the majority of particles are concentrated at the best position that is disclosed by the neighbors or the swarm. This fact has in recent years motivated various investigations by several researchers on variants of the particle swarm optimization, in an attempt to improve the performance of exploitation and exploration and to eliminate the aforementioned problems. The various methods of particle swarm optimization have been used for several purposes, including scheduling, classification, feature selection, and optimization.

Mendes et al. [23] presented fully informed particle swarm optimization, in which, during the optimization search, particles are influenced by the best particles in their neighborhood and information is evenly distributed during the generations of the algorithm. Liang et al. [24] proposed a comprehensive learning PSO in which each particle learns from the other neighborhood personal best at different dimensions. Accordingly, particles update their velocity based on the history of the their own personal bests. Wang et al. [25, 26] developed the opposition-based PSO with Cauchy mutation. Their technique uses an opposition learning scheme in which the Cauchy mutation operator helps the particles move to the best positions. Pant et al. [27] modified the inertia weight to exhibit a Gaussian distribution. Xiang et al. [28] applied the time delay concept PSO to enable the processing of information by particles to find the global best. Cui et al. [29] presented the fitness uniform selection strategy (FUSS) and the random walk strategy (RWS) to enhance the exploitation and exploration capabilities of PSO. Montes de Oca et al. [30] developed Frankenstein’s PSO, which incorporates several variants of PSO in the literature such as constriction [31], the time-varying inertia weight optimizer [32, 33], the fully informed particle swarm optimizer [23], and the adaptive hierarchical PSO [34]. The adaptive PSO that was proposed by Zhan et al. [35] utilized the information that was obtained from the population distribution and fitness of particles to determine the status of the swarm and an elitist learning strategy to search for the global optimum. Juang et al. [36] presented the use of fuzzy set theory to tune automatically the acceleration coefficients in the standard PSO. A quadratic interpolation and crossover operator is also incorporated to improve the global search ability. The literature includes hybridization of particle swarm optimization with other stochastic or evolutionary techniques [10, 3739] to realize all of their strengths.

Every modification of the particle swarm optimization uses a different method to solve optimization problems. The investigations cited above therefore elucidate some improvements of the standard particle swarm optimization. However, variants of particle swarm optimization generally exhibit the following limitations. (a) The particles may be positioned in a region that has a lower quality index than previously, leading to a risk of premature convergence, trapping in local optima, and the impossibility of further improvement of the best positions of the particles because the inertia weight, cognitive factors, and social learning factors in the algorithm are not adaptive or self-organizing. (b) The inclusion of the mutation operator may improve the speed of convergence. Nevertheless, global convergence is not guaranteed because the method is likely to become trapped in the local optimum during local searches of several functions. (c) The probability in the algorithm may improve the updated positions of particles. However, the changes in the new positions of particles, consistent with the probabilistic calculations, can move the particles into the worst positions. (d) Improving information sharing and the particle learning process capability of the algorithm can provide several benefits, but doing so often increases CPU times for computing the global optimum. (e) Integrating particle swarm optimization with other evolutionary or stochastic algorithms may increase the number of required generations, the complexity of the algorithm, and the number of required calculations.

This paper proposes a novel particle swarm optimization framework. The primary merits of the proposed variant of particle swarm optimization are as follows. (a) A modified sine chaos inertia weight operator is introduced, overcoming the drawback of trapping in a local minimum which is commonly associated with an inertia weight operator. Chaos search improves the best positions of the particles, favors rapid finding of solutions in the problem space, and avoids the risk of premature convergence. (b) Type 1′′ constriction coefficient [40] is incorporated to increase the convergence rate and stability of the particle swarm optimization. (c) Self-organizing, adaptive cognitive, and social learning coefficients [41] are integrated to improve the exploitation and exploration search of the particle swarm optimization algorithm. (d) The proposed optimization algorithm has simple structure reducing the required memory demands and the computational burden on the CPU. It can therefore easily be realized using a few, low-cost test modules.

The remainder of this paper is organized as follows. Section 2 presents the standard particle swarm optimization algorithm. Section 3 describes the proposed variant of particle swarm optimization algorithm. Section 4 discusses the performance of the proposed variant of the particle swarm optimization and compares results obtained when well known optimization methods are applied to benchmark functions. The proposed variant of particle swarm optimization is further utilized in maximum power point tracking control using fuzzy logic for a standalone photovoltaic system. Finally, a brief conclusion is drawn.

2. Standard Particle Swarm Optimization

The particle swarm optimization is a simulating algorithm, evolutionary, and a population-based stochastic optimization method that originates in animal behaviors such as the schooling of fish and the flocking of bird, as well as human behaviors. It has best position memory of all optimization methods and a few adjustable parameters and is easy to implement. The standard PSO does not use the gradient of an objective function and mutation [11]. Each particle randomly moves throughout the problem space, updating its position and velocity with the best values. Each particle represents a candidate solution to the problem and searches for the local or global optimum. Every particle retains a memory of the best position achieved so far, and it travels through the problem space adaptively. The personal best () is the best solution so far achieved by an individual in the swarm within the problem space while the global best () refers to globally obtained best solution by any particle within the swarm in the problem space dimension . The position and velocity of particle in the problem space dimension are thus given by and , respectively. The velocity and position of a particle are adjusted as follows [1, 2]:where the superscript is the generation index, whereas and are cognitive and social parameters, which are frequently known as acceleration constants and which are mainly responsible for attracting the particles toward and . The terms , , and denote uniform random numbers and inertia weight , respectively. These factors are mainly responsible for balancing the local and global optima search capabilities of the particles in problem space. Every generation, the velocity of individuals in the swarm is computed and which adjusted velocity is used to compute the next position of the particle. To determine whether the best solution is achieved and to evaluate the performance of each particle, the fitness function is included. The best position of each particle is relayed to all particles in the neighborhood. The velocity and the position of each particle are repeatedly adjusted until the halting criteria are satisfied or convergence is obtained.

3. Chaos-Enhanced Particle Swarm Optimization with Adaptive Parameters

This section demonstrates that the proposed variant of particle swarm optimization improves upon the performance of the standard particle swarm optimization consistent with (1). The novel scheme improves upon the performance of other population-based algorithms in solving high-dimensional or multimodal problems. Chaos operates in a nonlinear fashion and is associated with complex behavior, unpredictability, determinism, and high sensitivity to initial conditions. In chaos, a small perturbation in the initial conditions can produce dramatically different results [42, 43]. In 1963, Lorenz [44] presented an autonomous nonlinear differential equation that generated the first chaotic system. In recent years, the scientific community has paid increasing attention to the chaotic systems and their applications in various areas of science and engineering. Such systems have been investigated in such fields as parameter identifications [14], optimizations [45], electronic circuits [46], electric motor drives [47, 48], power electronics [49], communications [50], robotics [51], and many others.

Feng et al. [52] introduced two means of modifying the inertia weight of a PSO using chaos. The first type is the chaotic decreasing inertia weight and the second type is the chaotic random inertia weight. In this paper, the latter is considered intensifying the inertia weight parameter of the PSO. The dynamic chaos random inertia weight is used to ensure a balance between exploitation and exploration. A low inertia weight favors exploitation while a high inertia weight favors exploration. A static inertia weight influences the convergence rate of the algorithm and often leads to premature convergence. Chaotic search optimization in all instances was used herein because of its highly dynamic property, which ensures the diversity of the particles and escape from local optimum in the process of searching for the global optimum.

The logistic map [53, 54], where is a very common chaotic map, which is found in much of the literature on chaotic inertia weight; it does not guarantee chaos on initial values of that may arise during the initial generation process. In this paper, the sine chaotic map [54] given by (2) was utilized to avoid this shortcoming. Its simplicity eliminates complex calculations, reducing the CPU time: where , and is the generation number. Figure 1 presents the bifurcation diagram of the sine chaotic map. In some instances of generations, has relatively very small values. Hence, to improve the effectiveness of the chaos random inertia weight of particle swarm optimization, the original sine chaotic map is lightly modified as follows: where and ; the absolute sign ensures that the next-generation process in chaos space has . Therefore, the chaotic random inertia weight is given by

Figure 2 plots the dynamics of the modified sine chaotic map while Figure 3 displays the bifurcation diagram.

Type constriction coefficient is integrated to the proposed variant of PSO to prevent the divergence of the particles during the search for solutions in problem space. The coefficient is used to fine-tune the convergence of particle swarm optimization. Consider where the parameter depends on the cognitive and social parameters and the criterion guarantees the effectiveness of the constriction coefficient. Incorporating the above coefficient ensures the quality of convergence and the stability of the generation process for particle swarm optimization.

Time-varying cognitive and social parameters are incorporated into PSO to improve its local and the global search by making the cognitive component large and the social component small at the initialization or in the early part of the evolutionary process. A linearly decreasing cognitive component and a linearly increasing social component in the evolutionary process enhance the exploitation and exploration of the PSO, helping the particle swarm to converge at the global optimum. The mathematical equation is represented as follows: where , , , and are the initial and final values of the cognitive parameters and the social parameters, respectively; is the current generation, and the is the value in the final generation.

The above components improve the performance of the standard PSO. Therefore, the proposed mathematical equation for the velocity and position of the particle swarm optimization are as follows:

The uniform random numbers from the velocity equation of the standard PSO are not included in the proposed PSO. Figure 4 displays the flowchart of the proposed chaos-enhanced PSO.

The mathematical representations and algorithmic steps represent a significant improvement on the performance of the standard PSO. A numerical benchmark test was carried out using the unimodal and multimodal functions. The following section presents and discusses the results.

4. Simulation Results

In this section, four benchmark test functions are used to test the performance of the proposed algorithm. Subsections elucidate the names of the benchmark test functions, their search spaces, their mathematical representations, and variable domains.

Five programming codes were developed in Matlab 7.12 to minimize the above benchmark functions. These codes correspond to the proposed PSO, the standard PSO, the firefly algorithm (FA) [55, 56], ant colony optimization (ACO) [57, 58], and differential evolution (DE) [59, 60], which are evaluated using the benchmark test functions for comparative purposes.

The parameter settings for the above algorithms are as follows. For the PSO, the inertia weight , cognitive learning , and social learning factors are given as , , and , respectively. For the FA, the light absorption , attraction , and mutation coefficients are , , and , respectively. For ACO, the selection pressure and deviation-to-distance ratio are and , respectively. The roulette wheel selection method is used for ACO. The mutation coefficient and the crossover rate for DE are and , respectively. The population size and the number of unknowns (dimensions) for all population-based algorithms that were used in the benchmark test are 20. Ten simulations tests are performed using each of the algorithms in order to evaluate their performance in minimization.

To verify the optimality and robustness of the algorithms, two convergence criteria are adopted: the convergence tolerance and the fixed maximum number of generations. The desktop computer that was used in the benchmark test function experiments ran the Microsoft Windows 7 64-Bit Operating System and had an Intel (R) Core (3.30 GHz) processor with 8.0 GB RAM installed.

4.1. Benchmark Testing: Sphere Function

The sphere function is given by , where and . The sphere function is a unimodal test function whose global optimum value is and . Table 1 presents the best, mean, and worst values obtained by running all the algorithms through 500 generations. Figure 5 shows the performance for the maximum number of generations of each population-based algorithms in minimizing . Table 2 presents the shortest CPU times that were required to minimize under generations and Figure 6 plots this information for all algorithms.


ProposedPSOFAACODE

BestFitness
Time1.26691.49287.92437.37121.2056

MeanFitness
Time1.28451.41318.05107.35591.2117

WorstFitness
Time1.28491.46698.08267.45291.1936


ProposedPSOFAACODE

BestFitness
Time1.26691.33327.92437.20141.1381

WorstFitness
Time1.30841.49288.28017.47781.2438

In the next experimental test, the convergence tolerance was set to 0.001. Table 3 presents the best, mean, and worst values that were used to minimize using all techniques, based on ten simulation results. Almost all techniques provide similar solutions. As presented in Table 3, the proposed method gives smaller values of in the fewest generations and in the shortest CPU times. Figure 7 shows the convergence performance in minimizing . Table 4 illustrates the shortest and the longest CPU times based on ten simulation tests. Table 4 reveals that the proposed method yields a small fitness of in the shortest CPU times and in the fewest generations. Figure 8 displays the number of generations of the different algorithmic methods and their shortest CPU times.


ProposedPSOFAACODE

BestFitness
Generations162191252354306
Time0.4266 0.4942 4.1338 5.1278 0.7515

MeanFitness
Generations166.7192.9249.6338.4310.6
Time0.4418 0.5247 4.0568 4.9292 0.7725

WorstFitness
Generations168199253338301
Time0.4395 0.5376 4.1049 4.8423 0.7351


ProposedPSOFAACODE

BestFitness
Generations162191237314294
Time0.41880.49423.85474.64620.7171

WorstFitness
Generations164199260353331
Time0.46000.53764.18885.23400.9117

4.2. Benchmark Testing: Powell Function

The Powell , −4 < < 5 where and is a multimodal function whose global optimum value is and . Table 5 presents the best, mean, and worst values of minimizing Powell function obtained in 500 generations using all population-based algorithms. Figure 9 plots the performance of the algorithms in minimizing . Table 6 and Figure 10 display the shortest CPU times of the algorithm.


ProposedPSOFAACODE

BestFitness
Time1.79461.731211.71018.33041.6328

MeanFitness
Time1.79691.803711.65328.25241.6128

WorstFitness
Time1.87661.860911.71728.18151.5889


ProposedPSOFAACODE

BestFitness
Time1.76841.727511.58368.11921.5722

WorstFitness
Time1.87661.860911.71728.34451.6441

Table 7 represents the best, mean, and worst values of the minimum that is obtained using all techniques with the convergence tolerance set to 0.001. The proposed method yields the best value in fewest generations based on ten simulation results. Figure 11 displays the minimum at convergence. Table 8 provides the shortest and longest CPU times of the algorithms based on the ten simulation results. Table 8 indicates that the proposed method has shortest CPU times. Figure 12 displays the generation of the different population-based algorithms.


ProposedPSOFAACODE

BestFitness
Generations2903812289511941
Time0.9818 1.3197 5.3420 15.5685 6.1795

MeanFitness
Generations285.2407.4250.4988.72084.1
Time1.0205 1.4655 5.8493 16.7481 6.6544

WorstFitness
Generations2774892599412040
Time1.0027 1.7057 5.9981 15.6953 6.3674


ProposedPSOFAACODE

BestFitness
Generations2653482287671572
Time0.97221.28945.291413.19734.8964

WorstFitness
Generations30848928110912385
Time1.11751.82056.599220.70707.6814

4.3. Benchmark Testing: Griewank Function

The Griewank function is given by , where and . The Griewank function is a highly multimodal function, whose global optimum value is and . Table 9 presents the best, mean, and worst values obtained using all of the tested algorithms in 500 generations. Figure 13 presents the performance of the different algorithms in minimizing . Table 10 and Figure 14 provide the shortest CPU times required by the various algorithms.


ProposedPSOFAACODE

BestFitness
Time1.50321.54158.77467.66471.3218

MeanFitness
Time1.49641.54608.90157.60751.3114

WorstFitness
Time1.50371.50008.90167.53661.3135


ProposedPSOFAACODE

BestFitness
Time1.46361.50008.76367.36181.2926

WorstFitness
Time1.51421.59759.09287.83571.3246

Table 11 presents the best, mean, and worst values that are used to minimize using all techniques, based on ten simulation results. The convergence tolerance was set to 0.001. As presented, the proposed method provides the best mean value of in the fewest generations and the shortest CPU time. Figure 15 shows the convergence performance of each method in minimizing . Table 12 presents the shortest and the longest CPU times based on the ten simulation tests of the different algorithms. Table 12 shows that the proposed method yields the smallest value of in the shortest CPU times. Figure 16 plots the generation of the different algorithms.


ProposedPSOFAACODE

BestFitness
Generations203182280458356
Time0.5851 0.5725 5.0284 6.9718 0.9431

MeanFitness
Generations193.9195.6278.4415.6378.8
Time0.5788 0.6029 4.9622 6.3172 0.9962

WorstFitness
Generations192186283418413
Time0.5737 0.5704 5.0228 6.4388 1.0912


ProposedPSOFAACODE

BestFitness
Generations189186272399354
Time0.54940.57044.80425.84710.9111

WorstFitness
Generations204232283458413
Time0.61760.71745.21676.97181.0912

4.4. Benchmark Testing: Ackley Function

The Ackley function , where and is a multimodal function whose global optimum value is and . Table 13 presents the best, mean, and worst values obtained using all of the algorithms in 500 generations. Figure 17 presents the performance of the algorithms in minimizing . Table 14 and Figure 18 highlight the shortest CPU times of the different population-based algorithms.


ProposedPSOFAACODE

BestFitness
Time1.4763 1.6495 9.5650 7.6734 1.4923

MeanFitness</