> :<123456789wy{[ bjbj ΐΐ1J~~!!
#
#
#4A#A#A#h#$A#,9%(a%w%w%w%222$Öe9
#20z2"22!!w%w%
Q<<<2!w%
#w%<2<<|"^w%3[rA#w5b8ޒg0"7p"(
#22<22222q:t2222222222222222~ : ECONOMIC LOAD DISPATCH SOLUTION USING GENETIC ALGORITHM
1 R. K. KAPDIA , 2 N. K. PATEL
1M.E. [Power System] Student, Department Of Electrical Engineering, Sankalchand Patel College Of Engineering, Visnagar, Gujarat
2 Asso. Professor, Department Of Electrical Engineering, Sankalchand Patel College Of Engineering, Visnagar, Gujarat
raajforyou@gmail.com, nk2510@rediffmail.com
ABSTRACT: The main objective of this paper is to solve Economic Load Dispatch problem, since it has been gaining importance. Economic Load Dispatch of electric power generation is to supply the committed generations so as to meet the required load demand at minimum operating cost while satisfying equality and inequality constraints. In this paper efficient MATLAB code is generated for the ELD problem in which generation cost and losses are minimized. Binary Genetic Algorithm is used and result is presented.
Keywords Economic Load Dispatch, Genetic Algorithm, MATLAB
I: INTRODUCTION
Since after deregulation of Power System, it has been facing many problems. One of them is Economic Load Dispatch, as it is also a concern as the cost associated with generating and transmission of electrical energy keeps on increasing. In essence, it is an optimization problem and its main objective is to reduce the total generation cost of units, while satisfying various constraints.
Many optimization techniques were employed to solve ELD problem. Such as the lambda iteration (LI) method and gradient method have been applied to solve the ELD problems. An optimization technique known as Genetic Algorithms has emerged as an efficient candidate due to its flexibility and efficiency for many optimization problems.
The rest of the paper is organized as follows. In Section 2, mathematical modeling of the ELD problem is done and an objective function is formulated which requires to be optimized. The formulation of GA to solve ELD problem in MATLAB is presented in section 3, while simulation results are presented in Section 4 to demonstrate the performance of the algorithm for the ELD problem. Section 5 focuses on conclusions of the presented work.
II: ECONOMIC LOAD DISPATCH PROBLEM
A modern electric utility serves over a vast area of relatively large load density. The transmission losses in the power system may vary from 5 to 15% of total load. Therefore, it is essential to account for losses while developing an economic load dispatch policy.
The economic dispatch problem is defined so as to minimize the total operating cost of a power system while meeting the total load plus transmission losses within generator limits. Mathematically, the problem is defined as [1],
Minimize
Subject to (i) the energy balance equation
(ii) the inequality constraints
Where,
QUOTE are cost coefficient
is load demand
is real power generation and will act as a decision variable
is power transmission loss
Ng is number of generator buses
The simple but approximate method of expressing transmission loss as a function of generation power is through B-coefficients. This method uses the facts that under normal operating condition, the transmission loss is quadratic with the injected bus real power. The general form of the loss formula using B-coefficient is [1],
Where,
are real power injections at the ith, jth buses are loss coefficients which are constant under certain assumed conditions
Ng is number of generation buses
III: GENETIC ALGORITHM AND ELD PROBLEM FORMULATION
The genetic-based mechanism of problem solving was first conceived by John Holland of the University of Michigan, Ann Arbor, in 1965. Genetic algorithms owe their popularity as solutions in various search and optimization problems to their global perspective, widespread applicability, and inherent parallelism [2].
The genetic algorithm (GA) is a randomized search and optimization technique guided by the principle of natural genetic system. Recently, there has been a great deal of interest in GAs and their application to various engineering fields. GAs also lend themselves well to power system optimization problems, since they are known to exhibit robustness, require no auxiliary information, and can offer significant advantages in solution methodologies and optimization performance. GAs do not know how to derive a problems solution, but they do know, from the objective function, how close they are to a better solution [2].
Figure (a) shows a flow chart for genetic algorithm to solve ELD problem and element of that is explained in context to the following case study.
Case Study Find the generation schedule of a three generator power system to meet demand of 300 MW. The cost characteristics of generator are given as below [1].
The cost characteristics are valid for the following minimum and maximum limits of power generation.
The transmission line B-coefficients are given as
EMBED Visio.Drawing.5
Figure 1(a) Flowchart of GA for ELD problem
Initialization of Population
Chromosomes i.e. potential solutions for the function, means values for real power, are generated in MATLAB as below and these are binary strings of 0s and 1s.
chromosome = round(rand(pop_size,nbit));
Where,
pop_size = number of chromosomes
nbit = number of bit for each variable multiplied by number of variables
For our example we have three variables
and we suppose take 4 bit per variable then our chromosome will have length of 12 bit.
Now this population which is in binary form is converted in to real values by following equation.
Where,
n = number of bits
Suppose,
, and the four bit string is, then it can be decoded as follow,
The precision attained with a four bit string is equal to (1/16) th of the search space [2].
Function Calculation
Now these chromosomes is decoded and the decoded values of real power generation is used and total function value is calculated, which is sum of all the three functions.
Loss and Fitness Calculation
As we move forward into the flow chart, the next calculation is of loss, losses are calculated using B-coefficient matrix and loss equation [1].
Different elements of the above equation are explained before in section 2.
Now for Fitness calculation, steps are explained below.
Step 1 Calculate error E,
In this calculation numeric 1 indicates chromosome number 1, so it simply means that we have to calculate the same thing for all chromosomes i.e. for pop_size, as that is the length of chromosome.
Step 2 Calculate fitness f,
Where is the scaling constant [1], we can take it s value anywhere between 0 and 1.
Sorting
Here we sort all the initially generated chromosomes in ascending order as we want to minimize our function value by putting minimum at the top.
Selection
From this sorted matrix of chromosome we select some random number of chromosomes for crossover and mutation process, probably those which have good fitness value.
Selection process can be done by many ways like using roulette wheel, stochastic selection. One simple method of selection involves generation of random numbers.
Crossover And Mutation
Selected chromosomes, now onwards we will call them parents, are used to do crossover and mutation to produce children which are responsible for the global search property of the GA.
Crossover operator basically combines substructures of two parent chromosome to produce new structure which is child. There are many types of crossover like single point, double point, multipoint, uniform, matrix etc.
The final operator in the genetic algorithm is mutation; the mutation operator is used to inject new information into the population. Mutation changes randomly the new offspring. For binary mutation is preferred which switches a few randomly chosen bits from 1 to 0 and vice-a-versa. There are many types of mutation processes like uniform, boundary, non-uniform etc.
After mutation, the new generation is completed and the procedure begins again with the function calculation of the population.
One simple MATLAB code for single point crossover and uniform mutation is shown as under.
chromosome = round(rand(4,6))
str = ('Single Point CrossOver');
disp (str);
chromosome(3,:) = [chromosome(1,1:3) chromosome(2,4:6)]
chromosome(4,:) = [chromosome(2,1:3) chromosome(1,4:6)]
str = ('Random Mutation');
disp (str);
mutrow = randi([1,4],1,2)
mutcol = randi([1,5],1,2)
for i = 1:2
chromosome(mutrow(i),mutcol(i)) = abs(chromosome(mutrow(i),mutcol(i))-1)
end
Result of this MATLAB code is shown below. We have generated four chromosomes with length of 6 bits, and from them taken first two for crossover and mutation.
chromosome =
1 0 1 0 1 0
1 1 0 1 0 0
0 0 0 1 0 0
0 0 0 0 1 0
Single Point CrossOver
chromosome =
1 0 1 0 1 0
1 1 0 1 0 0
1 0 1 1 0 0
0 0 0 0 1 0
chromosome =
1 0 1 0 1 0
1 1 0 1 0 0
1 0 1 1 0 0
1 1 0 0 1 0
Random Mutation
mutrow =
Generation (MW)Gen 1Gen 2Gen 3218.951638.720755.5674
1 4
mutcol =
5 2
chromosome =
1 0 1 0 0 0
1 1 0 1 0 0
1 0 1 1 0 0
1 1 0 0 1 0
chromosome =
1 0 1 0 0 0
1 1 0 1 0 0
1 0 1 1 0 0
1 0 0 0 1 0
As shown above, crossover of 1st and 2nd string is done. 3rd string is compressed of first three bits of 1st and last three bits of 2nd string while 4th string is consisting first three bits of 2nd and last three bits of 1st string. Arrow shows 3rd and 4th strings.
Evaluation
After doing crossover and mutation, function value and fitness of all chromosomes is found, this is called Regeneration.
This regeneration process has two starting criteria, first maximum generation and error E check.
In first case if generation has reached some predefine generation value then this process will stop and the best chromosome will be our answer.
In second case if our error will become less than some predefine value then we will terminate the program and the best chromosome is our answer.
This paper has employed both this stopping criteria.
IV: TEST CASE AND SIMULATION RESULTS
The example taken in section 3 is test case for this paper. Efficient MATLAB codes are generated to solve the same example.
Parameters for MATLAB code are as under.
Population size = 100,
Mutation rate = 0.01,
Crossover probability = 0.5,
Maximum generation = 100
Error = 0.0001,
Alpha = 0.5,
Figure - (b) shows results for the example.
Number of GenerationTotal Cost (Rs.)Losses (MW)Demand (MW)343631.213.2397300
Figure - (b) results for the example
V: Conclusion
This paper presents a method to solve economic dispatch problem using GA. From the above example & result, it is very clear that the generation cost is minimized in just 34 generations which shows the power of Genetic Algorithm and its ability to find global optimum solution to given problem. This program can be used to create full automatic program with live values to find optimum value of generation.
REFRENCES
[1] Kothari D. P., Dhillon J. S., Power System Optimization, 4th Edition, PHI Learning Private Limited, Jan 2009, pp 501-532.
[2] Padhy N. P., Artificial Intelligence And Intelligent Systems, 8th Edition, Oxford University Press, 2010, pp 459-531.
[3] Haupt Randy L., Haupt Sue E., Practical Genetic Algorithm, 2nd Edition, A John Wiley & Sons, Inc., Publications, 2004, pp 27-47.
[4] Jain Piyush, Swarnakar K. K., Dr. Wadhwani S., Dr. Wadhwani A. K., Prohibited operating zones constraints with economic load dispatch using genetic algorithm., IJEIT, vol. 1, issue 3, March 2012.
[5] Ling S. H., Lan H. K., Leung FHF, and Lee Y. S., Improved genetic algorithm for economic load dispatch with valve point loadings., IEEE, 2003
[6] Attia A.EL-Fergemy, Solution of economic load dispatch problem with smooth and non-smooth fuel cost functions including line losses using genetic algorithm., IJCEE, vol. 3, no. 5, Oct. 2011.
JOURNAL OF INFORMATION, KNOWLEDGE AND RESEARCH IN
ELECTRICAL ENGINEERING
ISSN: 0975 6736| NOV 12 TO OCT 13 | VOLUME 02, ISSUE - 02 Page PAGE \* MERGEFORMAT 223
3rd
2nd string
1st string
4th
1st string
2nd string
(1,5)
789:;IKMYZ[\]^_`abnpͳkk]SKCKC>C9C h+]5 h"Wy5hSShSS5hSShsg5hSSh*5H*hSSh*56CJaJ0hSSh*0J76B*CJOJQJ^JaJph*h+]0J76B*CJOJQJ^JaJph0hSShSS0J76B*CJOJQJ^JaJph3hSShSS0J76B*CJH*OJQJ^JaJphhSShc"CJaJhSShc"5;CJ$\aJ$h+]5;CJ$\aJ$h{5;CJ$\aJ$89Z[P Q } a
$7$8$H$a$gdho$7$8$H$a$gdm$a$gdSS1$a$gd/ 7$8$H$gd/$7$8$H$a$gdd$
&Fa$gdSS$a$gdSSpwy % - . 1 O P Q e g m w | } ⺰hSSht5CJaJh+]56hSShpN56h"Wy56h"Wy56H*h"Wyh"Wy56hSShqX5CJaJ h%l-5hSShSS5H*hSSh"Wy5 h"Wy5hSShsg5 h+]5hSShSS5hSSh*5-} ~ 7
=
L
V
3hrƹ{vbRh/hB86OJQJnHtH'h/h16CJaJmH nH sH tH hA
6 h!S6 h36 h16hVhV6mH nH sH tH hVh/6mH nH sH tH hS6 hy6 h/6h/6mH nH sH tH h15>*hSShN(5>*hSShN(56>*hSSh5aJ&jhSSUaJmHnHsH tH u%'(NQǳ|rkaTJTJT@T@JTJTh?CJPJaJh+{CJPJaJh1h1CJPJaJhSShmf5aJ
hP5aJhSSheI5aJhSShG5aJ/hSShSS0J5CJPJaJmH nHsH tH)h!;10J5CJPJaJmH nHsH tH&hSShMo56CJPJaJmH sH &hSShSS56CJPJaJmH sH h/56CJPJaJmH sH &hSSh+56CJPJaJmH sH K
S
_
`
a
S^#༣wgwgWgWgDw4hPCJaJmH nH sH tH $hSh1CJaJmH nH sH tH h@LCJaJmH nH sH tH hSCJaJmH nH sH tH hhoCJaJmH nH sH tH hhoCJPJaJmH sH hmCJPJaJmH sH 0hmh1CJOJQJ^JaJmH nH sH tH h1h16CJPJaJ*h+{CJOJQJ^JaJmH nH sH tH *hmCJOJQJ^JaJmH nH sH tH hmCJPJaJ#Nfgk/09_agнq^^G7hVCJaJmH nH sH tH -hh!SB*CJaJmH nH phsH tH $hVhhoCJaJmH nH sH tH $hVhPCJaJmH nH sH tH $hVheCJaJmH nH sH tH $hVhVCJaJmH nH sH tH $hVh[CJaJmH nH sH tH $hVh!SCJaJmH nH sH tH h!SCJaJmH nH sH tH hPCJaJmH nH sH tH hhoCJaJmH nH sH tH hi{-BCKzIJ$a$gd-gd BgdIWgdu$S$a$gdu$S$a$gdSS$
&Fa$gd+ig$7$8$H$a$gdPghilmoKLuz{»vhvZvhL>LhIWCJPJaJmH sH hu$SCJPJaJmH sH h?CJPJaJmH sH h\
CJPJaJmH sH hN|CJPJaJmH sH hCJPJaJmH sH h?h?CJPJaJmH sH h+igCJPJaJmH sH h+ighP5aJ
h?5aJ
hP5aJhSSheI5aJhSShOD:5aJ$hPhVCJaJmH nH sH tH hB8CJaJmH nH sH tH
-.@A̿pbI:jhIWhIWCJUaJ0hIWhIWCJOJPJQJaJmH nH sH tH hyDCJPJaJmH sH j}hIWhu$SCJUaJhIWhu$ShN|CJPJaJmH sH h\
CJPJaJmH sH hu$SCJPJaJmH sH hIWCJPJaJmH sH hIWhu$SCJPJaJ!jhu$Shu$SCJPJUaJhu$SCJPJaJ0hu$Shu$SCJOJPJQJaJmH nH sH tH ACKVW^_`abc%(,HIJK۸詡Қtpd[SSKShUCJaJh-CJaJh-6CJaJh-h-6CJaJh-jh Bh BCJUaJj/h Bh BCJUaJh BCJaJh%ph BhyDCJaJj*h Bh BCJUaJjh Bh BEHUjWh Bh BEHUh Bh BCJjh Bh BCJU
h BCJhIWCJPJaJmH sH hIW.2{}%IĽl]j5h$h$CJUaJ0h$h$CJOJPJQJaJmH nH sH tH h$6CJaJh$CJaJh[CJaJjh$h$CJUaJh GCJaJhlKCJaJh%phlKjiUhlKhlKCJUaJh?CJaJh-6CJaJh-h-6CJaJh-CJaJhUCJaJJJxyV$7$8$H$a$gd@vSgd2$7$8$H$a$gdSSgdT!$a$gd$$a$gdlK$a$gd-IJTUWYZwxy}~ør`QrCrh?CJPJaJmH sH hyD5CJPJaJmH sH #hyDhyD5CJPJaJmH sH hyDCJPJaJmH sH h[CJPJaJmH sH hd5CJaJh[5CJaJhSSheI5CJaJhSShOD:5CJaJhlKhZCJaJh-CJaJh[6CJaJhlK6CJaJh-hlK6CJaJhlKCJaJh[hlKCJaJmH sH 1UVjȺֺufWF8hfCJPJaJmH sH hyDhyDCJPJaJmH sH hfhfCJaJmH sH jhfhfCJUaJj$h2h2CJUaJh2h2mH sH jh2h2CJUaJh^CJPJaJmH sH hkCJPJaJmH sH hdCJPJaJmH sH h!SCJPJaJmH sH h0uCJPJaJmH sH hyDCJPJaJmH sH hDw#CJPJaJmH sH 6789:;<TUø}qiZRJF;jtT
hT!UVhT!jhT!Uh PmH sH jKh@vSh@vSCJUaJh?mH sH h@vSCJaJmH sH h@vS6CJaJmH sH h@vSh@vSCJaJmH sH h?CJaJmH sH h@vSmH sH h@vSh@vSmH sH joh@vSh@vSU h@vSh@vSCJPJaJmH sH !j(kh@vSh@vSCJPJUaJ!jh@vSh@vSCJPJUaJh@vSCJPJaJ78:;XYEFopw 4gd2 7$8$H$gd8z$a$gdT!$a$gd P$a$gd@vS$a$gd@vSUVWXY_aDFnopuvǺ|bM>hT!hT!CJaJmH sH (h8zhkOJQJ^JmH nH sH tH 3hT!B*CJOJQJ^JaJmH nH phsH tH 3h8zB*CJOJQJ^JaJmH nH phsH tH h GCJaJmH sH heCJaJmH sH hT!CJaJmH sH hT!5CJaJmH sH hR5CJaJmH sH h^CJaJhT!hT!CJaJhT!h PjhT!UjhT!U !'0234ȺyrcUchA
CJPJaJmH sH h?9O6CJPJaJmH sH hGh?9Ojc7hyh?9OCJUaJh GCJPJaJmH sH hGh2jh2h2CJUaJh\CJPJaJmH sH h2CJPJaJmH sH h?9OCJPJaJmH sH heCJPJaJmH sH hT!CJPJaJmH sH hZCJPJaJmH sH $ijl 9!:!0l0n0000000000001˰˰˟˰ˎ||||||||kYk#hR`h!CJH*PJaJmH sH hR`h!CJPJaJmH sH #hR`h}X'CJH*PJaJmH sH hR`h}X'CJPJaJmH sH hR`hc9CJPJaJmH sH 4jhR`hgOCJPJUaJmHnHsH tH u hR`hgOCJPJaJmH sH hR`hFsCJaJhR`hFs5CJaJhR`hR`5CJaJ"[.\.b.h.n.mmm$$D&#$/Ifa$gdFs|kd%$$Ifl
t
6D0
644
lap
ytFsn.o.x...R===$$D&#$/Ifa$gdFskd%$$Ifl0FZ
bb
t
6D0
644
lapytFs.........RJJJJJJJ$a$gdgOkd&$$IflkFZ
bb
t
6D0
644
lapytFs....../1/V/W/X/e/f/////000
111123J3$a$gd@vS$a$gdWQ$a$gdgO111
11;1<11111122J3K3N3o3˹tccRF:hR`ht@5CJaJhR`hq@5CJaJ hR`hgOCJPJaJmH sH hR`hlCJPJaJmH sH #hR`h#6CJPJaJmH sH hR`hWCJPJaJmH sH hR`h0uCJPJaJmH sH hR`h#CJPJaJmH sH #hR`hW5CJPJaJmH sH hR`h}X'CJPJaJmH sH hR`h!CJPJaJmH sH #hR`h!CJH*PJaJmH sH J3K3p3344-4D4a4z444444444444455$$&#$/Ifa$gdFs$a$gdGV$a$gdFs$a$gdl$a$gd@vSo3p34444555555565C5Z5\5]5^5_5i5j55555ݽ~p[SK@KhSShC CJaJh rCJaJhR`CJaJ)h`nh{gB*CJPJaJmH phsH hR`h{g5:CJaJh rheI5:CJaJh rh35:CJaJh_5:CJaJht@CJaJhGVCJaJhc9CJaJhFsCJaJhR`hR`5CJaJhR`hFs5CJaJhR`hFsCJaJhR`ht@CJaJhR`h5CJaJ555'kdg'$$Ifl4\ ```x`
t
60`644
lap(ytFs$&#$/IfgdFs55555$&#$/IfgdFs$$&#$/Ifa$gdFs55!5(5059$$$$$&#$/Ifa$gdFskd($$Ifl4L\ x
t
60`644
lap(ytFs05455565%$a$gdGVkd)$$Ifl\ x
t
60`644
lap(ytFs$$&#$/Ifa$gdFs65[5\5j57777 88Z99:::::::::::::$a$gdSS$7$8$H$a$gdSS$a$gdGV$a$gdl$a$gdGV5667777*7H7L7N777777778 8
8 8,8?8G8K8M888Z9^9b9j9m9u9z999źźůvk`k`k`khR`hCJaJhR`h%PCCJaJhyhCJaJhyhCJH*aJhyhCJaJhyh1SCJaJhyh
014