Uploaded by jiimmy.chamba

docdownloader.com-pdf-despacho-economico-lambda-iterativo-dd 51d6e0d96bd3d0f6ca649db3deaf78e3

advertisement
ESCUELA SUPERIOR POLITÉCNICA DEL
LITORAL
FACULTAD DE INGENIERÍA ELECTRICA Y
COMPUTACION
OPERACIÓN ECONÓMICA EN LOS SISTEMAS DE
POTENCIA
“DESPACHO ECONÓMICO MÉTODO DE
LAMBDA ITERATIVO CON PÉRDIDAS”
PROFESOR
PhD. CRISTÓBAL MERA
INTEGRANTES
ERICK CONDE BERMEO
MILTON CUENCA CABRERA
I TERMINO 2013 - 2014
GUAYAQUIL - ECUADOR
1
Contenido
1.
ANTECEDENTES
2.
INTRODUCCIÓN
3.
OBJETIVOS
4.
FUNDAMENTACIÓN TEÓRICA
4.1. SELECCIÓN DE UNIDADES
4.2. DESPACHO ECONÓMICO DE PLANTAS TÉRMICAS
4.3. CÁLCULO DE LAS PÉRDIDAS EN LA RED
4.4. COORDINACIÓN HIDROTÉRMICA
5.
DEFINICIÓN DEL PROBLEMA
6.
FORMULACIÓN DEL PROBLEMA

SELECCIÓN DE UNIDADES POR EL MÉTODO DE LA LISTA PRIORITARIA

DESPACHO ECONÓMICO METODO LAMBDA ITERATIVO CON PÉRDIDAS

COORDINACIÓN HIDROTÉRMICA
7.
MÉTODOS DE SOLUCIÓN

SELECCIÓN DE UNIDADES POR EL MÉTODO DE LA LISTA PRIORITARIA

DESPACHO ECONÓMICO METODO LAMBDA ITERATIVO CON PÉRDIDAS
8.
RESULTADOS

SELECCIÓN DE UNIDADES POR EL MÉTODO DE LA LISTA PRIORITARIA

DESPACHO ECONÓMICO METODO LAMBDA ITERATIVO CON PÉRDIDAS

COORDINACIÓN HIDROTÉRMICA
9.
ANÁLISIS DE RESULTADOS
10. CONCLUSIONES Y RECOMENDACIONES
2
1.
ANTECEDENTES
La condición necesaria para que un Sistema de Transmisión esté en condiciones de
Estabilidad es que en todo momento se verifique el equilibrio entre la energía que los
Generadores inyectan a la Red y el consumo de la demanda, si ese equilibrio se
rompe por falla de algún gran Generador o salida de alguna Línea, comienza un
fenómeno de oscilación de frecuencia que debe ser frenado por los mecanismos de
seguridad en los próximos 3 o 4 segundos, si eso no ocurre, comienzan
desengancharse máquinas y puede ocurrir un apagón total.
El Mercado de la Energía, en particular el Mercado Eléctrico, se caracteriza por tener
exceso permanente de capacidad, es decir los Activos de Generación siempre son
mayores que las necesidades de abastecimiento por razones de disponibilidad y
confiabilidad del Sistema. Las Reservas son imprescindibles para la seguridad,
máquinas con capacidad de arrancar en negro, equipos funcionando a mínimo técnico,
etc, son todos componentes de un sistema capaz de responder adecuadamente ante
las emergencias, en los períodos de menor hidráulica y salidas forzadas y/o
programadas de equipos térmicos. Las Reservas también son imprescindibles para
mantener el nivel de calidad: frecuencia y tensión.
2.
INTRODUCCIÓN
El siguiente informe se basa en el estudio de un Sistema De Potencia sencillo
conformado por cinco barras, de las cuales cuatro de ellas son de carga y una de
oscilación. El análisis consiste en la obtención del flujo de carga y todos los
parámetros que intervienen, para hacer uso de ellos en su despacho.
El objeto estimular a los estudiantes al manejo y análisis de datos con herramientas
computacionales que nos ayudaran en la aplicación de lo laboral, considerando la
importancia que estos estudios tienen para el sector eléctrico desregulado. También
se introducirán aplicaciones operativas como despacho económico.
El programa supone que el grado máximo es de 3 y a su vez permite el ingreso de n
unidades generadoras, ya que según investigaciones se estima que una buena
aproximación de la función de costo de la unidad se la puede obtener con un polinomio
de grado 3.
3.
OBJETIVOS

Desarrollar una programación en MatLab para calcular los coeficientes B o
también llamados coeficientes de pérdidas para un sistema de n barras.

Desarrollar una programación en MatLab para la ejecución del despacho
económico de la n unidades generadoras con las funciones de costo
polinómicas de grado 2 mediante el método del Lambda Iterativo considerando
pérdidas.

Realizar la selección de unidades de un sistema eléctrico de potencia usando
el método de lista prioritaria y programación dinámica.

Realizar la Coordinación Hidrotérmica para varias plantas térmicas e
hidráulicas.
3
4.
FUNDAMENTACIÓN TEÓRICA
4.1. SELECCIÓN DE UNIDADES
En la selección de las unidades térmicas se debe tener presente ciertos aspectos que
incrementan el costo de producción, estos están relacionados con los tiempos
mínimos de conexión, desconexión y arranque.
RESTRICCIONES EN LA SELECCIÓN DE UNIDADES
En la selección de las unidades térmicas se deben tener presente ciertas restricciones
tales como la reserva rodante, tiempo mínimo de arranque, tiempo mínimo de salida
de operación, restricciones de personal, costos de arranque, entre otras. A
continuación nos referimos a las mencionadas.
Reserva rodante. Está relacionada con el control automático de generación AGC,
capacidad de generación disponible. Esta no debe ser concentrada en una sola
central.
La reserva rodante deberá ser distribuida a lo largo del sistema de potencia para evitar
las limitaciones en el sistema de transmisión y permitir a varias partes del sistema
operar como islas cuando se desconecten del sistema. Además la reserva rodante
deber permitir cuando se pierda una unidad importante del sistema que este funcione
normalmente abasteciendo la carga durante el tiempo que esta unidad permanezca
fuera de servicio.
Tiempo mínimo de arranque. Cuando la unidad esta fuera de servicio, existe un
tiempo entre el encendido y la entrada al sistema debido a la sincronización de la
unidad con el sistema.
Tiempo mínimo de salida de operación. Cuando la unidad está trabajando, no debe
ser apagada inmediatamente para que no exista ningún daño en sus elementos.
Restricciones de personal. Son las limitaciones en cuanto al personal calificado que
existe para el control y mantenimiento de las unidades.
Costos de arranque. Se tienen los siguientes costos de arranque

Cuando la unidad se la ha dejado enfriar
(

)
Cuando la unidad se mantiene caliente (banking)
Donde:
= costo de arranque en frío
= costo de combustible
= costo fijo (personal, mantenimiento, etc)
4
= constante de tiempo térmica de la unidad
= tiempo (horas) que la unidad fue enfriada
= costo de mantener la unidad a temperatura de operación
Además:
Se selecciona a ciertas unidades para que operen en ciertas épocas del año
debido a que en época de estiaje las unidades Hidroeléctricas no funcionan a
su máxima capacidad.
MÉTODOS PARA SELECCIONAR UNIDADES
Para la selección de unidades nos referimos a dos métodos, el de la lista prioritaria y el
método de la programación dinámica.
 Lista prioritaria
En este método se construye una lista de prioridades en base a la cual se
seleccionaran las unidades que cubran la demanda de la carga en los intervalos de
tiempo establecidos, considerando los costos más económicos para la producción.
Para esto es necesario calcular primero un costo promedio de producción dada por:
Donde:
= tasa neta de calor
= cantidad de calor que entra a la unidad i (Btu por hora)
= costo de combustible por hora, unidad i (C/hora)
= potencia unidad i
Se determina entonces los costos de producción promedio con las potencias máximas
de cada unidad y se considera además el incremento producido por los costos de
tiempo mínimo de desconexión, tiempos mínimos de conexión, costos de arranque en
frío, costos de arranque en caliente.
Una vez obtenidos los costos totales de producción para cada unidad, se establece la
unidad de menor costo de producción 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 más económico de producción.
5
 Selección de unidades usando programación dinámica
En el método de selección de unidades por programación dinámica se tienen las
siguientes consideraciones:

Un estado consiste en tener algunas unidades en operación y otras fuera de
línea.

Los costos de arranque de una unidad es independiente del tiempo que esta
estuvo fuera de línea.

No hay costos de apagado de una unidad.

Hay un estricto orden de prioridad, y en cada intervalo se especifica la mínima
capacidad en la que pueden estar operando.
La forma de computar el mínimo costo en una hora K, con la combinación I de
unidades.
(
)
(
)
(
)
(
)
En donde:
Estado (K, I)=I-esima combinación a la hora K.
(
)= Mínimo Costo Total al llegar al estado (K, I).
(
)= Costo de Producir el estado (K, I).
(
)= Costo de Transición del estado (K-1, L), al estado (K,I).
=Estado en la hora anterior.
Para la selección de unidades aplicadas en este estudio, se realiza una programación
de acuerdo a un estricto orden de prioridad. Esto es, las unidades son acomodadas en
un orden tal que la carga sea satisfecha.
Para esto se determina la unidad con el límite superior de potencia mayor, y sus
combinaciones con cada una de las otras unidades, la suma de las capacidades
máximas de cada unidad nos dará las capacidades totales de cada combinación.
El costo total de abastecer la carga en un periodo de tiempo será entonces la suma de
los despacho de cada intervalo en que se ha dividido el periodo de tiempo, más los
costos relacionados con los tiempos mínimos de encendido, tiempo de desconexión,
arranque ya sea en frio o caliente de cada una de las unidades.
En Programación Dinámica la selección de unidades es el modulo que se encarga de
enlazar las diferentes partes del programa, ya que primero selecciona las unidades a
funcionar y luego se encarga directamente de procesar el despacho en las diferentes
cargas diarias, teniendo incluido el módulo de las perdidas. Con lo que se procesa el
Fcost, agregándosele el Pcost y el Scost.
6
4.2. DESPACHO ECONÓMICO DE PLANTAS TÉRMICAS
La operación económica de los sistemas de potencia requiere que el gasto de la
producción, uso de combustible para abastecer la demanda de un periodo de tiempo
sea minimizado. Esto no es tan sencillo puesto que deben tenerse presente algunos
factores que afectan e incrementan los gastos, las limitaciones en el abastecimiento de
combustible complican la entrada de datos al despacho puesto que deben tomar las
medidas adecuadas para tener el combustible necesario y no para la producción.
En el caso de que el abastecimiento de combustible no es una limitación, los costos
son simplemente la entrada del costo del combustible, ajustes por manejo del
combustible y mantenimiento de la planta.
Podemos ilustrar para una mejor comprensión el problema del despacho económico a
través de la siguiente figura.
FIGURA # 1
Operación Económica en los Sistemas de Potencias
Esquema de unidades de generación térmica
En el sistema de N unidades de generación térmica conectadas a una simple barra,
mediante las cuales se sirve a una carga Pr. L a entrada en cada unidad especificada
por Fi, representan los costos de las unidades. La salida de cada unidad, Pi, es la
potencia generada por cada unidad particular. Por lo tanto el costo total de producción
del sistema es la suma de los costos individuales década unidad. Nuestra primera
restricción para este sistema simple es que la suma de las potencias de salida de las
unidades debe ser equivalente a la demanda de la carga.
Podemos expresarlo de la siguiente manera:
∑ ( )
Restricción:
∑
7
Donde:
=costos de generación de cada unidad i
= costo total
=potencia generada por cada unidad
=potencia de la carga
MÉTODOS DE SOLUCIÓN DE DESPACHO ECONÓMICO
Para la solución del despacho económico existen algunos métodos, tales como el
método de LaGrange, método de Lambda Iterativo, método del Gradiente, método de
las Aproximaciones Lineales, método de Newton, Punto de Base y Factores de
Participación, método de la Programación Dinámica; en nuestro caso nos vamos a
referir al de Lambda iterativo.
 Método de lambda iterativo
Este método 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, gráficamente podríamos entonces
determinar que se cumpla la condición 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 estimación 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 solución, considerando además una
tolerancia adecuada para poder para las iteraciones sucesivas que se deben hacer en
el procedimiento. Gráficamente tenemos:
FIGURA # 2
Operación Económica en los Sistemas de Potencias
Proyecciones de lambda
8
Donde:
(
)
FIGURA # 3
Operación Económica en los Sistemas de Potencias
Ilustración de solución con método lambda iterativo
4.3. CÁLCULO DE LAS PÉRDIDAS EN LA RED
Los sistemas eléctricos de potencia poseen unidades generadoras y demandas
ubicadas en distintos puntos del sistema que están interconectados por el sistema de
transmisión de grandes longitudes. Si la demanda es considerable y el sistema de
transmisión esta congestionado entonces las pérdidas de energía pueden ser
significativas. Estas pérdidas dependen de la resistencia de la línea y la corriente que
fluye por ella.
Las perdidas pueden ser difíciles para evaluar en forma analítica. De esta manera se
establece un método basado en la matriz de coeficiente de perdidas la cual es una
aproximación a las perdidas reales del sistema.
La pérdida de transmisión depende de la potencia generada por las unidades, la
demanda del sistema y la red de transmisión representada por su matriz de
impedancia. Para encontrar una relación matemática, primero se aplica la
transformación de invariancia de potencia a la matriz de impedancia del sistema para
expresar las perdidas solo en términos 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 función de las potencia para un sistema
con un numero K de generadores, lo que se puede escribir según las ecuaciones
9
4.4. COORDINACIÓN HIDROTÉRMICA
Un problema mas general y básico de la programación 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 térmicas. Vamos a utilizar la sigueinte
figura en la creación de este problema.
El problema que queremos establecer es el problema de programacion de una planta
hidrotermicaa corto plazo donde el sistema de energía está representada por un
equivalente unidad,
. En este caso, hay una sola planta hidroeléctrica
.
Suponemos que la hidroeléctrica no es suficiente para suplir toda la carga demandada
durante el período y que hay un máximo de volumen total de agua que se puede
descargar todo el período de
horas.
En la creación de este problema y los ejemplos que siguen, asumimos todos los ,
son cero. La única otra limitación hidráulico que se va a imponer inicialmente es que el
volumen total de agua descargada debe ser exactamente como se ha definido.
FIGURA # 4
Operación Económica en los Sistemas de Potencias
Sistema hidrotérmico con restricciones hidráulicas
Donde:
j= intervalo
= afluencia durante j
= volumen al final del intervalo
= descarga durante j
= derrame durante la descarga
10
Por lo tanto, el problema de programación matemática puede ser configurado como:
∑
Sujeto a:
∑
Donde
∑
Todas las cargas son constantes en este intervalo. Otras consideraciones se
impusieron como son:
Asumamos la operación de carga constante y asuma la característica q Vs P está
disponible como se muestra en la figura:
(
)
FIGURA # 4
Operación Económica en los Sistemas de Potencias
Características de entrada y salida para unidad hidroeléctrica
11
Tenemos un problema similar para el combustible. La función de Lagrange es:
∑
(
)
(
)
∑
(
)
Para un intervalo especifico j = k,
Por lo tanto:
Añadimos las pérdidas al problema:
La función de lagrange es:
∑
(
)
(
)
∑
(
)
Con las ecuaciones de coordinación resultantes (hora k)
(
(
)
)
Esto da lugar a una solución de programación más complejo como el que se muestra
en la Figura. En este procedimiento de solución y
son las respectivas tolerancias
en el equilibrio de la carga y de las relaciones de balance hídrico.
Tenga en cuenta que este problema pasa por alto las limitaciones de descarga de
volumen y hora de cambio.
12
5.
DEFINICIÓN DEL PROBLEMA
Con este proyecto se trata de buscar la manera de resolver problemas que se
presentan en la operación económica de los sistemas de potencias como son el
despacho de las unidades considerando las pérdidas de transmisión, la selección más
conveniente y económica para suplir una determinada carga así como también la
coordinación de unidades térmicas e hidráulicas el cual me permite que el costo de
producción de energía de estas unidades sea el más económico, todo esto a través de
herramientas computacionales como es Matlab.
6.
FORMULACIÓN DEL PROBLEMA

SELECCIÓN DE UNIDADES POR EL MÉTODO DE LA LISTA PRIORITARIA
Características de las Unidades
TABLA # 1
Operación Económica en los Sistemas de Potencias
Características de unidades térmicas
Unidad
Hi (MBtu/hr)
1
510+7.2 +0.00142+
2
310+7.85 +0.00194+
3
7.8+7.9 +0.00482+
Pi (MW)
Costo ($/MBtu) Mín Máx
1.10
150 600
1.00
100 400
1.20
50 200
TABLA # 2
Operación Económica en los Sistemas de Potencias
Costos y tiempos de conexión y desconexión de las unidades térmicas
Conexión
Desconexión
Unidad Tiempo (horas) Costo ($) Tiempo (horas) Costo ($)
1
1
20
1
20
2
1
20
2
20
3
4
20
4
20
Características de la carga
TABLA # 3
Operación Económica en los Sistemas de Potencias
Datos de carga para cada período
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
13

DESPACHO ECONÓMICO METODO LAMBDA ITERATIVO CON PÉRDIDAS
Características de las Unidades
TABLA # 4
Operación Económica en los Sistemas de Potencias
Características de unidades térmicas
Unidad
Fi (MBtu/hr)
1
200+7 +0.008
2
180+6.3 +0.009
3
140+6.8 +0.007
Pi (MW)
Mín Máx
10
85
10
80
10
70
Características de Líneas de Transmisión
TABLA # 5
Operación Económica en los Sistemas de Potencias
Características de líneas de transmisión
Datos de las Líneas de Transmisión
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
Características de Barras
TABLA # 6
Operación Económica en los Sistemas de Potencias
Características de líneas de barras
Barra
1
2
3
4
Datos de Barra
Generación
P[MW]
Voltaje[pu] Ángulo[grados]
50.4605
0.97
2.76
54.5115
1
8.58
49.7012
1
5.89
0
0.96
0.89
Carga
P[MW]
0
0
0
150
Q [MW]
0
0
0
0
14

COORDINACIÓN HIDROTÉRMICA
Función de Costo de Unidad Térmica
F(Ps)=3250-0.3P +0.0024P
[$/h]
Características de Unidad Hidráulica
PH=600 [MW]
E=3600 MWh
Características de la carga
TABLA # 7
Operación Económica en los Sistemas de Potencias
Características de líneas de la carga
Periodo
1
2
3
7.
Horas
8
4
12
PD[MW]
1000
2500
2000
MÉTODOS DE SOLUCIÓN

SELECCIÓN DE UNIDADES POR EL MÉTODO 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 función 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 duración 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));
15
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')
16
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) ) );
17
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
')
18

DESPACHO ECONÓMICO METODO LAMBDA ITERATIVO CON PÉRDIDAS
 Algoritmo de potencias de entrada de los generadores (lambda sin
pérdidas)
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;
19
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 cálculo de pérdidas 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 cálculo 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
20
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
21
 Algoritmo de despacho económico lambda iterativo con pérdidas
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=[
180
140
200
6.3
6.8
7.0
0.009
0.007
0.008
Lines=[ 1
4
2
4
0.08
3
4
0.06
0.02
0.24
0.18
0.06
0
0
];
V=[
1
0.99417
0.99745
0.97966
0
0.10783
0.07132
-0.02565
];
tol=1e-6;
lamda=0.0;
Loads=[
4
1.5
0
];
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
22
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)
23
8.
RESULTADOS

SELECCIÓN DE UNIDADES POR EL MÉTODO DE LA LISTA PRIORITARIA
Tabla # 8
Operación Económica en los Sistemas de Potencias
Costo promedio de producción y potencias de las unidades térmicas
Unidad $/MBtu MWmín MWmáx
1
9.48
100
400
2
9.79
150
600
3
11.19
50
200
Tabla # 9
Operación Económica en los Sistemas de Potencias
Programación de las unidades
Combinación
Mín. MW de la
combinación
100
250
300
2
2+1
2+1+3
Máx. MW de la
combinación
400
1000
1200
Tabla # 10
Operación Económica en los Sistemas de Potencias
Unidades seleccionadas para los diferentes intervalos de tiempo
Horas
Carga (MW)
Combinación
06h:00-12h:00
12h:00-18h:00
18h:00-20h:00
20h:00-24h:00
24h:00-06h:00
1100
700
200
700
1100
2+1+3
2+1
2
2+1
2+1+3
Mín. MW de la
combinación
300
250
100
250
300
Máx. MW de la
combinación
1200
1000
400
1000
1200
Resultados Matlab
FIGURA # 5
Operación Económica en los Sistemas de Potencias
Características, programación y selección de unidades térmicas
24

DESPACHO ECONÓMICO METODO LAMBDA ITERATIVO CON PÉRDIDAS
Simulado en Power World
FIGURA # 6
Operación Económica en los Sistemas de Potencias
Tabla de resultados de flujo de potencia en Power World
Simulado en Matlab
FIGURA # 7
Operación Económica en los Sistemas de Potencias
Resultados de Despacho Económico en Matlab

COORDINACIÓN HIDROTÉRMICA
Resultado
Tabla # 11
Operación Económica en los Sistemas de Potencias
Potencias de salida de unidades térmicas e hidráulica
PH1
0
PS1
1000
PH2
600
PS2
1900
PH3
100
PS3
1900
25
Resultado Matlab
FIGURA # 9
Operación Económica en los Sistemas de Potencias
Potencias de salida de unidades térmicas e hidráulica
9.
ANÁLISIS DE RESULTADOS
Al momento de hacer el procedimiento por matlab con un simulador como power
world, quedan pequeñas variaciones en los resultados debido a que para nuestro
análisis 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
producción, en sistemas donde existe mercado eléctrico 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 transformación invariante en potencia
que se base en la parte real (Rbarra) de la Zbarra del sistema.

Los coeficientes B no son constantes, varían 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 pequeñas variaciones en los resultados debido a que
para nuestro análisis 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 algún cálculo, matlab resuelve el problema de una manera muy rápida y
validera.

Al crear subfunciones en matlab en el despacho económico con pérdidas, se
hace el algoritmo principal de una manera e que pida datos a las subfunciones
para que asi pueda resolverse mas rápido.
26
Recomendaciones

Realizar una función para realizar un mejor despacho entre las unidades.

Tener en cuenta la capacidad de la herramienta informática para saber con que
velocidad se obtendrá la respuesta en ambos métodos.

Si las unidades tuvieran funciones de costo similares no habría una diferencia
muy sustancial en los resultados obtenidos con uno u otro método.
27
Download