You do not have permission to edit this page, for the following reason:

You are not allowed to execute the action you have requested.


You can view and copy the source of this page.

x
 
1
<!-- metadata commented in wiki content
2
====
3
4
''', , David L.&nbsp;Alvarez <math>\cdot </math>         Diego F. Rodríguez <math>\cdot </math>         Sergio&nbsp;Rivera '''
5
-->
6
==Abstract==
7
8
This paper presents a novel approach for solving the security-constrained optimal power flow (SCOPF) optimization problem using parallel Computing. In this approach, switched shunt capacitors, generation power ramp, and demand response are considered in the SCOPF by maximizing the market surplus during regular operation and for a set of contingencies of branches and generators. The optimization problem is solved using the Nonlinear Interior Point Method. The contingency assessment is paralleled in multiple CPU cores to decrease the computation time. Additionally, the test systems used in ARPA-GO competition were used and compared with the ARPA benchmark results to assess the proposed algorithm. The numerical results show this method is suitable for fast SCOPF using paralleling Computing.
9
10
'''Keywords''': High-performance computing, interior-point method, reliability, Security Constraint Optimal Power Flow (SCOPF)
11
12
==1. Introduction==
13
14
Power systems must operate in energy equilibrium in a secure, reliable, economical, and sustainable way; commonly contrary issues. Hence, tools to optimize the planning, maintenance, and operation of electrical networks are required. The optimal power flow (OPF) is a well-known problem  <span id='citeF-1'></span>[[#cite-1|[1]]] where the power balance and generation, thermal and voltage limits among other constraints are considered. However, the solution of this formulation could be non-optimal or insecure if contingencies occur in the grid. To securely operate considering the multiple contingencies that could arise, the OPF needs to be reformulated considering security constraints. This reformulation is known as Security Constraint Optimal Power Flow (SCOPF). According to  Cain et al. <span id='citeF-2'></span>[[#cite-2|[2]]],  an improvement of  5 % in the speed efficiency of the SCOPF algorithm can save between  619$   in the  U.S and it can also save  between 2687$  in the world. Illustrating, these savings are close to  1x10<sup>1</sup>  of the 2021 annual investment in the power sector  <span id='citeF-3'></span>[[#cite-3|[3]]].
15
16
To increase the performance of the SCOPF algorithm many advantages  are obtained. However, in order to employ SCOPF during real-time operation, the solution of this optimization problem needs to be computationally efficient given the well-known issues of OPF such as non-convexity  <span id='citeF-4'></span>[[#cite-4|[4]]], network size, integer-mixed variable decisions, among others. Therefore, to reduce the solution time of SCOPF algorithms, two approaches have been proposed. For one hand, to select a set of critical contingencies  <span id='citeF-5'></span><span id='citeF-6'></span>[[#cite-5|[5,6]]]. For other hand,  to simplify the problem using a linear approximation [Mithun2010].
17
18
Given the uncertainty in reducing the number of contingencies or using linear approximations during the planning and operation of the next-generation energy systems, a robust SCOPF assessment is required  <span id='citeF-7'></span>[[#cite-7|[7]]], However, this kind of algorithm presents a high computational cost. New approaches emerge to face this challenge, such as the use of reinforced learning (artificial intelligence algorithms) to operate networks during contingencies  <span id='citeF-8'></span>[[#cite-8|[8]]] or paralleling the Computing of the SCOPF by employing High-Performance Computing (HPC), both to reduce the computation cost. The issue with reinforced learning is that an artificial agent needs to be trained for each network with known states, therefore HPC is commonly used for different applications for power systems. For instance, in  Rodriguez et al. <span id='citeF-9'></span>[[#cite-9|[9]]] an embedded computer is used to partially solve power flows paralleling the Newton-Raphson algorithm. In  <span id='citeF-10'></span><span id='citeF-11'></span>[[#cite-10|[10,11]]] a hybrid CPU-GPU approach to solving power flows using Parallel Computing is employed. Finally, in  Zhou and Feng <span id='citeF-12'></span>[[#cite-12|[12]]] a Multi-CPU/Core Computing Environment is used for contingency analysis showing an acceleration ratio of 2.69x10<sup>1</sup> compared with sequential processing. However, the OPF is not considered.
19
20
Based on the reported benefits of employing HPC in power systems applications  <span id='citeF-13'></span><span id='citeF-14'></span>[[#cite-13|[13,14]]], in this paper a novel SCOPF analysis using parallel computing is addressed. This approach maximizes the market surplus during regular operation and contingencies, considering network constraints of power generation and load ramps. Also, generators’ active and reactive capacity, lines and transformers thermal limits, switchable shunts, voltage security limits, and price responsive demand are considered. The main contributions of this paper are summarized as follows:
21
22
* A novel SCOPF algorithm is proposed to run in parallel. This algorithm is divided  in two main stages, first one where a OPF is solved for a base case optimizing the market surplus, and a second one where each contingency is solved in parallel in order to obtain the conditions to operate the system in a secure condition.  The contingency assessment is performed by solving an OPF with both power generation and demand costs equal to zero and using the OPF base case results as initial points. This algorithm can provide a rapidly and reliable solution for optimal and secure operation of power networks
23
* For the SCOPF algorithm, the fixed switchable shunts are modeled as generators with an active power equal to zero and no cost, and the responsive demand is modeled as generators injecting negative power with constant power factor. This novel modeling can improve the optimal operation of modern power systems
24
* The SCOPF algorithm can run on a multi-node cluster platform. The ARPA-GO platform was used to eval the effectiveness  of the SCOPF algorithm using large and realistic networks
25
26
27
This paper is organized as follows: in Background the theoretical background of OPF is introduced. Section  [[#3 SC-OPF Proposal |3]]  presents the proposed methodology to compute SCOPF using parallel computing, followed by  Results, where the algorithm is assessed for different study cases.  Finally, in Conclusion, conclusions are addressed.
28
29
==2. Background==
30
31
The fundamental OPF problem is formulated to minimize the cost of generation subject to equality constraints of bus power balance and inequality constraints of maximum and minimum active and reactive power generation,  minimum and maximum bus voltages and thermal transmission constraints, including transformers and lines. This formulation is shown below, where it is stated to minimize:
32
33
{| class="formulaSCP" style="width: 100%; text-align: left;" 
34
|-
35
| 
36
{| style="text-align: left; margin:auto;width: 100%;" 
37
|-
38
| style="text-align: center;" | <math>{minimize}{\sum_{i=1}^{N_{gen}} f\left(P_{g_i,u}\right)} </math>
39
|}
40
| style="width: 5px;text-align: right;white-space: nowrap;" | (1)
41
|}
42
43
subject to
44
45
{| class="formulaSCP" style="width: 100%; text-align: left;" 
46
|-
47
| 
48
{| style="text-align: left; margin:auto;width: 100%;" 
49
|-
50
| style="text-align: center;" | <math> P_i-\operatorname{Re}\left(E_i \sum_{k=1}^{N_{bus}} Y_{ij} E_j \right)={0,} \qquad i=1,\ldots,N_{bus}</math>
51
|}
52
| style="width: 5px;text-align: right;white-space: nowrap;" | (2)
53
|}
54
 
55
 {| class="formulaSCP" style="width: 100%; text-align: left;" 
56
|-
57
| 
58
{| style="text-align: left; margin:auto;width: 100%;" 
59
|-
60
| style="text-align: center;" | <math> Q_i-\operatorname{Im}\left(E_i \sum_{j=1}^{N_{bus}} Y_{ij} E_j \right)={0,} \qquad i=1,\ldots,N_{bus}</math>
61
|}
62
| style="width: 5px;text-align: right;white-space: nowrap;" | (3)
63
|}
64
65
 {| class="formulaSCP" style="width: 100%; text-align: left;" 
66
|-
67
| 
68
{| style="text-align: left; margin:auto;width: 100%;" 
69
|-
70
| style="text-align: center;" | <math>P_{g_i}^{min}\leq P_{g_i}\leq P_{g_i}^{max}, \qquad i=1,\ldots,N_{gen}</math>
71
|}
72
| style="width: 5px;text-align: right;white-space: nowrap;" | (4)
73
|}
74
75
 {| class="formulaSCP" style="width: 100%; text-align: left;" 
76
|-
77
| 
78
{| style="text-align: left; margin:auto;width: 100%;" 
79
|-
80
| style="text-align: center;" | <math>{P_{g_i}^0-\Delta P_{g_i}^d \leq  P_{g_i} \leq  }{P_{g_i}^0+\Delta P_{g_i}^u,}\qquad i=1,\ldots,N_{gen}</math>
81
|}
82
| style="width: 5px;text-align: right;white-space: nowrap;" | (5)
83
|}
84
85
 {| class="formulaSCP" style="width: 100%; text-align: left;" 
86
|-
87
| 
88
{| style="text-align: left; margin:auto;width: 100%;" 
89
|-
90
| style="text-align: center;" | <math>Q_{g_i}^{min}\leq Q_{g_i}\leq  Q_{g_i}^{max},\qquad i=1,\ldots,N_{gen}</math>
91
|}
92
| style="width: 5px;text-align: right;white-space: nowrap;" | (6)
93
|}
94
95
 {| class="formulaSCP" style="width: 100%; text-align: left;" 
96
|-
97
| 
98
{| style="text-align: left; margin:auto;width: 100%;" 
99
|-
100
| style="text-align: center;" | <math>E_{i}^{min}\leq E_i\leq E_{i}^{max},\qquad i=1,\ldots,N_{bus}</math>
101
|}
102
| style="width: 5px;text-align: right;white-space: nowrap;" | (7)
103
|}
104
105
 {| class="formulaSCP" style="width: 100%; text-align: left;" 
106
|-
107
| 
108
{| style="text-align: left; margin:auto;width: 100%;" 
109
|-
110
| style="text-align: center;" | <math>S_{ij}\leq S_{ij}^{max},\qquad i,j=1,\ldots,N_{branch} </math>
111
|}
112
| style="width: 5px;text-align: right;white-space: nowrap;" | (8)
113
|}
114
115
where <math display="inline">P_{g_i}</math> is the active power generated by the generator <math display="inline">i</math>, <math display="inline">f</math> is the cost function, <math display="inline">N_{gen}</math> is the number of generators, <math display="inline">P_i</math> is the injected power at bus <math display="inline">i</math>, <math display="inline">E</math> is the absolute value of bus voltage, <math display="inline">P_{g_i}^0</math> is the generating power at prior condition, <math display="inline">\Delta P_{g_i}^d</math>,<math display="inline">\Delta P_{g_i}^d</math> are the down and up generator ramps, <math display="inline">N_{bus}</math> is the number of buses, <math display="inline">S_{ij}</math> is the power flow by branch, <math display="inline">Y_{ik}</math> is the branch admittance between bus <math display="inline">i</math> and <math display="inline">k</math>, <math display="inline">P_{g}^{min}</math> and <math display="inline">P_{g}^{max}</math>, and <math display="inline">Q_{g}^{min}</math> and <math display="inline">Q_{g}^{max}</math> are active and reactive generators limits, <math display="inline">E_{i}^{min}</math> and <math display="inline">E_{i}^{max}</math> are bus voltage limits, <math display="inline">S_{ij}^{max}</math> is the branch thermal limit. Finally, <math display="inline">u</math> is the vector of decision and state variables, bus angles <math display="inline">\left(\theta \right)</math> and voltages, and active and reactive generator power.       
116
117
===2.1 Switched shunt capacitors===
118
119
The switched shunt capacitors are used to securely optimize the grid operation. These capacitors are composed of blocks with fixed steps resulting in an equivalent shunt susceptance as follows:
120
121
{| class="formulaSCP" style="width: 100%; text-align: left;" 
122
|-
123
| 
124
{| style="text-align: left; margin:auto;width: 100%;" 
125
|-
126
| style="text-align: center;" | <math>b_{ii} = \sum _{a=1}^{N_a} b_a x_{ak} </math>
127
|}
128
| style="width: 5px;text-align: right;white-space: nowrap;" | (9)
129
|}
130
131
where <math display="inline">b_{ii}</math> is the resulting shunt susceptance at bus <math display="inline">i</math>, <math display="inline">a</math> is the block, <math display="inline">b_a</math> is the susceptance step size, <math display="inline">k</math> is the current step position, and <math display="inline">N_a</math> is the number of shunt blocks.
132
133
===2.2 Demand response===
134
135
The demand response allows to increase or decrease the load with an associated cost to enhance the SCOPF. The demand response is subject to:
136
137
{| class="formulaSCP" style="width: 100%; text-align: left;" 
138
|-
139
| 
140
{| style="text-align: left; margin:auto;width: 100%;" 
141
|-
142
| style="text-align: center;" | <math>t_{min} \leq t \leq t_{max} </math>
143
|}
144
| style="width: 5px;text-align: right;white-space: nowrap;" | (10)
145
|}
146
147
where <math display="inline">t</math> is the fraction of current load and <math display="inline">t_{min}</math> and <math display="inline">t_{max}</math> are the maximum and minimum fraction of load, respectively. Hence, the resulting active and reactive parts of the load are:
148
149
{| class="formulaSCP" style="width: 100%; text-align: left;" 
150
|-
151
| 
152
{| style="text-align: left; margin:auto;width: 100%;" 
153
|-
154
| style="text-align: center;" | <math>P_{l_i}  = P_{l_i}^0  t_i </math>
155
|}
156
| style="width: 5px;text-align: right;white-space: nowrap;" | (11)
157
|}
158
159
{| class="formulaSCP" style="width: 100%; text-align: left;" 
160
|-
161
| 
162
{| style="text-align: left; margin:auto;width: 100%;" 
163
|-
164
| style="text-align: center;" | <math>Q_{l_i}  = Q_{l_i}^0  t_i </math>
165
|}
166
| style="width: 5px;text-align: right;white-space: nowrap;" | (12)
167
|}
168
169
where <math display="inline">P_{l_i}</math>, <math display="inline">Q_{l_i}</math> are the active and reactive demands at bus <math display="inline">i</math>, respectively, and <math display="inline"> P_{l_i}^0</math>, <math display="inline">Q_{l_i}^0</math> are the active and reactive demand at a primary operating point. Additionally, the loads can be subject to ramp limits as follows:
170
171
{| class="formulaSCP" style="width: 100%; text-align: left;" 
172
|-
173
| 
174
{| style="text-align: left; margin:auto;width: 100%;" 
175
|-
176
| style="text-align: center;" | <math>P_{l_i}^0-\Delta P_{l_i}^{d}  \leq P_{l_i} \leq P_{l_i}^0+\Delta P_{l_i}^{u}  </math>
177
|}
178
| style="width: 5px;text-align: right;white-space: nowrap;" | (13)
179
|}
180
181
where <math display="inline">\Delta P_{l_i}^{rd}</math>, <math display="inline"> \Delta P_{l_i}^{ru}</math> are the down and upper ramp limits, respectively.
182
183
===2.3 Cost functions===
184
185
Polynomial and piecewise linear cost functions are used for an OPF assessment if convex functions are assumed  <span id='citeF-15'></span>[[#cite-15|[15]]]. For piecewise linear functions, a helper cost (auxiliary) variable <math display="inline">y</math> is added for each segment of the function, and the following constraints are included in the formulation of OPF:
186
187
{| class="formulaSCP" style="width: 100%; text-align: left;" 
188
|-
189
| 
190
{| style="text-align: left; margin:auto;width: 100%;" 
191
|-
192
| style="text-align: center;" | <math>y \ge m_j \left(x-x_j \right)+c_j </math>
193
|}
194
| style="width: 5px;text-align: right;white-space: nowrap;" | (14)
195
|}
196
197
where <math display="inline">j</math> is the segment of the piecewise function, <math display="inline">x</math> is the generator output power or demand, <math display="inline">m</math> is the slope, and <math display="inline">x_j,c_j</math> is the sequence of points of the segment, respectively. Commonly a piecewise function with one segment is replaced by a polynomial of grade one.
198
199
==3. SC-OPF proposal ==
200
201
In this section, the proposed algorithm for solving the SCOPF using paralleling computing is addressed. In this algorithm, switched shunt capacitors, demand response, and piecewise cost functions for loads and generators are considered.  Systems operating in island mode are outside of the scope of this SCOPF algorithm.
202
203
===3.1 SCOPF formulation===
204
205
The proposed formulation is based  on traditional security constrained optimal power flow [[#cite-15|[15]]]. In this formulation, the cost for normal operation (base case) and during a contingency (case k) are taken into account using the cost function <math display="inline">f_0</math> for the base case, <math display="inline">f_k</math> for each considered contingency, and the helper cost variables <math display="inline">y</math>. In the SCOPF, the set of constraints must be fulfilled for the base case and contingencies. In this way, it is stated:
206
207
To Maximize
208
209
{| class="formulaSCP" style="width: 100%; text-align: left;" 
210
|-
211
| 
212
{| style="text-align: left; margin:auto;width: 100%;" 
213
|-
214
| style="text-align: center;" | <math>{ f_0\left(P_{g_i},u,P_{l_i} \right)+\sum_{n=1}^{N_{gen}+N_{l}} y_n+\sum_{k=1}^{K} \left( f_k\left(P_{g_i},u,P_{l_i}\right)+\sum_{n=1}^{N_{gen}+N_{l}} y_n\right)}{}{} </math>
215
|}
216
| style="width: 5px;text-align: right;white-space: nowrap;" | (15)
217
|}
218
219
Subject to
220
221
{| class="formulaSCP" style="width: 100%; text-align: left;" 
222
|-
223
| 
224
{| style="text-align: left; margin:auto;width: 100%;" 
225
|-
226
| style="text-align: center;" | <math>{P_i-\operatorname{Re}\left(E_i \sum_{k=1}^{N_{bus}} Y_{ij} E_j \right)}{=0}{i=1,\ldots,N_{bus}}</math>
227
|}
228
| style="width: 5px;text-align: right;white-space: nowrap;" | (16)
229
|}
230
231
{| class="formulaSCP" style="width: 100%; text-align: left;" 
232
|-
233
| 
234
{| style="text-align: left; margin:auto;width: 100%;" 
235
|-
236
| style="text-align: center;" | <math>{Q_i-\operatorname{Im}\left(E_i \sum_{k=1}^{N_{bus}} Y_{ij} E_j \right)}{=0}{i=1,\ldots,N_{bus}}</math>
237
|}
238
| style="width: 5px;text-align: right;white-space: nowrap;" | (17)
239
|}
240
241
{| class="formulaSCP" style="width: 100%; text-align: left;" 
242
|-
243
| 
244
{| style="text-align: left; margin:auto;width: 100%;" 
245
|-
246
| style="text-align: center;" | <math>     { P_{l_i}^{0} t_{min}\leq P_{l_i}}{\leq P_{l_i}^{0} t_{max} \quad}{i=1,\ldots,N_{l}}</math>
247
|}
248
| style="width: 5px;text-align: right;white-space: nowrap;" | (18)
249
|}
250
251
{| class="formulaSCP" style="width: 100%; text-align: left;" 
252
|-
253
| 
254
{| style="text-align: left; margin:auto;width: 100%;" 
255
|-
256
| style="text-align: center;" | <math>     {P_{l_i}^0-\Delta P_{l_i}^d \leq  P_{l_i} }{\leq P_{l_i}^0+\Delta P_{l_i}^u}{i=1,\ldots,N_{l}} </math>
257
|}
258
| style="width: 5px;text-align: right;white-space: nowrap;" | (19)
259
|}
260
261
{| class="formulaSCP" style="width: 100%; text-align: left;" 
262
|-
263
| 
264
{| style="text-align: left; margin:auto;width: 100%;" 
265
|-
266
| style="text-align: center;" | <math>     { \cfrac{Q_{l_{i}^0}}{P_{l_{i}^0}}  P_{l_i}-Q_{l_i} }{= 0}{i=1,\ldots,N_{l}} 
267
 </math>
268
|}
269
| style="width: 5px;text-align: right;white-space: nowrap;" | (20)
270
|}
271
272
{| class="formulaSCP" style="width: 100%; text-align: left;" 
273
|-
274
| 
275
{| style="text-align: left; margin:auto;width: 100%;" 
276
|-
277
| style="text-align: center;" | <math>     {P_{g_i}^{min}\leq P_{g_i}}{\leq P_{g_i}^{max}\quad}{i=1,\ldots,N_{gen}}
278
 </math>
279
|}
280
| style="width: 5px;text-align: right;white-space: nowrap;" | (21)
281
|}
282
283
{| class="formulaSCP" style="width: 100%; text-align: left;" 
284
|-
285
| 
286
{| style="text-align: left; margin:auto;width: 100%;" 
287
|-
288
| style="text-align: center;" | <math>     {P_{g_i}^0-\Delta P_{g_i}^d \leq  P_{g_i}}{\leq P_{g_i}^0+\Delta P_{g_i}^u}{i=1,\ldots,N_{gen}}  
289
 </math>
290
|}
291
| style="width: 5px;text-align: right;white-space: nowrap;" | (22)
292
|}
293
294
{| class="formulaSCP" style="width: 100%; text-align: left;" 
295
|-
296
| 
297
{| style="text-align: left; margin:auto;width: 100%;" 
298
|-
299
| style="text-align: center;" | <math>     {Q_{g_i}^{min}\leq Q_{g_i}}{\leq Q_{g_i}^{max}\quad}{i=1,\ldots,N_{gen}} 
300
 </math>
301
|}
302
| style="width: 5px;text-align: right;white-space: nowrap;" | (23)
303
|}
304
305
{| class="formulaSCP" style="width: 100%; text-align: left;" 
306
|-
307
| 
308
{| style="text-align: left; margin:auto;width: 100%;" 
309
|-
310
| style="text-align: center;" | <math>     {Q_{s_i}^{min}\leq Q_{s_i}}{\leq Q_{s_i}^{max}\quad}{i=1,\ldots,N_{shunt}}   
311
 </math>
312
|}
313
| style="width: 5px;text-align: right;white-space: nowrap;" | (24)
314
|}
315
316
{| class="formulaSCP" style="width: 100%; text-align: left;" 
317
|-
318
| 
319
{| style="text-align: left; margin:auto;width: 100%;" 
320
|-
321
| style="text-align: center;" | <math>     { P_{s_i} }{= 0}{i=1,\ldots,N_{shunt}}   
322
 </math>
323
|}
324
| style="width: 5px;text-align: right;white-space: nowrap;" | (25)
325
|}
326
327
{| class="formulaSCP" style="width: 100%; text-align: left;" 
328
|-
329
| 
330
{| style="text-align: left; margin:auto;width: 100%;" 
331
|-
332
| style="text-align: center;" | <math>     {E_{i}^{min}\leq E_i}{\leq E_{i}^{max}\quad}{i=1,\ldots,N_{bus}}  
333
 </math>
334
|}
335
| style="width: 5px;text-align: right;white-space: nowrap;" | (26)
336
|}
337
338
{| class="formulaSCP" style="width: 100%; text-align: left;" 
339
|-
340
| 
341
{| style="text-align: left; margin:auto;width: 100%;" 
342
|-
343
| style="text-align: center;" | <math>     {S_{ij}}{\leq S_{ij}^{max}\quad}{i,j=1,\ldots,N_{branch}} 
344
 </math>
345
|}
346
| style="width: 5px;text-align: right;white-space: nowrap;" | (27)
347
|}
348
349
{| class="formulaSCP" style="width: 100%; text-align: left;" 
350
|-
351
| 
352
{| style="text-align: left; margin:auto;width: 100%;" 
353
|-
354
| style="text-align: center;" | <math>     {m_j \left(x_i-x_j \right)+c_j}{\leq y_i\quad}{i=1,\ldots,N_{gen}+N_{l}}
355
 </math>
356
|}
357
| style="width: 5px;text-align: right;white-space: nowrap;" | (28)
358
|}
359
360
361
The demand response is modeled by assuming loads as generators injecting negative power and adding three constraints to the SCOPF. The first constraint is an inequality to model the minimum and maximum fraction of response load. The second one is an inequality to model the load ramps. The last constraint is equality to guarantee the ratio between reactive and active power demand response. For switched shunt capacitors, the algorithm is run in two stages. In the first one, the shunt capacitors are assumed as generators with inequalities of maximum and minimum reactive power <math display="inline">\left(Q_s\right)</math> and with equality constraints of active power equal to zero. In the second stage, the reactive power <math display="inline">\left(Q_s\right)</math> is approximate to the close shunt capacitors position, as shown in the following subsection. With that selected shunt block position, the resulting shunt impedance adds to the branch, and the OPF is back run, eliminating the assumed shunt as generators. Hence, the Nonlinear Interior Point Method based on Matpower formulation  <span id='citeF-15'></span>[[#cite-15|[15]]] solves the OPF problem for the base case and contingencies.
362
363
===3.2 Paralleling strategy===
364
365
As the set of contingencies does not depend on each other, those can be computed  in parallel. The proposed paralleling strategy to solve SCOPF is shown in  LC_OPF_Strategy_One and can be summarized in the following steps:
366
367
<ol>
368
369
<li>The base case OPF is run modeling the switchable shunt as generators      </li>
370
<li>Fix the shunt capacitor position adding the equivalent shunt susceptance to each branch and run the OPF     </li>
371
<li>Read contingency set and update limits of voltage and branch current ratings for contingencies     </li>
372
<li>Update the ramp limits of generation and demand power using the <math display="inline">P_{g_i}^0,P_{g_i}^0</math> of the base case     </li>
373
<li>Assign to each contingency a core of the available CPUs to execute in parallel steps 1 and 2. In summary, in this step the secure operation conditions for each contingency is assessed, solving the OPF problem of  02_OPF_Statement_ARPA assuming generation and demand cost as zero, in other words, <math display="inline">y_n</math> =0. Hence, the optimization problem is reduced to remove both the helper cost variables and the piecewise restrictions.        </li>
374
375
</ol>
376
377
In step 5 is exploited the capabilities of parallel computing running each contingency as an OPF without cost variables. With this novel approach, it is guaranteed that during a contingency the power network operates fulfilling  all security constraints (power balance, limits of loads, generators, voltage, branches, among others) ([[#img-1|Figure 1]] ).
378
379
<div id='img-1'></div>
380
{| class="wikitable" style="margin: 1em auto 0.1em auto;border-collapse: collapse;width:auto;" 
381
|-style="background:white;"
382
|style="text-align: center;padding:10px;"| |[[Image:Draft_Rivera_578093124-LC_OPF_Strategy_Paper.png|406px|Proposed paralleling strategy to solve SCOPF]]
383
|-
384
| style="background:#efefef;text-align:left;padding:10px;font-size: 85%;"| '''Figure 1'''. Proposed paralleling strategy to solve SCOPF
385
|}
386
387
388
During both the read data and read contingencies stages, a comparison between the ramps of generators and loads and the maximum and minimum allowable power is performed to delete over-defined inequalities.
389
390
==4. Case of study==
391
392
The validation of the proposed parallel algorithm is performed using the data-set and the scoring method formulated by the ARPA-GO challenge  <span id='citeF-16'></span>[[#cite-16|[16]]]. The algorithm was implemented in Python using the following open-source libraries:
393
394
* Pandas: For management data
395
* Scipy: For sparse matrix operations
396
* pypardiso: Python interface to the Intel MKL Pardiso library to solve sparse linear systems of equations
397
* mpi4py: Python bindings for the Message Passing Interface (MPI) standard, to exploit multiple processors on workstations or clusters
398
399
===4.1 Influence of number of CPU cores===
400
401
To assess the influence of several cores in the elapsed time to solve SCOPF, the case model C2T2N00617 scenario 185 of the ARPA-GO Competition data set was used. This is a system of 617 buses, 853 branches, and 108 contingencies. The CPU used was a Ryzen 3600 with 12 threats and a frequency base of  3.6 GHz. In  01_core_time is shown the elapsed time by the number of cores employed, where can be appreciated an exponential decay according to the number of cores. While comparing the ten threats with two threats, a speedup close to 5X was achieved ([[#img-2|Figure 2]] ).
402
403
<div id='img-2'></div>
404
{| class="wikitable" style="margin: 1em auto 0.1em auto;border-collapse: collapse;width:auto;" 
405
|-style="background:white;"
406
|style="text-align: center;padding:10px;"| [[Image:Draft_Rivera_578093124-01_core_time.png|540px|Elapsed time to solve SCOPF for the C2T2N00617-185 ARPA system using a different number of CPU-threats]]
407
|-
408
| style="background:#efefef;text-align:left;padding:10px;font-size: 85%;"| '''Figure 2'''. Elapsed time to solve SCOPF for the C2T2N00617-185 ARPA system using a different number of CPU-threats
409
|}
410
411
412
The benefits obtained with the proposed algorithm and the reported by ARPA-e Benchmark were  <math>1.50314\times 10^6</math> USD  and <math>1.50807\times 10^6</math> USD, respectively. That shows a similar performance between the two algorithms.
413
414
===4.2 Fixed demand and generation===
415
416
To evaluate the influence of demand response and dispatchable generators on the benefit,  a sensitivity analysis is performed executing the SCOPF with different levels of dispatchable load and generation. For that, a share of generation and demand are modeled as fixed elements injecting or consuming power. The  02_Demand_Load shows the results obtained for different ratios of fixed demand and generation. A fixed value of 1 means that all  loads or generators (<math>1\times 10^2</math>) are non-responsive or non-dispatchable. On the contrary, a fixed value of 0 means that all generators are dispatchable or all demands are responsive. As expected, for this case, the higher benefit was obtained to fix on  1   of the total elements of demand and generation. The lowest benefit was to fix a non-demand response of <math>1\times 10^2</math>  of the total loads and fixing the non-dispatchable generator at <math>6\times 10^1</math>. Overall, for the case model C2T2N00617-185 the demand response costs present a stronger influence on the benefit than the generation costs, demonstrating the potential benefits of the proposed SCOPF algorithm ([[#img-3|Figure 3]] ).
417
418
<div id='img-3'></div>
419
{| class="wikitable" style="margin: 1em auto 0.1em auto;border-collapse: collapse;width:auto;" 
420
|-style="background:white;"
421
|style="text-align: center;padding:10px;"| [[Image:Draft_Rivera_578093124-02_Demand_Load.png|540px|Influence of fixed loads and generators on the benefit (1x10<sup>6</sup> USD)for the case model C2T2N00617-185 ]]
422
|-
423
| style="background:#efefef;text-align:left;padding:10px;font-size: 85%;"| '''Figure 3'''. Influence of fixed loads and generators on the benefit (<math>1\times 10^6</math> USD)for the case model C2T2N00617-185 
424
|}
425
426
427
===4.3 Large size systems===
428
429
For assessing large size systems, the ARPA-GO competition platform was employed. This platform consists of a multi-node cluster with six nodes, each with 24 cores (a total of 144 cores) using the operating system Centos 7.4. MPI is used to manage the cluster. In  03_Comparision the benefit obtained for different ARPA-GO models using the ARPA-Benchmark results and the proposed SCOPF algorithm is shown. The number of contingencies for each model are 966, 500, 2540, 401, and 1023 respectively. The results show a similar performance between the two algorithms. For cases larger than 14000 buses, the algorithm shows slow convergence, and the platform interrupts the execution because the time limit was exceeded ([[#img-4|Figure 4]], where the code showed is the name of the power network and the number is the number of buses of the power network).
430
431
<div id='img-4'></div>
432
{| class="wikitable" style="margin: 1em auto 0.1em auto;border-collapse: collapse;width:auto;" 
433
|-style="background:white;"
434
|style="text-align: center;padding:10px;"| [[Image:Draft_Rivera_578093124-03_Comparision.png|540px|Benefit Comparison between  ARPA-Benchmark and the proposed SCOPF for different scenarios]]
435
|-
436
| style="background:#efefef;text-align:left;padding:10px;font-size: 85%;"| '''Figure 4'''. Benefit comparison between  ARPA-benchmark and the proposed SCOPF for different scenarios
437
|}
438
439
==5. Conclusion==
440
441
In this paper, an enhanced security constraints optimal power flow algorithm is proposed to be used in Paralleling Computing. This algorithm considers demand response, generator ramps limits, and switchable shunt capacitorss during normal operation and contingencies based on the standard OPF formulation. The algorithm was assessed using python scripts and open libraries with the ARPA-GO competition data sets on a desktop and in a multi-node cluster. The tests performed show how the algorithm becomes more efficient according to the increase in the number of cores, and the SCOPF has shown convergence for systems of 12000 buses. However, in larger cases, the algorithm presents numerical error convergences. Finally, the algorithm was developed to support the secure online operation of power systems using multiple CPUs to reduce the execution time.
442
443
==Conflict of interest==
444
445
The authors declare that they have no conflict of interest.
446
447
==References==
448
449
<div class="auto" style="text-align: left;width: auto; margin-left: auto; margin-right: auto;font-size: 85%;">
450
451
<div id="cite-1"></div>
452
[[#citeF-1|[1]]] Maskar M.B.,  Thorat A.R.,  Korachgaon I. A review on optimal power flow problem and solution methodologies. 2017 International Conference on Data Management, Analytics and Innovation (ICDMAI), Pune, India,  64&#8211;70, 2017.
453
454
<div id=cite-2></div>
455
[[#citeF-2|[2]]] Cain, M.B., O'Neill R.P.,  Castillo A. History of optimal power flow and formulations (OPF Paper 1). FERC Staff Tech. Pap.,  1&#8211;36, December 2012.
456
457
<div id=cite-3></div>
458
[[#citeF-3|[3]]] International Energy Agency (IEA) 2021.  World Energy Investment 2021, Paris https://www.iea.org/reports/world-energy-investment-2021
459
460
<div id=cite-4></div>
461
[[#citeF-4|[4]]] Low S.H. Convex relaxation of optimal power flow. Part I: Formulations and equivalence.  IEEE Transactions on Control of Network Systems, 1(1):15&#8211;27, 2014.
462
463
<div id=cite-5></div>
464
[[#citeF-5|[5]]] Majidi-Qadikolai M.,  Baldick R. Integration of contingency analysis with systematic transmission capacity expansion planning: ERCOT case study. Institute of Electrical and Electronics Engineers Inc. IEEE Transactions on Power Systems, 31(3):2234&#8211;2245, 2016.
465
466
<div id=cite-6></div>
467
[[#citeF-6|[6]]] Valencia-Zuluaga T.,  Agudelo-Martinez D.,  Arango-Angarita D.,  Acosta-Urrego C.,  Rivera S.,  Rodriguez-Medina D.,  Gers J. A fast decomposition method to solve a Security-Constrained Optimal Power Flow (SCOPF) problem through constraint handling. Institute of Electrical and Electronics Engineers Inc. IEEE Access, 9:52812&#8211;52824, 2021.
468
469
<div id=cite-7></div>
470
[[#citeF-7|[7]]] Moreira A., Street A., Arroyo J.M. 2015 An adjustable robust optimization approach for contingency-constrained transmission expansion planning. Institute of Electrical and Electronics Engineers Inc. IEEE Transactions on Power Systems, 30(4):2013&#8211;2022, 2015.
471
472
<div id=cite-8></div>
473
[[#citeF-8|[8]]] Taha S., Poland J.   Knezovic K.,   Shchetinin D. Learning to run a power network under varying grid topology. 2022 IEEE 7th International Energy Conference (ENERGYCON), pp. 1-6, Riga, Latviadoi, 2022. 
474
475
<div id=cite-9></div>
476
[[#citeF-9|[9]]] Rodriguez D.F.,  Alvarez D.L.,  Gomez D.,  Gers J.M., Rivera S. Low-cost analysis of load flow computing using embedded computer empowered by GPU. 2021 IEEE Power & Energy Society Innovative Smart Grid Technologies Conference (ISGT), IEEE, Washington, DC, USA, pp. 1&#8211;5, 2021.
477
478
<div id=cite-10></div>
479
[[#citeF-10|[10]]] Araújo I.,  Tadaiesky V.,  Cardoso D., Fukuyama Y.,  Santana Á. Simultaneous parallel power flow calculations using hybrid CPU-GPU approach. Elsevier BV. International Journal of Electrical Power & Energy Systems, 105:229&#8211;236, 2019.
480
481
<div id=cite-11></div>
482
[[#citeF-11|[11]]] Wang Z.,  Wende-von Berg S.,  Braun M. Fast parallel Newton–Raphson power flow solver for large number of system calculations with CPU and GPU. Sustainable Energy, Grids and Networks, 27:100483, 2021.
483
484
<div id=cite-12></div>
485
[[#citeF-12|[12]]] Zhou M.,  Feng D. Parallel contingency analysis for multi-CPU/core computing environment.  IFAC-PapersOnLine, 52(4):105&#8211;110, 2019.
486
487
<div id=cite-13></div>
488
[[#citeF-13|[13]]] Khaitan S.K.. A survey of high-performance computing approaches in power systems. 2016 IEEE Power and Energy Society General Meeting (PESGM), IEEE pp. 1&#8211;5, Boston, MA, USA, 2016.
489
490
<div id=cite-14></div>
491
[[#citeF-14|[14]]] Rodriguez D., Gomez D.,  Alvarez D.,  Rivera S.  A review of parallel heterogeneous computing algorithms in power systems. Multidisciplinary Digital Publishing Institute Algorithms, 14(10):275, 2021.
492
493
<div id=cite-15></div>
494
[[#citeF-15|[15]]] Zimmerman R.D., Murillo-Sanchez C.E., Thomas R.J. MATPOWER's extensible optimal power flow architecture. 2009 IEEE Power & Energy Society General Meeting, pp. 1&#8211;7, Calgary, AB, Canada, 2009.
495
496
<div id=cite-16></div>
497
[[#citeF-16|[16]]] Yan Z.,  Xu Y. A hybrid data-driven method for fast solution of security-constrained optimal power flow. IEEE Transactions on Power Systems, 37(6):4365-4374, 2022.
498

Return to Alvarez et al 2023a.

Back to Top