Next Article in Journal
Model Checking Properties on Reduced Trace Systems
Previous Article in Journal
Solving the Examination Timetabling Problem in GPUs
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:

Economic Dispatch Using Modified Bat Algorithm

Energy Department, AIT Austrian Institute of Technology, Vienna 1210, Austria
Author to whom correspondence should be addressed.
Algorithms 2014, 7(3), 328-338;
Submission received: 17 April 2014 / Revised: 11 June 2014 / Accepted: 25 June 2014 / Published: 3 July 2014


Economic dispatch is an important non-linear optimization task in power systems. In this process, the total power demand is distributed amongst the generating units such that each unit satisfies its generation limit constraints and the cost of power production is minimized. This paper presents an over view of three optimization algorithms namely real coded genetic algorithm, particle swarm optimization and a relatively new optimization technique called bat algorithm. This study will further propose modifications to the original bat. Simulations are carried out for two test cases. First is a six-generator power system with a simplified convex objective function. The second test case is a five-generator system with a non-convex objective function. Finally the results of the modified algorithm are compared with the results of genetic algorithm, particle swarm and the original bat algorithm. The results demonstrate the improvement in the Bat Algorithm.

1. Introduction

Economic load dispatch (ELD) is an optimization problem for scheduling generator outputs to satisfy the total load demand at the least possible operating cost. ELD problem is often formulated as a quadratic equation [1]. The ELD problem is in reality a nonconvex optimization problem [2]. These arise from ramp rate limits due to the physical limitations of the generating unit, effect of steam valve operation and prohibited operating zones of the generators due to vibration if the shaft bearing.
The conventional method of solving the ELD problem is by applying nonlinear programming techniques. These techniques minimize a convex objective function over a convex set thus insuring a single minimum. The problems can then be minimized using gradient or Newton based search techniques. However as nonconvex problems generally have multiple minima these techniques may be trapped at local minima. Dynamic programming is one way solving this problem, but it also has limitations due to the “curse of dimensionality” [3].
Metaheuristic optimization is another way of solving nonconvex optimization problems [4]. These algorithms are usually based on processes witnessed in physics or biology. Metaheuristic techniques are ideal for nonconvex ELD problem as they do not suffer from restriction of continuity, differentiability and convexity. Many metaheuristic techniques such as simulated annealing (SA), tabu search (TS), genetic algorithm (GA), particle swarm optimization (PSO) and bat algorithm (BA) have been successfully implemented to solve ELD problem [5,6].
Many variants of GA have previously been used with good results to solve nonconvex ELD problems [7,8,9]. The main advantage GA has over other algorithms is that it can use a chromosome coding technique tailored to the specific problem. The two main disadvantages of GA over other techniques are firstly, there is no guarantee of convergence to the global optimum solution and secondly, the execution time is very long.
PSO and many of its variants have also been extensively used for solving nonconvex ELD problems [10,11,12,13]. PSO has numerous advantages over other algorithms. It is very easy to preform and has only a few adjustable parameters. It is also very efficient in global search (exploration). The main disadvantages of PSO are it is slow convergence at refined search stage (exploitation) and its weak local search ability.
BA like PSO and GA is a relatively new population based metaheuristic approach [14,15]. This algorithm mimics the echolocation ability of micro bat which they use it for navigating and hunting. The position of the bat provides the possible solution of the problem. Fitness of the solution is specified by the best position of a bat to its prey. A big advantage BA has over other algorithms is that it has a number of tunable parameters giving a greater control over the optimization process. BA and its variants have also been used to solve the ELD problem [16,17,18]. It has proven efficient in for lower dimensional optimization problem but ineffective for high dimensional problems because of fast initial convergence [19].
This paper proposes two modifications to the original BA. The first modification is inspired from anti predatory PSO in which the particles moves not only towards the best solution but also away worst position experienced by itself and the global worst solution. The intention behind this modification is increasing the exploration capacity of the algorithm. The second modification is the introduction of a nonlinear weight for the velocity called inertia weight factor (IWF). The purpose of IWF is to provide balance between global and local exploration and better convergence rate.
For the purpose of comparison GA and PSO are also implemented and the results are compared with the modified bat algorithm (MBA). Verification of the modified algorithm has been carried out by simulating two test cases. For the verification of the results, Lambda Iteration method has been used for the convex optimization problem.

2. Problem Formulation

2.1. Problem Objectives

The objective of the economic dispatch problem is minimization of operating cost. The generator cost curves are represented by a quadratic function with a sine component. The sine component denotes the effect of steam valve operation. The fuel cost F c ( P G ) ($/h) can be expressed as [10].
F c ( P G )   =   i = 1 N g a i P i 2 + b i P i + c i + | d i sin [ e i ( P i m i n P i ) ] |
where N g is the number of generating units. a i , b i , c i , d i and e i are the cost coefficients of the i th generating unit. P i is the real power output of the i th generator.

2.2. Problem Constraints

Power balance constraint. Generation should cover the total demand and the active power losses that occur in the transmission system.
j = 1 N g P i = P d + P l o s s
where P d is the total demand load and P l o s s is the total transmission losses computed using quadratic approximation.
P l o s s =   i = 1 N g j = 1 N g P i B i j P j
where B i j is the loss coefficient matrix. In this paper it is assumed constant.
Power generation limits. Each unit should generate power within its minimum and maximum limits.
P i m i n   P i P i m a x
The objective and constraints can be mathematically formulated as follows.
min [ F c ( P i ) ]
S u b j e c t   t o :   { g j ( P i )   0   j = 1 , , J   h k ( P i ) =   0   k = 1 , , K
where J and K are the number of inequality and equality constraints respectively. In this paper, the power balance constraint has been handled using the penalty function. This paper uses a penalty function that adds a penalty to the fitness function if the constrains are violated. This turns a constrained optimization problem into an unconstrained optimization problem. Mathematically it can be denoted as
min [ φ ( P i ) ] =   F c ( P i ) + p G [   h k ( P i ) ]
S u b j e c t   t o :   g j ( P i )   0   j = 1 , , J
G [   h k ( x ) ] = ε 2 +   ω 2
where p is the penalty factor for the violation of the constraints. ε and ω are equality and inequality constraint violation penalties respectively and are calculated using the following formulas.
ε = | P d + P l o s s j = 1 N g P i |
ω =   { | P i m i n P i | 0   | P i P i m a x | P i m i n > P i   P   i m i n < P i < P i m a x P i m a x < P i  

3. Bat Algorithm

Bat algorithm is a population based metaheuristic optimization technique like PSO and GA. It was developed by Xin-She Yang in 2010 [14,15]. The algorithm mimics the echolocation behavior most prominent in bats. Bats send out streams of high-pitched sounds usually short and loud. These signals then bounce off nearby objects and send back echoes. The time delay between the emission and echo helps a bat navigate and hunt. This delay is used to interpret how far away an object is. Bats use frequencies ranging from 200 to 500 kHz. In the algorithm pulse rate ranges from 0 to 1 where 0 means no emissions and 1 means maximum emissions.
At the start the populations is initialized randomly. The positions of the bats are updated using the following equations.
Q i ( t ) =   Q m i n + ( Q m a x Q m i n ) u ( 0 , 1 )
v i ( t + 1 ) =   v i ( t ) + ( x i ( t ) x G b e s t ) Q i ( t )
x i ( t + 1 ) =   x i ( t ) + v i ( t )
where Q i is the pulse frequency subject to Q i   [ Q m i n , Q m a x ] . u ( 0 , 1 ) is a uniform random number ranging from 0 to 1. v i is the velocity of the bat and x i denotes the current position of the bat. x G b e s t is the best position found by the swarm. The next step is to use random walk for local search. The following equation is used for this purpose.
x ( t ) =   x G b e s t + φ A i ( t ) Ν ( 0 , σ )
where φ is a scaling factor that limits the step size of the random walk, A i is the loudness and Ν ( 0 , σ ) is a normal random number with mean 0 and standard deviation σ . As bats near their target they increase the pulse rate and decrease the amplitude. Mathematically this can be achieved using the equations.
A i ( t + 1 ) = ς A i ( t )
r i ( t ) = r i ( 0 ) [ 1 e ζ ϵ ]
where ς and ζ are constants. The ς parameter, like in simulated annealing, controls the rate of convergence of the algorithm.

4. Modifications

This paper proposes two modifications to the original bat algorithm.

4.1. Add Bad Experience Component

A new variant to the classical PSO was introduced by Selvakumar and Thanushkodi by splitting the correction component into two components [10]. These components were called the good and bad experience components. A particle tries to achieve a better position while trying to avoid the bad positions it has encountered. This paper proposes to add bad experience component to the velocity update equation. This modification is intended for enhancing the exploration capability of the algorithm. The modified equation is can be mathematically written as:
v i ( t + 1 ) =   v i ( t ) +   Q i ( t ) [ C 1 ( x i ( t ) x G b e s t ) + C 2 ( x i ( t ) x i , b e s t ) + C 3 ( x G w o r s t x i ( t ) ) + C 4 ( x i ,   w o r s t x i ( t ) ) ]
where x G b e s t and x G w o r s t are the global best and worst positions. x i , b e s t and x i ,   w o r s t are the personal best and worst positions. C 1 and C 2 are parameters that accelerate the particle towards the global best and personal best positions respectively. C 3 and C 4 are constants that accelerate the particle away the swarm worst and personal worst positions respectively.

4.2. Nonlinear Inertia Weight

A variant of the bat algorithm called improved bat algorithm (IBA) has recently been presented by Jamil [20]. He proposed adding an inertia weight coefficient to the velocity component in the velocity update equation. The paper proposes the weight component decrease linearly from its maximum value to its minimum value. The purpose of the weight is to provide balance between global and local exploration and better convergence rate. This paper proposes using a nonlinear weight. The reason for using nonlinear weight is to have to ability to control the transition between the global and local exploitation so that it can be tailored for a specific problem. In this paper the following three equations have been derived to get a better control over the transition between global and local exploitation.
W ( t ) =   1 1 1 + e B t A ( W m a x W m i n ) + W m i n  
where W m a x and W m i n are maximum and minimum bounds of inertia weight coefficient. t m a x is maximum allowed iterations. The constants calculated using the following equations.
A =   t m a x 1 G  
B =   t m a x + 1 ( 1 + 10 ( 1 2 H t m a x ) )
The constants G and   H are tunable parameters that can be adjusted for a particular problem. The constant H controls the transition from global to local search. Constsnt G controls the speed of the transition. H The equations derived in (20) and (21) make it easier to tune the parameters A and B for the optimization problem. The value of H is set between 0 and t m a x and the value of G is set between 1 and 30. Figure 1 shows the effect of tuning variable G while H is kept constant at 250. Figure 2 shows the effect of tuning H while keeping G constant at 10. In both graphs the upper and lower bounds for inertia weight are 1 and 0 respectively.
The final form of the modified velocity update equation is given below.
v i ( t + 1 ) =   v i ( t ) W ( t ) +   Q i ( t ) [ C 1 ( x i ( t ) x G b e s t ) + C 2 ( x i ( t ) x i , b e s t ) + C 3 ( x G w o r s t x i ( t ) ) + C 4 ( x i ,   w o r s t x i ( t ) ) ]
The following flowcharts detail the bat algorithm and the modified bat algorithm.

5. Experiments and Results

5.1. Test Case 1—Six-Generator Test System with System Losses

The modified bat algorithm was applied to a six-generator test system. For the first test case, the values of parameters d and e have been set to zero to simplify the problem into a convex optimization problem. Two simulations were carried out for a total demand of 700 MW and 800 MW. For all the experiments the maximum allowable error tolerance was set to 0.01 MW. The data for the test system is given in Table 1, Table 2 and Table 3.
Table 1. Generator active power limits.
Table 1. Generator active power limits.
Pmin (MW)10103535130125
Pmax (MW)125150225210325315
Table 2. Fuel cost coefficients.
Table 2. Fuel cost coefficients.
Table 3. Optimization parameters.
Table 3. Optimization parameters.
A i ( 0 ) 0.9
r i ( 0 ) 0.1
[   ζ         ς   ] [0.97 0.95]
[ W m i n         W m a x ]   [0.4 0.9]
[   C 1       C 2       C 3       C 4 ] [ u ( 0 , 3 )   u ( 0 , 2 )   u ( 0 , 1 )   u ( 0 , 1 ) ]
p 2000
[   G       H   ] [10 200]
Figure 1. (a) Effect of tuning parameter G; (b) Effect of tuning parameter H.
Figure 1. (a) Effect of tuning parameter G; (b) Effect of tuning parameter H.
Algorithms 07 00328 g001
Figure 2. (a) Bat Algorithm (b); Modified Bat Algorithm.
Figure 2. (a) Bat Algorithm (b); Modified Bat Algorithm.
Algorithms 07 00328 g002
For the purpose of comparison real coded GA was used with roulette wheel selection, arithmetic crossover and uniform mutation. The crossover and mutation probabilities were 0.9 and 0.02 respectively. Also for the purpose of comparison, PSO was implemented with inertia weight decreasing linearly form 0.9 to 0.4. Velocity constant was set to 2 for all the experiments. Values used for the tuning parameters while simulating test case 1 are in Table 3. The results are presented in Table 4.
In the first experiment MBA attained better results than the original BA. The mean and standard deviation reduced by $0.41 and 16% respectively. However, PSO performed better that the both of them by achieving the lowest mean. The worst value achieved by PSO was $36927.72 which was far greater than $36916.93 (BA) and $36916.12 (MBA). This resulted in a higher standard deviation for PSO.
Table 4. Economic dispatch comparison.
Table 4. Economic dispatch comparison.
P1 (MW)P2 (MW)P3 (MW)P4 (MW)P5 (MW)P6 (MW)Loss (MW)Cost ($/h)
λ Iteration28.30410118.897118.733230.733212.83119.43336912.14
Total System Demand = 700 MW, Population Size = 40, Maximum Iterations = 500, Sample Size = 200.
In the next experiment the total system demand was increased from 700 MW to 800 MW. The system parameters remained the same. The results of the experiment are detailed in Table 5.
Table 5. Economic dispatch comparison.
Table 5. Economic dispatch comparison.
P1 (MW)P2 (MW)P3 (MW)P4 (MW)P5 (MW)P6 (MW)Loss (MW)Cost ($/h)
λ Iteration32.59914.483141.544136.041257.6588243.00325.33041896.63
Std0.12392 0.373260.610120.596740.310351.04030.036660.21975
Total System Demand = 800 MW, Population Size = 40, Maximum Iterations = 500, Sample Size = 200.
In the second experiment the MBA again out performed BA. The mean and standard deviation reduced by $0.08 and 15% respectively. In this experiment also PSO achieved the lowest mean. It is important to note that in both the experiments MBA attained the lowest standard deviation.

5.2. Test Case 2–Five-Generator Test System with System Losses

The second test case was a five-generator system. Simulation was carried out for a total demand of 730 MW. This test case included the added effect of steam valve operation and thereby resulting in non-convex optimization problem. Transmission line losses were neglected for this experiment. The data for the test system is given in Table 6 and Table 7, the results are presented in Table 8.
Table 6. Generator active power limits.
Table 6. Generator active power limits.
Pmin (MW)5020301040
Pmax (MW)30012517575250
Table 7. Fuel cost coefficients.
Table 7. Fuel cost coefficients.
No. a b c d e
Table 8. Economic dispatch comparison.
Table 8. Economic dispatch comparison.
P1 (MW)P2 (MW)P3 (MW)P4 (MW)P5 (MW)Cost ($/h)
Total System Demand = 730 MW, Population Size = 40, Maximum Iterations = 500, Sample Size = 100
For this experiment C 1 and   C 2 were reduced to u ( 0 , 1 ) .   G was set at 6 and H was set at 350. In this test case MBA produced the best results in comparison to GA, PSO and BA. The mean attained by MBA is $23.58 and $34.56 lower than PSO and BA respectively. It also achieved the lowest standard deviation which is 8.5% and 10.8% lower that PSO and BA.

6. Conclusions

This paper proposes two modifications to the original bat algorithm. The modified algorithm is then tested for solving the economic load dispatch problem and was compared with various metaheuristic optimization techniques. The proposed modifications improved the results. One important observation from the results of all three experiments is that MBA achieved the lowest standard deviation. It can hence be deduced that MBA is the most robust algorithm for the experiments performed. This work can be extended to test the algorithm’s robustness for high dimensional problems or for multi objective optimization problems.

Author Contributions

All the authors contributed equally to the content of this paper. Aadil Latif conducted the simulations, collected the results and prepared the initial draft. Peter was responsible for the major reviews. Both authors discussed the results before the publishing them.

Conflicts of Interest

The authors declare no conflict of interest.


  1. Saadat, H. Power System Analysis. Available online: (accessed on 1 July 2014).
  2. Kothari, D.P. Power system optimization, 2nd ed.Ghosh, A.K., Ed.; PHI Learning Private Limited: New Dehli, India, 2012. [Google Scholar]
  3. Li, L.; Sun, Z. Dynamic Energy Control for Energy Efficiency Improvement of Sustainable Manufacturing Systems Using Markov Decision Process. Syst. Man Cybern. Syst. IEEE Trans. 2013, 43, 1195–1205. [Google Scholar] [CrossRef]
  4. Fletcher, R. Practical Methods of Optimization; John Wiley & Sons: Chichester, SXW, UK, 2013. [Google Scholar]
  5. Frank, S.; Steponavice, I.; Rebennack, S. Optimal power flow: A bibliographic survey I. Energy Syst. 2012, 3, 221–258. [Google Scholar] [CrossRef]
  6. Frank, S.; Steponavice, I.; Rebennack, S. Optimal power flow: A bibliographic survey II. Energy Syst. 2012, 3, 259–289. [Google Scholar] [CrossRef]
  7. Abido, M.A. A niched Pareto genetic algorithm for multiobjective environmental/economic dispatch. Int. J. Electr. Power Energy Syst. 2003, 25, 97–105. [Google Scholar] [CrossRef]
  8. Subbaraj, P.; Rengaraj, R.; Salivahanan, S. Enhancement of self-adaptive real-coded genetic algorithm using Taguchi method for economic dispatch problem. Appl. Soft Comput. 2011, 11, 83–92. [Google Scholar] [CrossRef]
  9. Amjady, N.; Nasiri-Rad, H. Solution of nonconvex and nonsmooth economic dispatch by a new adaptive real coded genetic algorithm. Expert Syst. Appl. 2010, 37, 5239–5245. [Google Scholar] [CrossRef]
  10. Selvakumar, A.I.; Thanushkodi, K. A new particle swarm optimization solution to nonconvex economic dispatch problems. Power Syst. IEEE Trans. 2007, 22, 42–51. [Google Scholar] [CrossRef]
  11. Selvakumar, A.I.; Thanushkodi, K. Anti-predatory particle swarm optimization: Solution to nonconvex economic dispatch problems. Electr. Power Syst. Res. 2008, 78, 2–10. [Google Scholar] [CrossRef]
  12. Gaing, Z.-L. Particle swarm optimization to solving the economic dispatch considering the generator constraints. Power Syst. IEEE Trans. 2003, 18, 1187–1195. [Google Scholar] [CrossRef]
  13. Cai, J.; Ma, X.; Li, L.; Haipeng, P. Chaotic particle swarm optimization for economic dispatch considering the generator constraints. Energy Convers. Manag. 2007, 48, 645–653. [Google Scholar] [CrossRef]
  14. Yang, X.S. A new metaheuristic bat-inspired algorithm. In Nature Inspired Cooperative Strategies for Optimization (NICSO 2010); Springer: Berlin, Heidelberg, Germany, 2010; pp. 65–74. [Google Scholar]
  15. Yang, X.S.; He, X. Bat algorithm: Literature review and applications. Int. J. Bioinspired Comput. 2013, 5, 141–149. [Google Scholar] [CrossRef]
  16. Sidi-Bel-Abbes, A. Economic dispatch problem using bat algorithm. Leonardo J. Sci. 2014, 24, 75–84. [Google Scholar]
  17. Niknam, T.; Azizipanah-Abarghooee, R.; Zare, M.; Bahmani-Firouzi, B. Reserve constrained dynamic environmental/economic dispatch: A new multiobjective self-adaptive learning bat algorithm. Syst. J. IEEE 2012, 7, 763–776. [Google Scholar] [CrossRef]
  18. Ramesh, B.; Chandra Jagan Mohan, V.; Veera Reddy, V.C. Application of bat algorithm for combined economic load and emission dispatch. Int. J. Electr. Eng. Telecommun. 2013, 2, 1–9. [Google Scholar]
  19. Fister, I., Jr.; Fister, D.; Yang, X.-S. A hybrid bat algorithm. Elektroteh. Vestn. 2013, 80, 1–7. [Google Scholar]
  20. Jamil, M.; Zepernic, H.-J.; Yang, X.S. Improved bat algorithm for global optimization. Appl. Soft Comput. 2013. submitted for publication. [Google Scholar]

Share and Cite

MDPI and ACS Style

Latif, A.; Palensky, P. Economic Dispatch Using Modified Bat Algorithm. Algorithms 2014, 7, 328-338.

AMA Style

Latif A, Palensky P. Economic Dispatch Using Modified Bat Algorithm. Algorithms. 2014; 7(3):328-338.

Chicago/Turabian Style

Latif, Aadil, and Peter Palensky. 2014. "Economic Dispatch Using Modified Bat Algorithm" Algorithms 7, no. 3: 328-338.

Article Metrics

Back to TopTop