Optimal Capacitor
Optimal Capacitor
BY
Faizur Rahman Khan
J.Sridhar
Email address:amiable_atif@yahoo.com
ABSTRACT
2
INTRODUCTION
A power system is an interconnected system composed of generating stations,
which convert fuel energy into electricity, substations that distribute electrical power
to loads (consumers), and transmission lines that tie the generating stations and
distribution substations together. According to voltage levels, an electric power
system can be viewed as consisting of a generating system, a transmission system and
a distribution system. A transmission system is distinctly different from the
distribution system. Whereas the latter draws power from a single source and
transmits it to individual loads, the transmission system not only handles the largest
blocks of power but also the system.
DISTRIBUTION LOAD FLOWS
Load Flow Analysis:
Load flow analysis is a very important and basic tool in the field of power
system engineering. It is used in the planning and design stages as well as during the
operation stages of the power system.
Work has been carried out on load flow analysis of a distribution network but
the choice of a solution method for a practical system is often difficult. Generally
distribution networks are radial and the R/X ratio is very high. Because of this,
distribution networks are ill conditioned and conventional Newton-Raphson (NR) and
fast-decoupled load flow (FDLF) methods are inefficient at solving such networks.
In this paper a novel load flow technique is developed using sparsity technique
Computationally the proposed method is more preferable. Another advantage of the
proposed method is that it requires less computer memory. Convergence is always
guaranteed for any type of practical radial distribution network with a realistic R/X
ratio while using the proposed method. Several practical rural radial
SOLUTION METHODOLOGY
Mathematical Formulation: The branch number, sending end and receiving end
node of this feeder are given in Table 1. Consider branch 1. The receiving end node
voltage can be written as V [2] = v [1] I [1] Z [1] -------------------(4) Similarly for
branch 2, V [3] = v [2] I [2] Z [2] -------------------(5)
As the substation voltage V (1) is known, so if I (1) is known, i.e. current of
branch 1, it is easy to calculate V (2) from eqn. 4.
Once V (2) is known, it is easy to calculate V (3) from eqn. 5, if the current
through branch 2 is known. Similarly, voltages of nodes 4, 5, 6, ---------, nd can be
3
easily be calculated if all the branch currents are known. Therefore, a generalized
equation of receiving-end voltage, sending-end voltage, branch current and branch
impedance is
V [re [j]] = v [se [j]] I [j] Z [j] -------------------(6)
Where j = the branch number.
Eqn. 6 can be evaluated for j = 1, 2, 3, --------, in. Current through branch 1 is
equal to the sum of the load currents of all the nodes beyond branch 1.
I [1] = IL[2] + IL[3]+ ________ + IL[ln] ------------------(7)
Therefore, if it is possible to identify the nodes beyond all the branches, it is
possible to compute all the branch currents. Identification of the nodes beyond all the
branches is realized through an algorithm. The load current of node i is IL[i] =
(PL[i] j QL[i])/V*[i], i = 2, 3, ______, nd ---------------(8)
Load currents are computed iteratively. Initially, a flat voltage of all the nodes
is assumed and load currents of all the nodes are computed using eqn. 8.
The real and reactive power loss of branch j are given by:
ploss[j] = I[i]2R[i] -------------------(9)
qloss[i] = I[i]2X[i] --------------------(10)
ALGORITHM FOR NODE IDENTIFICATION:
Following algorithm explains the methodology of identifying the nodes and branches
connected to a particular node in detail, which in turn help in finding the exact load
feeding through that particular node.
Step 1: Read system sending end and receiving end nodes and total number of nodes
and branches.
Step 2: Set MF[1]=1 and s=0
Step 3: Set i=1
Step 4: Set j=1
Step 5: if( i==se[j] ) goto step 7 else goto step 6
Step 6: if( i==re[j] ) goto step 8 else goto step 9
Step 7: s=s+1
and[s] = re[j]
adb[s] = j
Step 8: s=s+1
and[s] = se[j]
adb[s] = j
4
Step 9: if( j < nd ) j=j+1 goto step 5 else goto step 10
Step 10: MT[i] = s
Step 11: if( i != nd) MF[i+1] = MT[i]+1 goto step 4 else goto step 12
Step 12: Stop
Illustration of node identification:The formation of various used in sparsity
technique for node identification is given below for 15-node radial distribution
network shown in Fig. 3. Table 1: Branch number [j], sending end node se[j]
and receiving end node re[j] of Fig. 3. The details of the implementing vectors in
sparsity technique are given in Tables1, 2 and 3.
Branch No.[j] Sending end Receiving end re
se[j] [j]
1 1 2
2 2 3
3 3 4
4 4 5
5 2 9
6 9 10
7 2 6
8 6 7
9 6 8
10 3 11
11 11 12
12 12 13
13 4 14
14 4 15
MMF and MT govern the reservation allocation of memory location for each
node. With the help of adn and adb vectors build up the MF and MT vectors are
shown in Table 3. Once the adn, adb, MF and MT vectors are formed for a given
network, it is very simple to calculate the effective load at any particular node.
Table 2: adn and adb vectors
where adn[2*nd] is used to store the adjacent nodes of a particular node.
adn[2*nd] is used to store the connected branches of a particular node.
Table 3: MT and MF vectors where MF[i] = memory location from
MT[i] = memory location to(for a particular node i)
Where i = 1, 2, 3, ---------------, nd
5
In this paper, only single dimensional arrays are used for implementation of
the proposed method. This reduces a lot of memory and CPU time as it minimizes
the search process in identifying the adjacent nodes and branches beyond a particular
node. Especially when the system is large like 69 node system, then the two-
dimensional approach needs matrix of size 6969 in which most of the elements are
zero. This can be avoided by four single-dimensional vectors MF[nd], MT[nd],
adn[2*nd] and adb[2*nd].
S.No. adn[s] adb[s] S.No. adn[s] adb[s] Node MF[i] MT[i]
[s] [s] no.
1 2 1 15 7 8 1 1 1
2 1 1 16 8 9 2 2 5
3 3 2 17 6 8 3 6 8
4 9 5 18 6 9 4 9 12
5 6 7 19 2 5 5 13 13
6 2 2 20 10 6 6 14 16
7 4 3 21 9 6 7 17 17
8 11 10 22 3 10 8 18 18
9 3 3 23 12 11 9 19 20
10 5 4 24 11 11 10 21 21
11 14 13 25 13 12 11 22 23
12 15 14 26 12 12 12 24 25
13 4 4 27 4 13 13 26 26
14 2 7 28 4 14 14 27 27
6
Step 5: VV[i] = V[i]
Step 6: if( i < nd ) i = i +1 goto step 3 else goto step 7
Step 7: dvmax = 0.0
Step 8: i = 2
Step 9: Calculate IL
Step 10: if( i < nd ) i = i +1 goto step 9 else goto step 11
Step 11: j = 1
Step 12: a = 1
Step 13: y = 1
Step 14: g = 1
Step 15: b[g] = j
Step 16: p = 1
Step 17: if( adb[MF[p]] == b[a] ) if( y == 1) I[j] = IL[adn[MF[p]]] y=y+1 else
goto step 18
Step 18: s = MF[p] +1
Step 19: I[j] = I[j] + IL[adn[s]]
g = g +1
b[g] = adb[s]
Step 20: if( s < MT[p] ) goto step 19
else if( p < nd ) p = p +1 goto step 17
else a = a +1 if( a <= g ) goto step 16
else if( j <= ln ) j=j+1 goto step 12 else goto step 21
Step 21: i = 1
Step 22: Calculate V
Step 23: if( i < ln ) i = i +1 goto step 22 else goto step 24
Step 24: i = 1
Step 25: DV[i] = VV[i] V[i]
Step 26: if( i < nd ) i = i +1 goto step 25 else goto step 27
Step 27: i = 1
Step 28: if( DV[i] > dvmax)
dvmax = DV[i]
VV[i] = V[i]
i = i +1 goto Step 28
7
else goto Step 29
Step 29: if( dvmax > 0.0001) it = it +1 goto step 6 else goto step 30
Step 30: Stop
SOLUTION TECHNIQUE
Implementation aspects of fuzzy based capacitor allocation :
The entire framework to solve the optimal capacitor location allocation
problem includes the use of numerical procedures, along with the fuzzy expert system
(FES). The various stages of the optimal capacitor placement (location and sizing) is
shown in figure:
System
Data
Load Flow FES
program
Install Capacitor
Any
capacitor
sizing
saving
algorithm
s?
Fig. Framework of optimal capacitor placement
Fuzzification:
The fuzzification interface involves the following functions:
Measures the value of input variables
Performs the scale mapping that transfers the range of value of input variables
into corresponding universe of discourse.
8
Performs the function of fuzzification that converts input data into suitable linguistic
variables, which may be viewed as labels of fuzzy sets.
The input variables to fuzzifier are the crisp control led variables. Selection of
the control variables relies on the nature of the system and its desired output. Each of
the fuzzy logic control (FLC) input and output signals are interpreted into a number of
linguistic variables. The no. of linguistic variables specifies the quality of the control,
which can be achieved using the fuzzy controller. As the no. Of linguistic variables
increase the computational time and the required memory increases. Therefore a
compromise between quality of the control and computational time is needed to
choose the no. Of linguistic variables usually an odd no. is used. A reasonable no. is
seven. Each linguistic variable has its fuzzy membership function. The membership
function maps the crisp values into fuzzy variables. For simplicity it is assumed that
the membership functions are symmetrical and each one overlaps the adjacent
functions i.e., triangle shaped functions. Other type functions are trapezoidal shaped
and shrinking span shaped.
Membership functions:
There are different membership functions used. But the simplest and most commonly
used one is the triangular mf .it is nothing more than collection of three points
forming a triangle.For determining the suitability of the node a set of fuzzy rules have
been established. The inputs to the rules are the voltage drop and power loss indices
and the output consequent is the suitability of capacitor placement. Fuzzy variables
power loss, voltage drop, and capacitor placement suitability are described by the
fuzzy terms high, high medium/normal, medium/normal, low medium/normal and
low. The fuzzy variables described by linguistic terms are represented by membership
functions. The membership functions are as shown below.
Fuzzy inference system:
The process of fuzzy inference involves all the pieces that are described in the
previous sections membership functions, fuzzy logic operator and if then rules.
There are two types of fuzzy inference systems:
1.mamdani type 2.sugeno type
Mamdani fuzzy inference method is the most commonly seen fuzzy methodology .it
expects the output mfs to be fuzzy sets. After the aggregation process, there is a fuzzy
ser for each output variable that needs defuzzification.In sugeno type the output mfs
areeither linear or Constant.
9
Defuzzification:
Defuzzification is generally defined as a scale mapping, which converts the range of
values of input variables into corresponding universe of discourse.The natural method
is the fuzzy centroid defuzzification scheme .the regions in which the controlled
actions are overlapped depend upon their membership functions. The area thus
obtained is divided into narrow strips of equal width of each vertical line, the
membership function and the corresponding on the universe of discourse is
evaluated.That obtained value is actually the deterministic input required regulating
the process.
Description of the variables Low Low Medium Medium High Medium High
Power Loss <0.25 0 0.5 0.25 - 0.75 0.5 1.0 >0.75
Description of the variables Low Low Normal Normal High Normal High
Voltage <0.2 0.175 0.375 0.3 - 0.7 0.675 0.825 >0.8
Description of the variables Low Low Medium Medium High Medium High
Capacitor placement <0.25 0 0.5 0.25 - 0.75 0.5 1.0 >0.75
suitability
10
r=data(:,4);
x=data(:,5);
ln=max(br);
nd=max(max(se),max(re));
R=r*(basemva/basekv^2);
X=x*(basemva/basekv^2);
clear PL QL pl ql
for i=1:ln
pl(re(i))=data(i,6);
ql(re(i))=data(i,7);
end
PL=pl/(basemva*1000);
QL=ql/(basemva*1000);
%node identification
s=0;
MF(1)=1;
for i=1:nd
for j=1:ln
if(i==se(j))
s=s+1;
adn(s)=re(j);
adb(s)=j;
else
end
if(i==re(j))
s=s+1;
adn(s)=se(j);
adb(s)=j;
else
end
end
MT(i)=s;
if(i~=nd)
MF(i+1)=MT(i)+1;
else
end
end
%loadflow
clear j;
for i=1:nd
V(i)=1.0+0.0j;
VV(i)=V(i);
end
dvmax=1;
it=0;
while dvmax>accuracy
it=it+1;
dvmax=0.0;
clear j;
for i=2:nd
11
IL(i)=(PL(i)-j*QL(i))/conj(V(i));
end
for j=1:ln
g=1;
y=1;
a=1;
b(g)=j;
while(a<=g)
for p=1:nd
if(adb(MF(p))==b(a))
if(y==1)
I(j)=IL(adn(MF(p)));
y=y+1;
else
for s=MF(p)+1:MT(p)
I(j)=I(j)+IL(adn(s));
g=g+1;
b(g)=adb(s);
end
end
else
end
end
a=a+1;
end
end
clear i
for j=1:ln
V(re(j))=V(se(j))-I(j)*(R(j)+i*X(j));
end
for i=1:nd
DV(i)=(VV(i))-(V(i));
end
for i=1:nd
while(DV(i)>dvmax)
dvmax=DV(i);
end
VV(i)=V(i);
end
end
clear i;
clear j;
for i=1:ln
ploss(i)=(abs(I(i)))^2*R(i);
qloss(i)=(abs(I(i)))^2*X(i);
end
fis=readfis('CPS')
for i=1:ln
out(i)=evalfis([abs(V(i)) loss(i)],fis);
end
12
After the installation of capacitor:
basemva=100;
accuracy=0.0001;
basekv=11;
data=load('data_15.m');
br=data(:,1);
se=data(:,2);
re=data(:,3);
r=data(:,4);
x=data(:,5);
ln=max(br);
nd=max(max(se),max(re));
R=r*(basemva/basekv^2);
X=x*(basemva/basekv^2);
clear PL QL pl ql
for i=1:ln
pl(re(i))=data(i,6);
ql(re(i))=data(i,7);
cp(re(j)=data(i,8);
end
PL=pl/(basemva*1000);
QL=(ql-cp)/(basemva*1000);
%node identification:
s=0;
MF(1)=1;
for i=1:nd
for j=1:ln
if(i==se(j))
s=s+1;
adn(s)=re(j);
adb(s)=j;
else
end
if(i==re(j))
s=s+1;
adn(s)=se(j);
adb(s)=j;
else
end
end
MT(i)=s;
if(i~=nd)
MF(i+1)=MT(i)+1;
else
end
end
%loadflow:
clear j;
for i=1:nd
V(i)=1.0+0.0j;
13
VV(i)=V(i);
end
dvmax=1;
it=0;
while dvmax>accuracy
it=it+1;
dvmax=0.0;
clear j;
for i=2:nd
IL(i)=(PL(i)-j*QL(i))/conj(V(i));
end
for j=1:ln
g=1;
y=1;
a=1;
b(g)=j;
while(a<=g)
for p=1:nd
if(adb(MF(p))==b(a))
if(y==1)
I(j)=IL(adn(MF(p)));
y=y+1;
else
for s=MF(p)+1:MT(p)
I(j)=I(j)+IL(adn(s));
g=g+1;
b(g)=adb(s);
end
end
else
end
end
a=a+1;
end
end
clear i
for j=1:ln
V(re(j))=V(se(j))-I(j)*(R(j)+i*X(j));
end
for i=1:nd
DV(i)=(VV(i))-(V(i));
end
for i=1:nd
while(DV(i)>dvmax)
dvmax=DV(i);
end
VV(i)=V(i);
end
end
clear i;
14
clear j;
for i=1:ln
ploss(i)=(abs(I(i)))^2*R(i);
qloss(i)=(abs(I(i)))^2*X(i);
end
fis=readfis('CPS')
for i=1:ln
out(i)=evalfis([abs(V(i)) loss(i)],fis);
end
SAMPLE RESULT FOR 15-NODE SYSTEM:
Each node voltage
Before compensating After compensating
the reactive power the reactive power
1.0000 1.0000
0.9713 0.9805
0.9567 0.9705
0.9509 0.9664
0.9500 0.9660
0.9645 0.9763
0.9634 0.9755
0.9637 0.9759
0.9631 0.9737
0.9597 0.9709
0.9500 0.9657
0.9459 0.9632
0.9446 0.9626
0.9486 0.9649
0.9485 0.9644
CONCLUSION
In this paper a new load flow for distribution system is proposed. The main
features of this load are that it can be used for both Radial and Mesh type of
distribution networks. Also it is equally very effective for load flows study of
transmission system. Thus the proposed new load flow becomes one load flow for all
types of electrical system networks.The optimal capacitor placement problem consists
of determining the location and sizing of the capacitor. In this paper the method used
for placement of shunt capacitors is based on Fuzzy Logic. In this voltage and
power loss of distribution system nodes are modeled by fuzzy membership functions.
A Fuzzy Expert System (FES) containing set of heuristic rules is then used to
determine thee capacitor placement suitability of each node in the distribution system.
Capacitors are placed on the nodes with highest suitability. The proposed methods are
tested on 15, 20, 31, 34 and 69-bus distribution systems and results are very
promising.
15