Documentos de Académico
Documentos de Profesional
Documentos de Cultura
6 Despacho Optimo de La Generacion
6 Despacho Optimo de La Generacion
Despacho Optimo: Pgen de las barras PV e incluso de la slack se calculan tal que
el costo total de la generación sea mínimo.
Función objetivo
Pgen i PD
i1, . . . . . , ng
PL
Despacho
P * gen i i1, . . . . . , ng -1
P min Pi P max
P * gen i i1, . . . . . , ng
no
P * gen slack P gen slack
Despacho Optimo
o (más general)
si Flujo de Carga Optimo
FIN
Optimización de una función sujeta a restricciones de igualdad
f ( x1 , x 2 , . . . , x n )
g i ( x1 , x2 , . . . , xn ) 0 i 1,2, . . . . , k
Tales problemas pueden resolverse por el método de los multiplicadores de Lagrange. Se crea una
función aumentada introduciendo un vector de k elementos :
k
L f i g i
i 1
Los valores de x1 , x 2 , . . . , x n que minimizan f sujeto a la igualdad g son los que resuelven las
siguientes ecuaciones:
L f k
g
i i 0
x i x i i 1 x i
L
gi 0
i
Ejemplo 7.1:
L x 2 y 2 ( x 8) 2 ( y 6) 2 25
Las ecuaciones a resolver son:
L
2 x ( 2 x 16) 0 o 2 x ( 1) 16
x
L
2 y ( 2 y 12) 0 o 2 y( 1) 12
y
L
( x 8) 2 ( y 6) 2 25 0
i
En muchos problemas la solución directa no es posible por lo que las ecuaciones arriba son
resueltas iterativamente.
8
x
1
8 CORREGIR
y6
1
1002 200
f ( ) 75 0
( 1) 2
1
f ( )( k )
(k )
(k)
df
d
y
( k 1) ( k ) ( k )
Empezando con un valor estimado de , un nuevo valor es encontrado. El proceso se repite
en la dirección del gradiente decreciente hasta que f() es menor que un especificado. Este método
es conocido como el método del gradiente.
Para la función arriba el gradiente es:
f ( x1 , x 2 , . . . , x n )
g i ( x1 , x2 , . . . , xn ) 0 i 1,2, . . . . , k
Y a restricciones de desigualdad
u j ( x1 , x 2 , . . . , x n ) 0 j 1,2, . . . . , m
Se trata de formular una extensión de los multiplicadores de Langrange a los efectos de incluirlas
restricciones, este método generalizado se le conoce como condiciones necesarias de optimalidad de
Kuhn-Tucker. En la expresión abajo se incluye entonces un vector j de m elementos indeterminados
a los efectos de considerar las m restricciones de desigualdad:
k m
L f i g i j u j
i 1 j 1
Siendo las condiciones necesarias las siguientes:
L
0 para i 1, . . . . , n
x i
L
g i 0 para i 1, . . . . , k
i
L
u j 0 para j 1, . . . . , m
i
Si el problema no está planteado de la misma forma los signos de los multiplicadores podrías
ser diferentes:
Ejemplo:
Sujeto a la restricción: g ( x , y ) ( x 8) 2 ( y 6) 2 25
Y a la desigualdad: u ( x) x 5
Planteando
L x 2 y 2 ( x 8) 2 ( y 6) 2 25 ( x 5)
L
2 x ( 2 x 16) u 0
x
L
2 y ( 2 y 12) 0
y
L
( x 8) 2 ( y 6) 2 25 0
L
x5 0
( x 5) 0 & 0
Si 0 Sabemos que de la resolución de las tres primera ecuaciones que x=4 e y=3
Lo que viola la condición de desigualdad de la cuarta ecuación, por lo tanto de la quinta
ecuación se debe cumplir que: x 5 0
L
2 x ( 2 x 16) u 0
x
L 6
2 y ( 2 y 12) 0 o y
y 1
L
( x 8) 2 ( y 6) 2 25 0
x5 0 o x 5
Tenemos que:
2
L 6
f ( ) ( x 8) 2 ( y 6) 2 25 0 o 6 16 0
1
df ( ) 72
d 1 3
0 .5
y2
x5
COSTO OPERATIVO DE LAS CENTRALES TERMICAS
En todos los casos prácticos el costo del generador i puede ser representado como:
C i i i Pi Pi 2
$/h
Pi MW
Una característica importante es la derivada del costo respecto a la potencia activa, lo que se
conoce como costo incremental:
C i
2 i Pi i
Pi
i
$/MWh
Pi MW
Despacho óptimo de las unidades de generación sin considerar pérdidas ni límites de generación.
C1 C2 Cng
P1 P2 Png
PD
Sujeta a la restricción:
ng
PD Pi
i 1
L
0
Pi
L
0
La primera condición resulta en :
C t
(0 1) 0
Pi
ng
i
PD
2 i
ng
i 1
1i
2
i 1 i
Ejemplo:
Donde P1, P2 y P3 están en MW. La demanda total PD es 800MW. Sin considerar pérdidas ni
límites en la generación, encontrar el despacho óptimo y el costo total en $/h.
5 .3 5.5 5 .8
800
0.008 0.012 0.018 800 1443.05 8.5 $/MWh
1 1 1 263.88
0.008 0.012 0.018
Sustituyendo en las ecuaciones de coordinación:
8.5 5.3
P1 400 MW
2(0.004)
8.5 5.5
P2 250 MW
2(0.006)
8.5 5.8
P3 150 MW
2(0.009)
C t 500 5.3( 400) 0.004(400) 2 400 5.5( 250) 0.006( 250) 2 200 5.8(150) 0.009(150) 2 6682.5 $/h
Interpretación gráfica:
dC1
2 0.004 P1 5.3 dC 2
$/MWh dP1 2 0.006 P1 5.5
dP2 dC 3
2 0.009 P1 5.8
dP3
8.5
9.16 5.3
P1 483 MW
2(0.004)
9.16 5.5
P2 305 MW
2(0.006)
9.16 5.8
P3 187 MW
2(0.009)
P1 viola el ímite de Pmax, por lo que la “pego” al tope de 450MW y redespacho las otras dos
5.5 5.8
525
0.012 0.018 9.4 $/MWh
1 1
0.012 0.018
9.4 5.5
P2 325 MW
2(0.006)
9.4 5.8
P3 200 MW
2(0.009)
dC 3
2 0.009 P1 5.8
dP3
$/MWh dC 2
2 0.006 P1 5.5
dP2 dC1
2 0.004 P1 5.3
dP1
9.4
9.16
8.9
C t 500 5.3(483) 0.004(483) 2 400 5.5( 305) 0.006( 305) 2 200 5.8(187) 0.009(187) 2 8228 $/h
Con la restricción:
C t 500 5.3(450) 0.004( 450) 2 400 5.5( 325) 0.006( 325) 2 200 5.8( 200) 0.009( 200) 2 8236 $/h
Despacho Económico Optimo Incluyendo Restricciones en la Generación y Pérdidas
Una práctica común para incluir el efecto de las pérdidas de la transmisión es expresar las
pérdidas totales de la transmisión como una función cuadrática de las potencias de las unidades
generadoras, cuya forma más general es:
ng ng ng
PL Pi Bij Pj B0 i Pi B00
i 1 j 1 i 1
Se la conoce como la fórmula de Kron, y los coeficientes B son llamados coeficientes de pérdidas o
coeficientes-B, más adelante se presenta la obtención de los mismos.
Como ya hemos visto, en todoos los casos prácticos el costo del generador i puede ser representado
como:
C i i i Pi Pi 2
ng ng
C t C i i i Pi Pi 2
i 1 i 1
P
i 1
i PD PL
Y a las desigualdades:
Pi ( min ) Pi Pi ( max ) i 1, . . . . , ng
Usando los multiplicadores de Lagrange y los terminos adicionales para incluir las desigualdades:
ng
L C t PD PL Pi i ( max ) Pi Pi ( max ) i ( min ) Pi Pi ( min )
ng ng
i 1 i 1 i 1
o sea, si las restricciones de desiguladad no son violadas los correpondientes terminos no existen.
Los valores de Pi i 1, . . . . ., ng que minimizan L son los que anulan las derivadas parciales:
L
0
Pi
L
0
L
Pi Pi ( max ) 0
i ( max )
“Se activan” cuando alguna o algunas restricciones son
L violadas en uno o varios generadores:
Pi Pi ( min ) 0
i ( min )
La primera condición, y resolviendo el problema sin considerar en primera instancia las restrcciones
de desigualdad: resulta en:
C t P
0 L 1 0
Pi Pi
como:
C t dC i
C t C1 C1 . . . . C ng entonces
Pi dPi
ng
Sustituyendo respectivamente
Además sabemos que: i 2 i Pi 2 Bij Pj B0 i
en la expresión arriba j 1
dC i
2 i Pi i
dPi
Reordenando los término de la siguinete forma:
i ng
1
( Bii ) Pi Bij Pj 1 B0 i i
Pi j 1 2
j i
1
B11 B12 . . B1ng P 1 B01 1
2 1
B21 B22 B2 ng 1 P 1 B02 2
. 1
. . . 2 .
. . . .
.
ng
B ng Png
Bng 2 . . Bngng 1 B
ng 1
0 ng
O en su forma abreviada: E .P D
ng
De la segunda condición: P
i 1
i PD PL
(1 B0 i ) i 2 Bij Pj
ji
Siendo: Pi
2( i . Bii )
ng
(1 B0 i ) i 2 Bij Pj
Sustituyedo, nos queda: i 1
ji
2( i . Bii )
PD PL
o:
f ( ) PD PL
f (( 0 ) ( 0 ) ) PD PL
Expandiendo en series de Taylor hasta el término de primer orden:
(0)
df ( )
f ( )
( 0)
PD PL
(0) ( 0)
d
ng
P (0)
P (0) PD PL( 0 ) Pi ( 0 )
o: ( 0 ) (0)
(0)
i 1
df ( ) dP )
d
di ng ng ng
Pi Bij Pj B0 i Pi
(0) (0) (0) (0)
PL B00
i 1 j 1 i 1
i 1
i 1 2( i . Bii )
(0) 2
ji
Y se repite el proceso hasta que: P (k ) Es menor que un dado valor de precisión especificado.
A partir de la segunda iteración los valores de P de las distintas unidades generadores se obtienen
del sistema de ecuaciones lineares que resuelve la primera condición: P=E \ D
Una vez que converge se verifica si alguna máquina viola alguno de sus límites de generación, si
esto es así, la o las unidades correspondientes pasan a generar un valor igual al límite que
correspondiente, y se vuelve a entrar en el algoritmo de Newton-Raphson, siendo entonces los valores
de generación de estas máquinas parámetros dados y ya no incognitas.
Funciones matalb desarrolladas:
despacho.m - función principal donde se implementa el algoritmo presentado.
op2dat.m - función del estilo de red2.mat, desde donde se lee un archivo ascii con
los datos de ls costos de las máquinas y sus límites operativos y se guardan
en variables a ser usadas por las demás funciones.
function[]=daledes(archivo,archivo2)
[N,pN,Barras]=red2mat(archivo);
[mv,an,Pd,Qd,Pg,Qg,Qsh,maxerror,iter,Y]=flunrdr(N,pN);
global Sb
Zbus=full(inv(Y));
[B,B0,B00,PL]=coefB(pN,mv,an,Pd,Qd,Pg,Qg,Qsh,Zbus);
[costo,mwlimites]=opt2dat(archivo2,N,pN,Barras);
lambda=7;
Pgg=Pg(pN(2,1):pN(3,1));
[costototal]=costogen(Pgg,costo)
[Nopt,dpslack,lambda,Pgg,PL]=despacho(Pd,Pg,costo,B,B0,B00,pN,N,mwlimites,lambda);
while dpslack>0.001,
[mv,an,Pd,Qd,Pg,Qg,Qsh,maxerror,iter,Y]=flunrdr(Nopt,pN);
[B,B0,B00,PL]=coefB(pN,mv,an,Pd,Qd,Pg,Qg,Qsh,Zbus);
[Nopt,dpslack,lambda,Pgg,PL]=despacho(Pd,Pg,costo,B,B0,B00,pN,N,mwlimites,lambda);
end
tabbar
[costototal]=costogen(Pgg,costo)
save ejemplo5b.dat Nopt lambda PL Pgg -append
Si interesa salvar las variables hay que cambiar a mano el nombre del archivo
Ejemplo
Dado la red abajo, con los valores estimados de despacho de potencia reactiva,
determinar el despacho óptimo.
V1=1.060° |V3|=1.03
30 MW 50 MW
30 MVar
1 3 4
0.08+j0.24 0.01+j0.03
20 MW
15 MVar
0.06+j0.18 0.08+j0.24
0.02+j0.06 0.06+j0.18
0.04+j0.12
2 5
20 MW
40 MW 10 MVar 60 MW
40 MVar
|V2|=1.045
% DATOS DE BARRA
% CARGA GENERACION min max Shunt
% BARRA TENSION MW MVAR MW MVAR MVAR MVAR MVAr
SL 1 1.06 0 0 0 0 0 0 0
PV 2 1.045 20 10 40 30 10 50 0
PV 3 1.03 20 15 30 10 10 40 0
PQ 4 1.00 50 30 0 0 0 0 0
PQ 5 1.00 60 40 0 0 0 0 0
%
% DATOS DE LINEAS
% BARRA_1 BARRA_2 RESISTENCIA REACTANCIA SUCEPTANCIA
Linea 1 2 0.02 0.06 0.060
Linea 1 3 0.08 0.24 0.050
Linea 2 3 0.06 0.18 0.040
Linea 2 4 0.06 0.18 0.040
Linea 2 5 0.04 0.12 0.030
Linea 3 4 0.01 0.03 0.020
Linea 4 5 0.08 0.24 0.050
» daledes('ejemplo5b.m','ejemplo5b_opt.m')
Flujo de carga no optimo
Máximo error en la potencia = 0.058002
No. de Iteraciones = 4
costototal =
1.6332e+003
costototal =
1.5973e+003
Método de Kron para obtenerlas perdidas del sistema en función de la potencia
activa del parque generador:
La sumatoria de las potencias en todas las barras da las perdidas totales del sistema :
n
PL jQ L Vi I i* Vbus
T *
I bus [2]
i 1
Matriz impedancia
I bus
T
Z T bus I bus
*
[5]
Z bus es simétrica por lo tanto Z bus Z T bus , entonces las perdidas totales valen :
PL jQL I bus
T *
Z bus I bus [6]
Como la matriz impedancia es simétrica, esto es Z ij Z ji , [7] puede ser reescrita como :
1 n n
PL jQL
2 i 1 j 1
Z ij ( I i I *j I j I i* ) [8]
La cantidad dentro del paréntesis de [8] es real, entonces las perdidas pueden ser separadas
en sus componentes real e imaginario como sigue :
1 n n
PL Rij ( I i I *j I j I i* )
2 i 1 j 1
[9]
1 n n
QL
2 i 1 j 1
X ij ( I i I *j I j I i* ) [10]
Siendo Rij y X ij las partes real e imaginaria de los elementos de la matriz impedancia.
Nuevamente, siendo Rij R ji , las perdidas de potencia real pueden ser expresadas como :
n n
PL I i Rij I *j [11]
i 1 j 1
O en la forma matricial :
PL I bus
T *
Rij I bus [12]
De forma de obtener una formula general para las perdidas del sistema en función de la
potencia generada, definimos la suma total de todas las corrientes de carga :
I L1 I L 2 . . . . . . . . . . . . . I Ln I D [13]
Donde n es el número total de barras con carga, estas pueden ser tanto barras PQ, como PV y
slack entonces n PQ PV Sl .
La corriente en cada barra se puede expresar como una fracción constante compleja de
la corriente total :
I Lk l k I D k 1,2, . . . . , n [14]
I Lk
lk [15]
ID
Suponiendo que barra n es la slack, expandiendo la última línea de la ecuación [3] resulta en :
Vn Z n1 I 1 Z n 2 I 2 . . . . Z nn I n [16]
Si I 0 es definida como la corriente saliente de la barra n, con todas las demas corrientes
valiendo cero, tenemos :
Vn Z nn I 0 [19]
Sustituyendo [19] en [18] y resolviendo para I D tenemos :
ng
1 1
ID
T
Z
i 1
ni I gi
T
Z n1 I 0 [20]
Z ni
Definiendo Wi , y expandiendo la sumatoria tenemos :
T
I K I gK l k W1 I g 1 l k W2 I g 2 . . . l k Wng I gn l k Wn I 0 [23]
O en forma matricial :
PV+Sl 1
I 1 l 1W n 3 l 1W n 2 l 1W n 1 l 1W n l1W n
I l W l 2W n 2 l 2W n1 l 2W n l 2W n
PQ 2 2 n 3
I
. . . . . . g n3
I g n2
. . . . . . I [24]
I n- 3 1 l n 3W n 3 l n 3W n 2 l n 3W n1 l n 3W n l n 3W n
g n 1
I gn
I n- 2 l n 2W n 3 1 l n 2W n 2 l n 2W n1 l n 2W n l n 2W n
I 0
I l W l n 1W n
PV+Sl
l n1W n 2 1 l n 1W n1 l n 1W n
n -1 n 1 n 3
I n l nW n 3 l nW n 2 l nW n 1 1 l nW n l nW n
En forma abreviada :
[ I bus ] [C ][ I g ] [25]
Es convenient e del punto de vista computacio nal obtener la matriz C de la expresión [24] como el
producto de las siguientes matrices :
PV+Sl+1
1 0 0 0 0
0 1 0 0 0
C2 0 0 1 0 0 PV+Sl+1
0 0 0 1 0
W n 3 W n2 W n 1 Wn W n
0 0 0 0 l1 l 1W n 3 l 1W n 2 l 1W n 1 l 1W n l 1W n
0 0 0 0 l 2 l W l 2W n 2 l 2W n1 l 2W n l 2W n
PQ 2 n3
. . . . . . . . . .
. . . . . . . . . .
C1
1 0 0 0 l n3 1 l n 3W n 3 l n 3W n 2 l n 3W n 1 l n 3W n l n 3W n
PV+Sl
0 1 0 0 l n2 l n 2W n 3 1 l n 2W n 2 l n 2W n 1 l n 2W n l n 2W n
0 0 1 0 l n 1 l W l n1W n 2 1 l n1W n1 l n 1W n l n1W n
n 1 n 3
0 0 0 1 l n l nW n 3 l nW n 2 l nW n 1 1 l nW n l nW n
C=C1 * C2
I g n 3 n 3 0 0 0 0 Pg n 3
I 0 0 0 0 Pg n 2
g n2 n 2
I g n 1 0 0 n 1 0 0 Pg n 1 [30]
Ig n 0 0 0 n 0 Pg n
I 0 0 0 0 0 I 0 1
O en forma abrviada :
I g Pg [31]
La matriz resultante de la ecuación arriba es compleja, las perdidas de potencia real son obtenidas
de su parte real :
PL PgT [ H ] Pg* [33]
Sustituyendo [ H ] en [33] :
Los coeficientes B son en valores pu, cuando la potencia está expresada en MW, los
coeficientes B valen:
Argumentos de salída:
•Coeficientes de perdidas B.
• Perdidas totales en MW.
function[B,B0,B00,PL]=coefB(pN,mv,an,Pd,Qd,Pg,Qg,Qsh,Zbus)
global Sb;
V=mv.*exp(j*deg2rad(an)); % Tensión compleja.
Il=-1/Sb*(Pd-j*Qd)./conj(V); % Corrientes de carga en todas las barras.
ID= sum(Il); % Sumatoria de las corrientes (ec. [13]).
l=Il/ID; % Fracción de la corriente total (vector ec. [15]).
sl=pN(3,1); % Ubicación de la barra slack.
T=Zbus(sl,:)*l; % Cálculo de T (ec.[18]).
nB=sl; % Número total de Barras.
fPQ=pN(1,2); % Número de barras PQ.
iPV=pN(2,1); % Ubicación inicio de las barras PV.
ng=nB-fPQ; % Número total de barras de generación (Slack+PV).
W(1:ng) = Zbus(sl,iPV:sl)/T; % Cálculo de w (arriba ec. [23], definiendo ...).
C1gg=eye(ng,ng); % Sub matrices que se concatenan para armar C1.
C1g=[zeros(fPQ, ng);C1gg];
C1=[C1g,l]; % C1
C2gD=[C1gg;-W]; % Sub matrices que se concatenan para armar C2.
C2D=zeros(ng,1); 1
CnD=[C2D;-W(ng)];
C2=[C2gD,CnD]; % C2
C=C1*C2; % C
al=(1-j*((Qg(iPV:sl)+Qsh(iPV:sl))./Pg(iPV:sl)))./conj(V(iPV:sl)); % Elementos
al=al.'; % para armar la matriz alpha (ec. [28]).
alp=[al, -V(sl)/Zbus(sl,sl)]; % Útimo elemento de la diagonal de la matriz alpha.
alpha=diag(alp); % Obtención de la matriz alpha (segun ec. [30]).
H = real(alpha*conj(C)'*real(Zbus)*conj(C)*conj(alpha)); % Cálculo de H (ec. [34]).
B=H(1:ng,1:ng); % Partición de la matriz H conforme ecuación [36].
B0=2*H(ng+1,1:ng);
B00=H(ng+1,ng+1);
PL = Pg(iPV:sl)'*(B/Sb)*Pg(iPV:sl)+B0*Pg(iPV:sl)+B00*Sb; % Perdidas totales (ec.[36])
% convirtiendo los valores pu de los coeficiente B.
Comentarios:
C2gD C2D
- 1 0 0 0 0
1 0
1 0 0 0
C2 0 0 1 0 0
0 0 0 1 0
C1g Wn 3 Wn 2 W n 1 Wn Wn
CnD
0 0 0 0 l1 l1Wn 3 l1Wn 2 l1Wn1 l1Wn l1Wn
0 0 0 0 l 2 l W l 2Wn 2 l 2Wn 1 l 2Wn l 2Wn
2 n 3
. . . . . . . . . .
. . . . . . . . . .
C1
1 0 0 0 l n 3 1 l n 3Wn 3 l n 3Wn 2 l n 3Wn 1 l n 3Wn l n 3Wn
0 1 0 0 l n 2 l n 2Wn 3 1 l n 2Wn 2 l n 2Wn 1 l n 2Wn l n 2Wn
0 0 1 0 l n 1 l W l n1Wn 2 1 l n 1Wn 1 l n1Wn l n1Wn
n 1 n 3
0 0 0 1 l n l nWn 3 l nWn 2 l nWn 1 1 l nWn l nWn
C1gg
Ejemplo
Dado la red abajo, calcular los coficientes B y las perdidas totales de la red.
V1=1.060° |V3|=1.03
30 MW 50 MW
30 MVar
1 3 4
0.08+j0.24 0.01+j0.03
20 MW
15 MVar
0.06+j0.18 0.08+j0.24
0.02+j0.06 0.06+j0.18
0.04+j0.12
2 5
20 MW
40 MW 10 MVar 60 MW
40 MVar
|V2|=1.045
% DATOS DE BARRA
% CARGA GENERACION min max Shunt
% BARRA TENSION MW MVAR MW MVAR MVAR MVAR MVAr
SL 1 1.06 0 0 0 0 0 0 0
PV 2 1.045 20 10 40 30 10 50 0
PV 3 1.03 20 15 30 10 10 40 0
PQ 4 1.00 50 30 0 0 0 0 0
PQ 5 1.00 60 40 0 0 0 0 0
%
% DATOS DE LINEAS
% BARRA_1 BARRA_2 RESISTENCIA REACTANCIA SUCEPTANCIA
Linea 1 2 0.02 0.06 0.060
Linea 1 3 0.08 0.24 0.050
Linea 2 3 0.06 0.18 0.040
Linea 2 4 0.06 0.18 0.040
Linea 2 5 0.04 0.12 0.030
Linea 3 4 0.01 0.03 0.020
Linea 4 5 0.08 0.24 0.050
clear
[N,pN]=red2mat('ejemplo5b.m');
[mv,an,Pd,Qd,Pg,Qg,Qsh,maxerror,iter,Y]=flunrdr(N,pN);
Zbus=full(inv(Y));
[B,B0,B00,PL]=coefB(pN,mv,an,Pd,Qd,Pg,Qg,Qsh,Zbus)
B=
B0 =
B00 =
3.0523e-004
PL =
3.0525