Proy. Operación Econ.

44
ESCUELA SUPERIOR POLITÉCNICA DEL LITORAL OPERACIÓN ECONÓMICA DE SISTEMAS DE POTENCIA PROYECTO: Método del Gradiente en el Despacho Económico para la Operación Económica de Sistemas de Potencia. Grupo # 4 Integrantes: Jonathan Molina J. Jorge Bustamante. Raúl Vaca.

description

es un proyecto muy interesante

Transcript of Proy. Operación Econ.

Page 1: Proy. Operación Econ.

ESCUELA SUPERIOR POLITÉCNICA DEL LITORAL

OPERACIÓN ECONÓMICA DE SISTEMAS DE POTENCIA

PROYECTO:

Método del Gradiente en el Despacho Económico para la Operación Económica de Sistemas de Potencia.

Grupo # 4

Integrantes:

Jonathan Molina J.Jorge Bustamante.

Raúl Vaca.

2012 – 1er S

Page 2: Proy. Operación Econ.

Indice

Antecedentes 2

Optimización 2

Fases de la Optimización 3

Métodos de Optimización 4

Métodos de Programación Matemática 4

Modelo de Programación No Lineal. 5

Método del Gradiente 5

Método del Gradiente En el Despacho Económico. 6

Ejemplo 8

Gradiente Reducido. 11

Algoritmo Método del Gradiente 13

Esquema de Iteración del Método del Gradiente 13

Ejercicio de Gradiente Reducido 14

Programación en MATLAB Método del Gradiente aplicadoal Despacho Económico. 16

Ejemplo: 22

Programación en MATLAB Método del Gradiente Reducidoaplicado al Despacho Económico 25

Ejemplo: 31

Conclusión 33

Bibliografía 34

1

Page 3: Proy. Operación Econ.

Antecedentes

Para determinar la operación económica de un sistema eléctrico, se supone que el sistema está en un estado normal, donde se satisfacen las restricciones de red y operación. Además, se supone que existen suficientes márgenes de estabilidad transitoria y permanente, las tensiones en cada una de las barras están dentro de lo permitido, no existen fluctuaciones de tensión en el sistema, la distorsión armónica es despreciable, la variación de frecuencia es mínima, el sistema es equilibrado y balanceado, es decir, el sistema cumple con los requisitos de calidad de servicio, en esta condición, se puede buscar una operación óptima del sistema.

Optimización.

El desarrollo de los métodos de optimización tiene su origen en la época de los grandes matemáticos como Newton, Lagrange y Cauchy. Pero, a pesar de que en ésa época se dieron a conocer contribuciones importantes, no fue sino hasta el siglo XX, cuando se desarrollaron las computadoras digitales y se implementaron nuevas herramientas de optimización.

Las raíces de la optimización como ciencia, se remontan a muchas décadas, cuando se hicieron los primeros intentos para emplear el enfoque científico para la asignación de recursos económicos y materiales para el logro de un objetivo.

La optimización, conocido también con el nombre de Investigación de Operaciones (IO), nace en la segunda guerra mundial. Los científicos británicos fueron los precursores de la Investigación Operativa, su trabajo tenía que ver principalmente con la asignación óptima de los recursos limitados del material de guerra.

El inicio de la Investigación de Operaciones, si bien fue de uso militar, rápidamente su aplicación se amplía a las áreas de la economía e ingeniería.

En el área de la ingeniería eléctrica, la IO tiene una aplicación relevante, principalmente por la desregulación de los mercados eléctricos.

2

Page 4: Proy. Operación Econ.

Fases de Optimización.

Las principales fases de optimización son:

Los aspectos más importantes dentro del proceso de optimización, son la modelación y el análisis de sensibilidad, es decir, la interpretación de las variables duales (multiplicadores de Lagrange y Kuhn- Tucker) con el objeto de mejorar la solución obtenida e implementar los resultados.

3

Page 5: Proy. Operación Econ.

Métodos de Optimización.

Introducción.

Para enfrentar el problema de despacho económico, resulta necesario obtener herramientas que permitan obtener resultados contundentes y fiables dentro de un sistema eléctrico, para así obtener un costo mínimo de operación para lo cual existe una gran variedad de métodos simples, básicos y de mayor complejidad.

La optimización corresponde a un proceso de búsqueda a través del cual se pretende encontrar dentro de un conjunto de soluciones factibles la mejor solución posible para el problema. Debe considerarse que el primer paso para la optimización es obtener una modelación del problema donde se incluyan todas sus restricciones.

Los problemas de optimización combinatoria han sido tradicionalmente resueltos por algoritmos desarrollados especialmente para el problema específico usando una diversidad de técnicas. Sin embargo, no pueden resolverse de manera exacta en tiempo razonable, aun cuando se tenga solo un número modelado de variables. En la actualidad, la investigación se ha dirigido hacia el diseño de técnicas denominadas metaheurísticas, es decir, algoritmos de búsqueda eficientes con respecto al tiempo de cómputo y con cierto grado de certeza entregar una buena solución.

Los métodos de optimización se pueden clasificar en tres grupos principales, los basados en la programación matemática, los enumerativos y los de búsqueda aleatoria o Metaheurísticas.

Métodos de Programación Matemática.

La programación matemática basa su cálculo a partir de una función objetivo dado por cada generador siendo esta continua, diferenciable y sin restricciones en su dominio (espacio de búsqueda), la solución óptima estará entre los puntos del dominio cuya pendiente sea cero en todas direcciones. En consecuencia este tipo de métodos se ubican en un punto y luego se mueven en la dirección de mayor gradiente hasta encontrar los puntos de gradiente igual a cero de ello dependiendo el método a utilizar.

Ya que esta técnica necesita determinar o estimar el gradiente en cada iteración resulta indispensable la función objetivo. En el caso de la programación de la

4

Page 6: Proy. Operación Econ.

generación, si se pretende utilizar un modelo lo más realista posible del sistema eléctrico, resulta particularmente complejo desarrollar una expresión matemática para la función objetivo, quedando aplicables dichos métodos solo para la comprensión del despacho económico dentro de las aulas.

Modelo de Programación No Lineal.

Un modelo de Programación no Lineal (PNL) es aquel donde las variables de decisión se expresan como funciones no lineales ya sea en la función objetivo y/o restricciones de un modelo de optimización. Esta característica particular de los modelos no lineales permite abordar problemas donde existen economías o des economías de escala o en general donde los supuestos asociados a la proporcionalidad no se cumplen.

En este sentido el método del gradiente (conocido también como método de Cauchy o del descenso más pronunciado) consiste en un algoritmo específico para la resolución de modelos de PNL sin restricciones, perteneciente a la categoría de algoritmos generales de descenso, donde la búsqueda de un mínimo está asociada a la resolución secuencial de una serie de problemas unidimensionales.

Los pasos asociados a la utilización del método del gradiente o descenso más pronunciado consiste en:

5

Page 7: Proy. Operación Econ.

Método del Gradiente En el Despacho Económico.

Este método trabaja sobre el principio de minimizar una función, la cual consiste en encontrar siempre la dirección de arriba hacia abajo mediante una serie de pasos mediante un punto inicial x0.

En el despacho económico el gradiente se lo aplica a la función de Lagrange.

L=F t+λɸ

Donde

Resultando

6

Page 8: Proy. Operación Econ.

Y el gradiente de esta función es

Este algoritmo requiere un valor inicial de:

Para que el gradiente de Lagrange sea recalculado mediante:

De la cual se puede desglosar en:

Donde α es un escalar que permite garantizar que el proceso converja.

Dado que el resultado de este método no puede garantizar un ajuste de los generadores, por lo que el gradiente de Lagrange no llega a ser cero, resulta necesario una simple variación de esta técnica, llegando a denominarse Gradiente Reducido.

7

Page 9: Proy. Operación Econ.

150MW ≤ P1≤600MW

100MW ≤ P2≤400MW

50MW ≤ P3≤300MW

Determinamos de manera aleatoria los valores

Con la restricción.

8

Page 10: Proy. Operación Econ.

Con estos valores se calcula λ para cada generador.

9

Page 11: Proy. Operación Econ.

Primera Iteración.

P11=P1

0−(0.003124 P10+7.92−λ0)

¿300−(0.003124 (300 )+7.92−9.4484 )=300.59

P21=P2

0−(0.00388 P20+7.85−λ0 )

¿200−(0.00388 (200 )+7.85−9.4484 )=200.8224

P31=P3

0−(0.00964 P30+7.97− λ0 )

¿300−(0.00964 (300 )+7.97−9.4484 )=298.58

Y luego se continúa con el proceso.

10

Page 12: Proy. Operación Econ.

Gradiente Reducido.

El Gradiente Reducido disminuye el número de variables involucradas en el proceso iterativo, lo que implica que una variable dependa de otra siendo esto aplicable para un número reducido de generadores lo cual es una desventaja, no pudiendo ser aplicada en sistemas más realistas.

Con este antecedente se podría establecer para un grupo de tres centrales, partiendo de la restricción antes mencionada.

P3=Pload−(P1+P2)

Haciendo la respectiva sustitución de P3 en Ft.

FT=F1 (P1)+F2 (P2 )+F3(Pload−(P1+P2 ))

Y obteniendo el Gradiente Ft.

∇FT=[ d FTd P1d FTd P2

]=[ d F1d P1+d F3d P1

d F2d P2

+d F3d P2

]Y partiendo de la ecuación

11

Page 13: Proy. Operación Econ.

Se obtiene:

El método del gradiente llega a converger cuando el error llega a ser menor al establecido, considerando que el error es igual a:

12

Page 14: Proy. Operación Econ.

Algoritmo Método del Gradiente

Esquema de Iteración del Método del Gradiente

13

Page 15: Proy. Operación Econ.

Ejercicio:

Gradiente Reducido.

F1=561+7.92P1+0.001562P12−→3077.58F2=310+7.85P2+0.00194 P22−→1957.60F3=78+7.97 P3+0.00482P32−→2902.80

________ 7937.98

carga=800MWP1+P2+P3=carga

Potencias iniciales :P1=300MWP2=200MW

P3=800−(P1+P2 )P3=300MW

costo total=F1 (P1 )+F2 (P2 )+F 3 (800−P1−P2 )

∇ costo=[ dF 1dP1+ dF 3dP3

dF 2dP2

+dF 3dP2

]F3=78+7.97 (800−P1−P2 )+0.00482 (800−P1−P2 )2

F3=9538.8−15.682P1−15.682 P2+0.00482P12+0.00964 P1P2+0.00482 P22

dF1dP1

=7.92+0.003124 P1=8.8572

dF2dP2

=7.85+0.00388P2=8.626

dF3dP1

=−15.682+0.00964 P1+0.00964 P2=−10.862

dF 3d P2

=−15.682+0.00964 P1+0.00964 P2=−10.862

P I=P0−∝ (∇ costo ) para∝=1

14

Page 16: Proy. Operación Econ.

P1I=300−1 (8.8572−10.862 )=302.004MWP2I=200−1 (8.626−10.862 )=202.236MWP3I=carga−(P1I−P2I )=800−(504.24 )=295MW

P1I=302.004MWP2I=202.236MWP3I=295MW

F (P¿¿1I )=3095.3361 ¿F (P2I )=1976.8974F (P3I )=2856.8317 _________ 7929.0652

∈=Ft old−Ft new=7937.98−7929.0652=8.92

15

Page 17: Proy. Operación Econ.

Programación en MATLAB Método del Gradiente

aplicado al Despacho Económico

%MÉTODO DEL GRADIENTE PARA EL DESPACHO ECONÓMICO%LIMITES DE GENERACIÓN

16

Page 18: Proy. Operación Econ.

% P1 DE 150MW A 600MW% P2 DE 100MW A 400MW% P3 DE 50MW A 300MW%F1=[0.001562 7.92 561];%F2=[0.00194 7.85 310];%F3=[0.00482 7.97 78];%carga= 800 MW%__________________________________________________________%FUNCIONES DE COSTOclearclcdisplay('METODO DEL GRADIENTE ') display('FUNCION DE COSTO NUMERO 1')gama1=input('ingrese el valor de GAMA1 ');beta1=input('ingrese el valor de BETA1 ');alfa1=input('ingrese el valor de ALFA1 ');F1=[gama1 beta1 alfa1] display('FUNCION DE COSTO NUMERO 2')gama2=input('ingrese el valor de GAMA2 ');beta2=input('ingrese el valor de BETA2 ');alfa2=input('ingrese el valor de ALFA2 ');F2=[gama2 beta2 alfa2] display('FUNCION DE COSTO NUMERO 3')gama3=input('ingrese el valor de GAMA3 ');beta3=input('ingrese el valor de BETA3 ');alfa3=input('ingrese el valor de ALFA3 ');F3=[gama3 beta3 alfa3] % poner aquí los datosCARGA=input('ingrese el valor de la carga en MW '); display('LIMITES DE GENERACION') Lmin1=input('ingrese el LIMITE MINIMO DE P1 EN MW ');Lmax1=input('ingrese el LIMITE MAXIMO DE P1 EN MW ');Lmin2=input('ingrese el LIMITE MINIMO DE P2 EN MW ');Lmax2=input('ingrese el LIMITE MAXIMO DE P2 EN MW ');Lmin3=input('ingrese el LIMITE MINIMO DE P3 EN MW ');Lmax3=input('ingrese el LIMITE MAXIMO DE P3 EN MW '); display('VALORES INCIALES') P1=input('ingrese el valor de P1 EN MW ');P2=input('ingrese el valor de P2 en MW ');P3=input('ingrese el valor de P3 en MW '); a=input('ingrese el valor de alfa ');n=input('ingrese el número de iteraciones del programa ');%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %DERIVADAS DE LAS FUNCIONESy1=polyder(F1);y2=polyder(F2);y3=polyder(F3);

17

Page 19: Proy. Operación Econ.

for i=1:n; alfa=a; %valores de lambda (i);lambda1=polyval(y1,P1);lambda2=polyval(y2,P2);lambda3=polyval(y3,P3);lambda_t=1/3*(lambda1+lambda2+lambda3); %Primera iteración;P1(i)=P1-(lambda1-lambda_t)*alfa;P2(i)=P2-(lambda2-lambda_t)*alfa;P3(i)=P3-(lambda3-lambda_t)*alfa;lambda_t(i)=lambda_t-(CARGA-(P1(i)+P2(i)+P3(i)))*alfa;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%if P1(i)<Lmin1; P1(i)=Lmin1;end if P1(i)>Lmax1; P1(i)=Lmax1; end if P2(i)<Lmin2; P2(i)=Lmin2;end if P2(i)>Lmax2; P2(i)=Lmax2; end if P3(i)<Lmin3; P3(i)=Lmin3;end if P3(i)>Lmax3; P3(i)=Lmax3; end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%P1=P1(i)P2=P2(i)P3=P3(i)lambda_t=lambda_t(i)end

18

Page 20: Proy. Operación Econ.

De esta forma se ingresan las funciones de costo individuales, el valor de la carga a despachar, se ingresan los límites de generación de las unidades, los valores iniciales de potencia, el valor de alfa y el número de iteraciones deseado.

%FUNCIONES DE COSTOclearclcdisplay('METODO DEL GRADIENTE ') display('FUNCION DE COSTO NUMERO 1')gama1=input('ingrese el valor de GAMA1 ');beta1=input('ingrese el valor de BETA1 ');alfa1=input('ingrese el valor de ALFA1 ');F1=[gama1 beta1 alfa1] display('FUNCION DE COSTO NUMERO 2')gama2=input('ingrese el valor de GAMA2 ');beta2=input('ingrese el valor de BETA2 ');alfa2=input('ingrese el valor de ALFA2 ');F2=[gama2 beta2 alfa2] display('FUNCION DE COSTO NUMERO 3')gama3=input('ingrese el valor de GAMA3 ');beta3=input('ingrese el valor de BETA3 ');alfa3=input('ingrese el valor de ALFA3 ');F3=[gama3 beta3 alfa3]

% poner aquí los datosCARGA=input('ingrese el valor de la carga en MW '); display('LIMITES DE GENERACION') Lmin1=input('ingrese el LIMITE MINIMO DE P1 EN MW ');Lmax1=input('ingrese el LIMITE MAXIMO DE P1 EN MW ');Lmin2=input('ingrese el LIMITE MINIMO DE P2 EN MW ');Lmax2=input('ingrese el LIMITE MAXIMO DE P2 EN MW ');Lmin3=input('ingrese el LIMITE MINIMO DE P3 EN MW ');Lmax3=input('ingrese el LIMITE MAXIMO DE P3 EN MW '); display('VALORES INCIALES') P1=input('ingrese el valor de P1 EN MW ');P2=input('ingrese el valor de P2 en MW ');P3=input('ingrese el valor de P3 en MW '); a=input('ingrese el valor de alfa ');n=input('ingrese el número de iteraciones del programa ');

19

Page 21: Proy. Operación Econ.

Mediante el comando polyder se extraen las derivadas de F1 con respecto a P1,De F2 con respecto a P2 y la derivada de F3 con respecto a P3.

%DERIVADAS DE LAS FUNCIONESy1=polyder(F1);y2=polyder(F2);y3=polyder(F3);

Cada elemento del vector gradiente es igual a cero, de modo que se establecen los valores de lambda1, 2 y 3, El valor de lambda1 por ejemplo es igual a la derivada de F1 con respecto a P1 y evaluada en P1, lo mismo se aplica para obtener lambda 2 y lambda 3. De los tres valores de lambda extraigo el promedio que se convierte en mi lambda inicial.

Luego se procede a obtener los nuevos valores de P1, P2, P3 y lambda mediante:

Posterior a ello reemplazo P1, P2, P3 Y LAMBDA de la iteración i, por P1, P2, P3 Y LAMBDA de la iteración (i+1), luego de ello con ayuda del lazo for se establece el proceso iterativo con los nuevos valores iniciales y se repite el proceso.

20

Page 22: Proy. Operación Econ.

En caso de que las potencias de los generadores se salgan de sus límites de generación, la potencia en esa iteración se fija a su máximo o mínimo según el caso.

for i=1:n; alfa=a; %valores de lambda (i);lambda1=polyval(y1,P1);lambda2=polyval(y2,P2);lambda3=polyval(y3,P3);lambda_t=1/3*(lambda1+lambda2+lambda3); %Primera iteración;P1(i)=P1-(lambda1-lambda_t)*alfa;P2(i)=P2-(lambda2-lambda_t)*alfa;P3(i)=P3-(lambda3-lambda_t)*alfa;lambda_t(i)=lambda_t-(CARGA-(P1(i)+P2(i)+P3(i)))*alfa;if P1(i)<Lmin1; P1(i)=Lmin1;end if P1(i)>Lmax1; P1(i)=Lmax1; end if P2(i)<Lmin2; P2(i)=Lmin2;end if P2(i)>Lmax2; P2(i)=Lmax2; end if P3(i)<Lmin3; P3(i)=Lmin3;end if P3(i)>Lmax3; P3(i)=Lmax3; endP1=P1(i)P2=P2(i)P3=P3(i)lambda_t=lambda_t(i)end

Ejemplo:

21

Page 23: Proy. Operación Econ.

Carga=800 MW

La

función de Costo y el valor de la carga se ingresan en el editor de Matlab.

Luego se ingresan los datos de la siguiente manera donde P1, P2 y P3 son valores iniciales (el valor inicial de lambda se genera dentro del programa).

22

Page 24: Proy. Operación Econ.

La solución del Despacho económico luego del número de iteraciones preestablecido, se muestra de la siguiente manera.

23

Page 25: Proy. Operación Econ.

24

Page 26: Proy. Operación Econ.

Programación en MATLAB Método del Gradiente Reducido

aplicado al Despacho Económico

%MÉTODO DEL GRADIENTE REDUCIDO PARA EL DESPACHO ECONÓMICO%LIMITES DE GENERACIÓN% P1 DE 150MW A 600MW% P2 DE 100MW A 400MW

25

Page 27: Proy. Operación Econ.

% P3 DE 50MW A 300MW%F1=[0.001562 7.92 561];%F2=[0.00194 7.85 310];%F3=[0.00482 7.97 78];%carga= 800 MW%__________________________________________________________%FUNCIONES DE COSTOclearclcdisplay('METODO DEL GRADIENTE REDUCIDO') display('FUNCION DE COSTO NUMERO 1')gama1=input('ingrese el valor de GAMA1 ');beta1=input('ingrese el valor de BETA1 ');alfa1=input('ingrese el valor de ALFA1 ');F1=[gama1 beta1 alfa1] display('FUNCION DE COSTO NUMERO 2')gama2=input('ingrese el valor de GAMA2 ');beta2=input('ingrese el valor de BETA2 ');alfa2=input('ingrese el valor de ALFA2 ');F2=[gama2 beta2 alfa2] display('FUNCION DE COSTO NUMERO 3')gama3=input('ingrese el valor de GAMA3 ');beta3=input('ingrese el valor de BETA3 ');alfa3=input('ingrese el valor de ALFA3 ');F3=[gama3 beta3 alfa3] a1=F3(1,3);a2=F3(1,2);a3=F3(1,1); % poner aquí los datosCARGA=input('ingrese el valor de la carga en MW '); display('VALORES INCIALES')P1=input('ingrese el valor de P1 EN MW ');P2=input('ingrese el valor de P2 en MW '); display('LIMITES DE GENERACION') Lmin1=input('ingrese el LIMITE MINIMO DE P1 EN MW ');Lmax1=input('ingrese el LIMITE MAXIMO DE P1 EN MW ');Lmin2=input('ingrese el LIMITE MINIMO DE P2 EN MW ');Lmax2=input('ingrese el LIMITE MAXIMO DE P2 EN MW ');Lmin3=input('ingrese el LIMITE MINIMO DE P3 EN MW ');Lmax3=input('ingrese el LIMITE MAXIMO DE P3 EN MW ');P3=CARGA-(P1+P2);a=input('ingrese el valor de alfa ');n=input('ingrese el número de iteraciones del programa ');for i=1:n; %función costo total evaluada en valores iniciales; F1_escalarv=polyval(F1,P1); F2_escalarv=polyval(F2,P2); F3_escalarv=polyval(F3,P3); FTviejo=F1_escalarv+F2_escalarv+F3_escalarv;

26

Page 28: Proy. Operación Econ.

%derivadas de la gradiente de costo;d11=polyder(F1);d22=polyder(F2); d11e=polyval(d11,P1);d22e=polyval(d22,P2);d31e=-a2-a3*2*CARGA+2*a3*P1+2*a3*P2;d32e=-a2-a3*2*CARGA+2*a3*P1+2*a3*P2; %ITERACIÓN;P1(i)=P1-a*(d11e+d31e);P2(i)=P2-a*(d22e+d32e);P3=CARGA-(P1+P2);if P1(i)<Lmin1; P1(i)=Lmin1;end if P1(i)>Lmax1; P1(i)=Lmax1; end if P2(i)<Lmin2; P2(i)=Lmin2;end if P2(i)>Lmax2; P2(i)=Lmax2; end if P3(i)<Lmin3; P3(i)=Lmin3;end if P3(i)>Lmax3; P3(i)=Lmax3; end %función costo total evaluada en valores iterativos;F1_escalarn=polyval(F1,P1(i));F2_escalarn=polyval(F2,P2(i));F3_escalarn=polyval(F3,P3(i));FTnuevo=F1_escalarn+F2_escalarn+F3_escalarn; P1=P1(i)P2=P2(i)P3=CARGA-(P1+P2)epsilon=FTviejo-FTnuevoend

Esta parte del programa permite ingresar las funciones de costo como filas de una matriz (1x3), los valores a1, a2, a3 han sido creadas para manipular la función de costo de F3, cuya función corresponde a la variable dependiente escogida.

%FUNCIONES DE COSTO

27

Page 29: Proy. Operación Econ.

clearclcdisplay('METODO DEL GRADIENTE REDUCIDO') display('FUNCION DE COSTO NUMERO 1')gama1=input('ingrese el valor de GAMA1 ');beta1=input('ingrese el valor de BETA1 ');alfa1=input('ingrese el valor de ALFA1 ');F1=[gama1 beta1 alfa1] display('FUNCION DE COSTO NUMERO 2')gama2=input('ingrese el valor de GAMA2 ');beta2=input('ingrese el valor de BETA2 ');alfa2=input('ingrese el valor de ALFA2 ');F2=[gama2 beta2 alfa2] display('FUNCION DE COSTO NUMERO 3')gama3=input('ingrese el valor de GAMA3 ');beta3=input('ingrese el valor de BETA3 ');alfa3=input('ingrese el valor de ALFA3 ');F3=[gama3 beta3 alfa3] a1=F3(1,3);a2=F3(1,2);a3=F3(1,1);

En esta etapa se hace posible ingresar los valores de carga, Potencia inicial de los generadores 1,2, Límites de Generación, alfa y el número de iteraciones que se desea que el programa ejecute. P3 está descrita como la variable dependiente de P1 y P2.

% poner aquí los datosCARGA=input('ingrese el valor de la carga en MW ');display('LIMITES DE GENERACION')Lmin1=input('ingrese el LIMITE MINIMO DE P1 EN MW ');Lmax1=input('ingrese el LIMITE MAXIMO DE P1 EN MW ');Lmin2=input('ingrese el LIMITE MINIMO DE P2 EN MW ');Lmax2=input('ingrese el LIMITE MAXIMO DE P2 EN MW ');Lmin3=input('ingrese el LIMITE MINIMO DE P3 EN MW ');Lmax3=input('ingrese el LIMITE MAXIMO DE P3 EN MW ');display('VALORES INCIALES')P1=input('ingrese el valor de P1 EN MW ');P2=input('ingrese el valor de P2 en MW ');P3=CARGA-(P1+P2);a=input('ingrese el valor de alfa ');n=input('ingrese el número de iteraciones del programa ');

Primero se evalúan las funciones de costo individuales en los valores iniciales de P1, P2 y P3 para la iteración (i), para luego obtener la función costo total FT=F1+F2+F3, que se restará de la función costo total correspondiente a los valores de la iteración (i+1). La evaluación de la función se la realiza mediante el

28

Page 30: Proy. Operación Econ.

comando polyval, especificando la función a evaluar y en qué valor se va a evaluar.

Mediante el comando polyder se obtienen las derivadas de las funciones F1 y F2,Cuya variable es P1 y P2 respectivamente. Los códigos creados como el d11 por ejemplo corresponde a la derivada de la Función 1 (1er dígito de la izquierda) con respecto a P1 (2do dígito). El código d11e corresponde a la derivada de F1 con respecto a P1 y evaluado en P1.

Para el caso de d31e, correspondiente a la derivada de F3 con respecto a P1 y evaluada en P1 y P2 , recordando que en F3 la P3 está en función de P1 y P2. Del mismo modo se analiza d32e. De esta forma se obtiene la gradiente de la función costo, donde el primer elemento del vector gradiente será d11e+d31e y el segundo elemento será d22e+d32e.

Obtenidas las derivadas que conforman el gradiente de la función de costo se procede a obtener los valores iniciales de la Primera Iteración de P1, P2 mediante P(i+1)=P(i) - alfa(gradiente-de-costo).

Posterior a ello se reemplazan los valores de P1 y P2 de la iteración (i) por los valores de P de la iteración (i+1), y con ayuda del lazo for se establece el lazo iterativo para n iteraciones deseadas, con el alfa deseado. Al mismo tiempo que se generan errores denotados por Epsilon.

for i=1:n; %función costo total evaluada en valores iniciales; F1_escalarv=polyval(F1,P1); F2_escalarv=polyval(F2,P2); F3_escalarv=polyval(F3,P3); FTviejo=F1_escalarv+F2_escalarv+F3_escalarv; %derivadas de la gradiente de costo;d11=polyder(F1);d22=polyder(F2); d11e=polyval(d11,P1);d22e=polyval(d22,P2);d31e=-a2-a3*2*CARGA+2*a3*P1+2*a3*P2;d32e=-a2-a3*2*CARGA+2*a3*P1+2*a3*P2;

%ITERACIÓN;P1(i)=P1-a*(d11e+d31e);P2(i)=P2-a*(d22e+d32e);P3=CARGA-(P1+P2);if P1(i)<Lmin1; P1(i)=Lmin1;end

29

Page 31: Proy. Operación Econ.

if P1(i)>Lmax1; P1(i)=Lmax1; end if P2(i)<Lmin2; P2(i)=Lmin2;end if P2(i)>Lmax2; P2(i)=Lmax2; end if P3(i)<Lmin3; P3(i)=Lmin3;end if P3(i)>Lmax3; P3(i)=Lmax3; end %función costo total evaluada en valores iterativos;F1_escalarn=polyval(F1,P1(i));F2_escalarn=polyval(F2,P2(i));F3_escalarn=polyval(F3,P3(i));FTnuevo=F1_escalarn+F2_escalarn+F3_escalarn; P1=P1(i)P2=P2(i)P3=CARGA-(P1+P2)epsilon=FTviejo-FTnuevoend

Ejemplo:

Carga=800 MW

30

Page 32: Proy. Operación Econ.

Las funciones de Costo se ingresan desde el teclado. Primero gama, luego beta y finalmente alfa, para cada función.

También se ingresan.

31

Page 33: Proy. Operación Econ.

La solución del Despacho económico luego del número de iteraciones preestablecido, se muestra de la siguiente manera.

Conclusiones.

32

Page 34: Proy. Operación Econ.

En el método del Gradiente y Gradiente Reducido la existencia de un factor

escalar alfa (α), es de mucha utilidad ya que en ciertos casos garantiza que

el proceso iterativo converja.

El Gradiente Reducido como una simple variación del método del gradiente

común, permite garantizar que los nuevos valores generados en cada paso

estén dentro de la restricción de sumatorias de potencia menos la carga. Al

ejecuta un paso del gradiente reducido, la generación del generador

dependiente es fijada a la carga menos la suma de los generadores 1 y 2.

Mediante el método de gradiente reducido se disminuye el número de

variables en el proceso iterativo, lo que provoca que una variable dependa

de otra y se constituye en una desventaja al rato de aplicarla a sistemas de

potencia más reales.

Bibliografía.

33

Page 35: Proy. Operación Econ.

Investigación de Operaciones de Hilier & Lieberman.

Métodos Clásicos de Optimización para Problemas No-Lineales sin Restricciones - Dr. Gonzalo Hernández Oliva U Chile - Departamento de Ingeniería Matemática

Despacho económico de potencia diaria aplicado al sistema nacional ecuatoriano

34