J. Inst. Eng. India Ser. B (September–November 2012) 93(3):123–132 DOI 10.1007/s40031-012-0019-7
ORIGINAL CONTRIBUTION
A Simple Algorithm to Implement Active Power Loss Allocation Schemes in Radial Distribution Systems S. Mishra • D. Das • S. Paul
Received: 30 January 2012 / Accepted: 6 August 2012 / Published online: 4 January 2013 The Institution of Engineers (India) 2013
Abstract In this paper, a brief overview of various active power loss allocation methods is presented. ‘‘Exact Method’’ of loss allocation, suitable for radial distribution systems, is chosen for implementation. Simple bus identification techniques are proposed to implement load flow and loss allocation. A detailed algorithm with some useful MATLAB codes are included to form various proposed arrays to perform the load flow and then allocate losses to various buses. The results for a 30-bus and a 69-bus radial test distribution system are presented.
Tploss(jj,l) QL(p) NB NBr N(jj) Vp
Real power loss supported by consumer at bus-l Reactive power load at the pth bus Total number of buses Total number of branches = NB-1 Total number of buses beyond branch-j Voltage at the pth bus
Introduction Keywords Exact method Loss allocation Load flow Radial distribution system Notations p ie(jj,i) I(jj) IL{ie(jj,i)} IL(p) PL(p) ploss(jj,l) PLOSS (jj)
Bus number Buses beyond branch-j, for i = 1,2…,N(jj) Current of branch-j Load current of bus ie(jj,i) Load current or equivalent current injection (ECI) at the pth bus Real power load at the pth bus Real power loss of branch-j allocated to bus-l Real power loss of branch-j
S. Mishra (&) Eastern Academy of Science and Technology, Bhubaneswar, India e-mail:
[email protected] D. Das Indian Institute of Technology, Kharagpur, Kharagpur, West Bengal, India S. Paul Jadavpur University, Kolkata, West Bengal, India
Electricity supply industries worldwide are undergoing major structural changes with the objective of introducing competition and choice in electricity supply. These changes are motivated primarily by the belief that competition will bring better service, at a lower price to electricity consumers. The vertically integrated systems have been restructured and unbundled to one or more generation companies, transmission companies and a number of distribution companies. An essential condition for competition to develop is open access, on a nondiscriminatory basis, to transmission and distribution networks. The central issue in the concept of open access is setting an adequate price for transmission and distribution services. Moreover, there is ever-growing pressure for all components of costs to be clearly identified and assigned equitably to all parties taking care to avoid or minimize any temporal or spatial cross-subsidies. Thus, the cost of transmission and distribution activities needs to be allocated to the users of these networks. Allocation can be done through network use tariffs, with a focus on the true impact they have on these costs. Among others, distribution power losses are one of the costs to be allocated. The main difficulty faced in allocating losses is the nonlinearity between the losses and
123
124
delivered power which complicates the impact of each user on network losses [1]. It is impossible to calculate the exact amount of losses in advance, without running a power flow. At the same time, even after computing the power flow solution, there is a strong interdependence among all the users, expressed by the presence of cross terms due to the fact that losses are a nearly quadratic function of the power flows. Hence, allocating the losses to the market participants cannot be carried out in a straightforward way. A literature review reveals numerous loss allocation techniques and can be classified by two criteria: by network type (transmission or distribution) and by the approach used (marginal, average and actual) [2]. Incremental transmission loss (ITL) allocation method [3] is in the category for transmission networks and based on marginal approach. Pro rata allocation [3], though the simplest method suitable for both transmission and distribution networks, is an example of average approach but fails to allocate in a fair way. Proportional sharing method [4–8] uses the results of converged power flow solution plus a linear proportional sharing principle. Z-bus method [9] and Succint method [10] are based on actual approach suitable for transmission networks, whereas Exact Method [11, 12] is a method of actual approach proposed for radial distribution networks. In general, a first distinction can be made between loss allocation methods dedicated to transmission and distribution systems. The difference between these two classes of methods basically lies in the role given to the slack bus. In transmission systems, the generator located in the slack bus compensates for all the losses and is explicitly considered in the mechanism of loss allocation. In radial distribution systems (RDS), the location of the slack bus at the root bus of the distribution tree is naturally unique, and the slack bus usually represents the connection to the higher voltage network. With the growing penetration of distributed generators (DG) in distribution networks suitable loss allocation methods [13– 15] are also proposed. In this paper, a simple algorithm is proposed to implement loss allocation techniques in RDS. Though, this algorithm can be easily modified for all types of loss allocation techniques suitable for RDS, the ‘‘Exact Method’’ of loss allocation [11, 12] for RDS is chosen for implementation due to its established superiority. Simple bus identification techniques are proposed to implement the load flow first by forward-backward sweep method [16] and then the results of the load flow are utilized to allocate losses to various buses of RDS. A detailed algorithm with MATLAB codes to form various proposed arrays, perform load flow and to allocate losses are included. Test results on a 30 bus RDS and a 69 bus RDS are presented. For better understanding of the algorithm, a complete flow chart is also included in the Appendix.
123
J. Inst. Eng. India Ser. B (September–November 2012) 93(3):123–132
Methodology For the purpose of explanation, a sample radial distribution feeder as shown in Fig. 1 is considered. Here, branch numbers are shown in (.). The branch number, sending end and receiving end buses are also given in Table 1, which are the part of input data of the system. However, the last two columns of the table specify the number of buses beyond any branch-j, i.e. N(jj) and the subsequent buses to the branch-j, (ie(jj,i); i = 1, 2,…, N(jj)) respectively, which are to be calculated. The load current or equivalent current injection (ECI) at any bus p is given as: ILðpÞ ¼
PLp jQLp ; p ¼ 2; 3; . . .; NB Vp
ð1Þ
Consider branch-5 of Fig. 1. The number of buses beyond branch-5 is one and this is bus-6. Therefore, current through branch-5 is: Ið5Þ ¼ ILð6Þ
ð2Þ
Now consider branch-4. The total number of buses beyond branch-4 is two and these buses are 5 and 6, respectively. Therefore, current through branch-4 is: Ið4Þ ¼ ILð5Þ þ ILð6Þ
ð3Þ
Similarly, consider branch-3. Total number of buses beyond branch-3 is five and these buses are 4, 5, 6, 10 and 11. Therefore, current through branch-3 is: Ið3Þ ¼ ILð4Þ þ ILð5Þ þ ILð6Þ þ ILð10Þ þ ILð11Þ
ð4Þ
From Eqs. (2)–(4), it is clear that, if we identify the buses beyond all the branches and if the load currents or the ECIs of the corresponding buses are known, then it is extremely easy to compute the branch currents. Thus, the
Fig. 1 Sample distribution network with 12 buses
J. Inst. Eng. India Ser. B (September–November 2012) 93(3):123–132 Table 1 Sample distribution system data
Branch no. (jj)
Sending end bus se(jj)
IðjjÞ ¼
Receiving end bus re(jj)
Total no. of buses beyond branch-jj N(jj)
Nodes beyond branch-jj ie(jj,i) i = 1,2,3……N(jj) 2,3,4,5,6,7,8,9,10,11,12
1
1
2
11
2
2
3
6
3,4,5,6,10,11
3
3
4
5
4,5,6,10,11
4
4
5
2
5,6
5
5
6
1
6
6
2
7
4
7,8,9,12
7
7
8
3
8,9,12
8
8
9
1
9
9
4
10
2
10,11
10
10
11
1
11
11
8
12
1
12
general expression of branch current through branch-j is given by: NðjjÞ X
125
Let
Vi Vj Vfieðjj; kÞg
¼ Afieðjj; kÞg þ j Bfieðjj; kÞg
Therefore, ILfieðjj; iÞg
ð5Þ
k¼1
PLOSSðjjÞ ¼ Real
(NðjjÞ ) X ðAfieðjj; kÞg þ j Bfieðjj; kÞgÞ: k¼1
ðPLfieðjj; kÞg jQLfieðjj; kÞgÞ ð11Þ
Exact Method of Loss Allocation Savier and Das [11] have proposed a new loss allocation scheme for RDS, which is termed as ‘‘Exact Method’’. Mishra and Das [12] have used a similar approach for allocating losses in unbalanced RDS. The scheme is explained as below: Using Eqs. (1) and (5), the branch current of jth branch modifies to IðjjÞ ¼
ð10Þ
NðjjÞ X
PLfieðjj; kÞg jQLfieðjj; kÞg Vfieðjj; kÞg k¼1
ð6Þ
Hence, PLOSSðjjÞ ¼
NðjjÞ X
Using Eq. (12) active power loss in branch-jj can be allocated to consumers beyond branch-j. Thus, active power loss of branch-j allocated to a consumer connected to bus {ie(jj,k)} is given by: plossfjj; ieðjj; kÞg ¼Afieðjj; kÞg:PLfieðjj; kÞg
ð7Þ
Using Eq. (6), the expression in Eq. (7) modifies to n XNðjjÞ PLOSSðjjÞ ¼ Real ðVi VjÞ k¼1 ð8Þ PLfieðjj; kÞ j QLfieðjj; kÞg g Vfieðjj; kÞg Further arranging, (NðjjÞ X Vi Vj PLOSSðjjÞ ¼ Real Vfieðjj; kÞg k¼1 ðPLfieðjj; kÞ j QLfieðjj; kÞgÞ g
ð12Þ
þBfieðjj; kÞg:QLfieðjj; kÞgÞ
Real power loss of branch-j with sending end voltage Vs, receiving end voltage Vr and branch current I(jj) is given by: PLOSSðjjÞ ¼ RealðVi VjÞ :IðjjÞ
ðAfieðjj; kÞg:PLfieðjj; kÞg
i¼1
þ Bfieðjj; kÞg:QLfieðjj; kÞg for jj ¼ 1; 2; . . .NB 1
ð13Þ
and k ¼ 1; 2. . .NðjjÞ The global value of losses to be supported by consumer connected to bus-1 results from the sum of the losses allocated to it in each branch-jj of the network, which is given by (14). Tploss(‘) ¼
NB1 X
ploss(jj; ‘)
for ‘ ¼ 2; 3; . . .; NB
ð14Þ
jj¼1
Bus Identification Schemes ð9Þ
In order to implement the ‘‘Exact Method’’ of the loss allocation mentioned in the previous section, the execution
123
126
J. Inst. Eng. India Ser. B (September–November 2012) 93(3):123–132
of load flow for the RDS is a prerequisite. Load flow gives the converged voltage magnitudes and active power losses in all the branches, which are then allocated to the various buses or consumers subsequent to the branch concerned using the ‘‘Exact Method’’ of loss allocation. To implement both the load flow and the loss allocation bus identification schemes are proposed as below. A vector array of dimension double the number of branches of a RDS, namely, adb(2*NBr) is introduced. This array would store all the adjacent or neighboring buses of each of the buses of the RDS. Adjacent buses of a particular bus mean the sending end or receiving end buses of all the connected branches of the bus, e.g. the adjacent buses of bus-4 in Fig. 1 are 3, 5 and 10, of which bus-3 is termed as the previous bus. Two other arrays mf() and mt() of dimension NB are introduced, which act as pointers of the adb() array. These arrays in turn govern the reservation allocation of memory locations for each bus, i.e. mf() and mt() point to the starting and end addresses in the adb() array respectively. The above mentioned scheme is explained with reference to the RDS of Fig. 1 and presented in Fig. 2. The arrays mf(), mt() and adb() can be formed from the input data. MATLAB codes to form these arrays from the input data are presented in appendix. Advantages of the Scheme •
An end bus can be easily identified. For an end bus-i,
mt½i mf ½i ¼ 0
ð15Þ
Of course, the only exception is the substation bus, which is numbered as 1. Fig. 2 Contents of mf, mt, adb and pb arrays for the sample distribution system of Fig. 1
123
•
A junction bus can be identified as:
mt½i mf ½i [ 1
ð16Þ
Similarly, an intermediate bus which is not a junction bus can be identified as: mt½i mf ½i ¼ 1 •
ð17Þ
Given a bus-i, the previous bus-n can be identified as:
for k ¼ mf ðiÞ : mtðiÞ if adbðkÞ \ i n ¼ adbðkÞ; % n is the previous bus of i bus end
ð18Þ
end Using Eq. (18) all the previous buses corresponding to respective branches are identified and stored in an array pb(NBr). This is also explained in Fig. 2 for the sample RDS of Fig. 1. The application of the above scheme significantly reduces the search process in identifying the adjacent buses in a RDS. To implement any loss allocation scheme in a RDS, for every branch all the buses beyond the branch concerned are required to be known. For example, in Fig. 1 and Table 1, a term N(jj) is used to denote the number of buses beyond a branch-j and these are given by the terms ie(jj,i),where i = 1,2,3…..N(jj). Hence, two more arrays, namely, nsb() and sb() are introduced. The array nsb() stores the number of subsequent buses, N(jj), for all branches of the system and hence, has a dimension equal to the number of branches of the system i.e. NBr. The sb() array stores all the subsequent buses to each of the branches of the system. Two pointer arrays mfs() and mts() are also introduced to point to the starting and ending memory locations in sb()
J. Inst. Eng. India Ser. B (September–November 2012) 93(3):123–132
127 Table 2 Contents of mfs(),mts() and nsb() array
Fig. 3 30-node test radial distribution network
array corresponding to each branch of the RDS. The arrays mfs(), mts(), nsb() and sb() can be formed from the input data. MATLAB codes to form these arrays from the input data are presented in Appendix. Algorithm to Implement the Loss Allocation Scheme An algorithm is presented here to implement the ‘‘Exact Method’’ of loss allocation, where a forward backward sweep based load flow [16] of the RDS is first performed and the load flow results are utilized to implement the loss allocation scheme. The proposed bus identification schemes are followed here to implement the algorithm. STEP-1: STEP-2:
STEP-3:
STEP-4: STEP-5: STEP-6:
Read input data of the RDS. Using the data mf(), mt(), adb(), mfs(), pb(), nsb() and sb() arrays are formed (MATLAB codes are presented in Appendix). The branch losses are initialized to zero and all the bus voltage magnitudes and angles are initialized to 1 p.u and 0 radian, respectively. Set iteration = 0 and tolerance = 0.0001. ECIs are computed for all the buses using Eq. (1). All the branch currents are computed using Eq. (5) and sb() array as shown below:
for i ¼ 2 : NB for k ¼ mfsðiÞ : mtsðiÞ p ¼ sbðkÞ; I ði 1Þ ¼ Iði 1Þ þ ILð pÞ; end end
Branch no.
mfs(i)
mts(i)
nsb()
1
160
188
29
2
132
159
28
3
105
131
27
4
86
104
19
5
76
85
10
6
73
75
3
7
71
72
2
8
70
70
1
9
63
69
7
10
57
62
6
11 12
55 54
56 54
2 1
13
48
53
6
14
43
47
5
15
39
42
4
16
38
38
1
17
36
37
2
18
35
35
1
19
27
34
8
20
20
26
7
21
18
19
2
22
17
17
1
23
13
16
4
24
10
12
3
25
8
9
2
26
7
7
1
27 28
4 2
6 3
3 2
29
1
1
1
STEP-7: Set i = 2 STEP-8: A forward sweep is started to update the bus voltages. pb(i) is used to find the previous busn of bus-i and the voltage of bus-i is then updated using (i-1)th branch current, (i-1)th branch parameters and nth bus voltage. STEP-9: i = i ? 1 STEP-10: Check i = NB, if yes step-11 is followed. Else step-8 is followed. STEP-11: Iteration = iteration ? 1 STEP-12: Voltage convergence is checked for each of the bus voltage magnitude comparing it with the values of previous iteration. On convergence, step-13 is followed; else step-5 is followed. STEP-13: Branch power losses and total power loss are calculated. STEP-14: Initialize total allocated loss array Tploss(i) = 0, i = 2,…….NB.
123
128
J. Inst. Eng. India Ser. B (September–November 2012) 93(3):123–132
Table 3 Contents of sb() array as identified by the algorithm for RDS of Fig. 3 S.no. (s)
sb(s)
Branch no.
S.no. (s)
sb(s)
Branch no.
1
30
29
48
14
13
2
29
28
49
15
3
30
50
16
97
4
28
5
29
6
30
7
27
26
8
26
25
9
27
10
25
11 12
26 27
13
24
60
28
107
6
154
12
14
25
61
29
108
7
155
13
15
26
62
30
109
8
156
27
16
27
63
10
110
9
157
28
17
23
22
64
11
111
14
158
29
18
22
21
19
23
20
21
67
28
114
17
161
3
21
22
68
29
115
18
162
4
22
23
69
30
116
19
163
5
23
24
70
9
8
117
20
164
6
24
25
71
8
7
118
21
165
7
25
26
72
9
119
22
166
8
26
27
73
7
120
23
167
9
27 28
20 21
74 75
8 9
121 122
24 25
168 169
14 15
29
22
76
6
123
26
170
16
30
23
77
7
124
27
171
17
31
24
78
8
125
10
172
18
32
25
79
9
126
11
173
19
33
26
80
14
127
12
174
20
34
27
81
15
128
13
175
21
35
19
18
82
16
129
28
176
22
36
18
17
37
19
38
17
39
16
40
27
24
23
20
19
S.no. (s)
sb(s)
Branch no.
S.no. (s)
sb(s)
Branch no.
95
18
4
96
19
142
17
2
143
18
20
144
19
51
17
98
21
145
20
52
18
99
22
146
21
53
19
100
23
147
22
54
13
12
101
24
148
23
55
12
11
102
25
149
24
56
13
103
26
150
25
104
27
105 106
4 5
57
11
58 59
12 13
10
9
3
151
26
152 153
10 11
65
12
112
15
159
30
66
13
113
16
160
2
6
5
83
17
130
29
177
23
84
18
131
30
178
24
16
85
19
132
3
179
25
15
86
5
133
4
180
26
17
87
6
134
5
181
27
41
18
88
7
135
6
182
10
42 43
19 15
89 90
8 9
136 137
7 8
183 184
11 12
44
16
91
14
138
9
185
13
45
17
92
15
139
14
186
28
46
18
93
16
140
15
187
29
47
19
94
17
141
16
188
30
123
14
4
2
1
J. Inst. Eng. India Ser. B (September–November 2012) 93(3):123–132
129
Table 4 Converged magnitudes and loss allocated to various buses (30 bus) Bus
Voltage magnitudes(p.u)
1
1.0000
0.0000
2
0.9647
6.0766
3
0.9433
9.4111
4
0.9337
0.8756
5
0.9299
2.3251
6
0.9255
3.7993
7 8
0.9227 0.9174
1.0358 1.7303
9
0.9127
16.1135
10
0.9225
4.2300
11
0.9202
5.8301
12
0.9200
3.2375
13
0.9199
1.0800
14
0.9217
2.6734
15
0.9145
4.7533
16
0.9085
5.1779
17
0.9071
13.3798
18
0.9069
7.7586
19
0.9063
4.1024
20
0.9256
0.9949
21
0.9172
4.7204
22 23
0.9130 0.9126
9.8173 3.3267
24
0.9109
10.3433
25
0.9072
6.1328
26
0.9056
3.4552
27
0.9049
2.6869
28
0.9186
4.4895
29
0.9177
3.3936
30
0.9166
2.5066
Total loss (kW) loss(kW)
Loss allocation(kW) (kW)
145.4575
STEP-15: Set i = 2 STEP-16: Find n = pb(i), the previous bus is identified and V(n)–V(i) is calculated. STEP-17: All subsequent buses to the branch (i-1) are identified from sb() array and loss in (i-1)th branch is allocated to the subsequent buses as per Eq. (13). for m ¼ mfsðiÞ : mtsðiÞ k ¼ sbðmÞ; A ¼ realðconjððVðnÞ VðiÞÞ=VðkÞÞÞ; B ¼ imagðconjððVðnÞ VðiÞÞ=VðkÞÞÞ; plossðkÞ ¼ A PLðkÞ þ B QLðkÞ; TplossðkÞ ¼ TplossðkÞ þ plossðkÞ; end
Fig. 4 Flow chart of the proposed algorithm
STEP-18: STEP-19:
Set i = i ? 1 and check i = NB, if yes step-19 is followed else step-16 is followed. Find the total loss allocated to all the buses and compare with the total loss as obtained from load flow in step-13.
A flowchart based on the earlier algorithm is presented in Fig. 4, which is included in the Appendix. Results In order to validate the proposed algorithm, a number of numerical examples are solved, out of which two cases are presented here. First, a physically existing 30 node, 11 kV RDS [11] as shown in Fig. 3 is considered to implement the ‘‘Exact Method’’ of loss allocation. The base voltage and base power are considered to be 11 kV and 100 kVA respectively. Based on the algorithm given, MATLAB codes are written to implement the load flow and the loss allocation scheme. The contents of mfs(), mts(), nsb() and sb()
123
130
J. Inst. Eng. India Ser. B (September–November 2012) 93(3):123–132
Table 5 Converged magnitudes and loss allocated to various buses (69 bus) Bus
Volt. mag. (p.u)
Loss allocation (kW)
Bus
Volt. mag. (p.u)
Loss allocation (kW)
1
1.0000
0
36
0.9999
0.0011
2
1.0000
0
37
0.9997
0.0035
3
0.9999
0
38
0.9996
0
4
0.9998
0
39
0.9995
0.0073
5
0.9990
0
40
0.9995
0.0073
6
0.9901
0.0279
41
0.9988
0.0010
7
0.9808
0.8558
42
0.9986
0
8
0.9786
1.7750
43
0.9985
0.0068
9
0.9774
0.7500
44
0.9985
0
10
0.9724
0.8723
45
0.9984
0.0485
11 12
0.9713 0.9682
4.7453 5.3327
46 47
0.9984 0.9998
0.0485 0
13
0.9653
0.3226
48
0.9985
0.0634
14
0.9624
0.3523
49
0.9947
1.1252
15
0.9595
0
50
0.9942
1.2407
16
0.9590
2.1923
51
0.9785
0.9580
17
0.9581
2.9203
52
0.9785
0.0857
18
0.9581
2.9209
53
0.9747
0.1237
19
0.9576
0
54
0.9714
0.8432
20
0.9573
0.0498
55
0.9669
0.8918
21
0.9568
5.8619
56
0.9626
0
22
0.9568
0.2702
57
0.9401
0
23
0.9567
0
58
0.9290
0
24
0.9566
1.4495
59
0.9248
9.4055
25
0.9564
0
60
0.9197
0
26
0.9563
0.7292
61
0.9123
138.2678
27 28
0.9563 0.9999
0.7296 0.0010
62 63
0.9121 0.9117
3.5726 0
29
0.9999
0.0021
64
0.9098
26.0175
30
0.9997
0
65
0.9092
6.8057
31
0.9997
0
66
0.9713
0.5908
32
0.9996
0
67
0.9713
0.5908
33
0.9993
0.0097
68
0.9678
1.0414
34
0.9990
0.0215
69
0.9678
35
0.9989
0.0071
1.0414 224.9886
Total loss
arrays for the test RDS of Fig. 3, as identified by the program, are presented in Tables 2 and 3. Load flow for the RDS is carried out first. The load flow results are then used to allocate losses to the various buses of the RDS except bus-1 which is the substation bus. The load flow results i.e. the converged voltage magnitudes and the loss allocated to the various buses are presented in Table 4. The total real power loss of the system is 145.4575 kW which is also equal to the sum of total loss allocated to the various buses (consumers) of the RDS except bus-1, which is the substation bus. It is worthwhile to mention here that using the above algorithm with proposed bus identification scheme,
123
Mishra, et al [17] have implemented other established loss allocation schemes suitable for RDS where the results are presented for comparison. The test results for another 12.66 kV RDS [18] having 69 nodes are also presented in Table 5. The real power loss of the system is 224.9886 kW, which is allocated to various customers successfully. Since, all the required arrays for any radial test system are formed only once before the load flow as mentioned in the step-2 of the given algorithm and the contents of these arrays are used again to allocate losses to various buses using the converged bus voltages obtained from the load flow (step-12 onwards), the CPU time for these steps
J. Inst. Eng. India Ser. B (September–November 2012) 93(3):123–132
contribute insignificantly to the overall execution time of the algorithm irrespective of the size of the test system. On the other hand, the contents of the sb() array rather help in computing the branch currents effectively (step-6) in every iteration of the load flow, enabling to reduce the overall execution time significantly.
131 Appendix continued % MATLAB codes to find mf(), mt() and adb() arrays from system data end mt(i) = s; if i \ nb mf(i ? 1) = mt(i) ? 1; end
Conclusion end
In the present work, a simple approach to implement ‘‘Exact Method’’ of loss allocation in RDS has been proposed. Some simple bus identification techniques have been introduced. A detailed algorithm to form various arrays, to execute load flow and to allocate losses to various buses has been presented. A complete flow chart of the algorithm is also included in the appendix for better understanding. Test results of a 30 bus and 69 bus RDS have been presented. The Exact Method successfully allocates the active power losses to the various buses (consumers). Though, in this paper the algorithm has been used to implement the ‘‘Exact Method’’ of loss allocation in RDS, however, this algorithm can be easily adapted to implement other loss allocation methods [17] to compare the performances. The adaptability of this algorithm to other application like feeder reconfiguration will be included in future research.
% MATLAB codes to find mfs(), mts(), nsb() and sb() arrays from system data a = 1; for i = NB:-1:2 sb(a) = 1; mfs(i) = a; if mt(i)-mf(i) == 0 nsb = 1; mts(i) = a; a = a ? 1; else nsb(i) = 1; for k = mf(i):mt(i) if i \ adb(k) n = adb(k); nsb(i) = nsb(i) ? nsb(n); for p = mfs(n):mts(n)
Appendix
a = a ? 1; sb(a) = sb(p); end
% MATLAB codes to find mf(), mt() and adb() arrays from system data
end end a = a ? 1;
mf(1) = 1;
mts(i) = mfs(i) ? nsn(i)-1;
s = 0; for i = 1:NB for p = 1:NB-1
end end
if i == se(p) % se() array holds all the sending end buses s = s ? 1; adb(s) = re(p); % re() array holds all the receiving end buses s = s ? 1; adb(s) = se(p); s = s-1; else if i == re(p) s = s ? 1; adb(s) = se(p); end end
References 1. A. Go´mez, J.M. Riquelme, T. Gonza´lez, E. Ruiz, Fair allocation of transmission power losses. IEEE Trans. Power Syst. 15(1), 184–188 (2000) 2. R.A. Mazzini, F.S. Probnakara, A framework for defining loss calculation methodologies. IEEE Trans. Power Del. 22(3), 1863–1870 (2007) 3. A.J. Conejo, J.M. Arroyo, N. Alguacil, A.L. Guijarro, Transmission loss allocation: a comparison of different practical algorithms. IEEE Trans. Power Syst. 17(3), 571–576 (2002) 4. J.W. Bialek, Tracing the flow of electricity. Proc IEE Gen. Transm. Dist. 143(4), 313–316 (1996)
123
132 5. D. Kirschen, R. Allan, G. Strbac, Contributions of individual generators to loads and flows. IEEE Trans. Power Syst. 12(1), 52–60 (1997) 6. J.W. Bialek, Topological generation and load distribution factors for supplement charge allocation in transmission open access. IEEE Trans. Power Syst. 12(3), 1185–1193 (1997) 7. G. Strabac, D. Kirschen, A. Ahmed, Allocating transmission system usage on the basis of traceable contributions of generators and loads flows. IEEE Trans. Power Syst. 13(2), 527–534 (1998) 8. D. Kirschen, G. Strbac, Tracing active and reactive power between generators and loads using real and imaginary currents. IEEE Trans. Power Syst. 14(4), 1312–1319 (1999) 9. A.J. Conejo, F.D. Galiana, I. Kockar, Z-bus loss allocation. IEEE Trans. Power Syst. 16(1), 105–110 (2001) 10. W.L. Fang, H.W. Ngan, Succint method for allocation of network losses. Proc IEE Gen. Transm. Dist. 149(2), 171–174 (2002) 11. J.S. Savier, D. Das, Energy loss allocation in radial distribution systems: a comparison of practical algorithms. IEEE Trans. Power Del. 24(1), 260–267 (2009) 12. S. Mishra, D. Das, A novel active power loss allocation scheme for unbalanced radial power distribution system. Int. Rev. Electr. Eng. 4(4), 543–550 (2008)
123
J. Inst. Eng. India Ser. B (September–November 2012) 93(3):123–132 13. P.M. Costa, M.A. Matos, Loss allocation in distribution networks with embedded generation. IEEE Trans. Power Syst. 19(1), 384–389 (2004) 14. E. Carpaneto, G. Chicco, J. Akilimalli, Branch current decomposition method for loss allocation in radial distribution systems with distributed generation. IEEE Trans. Power Syst. 21(3), 1170–1179 (2006) 15. M. Atanasovski, R. Taleski, Power summation method for loss allocation in radial distribution networks with DG. IEEE Trans. Power Syst. 26(4), 2491–2499 (2011) 16. S. Mishra, A simple algorithm for unbalanced radial distribution system load flow, in IEEE TENCON Conference, Hyderabad, India, 2008, pp 1–6 17. S. Mishra, D. Das, S. Paul, Active loss allocation schemes in radial distribution systems. Cogener. Distributed Gener. J. 25(3), 26–43 (2010) 18. M.E. Baran, F.F. Wu, Optimal capacitor placement in radial distribution systems. IEEE Trans. Power Del. 4(1), 725–734 (1989)