Documente Academic
Documente Profesional
Documente Cultură
- Cuando la unidad se mantiene caliente (banking)
Donde:
Donde:
= potencia unidad i
Se determina entonces los costos de produccin promedio con las potencias mximas
de cada unidad y se considera adems el incremento producido por los costos de
tiempo mnimo de desconexin, tiempos mnimos de conexin, costos de arranque en
fro, costos de arranque en caliente.
Una vez obtenidos los costos totales de produccin para cada unidad, se establece la
unidad de menor costo de produccin a partir de la cual se puede construir una lista en
orden de menor a mayor dependiendo de sus costos.
Con la unidad de menor costo se realizan las combinaciones necesarias para poder
abastecer la demanda del sistema con el costo ms econmico de produccin.
6
Seleccin de unidades usando programacin dinmica
En el mtodo de seleccin de unidades por programacin dinmica se tienen las
siguientes consideraciones:
- Un estado consiste en tener algunas unidades en operacin y otras fuera de
lnea.
- Los costos de arranque de una unidad es independiente del tiempo que esta
estuvo fuera de lnea.
- No hay costos de apagado de una unidad.
- Hay un estricto orden de prioridad, y en cada intervalo se especifica la mnima
capacidad en la que pueden estar operando.
La forma de computar el mnimo costo en una hora K, con la combinacin I de
unidades.
( )
( )
( )
( )
En donde:
Estado (K, I)=I-esima combinacin a la hora K.
Restriccin:
8
Donde:
= costo total
=potencia de la carga
MTODOS DE SOLUCIN DE DESPACHO ECONMICO
Para la solucin del despacho econmico existen algunos mtodos, tales como el
mtodo de LaGrange, mtodo de Lambda Iterativo, mtodo del Gradiente, mtodo de
las Aproximaciones Lineales, mtodo de Newton, Punto de Base y Factores de
Participacin, mtodo de la Programacin Dinmica; en nuestro caso nos vamos a
referir al de Lambda iterativo.
Mtodo de lambda iterativo
Este mtodo se basa en un criterio sencillo para solucionar el problema del despacho,
partiendo del hecho de que si se tienen la curva de cada unidad correspondiente al
costo incremental vs potencias de salida, grficamente podramos entonces
determinar que se cumpla la condicin de minimizar los costos haciendo que para un
mismo lambda se tengan potencias de cada unidad que satisfagan la demanda de la
carga.
Nuestra primera estimacin entonces no ser correcta y tendremos un error.
Tendremos entonces que asumir un nuevo valor de lambda, incrementado su valor o
disminuyendo el mismo dependiendo de si el error es negativo o positivo el error
obtenido.
Con estos dos primeros resultados se puede extrapolar o interpolar para disminuir el
ancho del intervalo dentro del cual se encuentra la solucin, considerando adems una
tolerancia adecuada para poder para las iteraciones sucesivas que se deben hacer en
el procedimiento. Grficamente tenemos:
FI GURA #2
Operacin Econmica en los Sistemas de Potencias
Proyecciones de lambda
9
Donde:
(
FI GURA #3
Operacin Econmica en los Sistemas de Potencias
I lustracin de solucin con mtodo lambda iterativo
4.3. CLCULO DE LAS PRDIDAS EN LA RED
Los sistemas elctricos de potencia poseen unidades generadoras y demandas
ubicadas en distintos puntos del sistema que estn interconectados por el sistema de
transmisin de grandes longitudes. Si la demanda es considerable y el sistema de
transmisin esta congestionado entonces las prdidas de energa pueden ser
significativas. Estas prdidas dependen de la resistencia de la lnea y la corriente que
fluye por ella.
Las perdidas pueden ser difciles para evaluar en forma analtica. De esta manera se
establece un mtodo basado en la matriz de coeficiente de perdidas la cual es una
aproximacin a las perdidas reales del sistema.
La prdida de transmisin depende de la potencia generada por las unidades, la
demanda del sistema y la red de transmisin representada por su matriz de
impedancia. Para encontrar una relacin matemtica, primero se aplica la
transformacin de invariancia de potencia a la matriz de impedancia del sistema para
expresar las perdidas solo en trminos de la corriente de los generadores.
Luego se convierte la corriente de los generadores en potencia de salida de las
unidades para poder expresar las perdidas en funcin de las potencia para un sistema
con un numero K de generadores, lo que se puede escribir segn las ecuaciones
10
4.4. COORDINACIN HIDROTRMICA
Un problema mas general y bsico de la programacin hidrotermal a corto plazo
requiere que una cantidad dada de agua a ser usada, de tal manera que se minimice
el costo de funcionamiento de las unidades trmicas. Vamos a utilizar la sigueinte
figura en la creacin de este problema.
El problema que queremos establecer es el problema de programacion de una planta
hidrotermicaa corto plazo donde el sistema de energa est representada por un
equivalente unidad,
.
Suponemos que la hidroelctrica no es suficiente para suplir toda la carga demandada
durante el perodo y que hay un mximo de volumen total de agua que se puede
descargar todo el perodo de
horas.
En la creacin de este problema y los ejemplos que siguen, asumimos todos los
,
son cero. La nica otra limitacin hidrulico que se va a imponer inicialmente es que el
volumen total de agua descargada debe ser exactamente como se ha definido.
FI GURA #4
Operacin Econmica en los Sistemas de Potencias
Sistema hidrotrmico con restricciones hidrulicas
Donde:
j= intervalo
= afluencia durante j
= descarga durante j
Sujeto a:
Donde
Todas las cargas son constantes en este intervalo. Otras consideraciones se
impusieron como son:
Asumamos la operacin de carga constante y asuma la caracterstica q Vs P est
disponible como se muestra en la figura:
(
)
FI GURA #4
Operacin Econmica en los Sistemas de Potencias
Caractersticas de entrada y salida para unidad hidroelctrica
12
Tenemos un problema similar para el combustible. La funcin de Lagrange es:
Para un intervalo especifico j = k,
Por lo tanto:
Aadimos las prdidas al problema:
La funcin de lagrange es:
Con las ecuaciones de coordinacin resultantes (hora k)
Esto da lugar a una solucin de programacin ms complejo como el que se muestra
en la Figura. En este procedimiento de solucin
+0.00142+
1.10 150 600
2
310+7.85
+0.00194+
1.00 100 400
3
7.8+7.9
+0.00482+
1.20 50 200
TABLA #2
Operacin Econmica en los Sistemas de Potencias
Costos y tiempos de conexin y desconexin de las unidades trmicas
Conexin Desconexin
Unidad Tiempo (horas) Costo ($) Tiempo (horas) Costo ($)
1 1 20 1 20
2 1 20 2 20
3 4 20 4 20
Caractersticas de la carga
TABLA #3
Operacin Econmica en los Sistemas de Potencias
Datos de carga para cada perodo
Horas Carga (MW)
06h:00-12h:00 1100
12h:00-18h:00 700
18h:00-20h:00 200
20h:00-24h:00 700
24h:00-06h:00 1100
14
- DESPACHO ECONMICO METODO LAMBDA ITERATIVO CON PRDIDAS
Caractersticas de las Unidades
TABLA #4
Operacin Econmica en los Sistemas de Potencias
Caractersticas de unidades trmicas
Pi (MW)
Unidad Fi (MBtu/hr) Mn Mx
1
200+7
+0.008
10 85
2
180+6.3
+0.009
10 80
3
140+6.8
+0.007
10 70
Caractersticas de Lneas de Transmisin
TABLA #5
Operacin Econmica en los Sistemas de Potencias
Caractersticas de lneas de transmisin
Datos de las Lneas de Transmisin
Z Serie Y Paralelo
De barra a barra R[pu] X[pu] B[pu]
LINEA 1-4 0.02 0.06 0
LINEA 2-4 0.08 0.24 0
LINEA 3-4 0.06 0.18 0
Caractersticas de Barras
TABLA #6
Operacin Econmica en los Sistemas de Potencias
Caractersticas de lneas de barras
Datos de Barra
Generacin Carga
Barra P[MW] Voltaje[pu] ngulo[grados] P[MW] Q [MW]
1 50.4605 0.97 2.76 0 0
2 54.5115 1 8.58 0 0
3 49.7012 1 5.89 0 0
4 0 0.96 0.89 150 0
15
- COORDINACIN HIDROTRMICA
Funcin de Costo de Unidad Trmica
F(Ps)=3250-0.3P+0.0024P
[$/h]
Caractersticas de Unidad Hidrulica
PH=600 [MW]
E=3600 MWh
Caractersticas de la carga
TABLA #7
Operacin Econmica en los Sistemas de Potencias
Caractersticas de lneas de la carga
Periodo Horas PD[MW]
1 8 1000
2 4 2500
3 12 2000
7. MTODOS DE SOLUCIN
- SELECCIN DE UNIDADES POR EL MTODO DE LA LISTA PRIORITARIA
%--------------------------------------------------------------------------
%---------------SELECCION DE UNIDADES POR LISTA PRIORITARIA----------------
%--------------------------------------------------------------------------
clc;
clear all;
disp(' ------------------------------------------------------')
disp(' SELECCION DE UNIDADES POR METODO DE LISTA PRIORITARIA')
disp(' ------------------------------------------------------')
%Especificamos el numero de unidades disponibles
n=3;
g=2;
%Coeficientes de la funcin de tasa de calor de las unidades
Coeficiente=[510 7.2 0.00142; 310 7.85 0.00194; 78 7.97 0.00482];
%Costo ($/MBtu)
CIncre=[1.10; 1 ; 1.20];
%Limites de potencia entregada de cada unidad [ Pmin ; Pmax]
POT=[150 100 50; 600 400 200];
%--------------------------------------------------------------------------
%-------------------------------EJEMPLO 1----------------------------------
%--------------------------------------------------------------------------
%Durante todo tiempo de duracin de la carga, actuan todas las unidades
INT = 5;
DEM = [1100; 700; 200; 700; 1100];
H = [6; 6; 2; 4; 6];
TCd = [1 20; 2 20; 4 20];
TCa = [1 20; 1 20; 4 20];
%--------------------------------------------------------------------------
%Calculando la tasa incremental de calor y el costo promedio de produccion
%de cada unidad
for i = 1:n
t = 0;
for j = 1:g+1
t = t + (Coeficiente(i,j) * POT(2,i)^(j-1));
16
end
HPi(i,1) = t/POT(2,i);
FPA(i,1) = (t/POT(2,i))*CIncre(i,1);
FP=FPA;
end
%Tasa incremental de calor de las unidades
HPi;%Matriz de Hi/Pi
%Costo promedio de produccion Fi/pi
FP;%Matriz del costo promedio de Produccion Fi/Pi
%Matriz que indica el orden de las Unidades
for i=1:n
Uni(i,1)=i;
end
%Presentamos la matriz de tiempos y costos de desconexion y arranque
ADa(:,1) = Uni;
ADa(:,2) = TCa(:,1);
ADa(:,3) = TCa(:,2);
ADa(:,4) = TCd(:,1);
ADa(:,5) = TCd(:,2);
%Ordenamos la matriz del costo promedio de Produccion Fi/Pi en orden
%ascendente
clear i
clear j
for i=1:n
for j=1:n-i
if FP(j)>FP(j+1)
X=FP(j);
FP(j)=FP(j+1);
FP(j+1)=X;
end
end
end
%Mostramos la matriz de las unidades, su respectiva numeracion,
%potencia maxima de cada unidad
clear i
clear j
for i = 1:n
for j = 1:n
if FP(i,1) == FPA(j,1)
Muni(i,1) = j;
Muni(i,3) = POT(1,j);
Muni(i,4) = POT(2,j);
coef(i,:) = Coeficiente(j,:);
costo(i,:) = CIncre(j,:);
end
end
end
%Matriz de unidades indicando las potencias maximas y minimas y el costo
%promedio de produccion ordenados de menor a mayor
Muni(:,2) = FP;
disp(' ***CARACTERISTICAS DE LAS UNIDADES**** ')
disp(' Unidad $/MBtu MWmin MWmax ')
disp(Muni)
for i = 1:n
for j = 1:n
if FP(i,1) == FPA(j,1)
ADaO(i,:) = ADa(j,:);
end
end
end
%Programacion de las unidades
clear i
for i = 1:n
if i == 1
PROuni(i,1) = Muni(i,1);
PROuni(i,2) = Muni(i,3);
PROuni(i,3) = Muni(i,4);
else
PROuni(i,1) = PROuni(i-1,1) + Muni(i,1);
PROuni(i,2) = PROuni(i-1,2) + Muni(i,3);
PROuni(i,3) = PROuni(i-1,3) + Muni(i,4);
end
end
%Matriz de programacion de unidades, se combinan unidades
disp(' ***PROGRAMACION DE UNIDADES*** ')
disp(' Combinacion Min. MW de Max. MW de ')
disp(' comb comb')
17
disp(PROuni)
clear j
clear i
clear h
%Ahora hago la primera seleccion de unidades
for i = 1:INT
h = 0;
for j = 1:n
if h ~= 1
if DEM(i,1) <= PROuni(j,3)
h = 1;
M1(i,3) = PROuni(j,1);
M1(i,4) = PROuni(j,2);
M1(i,5) = PROuni(j,3);
end
end
end
end
M1(:,1) = H;
M1(:,2) = DEM;
M1;
clear i
clear h
clear j
clear t
clear k
clear y
clear p
clear o
clear r
%Si no es necesario la unidad, determino el numero de horas h
h = 0;
for i = 1:INT-1
h = h + M1(i,1);
if M1(i+1,3) < M1(i,3)
t = 0;
y = 0;
for j = 1:INT-1
if y ~= 1
t = t + M1(j,1);
if ( M1(i,3) == M1(j+1,3) ) & ( j+1 > i)
H = t-h;
y = 1;
end
end
end
%Verificamos si el intervalo de tiempo H es mayor q el tiempo
%de desconexion mas el tiempo de conexion
%Calculamos los dos costos, si tengo suficiente tiempo
%primero el costo con la unidad operando
Tcd = TCa( (M1(i,3) - M1(i+1,3)) , 1 ) + TCd( (M1(i,3) - M1(i+1,3)) , 1);
if H >= Tcd
Dc = DEM(i+1,1);
Dc1 = DEM(i+1,1);
costo2 = 0;
CIncre1 = 0;
p = 0;
for k = 1:n
%Encontramos potenciaa para cada unidad sacando la unidad que no es necesaria
if Dc > Muni(k,4)
Xa1(k,1) = Muni(k,4);
Dc = Dc - Muni(k,4);
elseif Dc ~= 0
Xa1(k,1) = Dc;
Dc = Dc - Dc;
else
Xa1(k,1) = 0;
p = p + 1;
if p == 1
Xa2 = ADaO(k,3) + ADaO(k,5);
end
end
%Encontramos el costo F de cada unidad, ademas sacamos el costo por hora
%sin la unidad
Xa3(k,1) = 0;
for y = 1:g+1
Xa3(k,1) = Xa3(k,1) + ( coef(k,y) * ( Xa1(k,1)^(y-1) ) );
18
end
if Xa1(k,1) ~= 0;
Xa3(k,1) = Xa3(k,1) * costo(k,1);
else
Xa3(k,1) = 0;
end
costo2 = costo2 + Xa3(k,1);
end
%Encontramos el segundo costo y encontramos P para cada unidad con la
%unidad trabajando
C2 = ( costo2 * H ) + Xa2;
r = 1;
clear Pc1
for o = 1:n
if (Xa1(o,1) == 0) & (r == 1)
%Asignamos a la ultima unidad la potencia minima
%ya que el costo promedio de produccion es el mas alto
Pc1(o,1) = Muni(o,3);
Xa4(o,1) = 0;
for y = 1:g+1
Xa4(o,1) = Xa4(o,1) + ( coef(o,y) * ( Pc1(o,1)^(y-1) ) );
end
Xa4(o,1) = Xa4(o,1) * costo(o,1);
%Aqui tenemos el resto de la demanda a ser depachada
MM = Dc1 - Pc1(o,1);
r = 0;
end
end
for k = 1:( length(Pc1) - 1 )
%Encontramos P para cada unidad sacando la unidad
if MM > Muni(k,4)
Pc1(k,1) = Muni(k,4);
MM = MM - Muni(k,4);
elseif MM ~= 0
Pc1(k,1) = MM;
end
%Encontramos F de cada unidad
Xa4(k,1) = 0;
for y = 1:g+1
Xa4(k,1) = Xa4(k,1) + ( coef(k,y) * ( Pc1(k,1)^(y-1) ) );
end
Xa4(k,1) = Xa4(k,1) * costo(k,1);
%Sacamos el costo por hora de las unidades operando
CIncre1 = CIncre1 + Xa4(k,1);
end
%Determinamos el costo por hora con la unidad
CIncre = CIncre1 + Xa4(length(Pc1),1);
%Encontramos el primer costo
C1 = ( CIncre * H );
%Si tenemos suficiente tiempo y si no me conviene desconectar
%la unidad
if C1 < C2
PUfinal(i+1,:) = M1(i,:);
else
PUfinal(i+1,:) = M1(i+1,:);
end
else
PUfinal(i+1,:) = M1(i,:)
end
elseif M1(i+1,3) > M1(i,3)
for s =1:i
if M1(i+1,3) == M1(s,3)
PUfinal(i+1,:) = PUfinal(s,:);
end
end
else
PUfinal(i+1,:) = PUfinal(i,:);
end
end
PUfinal(3,:) = M1(3,:);
PUfinal(4,:) = M1(4,:);
PUfinal(1,:) = M1(1,:);
PUfinal(INT,:) = M1(INT,:);
disp(' ***PROGRAMACION FINAL DE UNIDADES PARA DEMANDA EN LOS INTERVALOS DE TIEMPO*** ')
disp(' Intervalo Demanda Combinacion Min. MW Max. MW ')
disp(' (Horas) (MW) comb comb')
disp(PUfinal
19
- DESPACHO ECONMICO METODO LAMBDA ITERATIVO CON PRDIDAS
Algoritmo de potencias de entrada de los generadores (lambda sin
prdidas)
function[P]=Lambda(n,k,F,Lim,PD,L)
format short g
%Ingresando parametros de los Generadores
L(2,1)=(L(1,1)*(1.1))+0.001;
a=1;
e=PD;
%CALCULO DEL COSTO INCREMENTAL
for i=1:n
for j=1:k
CI(i,j)=F(i,j+1)*j;
end
end
while e>0.00000001 | e<-0.00000001
e=PD;
%CALCULO DE LAS RAICES
CIord=fliplr(CI);
for i=1:n
CIord(i,k)=CIord(i,k)-L(a,1);
end
for i=1:n
R(i,:)=roots(CIord(i,:));
end
% Calculo de las Potencia
for i=1:n
for j=1:k-1
if k==2
P(i,1)=R(i,j);
end
if k==3
if R(i,j)>=0
P(i,1)=R(i,j);
end
end
end
end
for i=1:n
e=e-P(i,1);
end
d(a,1)=e;
a=a+1;
if a>2
z=L(a-1,1)-L(a-2,1);
y=d(a-2,1)-d(a-1,1);
u=(z/y)*d(a-1,1);
L(a,1)=u+L(a-1,1);
end
end
b1=0;
c1=0;
b(1,1)=0;
c(1,1)=0;
for i=1:n
if P(i,1)<Lim(i,1)
b(i,1)=i;
end
end
for i=1:n
if P(i,1)>Lim(i,2)
c(i,1)=i;
end
end
[b1,b2]=size(b);
[c1,c2]=size(c);
if (b1+c1)>0
e=PD;
a=1;
20
Lnuevo(1,1)=L(a,1);
Lnuevo(2,1)=(L(1,1)*1.1)+0.001;
while e>0.00000001 | e<-0.00000001
e=PD;
%CALCULO DE LAS RAICES
CIord=fliplr(CI);
for i=1:n
for j=1:b1
for p=1:c1
if i~=b(j,1) & i~=c(p,1)
CIord(i,k)=CIord(i,k)-Lnuevo(a,1);
R(i,:)=roots(CIord(i,:));
for m=1:k-1
if k==2
P(i,1)=R(i,m);
end
if k==3
if R(i,m)>=0
P(i,1)=R(i,m);
end
end
end
end
if i==b(j,1)
P(i,1)=Lim(i,1);
end
if i==c(p,1)
P(i,1)=Lim(i,2);
end
end
end
end
for i=1:n
e=e-P(i,1);
end
D(a,1)=e;
a=a+1;
if a>2
Z=Lnuevo(a-1,1)-Lnuevo(a-2,1);
Y=D(a-2,1)-D(a-1,1);
U=(Z/Y)*D(a-1,1);
Lnuevo(a,1)=U+Lnuevo(a-1,1);
end
end
end
end
Algoritmo de potencias de clculo de prdidas totales
function [PL]=losses(Lines,Loads,Gen,V,NL,Nb,Nc,Ng,slack,Bs)
Aux=diag(Bs(1:Ng,1:Ng));
Bs(:,:)=0;
Bs=Bs(1:Ng,1:Ng);
for k=1:Ng
Bs(k,k)=Aux(k,1);
end
generacion=Gen(:,3);
PL=generacion'* Bs*generacion;
end
Algoritmo de clculo de coeficientes b de perdidas
function [Real_T_alfa]=coefb(Lines,Loads,Gen,V,NL,Nb,Nc,Ng,slack)
%% Calculo de la Ybus
Ybus=zeros(Nb,Nb); %Crea una matriz de ceros de NbxNb
for k=1:NL
sen=Lines(k,1); %guarda el nodo en que se encuntra conectado la linea
rece=Lines(k,2);%guarda el nodo en que se encuntra conectado la linea
Z=Lines(k,3)+j*Lines(k,4); %Obtiene la impedancia de cada elemento de la matriz lines
juntando la resistencia con la reactancia
Y=(1/Z);%Saca el inverso de la matriz de impedancias
Ybus(sen,rece)=Ybus(sen,rece)-Y;%Multiplica por un signo (-) todos loselementos de la
matriz fuera de la diagonal
Ybus(rece,sen)=Ybus(rece,sen)-Y;
Y=Y+j*Lines(k,5);%Agrega la admitancia en derivacion a la nueva matriz Y
21
Ybus(sen,sen)= Ybus(sen,sen)+Y;
Ybus(rece,rece)= Ybus(rece,rece)+Y;%Obtiene la Ybus del sistema
end
%% Calculo de Zbus
Zbus=inv(Ybus); %Calcula la matriz de impedancias
Rbus=real(Zbus);%Calculo de la matriz de la parte real de las impedancias de Zbus
Xbus=imag(Zbus);%Calculo de la matriz de la parte imaginaria de las impedancias de Zbus
%% Calculo de corrientes de cargas
R=V(:,1);%LLena un vector R con los voltajes nodales
TH=V(:,2)*pi/180;%Convierte el angulo de grados a radianes
[Vre,Vim] = pol2cart(TH,R);% Covierte de polar a rectangular
Vaux=Vre+j*Vim;%Los valores rectangulares se guardan en este vector
for k=1:Nc
sen=Loads(k,1);%pregunta por el nodo en que se encuentran las cargas
Ic(k,1)=(Loads(k,2)-j*Loads(k,3))/conj(Vaux(sen));%Dependiendo del nodo se calculan las
corrientes de carga
end
%% calculo de la ID
ID=ones(1,Nc)*Ic;%Crea un vector fila de 1xNc y lo multiplica por el vector columna Ic
para calcular las corrientes totales de carga
%% Calculo de las fracciones de carga
D=Ic*(1/ID);%
%% calculo de las tk
dz=0;
for k=1:Nc
sen=Loads(k,1);%pregunta por el nodo en que se encuentran las cargas
dz=dz+D(k)*Zbus(slack,sen);%Sumatoria de los valores del denominador operacion racional
de las tk
end
t=zeros(Ng,1);
for k=1:Ng
sen=Gen(k,1);
t(k,1)=Zbus(slack,sen)/dz;%Calculo de las tk tomando como numerador el elemento 1(slack)
y el nodo al que se encuentra conectado la fuente
end
%% Calculo de la C de transformacion
C=zeros(Nb,Ng+1); %Crea una matriz de ceros de NbxNg+1
orderG=zeros(Nb,1); %Crea un vector fila de Nbx1
for k=1:Ng
sen=Gen(k,1); %pregunta por el nodo en que se encuentran conectados los generadores
C(sen,k)=1; % Coloca un 1 en el elemento (sen,k)
orderG(sen)=k;
end
[uno,r]=max(eq(Gen(:,1),slack)); %%%%%Modificacion
orderL=zeros(Nb,1);
for k=1:Nc
sen=Loads(k,1); %pregunta por el nodo en que se encuentran las cargasorderL(sen)=k;
for m=1:Ng
%sen2=Gen(m,1)
C(sen,m)=-D(k,1)*t(m,1);
end
C(sen,Ng+1)=C(sen,r);%Llena los elementos de la matriz de tranformacion C
end
%% calculos de s (fracciones de potencia real en funcion de la potencia reactiva)
for k=1:Ng
s(k,1)=Gen(k,4)/Gen(k,3);
end
%% Calculo de las alfas
alfa=zeros(Ng,1); %Crea un vector fila de Ngx1
for k=1:Ng
sen=Gen(k,1); %Pregunta por el nodo en que se encuentran conectados los generadores
alfa(k,1)=(1-j*s(k,1))/conj(Vaux(sen,1)); %Crea un vector de kx1 con los valores de los
coeficientes alfa
end
In_0=-Vaux(slack,1)/Zbus(slack,slack); %Calcula el valor de la corriente de carga nula
M_alfa=zeros(Ng+1,Ng+1); %Crea una matriz de Ng+1xNg+1
for k=1:Ng
%sen=Gen(k,1)
M_alfa(k,k)=alfa(k,1); %Llena una matriz de kxk con los valores de las alfa
correspondientes
end
M_alfa(end,end)=In_0;
%% Calculo de la matriz hermitiana T alfa
T_alfa=M_alfa*C'*Rbus*conj(C)*conj(M_alfa);
Real_T_alfa=real(T_alfa); %Matriz de coeficientes de perdidas B's
end
22
Algoritmo de despacho econmico lambda iterativo con prdidas
clear;
clc;
%% CALCULO DEL DESPACHO ECONOMICO DE CARGAS CONSIDERANDO PERDIDAS
% Datos de costos
NL=3;
Nb=4;
Nc=1;
ng=3;
slack=1;
PD=150;
co=[ 200 7.0 0.008
180 6.3 0.009
140 6.8 0.007 ];
tol=1e-6;
lamda=0.0;
Lines=[ 1 4 0.02 0.06 0
2 4 0.08 0.24 0
3 4 0.06 0.18 0 ];
V=[ 1 0
0.99417 0.10783
0.99745 0.07132
0.97966 -0.02565 ];
Loads=[ 4 1.5 0 ];
n=ng;
k=2;
F=co;
Lim=[ 10 100
10 300
10 350 ];
L(1,1)=lamda;
[P]=Lambda(n,k,F,Lim,PD,L);
for i=1:n
Gen(i,1)=i;
Gen(i,2)=i;
Gen(i,k+1)=P(i,1);
Gen(i,k+2)=0;
end
GEN=Gen;
coeficientes=coefb(Lines,Loads,Gen,V,NL,Nb,Nc,ng,slack);
Bs=coeficientes/100;
delta_Pg=1000;
while abs(delta_Pg)>=tol
Pg(1,1)=0;
% Potencias generadas para el delta P
sumPg=0;
for k=1:ng
Pg(k,1)=(lamda-co(k,2))/(2*(co(k,3)+lamda*Bs(k,k)));
sumPg=sumPg+Pg(k,1);
end
Gen(:,3)=Pg;
perdidas=losses(Lines,Loads,Gen,V,NL,Nb,Nc,ng,slack,Bs);
% Delta P
delta_Pg=PD+perdidas-sumPg;
%denominador del delta lamda
c=0;
for k=1:ng
c=c+((co(k,3)+Bs(k,k)*co(k,2))/(2*(co(k,3)+lamda*Bs(k,k))^2));
end
% Delta lamda
delta_lamda=delta_Pg/c;
% Nuevo lamda
lamda=lamda+delta_lamda;
end
b1=0;
c1=0;
for i=1:n
23
if Pg(i,1)<Lim(i,1)
b1=b1+1;
end
end
for i=1:n
if Pg(i,1)>Lim(i,2)
c1=c1+1;
end
end
if (b1+c1)>0
e=PD;
a=1;
coeficientes=coefb(Lines,Loads,GEN,V,NL,Nb,Nc,ng,slack);
Bs=coeficientes/100;
delta_Pg=1000;
while abs(delta_Pg)>=tol
Pg(1,1)=0;
% Potencias generadas para el delta P
sumPg=0;
for k=1:ng
Pg(k,1)=(lamda-co(k,2))/(2*(co(k,3)+lamda*Bs(k,k)));
if Pg(k,1)<Lim(k,1)
Pg(k,1)=Lim(k,i);
end
if Pg(k,1)>Lim(k,2)
Pg(k,1)=Lim(k,2);
end
sumPg=sumPg+Pg(k,1);
end
GEN(:,3)=Pg;
perdidas=losses(Lines,Loads,GEN,V,NL,Nb,Nc,ng,slack,Bs);
% Delta P
delta_Pg=PD+perdidas-sumPg;
%denominador del delta lamda
c=0;
for k=1:ng
c=c+((co(k,3)+Bs(k,k)*co(k,2))/(2*(co(k,3)+lamda*Bs(k,k))^2));
end
% Delta lamda
delta_lamda=delta_Pg/c;
% Nuevo lamda
lamda=lamda+delta_lamda;
end
end
for i=1:ng
Fc=0;
for j=1:ng
Fc=Fc+(co(i,j)*(Pg(i,1))^(j-1));
end
Fcosto(1,i)=Fc;
end
FTOTAL=0;
for i=1:n
FTOTAL=FTOTAL+Fcosto(1,i);
end
disp(' ------------------------')
disp('| EL VALOR DE LAMBDA ES |')
disp(' ------------------------')
disp(lamda)
disp(' -----------------------------')
disp('| EL VALOR DE LAS PERDIDAS ES |')
disp(' -----------------------------')
disp(perdidas)
disp(' ------------------------------------------')
disp('| P1 | P2 | P3 |')
disp(' ------------------------------------------')
disp(Pg')
disp(' ------------------------------------------')
disp('| F1 | F2 | F3 |')
disp(' -----------------------------------------')
disp(Fcosto)
disp(' -----------------------------')
disp('| EL COSTO TOTAL [$/h] ES |')
disp(' -----------------------------')
disp(FTOTAL)
24
8. RESULTADOS
- SELECCIN DE UNIDADES POR EL MTODO DE LA LISTA PRIORITARIA
Tabla #8
Operacin Econmica en los Sistemas de Potencias
Costo promedio de produccin y potencias de las unidades trmicas
Unidad $/MBtu MWmn MWmx
1 9.48 100 400
2 9.79 150 600
3 11.19 50 200
Tabla #9
Operacin Econmica en los Sistemas de Potencias
Programacin de las unidades
Combinacin Mn. MW de la
combinacin
Mx. MW de la
combinacin
2 100 400
2+1 250 1000
2+1+3 300 1200
Tabla #10
Operacin Econmica en los Sistemas de Potencias
Unidades seleccionadas para los diferentes intervalos de tiempo
Horas Carga (MW) Combinacin Mn. MW de la
combinacin
Mx. MW de la
combinacin
06h:00-12h:00 1100 2+1+3 300 1200
12h:00-18h:00 700 2+1 250 1000
18h:00-20h:00 200 2 100 400
20h:00-24h:00 700 2+1 250 1000
24h:00-06h:00 1100 2+1+3 300 1200
Resultados Matlab
FI GURA #5
Operacin Econmica en los Sistemas de Potencias
Caractersticas, programacin y seleccin de unidades trmicas
25
- DESPACHO ECONMICO METODO LAMBDA ITERATIVO CON PRDIDAS
Simulado en Power World
FI GURA #6
Operacin Econmica en los Sistemas de Potencias
Tabla de resultados de flujo de potencia en Power World
Simulado en Matlab
FI GURA #7
Operacin Econmica en los Sistemas de Potencias
Resultados de Despacho Econmico en Matlab
- COORDINACIN HIDROTRMICA
Resultado
Tabla #11
Operacin Econmica en los Sistemas de Potencias
Potencias de salida de unidades trmicas e hidrulica
PH1 PH2 PH3
0 600 100
PS1 PS2 PS3
1000 1900 1900
26
Resultado Matlab
FI GURA #9
Operacin Econmica en los Sistemas de Potencias
Potencias de salida de unidades trmicas e hidrulica
9. ANLISIS DE RESULTADOS
Al momento de hacer el procedimiento por matlab con un simulador como power
world, quedan pequeas variaciones en los resultados debido a que para nuestro
anlisis se asumi que los coeficientes Bo y Boo de la matriz de perdidas eran
despreciables.
10. CONCLUSIONES Y RECOMENDACIONES
Conclusiones
- La selecciones de unidades es de gran importancia al optimizar costos de
produccin, en sistemas donde existe mercado elctrico este es un gran punto
de partida para poder valorar los precios con los cuales se saldr al mercado.
- Los coeficientes B son determinados a partir de los resultado de un flujo de
potencia convergente por medio de un a transformacin invariante en potencia
que se base en la parte real (Rbarra) de la Zbarra del sistema.
- Los coeficientes B no son constantes, varan de acuerdo a los estados de las
cargas conectadas al sistema.
- Al momento de hacer el procedimiento por matlab con un simulador como
power world, quedan pequeas variaciones en los resultados debido a que
para nuestro anlisis se asumi que los coeficientes Bo y Boo de la matriz de
perdidas eran despreciables.
- Al hacer los algoritmos en matlab de las diferentes funciones, al momento de
hacer algn clculo, matlab resuelve el problema de una manera muy rpida y
validera.
- Al crear subfunciones en matlab en el despacho econmico con prdidas, se
hace el algoritmo principal de una manera e que pida datos a las subfunciones
para que asi pueda resolverse mas rpido.
27
Recomendaciones
- Realizar una funcin para realizar un mejor despacho entre las unidades.
- Tener en cuenta la capacidad de la herramienta informtica para saber con que
velocidad se obtendr la respuesta en ambos mtodos.
- Si las unidades tuvieran funciones de costo similares no habra una diferencia
muy sustancial en los resultados obtenidos con uno u otro mtodo.