Resolución SEP con APMonitor

29
Sistemas Eléctricos de Potencia A ELI-240 TRABAJO DE INVESTIGACIÓN DESPACHO ECONÓMICO EN APMonitor Y IPOPT

description

Resolución se un problema de SEP de 3 barras usando el APMonitor

Transcript of Resolución SEP con APMonitor

Page 1: Resolución SEP con APMonitor

Sistemas Eléctricos de Potencia A

ELI-240

TRABAJO DE INVESTIGACIÓN

DESPACHO ECONÓMICO EN APMonitor Y IPOPT

Profesor: Víctor Hinojosa Mateus

Alumno: Carlos Vergara Branje

Fecha: 16/06/2014

Page 2: Resolución SEP con APMonitor

Contenidos

Contenidos.........................................................................................................................................2

Introducción.......................................................................................................................................3

Problema para análisis.......................................................................................................................4

Planteamiento teórico.......................................................................................................................5

Resolución y optimización del sistema...............................................................................................7

Matpower......................................................................................................................................7

IPOPT..............................................................................................................................................9

APMonitor....................................................................................................................................13

Análisis y conclusiones.....................................................................................................................20

Apéndice..........................................................................................................................................21

Solución gráfica aproximada (Matlab)..........................................................................................21

Referencias y material adicional......................................................................................................23

Page 3: Resolución SEP con APMonitor

Introducción

En cualquier sistema, sea mecánico, eléctrico, matemático, etc... se presentan problemas de optimización.

Hay muchos softwares y lenguajes computacionales que se pueden ocupar como herramienta para resolver este tipo de problemas y que cumplen esta función, siendo uno de los más utilizados el Matlab.

En este trabajo se utilizarán dos softwares/lenguajes enfocados a resolver optimización para despacho económico en sistemas eléctricos de potencia, el APMonitor y el IPOPT.

El objetivo de esto es presentar dos softwares que son capaces de resolver problemas no-lineales, de ecuaciones diferenciales y algebraicas, utilizando 'solvers' poderosos entregando una optimización en tiempo real, con simulaciones dinámicas y un control no lineal predictivo.

Page 4: Resolución SEP con APMonitor

Problema para análisis

En este caso, se analizará el siguiente SEP de 3 barras:

Datos barras:

Barra Tipo Demanda [MW]Potencia

generación mínima [MW]

Potencia generación

máxima [MW]CVP [$/h]

1 PV 0 20 200 0.05 P12+1.6 P1+25

2 PV 0 40 300 0.02 P22+1.8P2+20

3 Slack 350 40 300 0.04 P32+1.4 P3+15

Datos líneas:

Líneas de transmisión Reactancia de línea [Ω] Límite térmico [MW]L/T 1-2 0.0576 150L/T 1-3 0.1700 150L/T 2-3 0.0920 150

Page 5: Resolución SEP con APMonitor

Planteamiento teórico

Se analiza el sistema sabiendo la siguiente relación:

[Potenci alínea ]=[PTDF ] [Potenci abarra ]

Por lo que se utilizando Matpower se obtiene la matriz de sensibilidad del sistema (PTDF), dada por:

[PTDF ]=[0.5319 −0.2879 00.4681 0.2879 00.5319 0.7121 0]

Como observación, la columna 3 es cero, ya que corresponde a la barra 3, que es una barra slack (referencia).

Por lo tanto, matricialmente la potencia de línea se obtiene por:

[P1−2P1−3P2−3

]=[0.5319 −0.2879 00.4681 0.2879 00.5319 0.7121 0] [Pneta1Pneta2

Pneta3]

Donde la matriz de potencias netas de barra viene dada por:

[Pneta1Pneta2Pneta3

]=[ Pg1Pg2

Pg3−D ]

Page 6: Resolución SEP con APMonitor

Por lo que el sistema de ecuaciones por línea queda:

P1−2=0.5319 Pg1−0.2879Pg2P1−3=0.4681 Pg1+0.2879 Pg2P2−3=0.5319 Pg1+0.7121Pg2

Pero se tiene la restricción del límite térmico por lo que:

−150≤P1−2≤150−150≤P1−3≤150−150≤P2−3≤150

Además se tiene la restricción por generación que viene dada por:

[204040]≤[Pg1Pg2Pg3]≤ [200300300 ]Además:

Pg1+Pg2+Pg3=Demanda=350[MW ]

Dado lo anterior, lo que se quiere es optimizar el despacho económico, por lo que se busca minimizar el costo total de generación, que viene dado por:

Cost ooperación=0.05 Pg12 +0.02Pg2

2 +0.04 Pg32 +1.6 Pg1+1.8 Pg2+1.4 Pg3+60[ $/h]

Teniendo definidas las constantes, parámetros, variables, restricciones y ecuaciones, se procede a analizar usando software para definir el caso óptimo.

Page 7: Resolución SEP con APMonitor

Resolución y optimización del sistema

Matpower

Este programa se utilizará para comparar y validar los resultados que entregarán los nuevos métodos que se analizarán en este trabajo de investigación.

Creando el archivo 'case3.m' se ingresan los datos del problema, el cual al cargarse como mpc, se realiza un rundcopf, entregando los siguientes resultados relevantes a la solución buscada (Costo operacional, potencias de generación, potencias de líneas y limitación térmica de línea):

Page 8: Resolución SEP con APMonitor

Estos datos se tomarán como válidos con el que se hará la comparación con los siguientes métodos a utilizar.

Page 9: Resolución SEP con APMonitor

IPOPT

IPOPT o "Interior Point Optimizer" es un solver (librería de software) de programación de sistemas no lineales de larga escala (NLP).

Dado que es un solver, se puede aplicar en diversas interfaces de programación, pero está más que nada enfocado para sistemas operativos Linux y Mac, ya que su lenguaje base está en Fortran, aunque también soporta windows en la interfaz de Matlab.

Es por esto que el problema se planteará en esta interfaz.

Con Matlab, primero es necesario agregar la librería (distribución gratuita en la página oficial) y el directorio del cual se está trabajando.

La estructura para resolver el problema usando IPOPT es ingresar:

Mínimos y máximos de las variables Mínimos y máximos de las restricciones Punto de partida de las variables

Para esto es necesario dejar todas las restricciones y ecuaciones en función de las variables que el optimizador adaptará para encontrar el mínimo.

Luego es necesario calcular el Hessiano de la función objetivo (función a optimizar) y el Jacobiano y Hessiano de cada una de las restricciones, ya que a partir de esos parámetros, la librería itera hasta encontrar la solución.

Con esto, nuestra función objetivo a minimizar es el costo de operación, por lo que el hessiano sería:

Hessian ocop=[0.1 0 00 0.04 00 0 0.08]

Luego el jacobiano de todas las restricciones viene dado por:

Jacobianorestricciones=[0.53190.46810.53191

−0.28790.28790.71211

0001]

Page 10: Resolución SEP con APMonitor

Y por último el hessiano de cada restricción, dado que son de 1er orden, son matrices zero, de dimensiones 3 x3.

Con esto, se ingresa el problema al software, donde x (1 ), x (2) y x (3) corresponden a las potencias de generadores 1, 2 y 3, respectivamente.

El código programado queda de la siguiente manera, donde se comenta cada paso:

Page 11: Resolución SEP con APMonitor
Page 12: Resolución SEP con APMonitor

Esto entrega el siguiente output:

Page 13: Resolución SEP con APMonitor

Lo que se interpreta como:

Costo deoperación=1.965460297975784 ∙103 [$ /h ] Pg1=73.0721595165932[MW ] Pg2=156.0636425405402[MW ] Pg3=120.8641979428666[MW ]

APMonitor

APMonitor o Advanced Process Monitor es un lenguaje para modelar ecuaciones diferenciales y algebraicas (DAE).

Permite resolver y describir representaciones de sistemas físicos en modelos implícitos de DAE.

Por esto se utiliza en problemas a gran escala, ya que permite la solución de simulaciones dinámicas, estimando dado un control no lineal.

La gracia del APMonitor no es resolver directamente el problema, sino llamar los 'solvers' externos, apropiados al problema, por lo que es necesaria la conexión vía internet a los servidores (APM permite el uso de IPOPT; optimizador de punto interno como solver).

Su estructura principal de programación se basa en definir 5 puntos importantes:

Page 14: Resolución SEP con APMonitor

Constantes: valores que no cambian Parámetros del modelo: parámetros que pueden ser cambiados por el usuario o por datos

de entrada, pero no por el optimizador Variables: se declaran variables con algún valor, pero que pueden ser cambiadas por el

optimizador (generalmente se ingresan rangos a estas variables, en las que pueden variar) Variables intermedias: variables que son determinadas por igualdades (ecuaciones) Ecuaciones: se presentan las igualdades y condiciones (restricciones) de las variables del

problema

Aunque si es necesario se pueden definir conexiones directas entre variables.

Dado lo anterior se crea un archivo con extensión 'apm' donde se programa el sistema a analizar según el siguiente código (se puede editar en cualquier editor de textos. Comentarios en verde, para explicar la estructura):

Page 15: Resolución SEP con APMonitor
Page 16: Resolución SEP con APMonitor

Este código puede correrse usando el editor oficial de APM o la interfaz vía web. En este caso se usará la interfaz online.

Esto arroja el siguiente output:

Page 17: Resolución SEP con APMonitor

Cuyos resultados de solución entregados son:

Page 18: Resolución SEP con APMonitor

APMonitor tiene la opción de ser trabajado con la interfaz de Matlab, lo que permite hacer un análisis en la misma consola de Matlab, usando los solvers de los servidores de APM, por lo que se hará un análisis paralelo usando este software.

Primero es necesario incluir la interfaz de APM en la librería de Matlab, idealmente en el directorio de donde se está trabajando y está el código de extensión .apm (descargada gratis por la página oficial de APMonitor).

Luego, se desarrolla el siguiente código en Matlab, el cual tiene en sus comentarios explicado qué significa cada elemento:

Page 19: Resolución SEP con APMonitor

Con esto, la variable z contiene todos los resultados encontrados, los cuales se pueden rescatar usando la estructura z.variable. Por ejemplo para el código programado, un display de datos sería:

Lo que entrega el siguiente display:

Como se aprecia, hay que usar el mismo nombre de las variables usadas en el código en .apm.

Esta interfaz en Matlab permite trabajar y manipular mejor los datos, ya que quedan guardados en el Workspace, por lo que se pueden graficar, llenar tablas excel, etc.....

También se puede editar el archivo de extensión .apm, por lo que es de fácil uso para análisis en varias contingencias o nuevas condiciones/restricciones de operación.

Page 20: Resolución SEP con APMonitor

Como se observa, entrega el mismo solver output que la interfaz online del APM, pero a diferencia de él, los resultados entregados los entrega según el display que uno programa para que aparezcan.

También usa el mismo solver, el APOPT (Advance Process OPTimizer).

Page 21: Resolución SEP con APMonitor

Análisis y conclusiones

Se crea la siguiente tabla, la cual compara los 3 métodos utilizados en la investigación:

Método Tiempo de solución [s]

Costo de operación [$/h]

Generación 1 [MW]

Generación 2 [MW]

Generación 3 [MW]

Matpower 0.1400 1965.450 72.3000 156.6300 121.0700IPOPT solver 0.0684 1965.460 73.0722 156.0636 120.8642APMonitor 0.0133 1965.422 72.2971 156.6426 121.0603

Como se observa, el APMonitor es un método súper rápido, el cual permite el uso de la interfaz de Matlab, por lo que el proceso de manipulación de datos se simplifica mucho.

De todas formas puede llegar a ser extenso el ingreso de datos, pero aprovechando la capacidad de interactuar vía Matlab, se pueden crear funciones para editar el código de extensión .apm por lo que mitigaría este problema.

Sus resultados al poseer más cifras significativas pueden considerarse como más exactos que lo entregado por Matpower, ya que tiene menor error de arrastre por aproximación. De todas formas, la diferencia con Matpower no es significativa.

Aunque el solver IPOPT sea más rápido que el Matpower, difiere mucho de los resultados que se consideran "reales", pero de todas formas el error relativo no supera el 2%, por lo que puede ser una buena alternativa, si es que el sistema es más complejo y se quiera una solución aproximada de un problema de optimización.

De todas formas, IPOPT al tener la posibilidad de ser ejecutado con la interfaz de Matlab podría facilitar el proceso de ingreso de datos, ya que se pueden automatizar los calculos programando algún editor de texto o funciones, para importarlas dentro del código.

El problema de este método es que al tener como input solo las variables del sistema, no se puede hacer un análisis más extenso de los resultados (no hay datos de potencias de líneas, etc...).

Page 22: Resolución SEP con APMonitor

Apéndice

Solución gráfica aproximada (Matlab)

Los datos ingresados para obtener la gráfica suponen una idea aproximada los flujos de potencia por la líneas y de potencias generadas por barra.

Dado que la barra 3 es slack (referencia), se buscará interceptar gráficamente, por medio del uso de contour plot las potencias de línea y de generadores 1 y 2, con el fin de encontrar el mínimo valor de Costo de operación.

El código programado es el siguiente:

Haciendo el contour plot de COP en función de Potencia 1 y Potencia 2.

Page 23: Resolución SEP con APMonitor

Se le agrega las potencias de línea, para buscar la intersección (operación real del SEP):

Con esto se obtiene el siguiente gráfico:

1960

1970

1970

1980

19801990

1990

2000

Análisis gráfico de optimización

Potencia Generador 1

Pot

enci

a G

ener

ador

2

-6.7

-6.7

-6.6

-6.6

-6.5

-6.5

-6.4

-6.4

76

76

77

77

78

78

79

79

148

148

149

149

150

150

151

65 66 67 68 69 70 71 72 73 74 75150

151

152

153

154

155

156

157

158

159

160

Costo de operación [$/h]

Potencia línea 1-2 [MW]

Potencia línea 1-3 [MW]

Potencia línea 2-3 [MW]

Proyectando curvas sobre el gráfico, la operación del SEP se da para:

Potencia de línea 1-2 entre −6.6 [MW ] y −6.7 [MW ] Potencia de línea 1-3 entre 78[MW ] y 79[MW ] Potencia de línea 2-3 entre 149[MW ] y 150[MW ] Potencia generador 1 entre 72[MW ] y 73[MW ] Potencia generador 2 entre 156 [MW ] y 157 [MW ]

Por lo que el Costo de operación mínimo se encuentra entre 1960[ $/h] y 1970[ $/h]

Respecto a la potencia 3, correspondiente al generador de la barra slack, su valor se obtiene:

Pg3=350−Pg1−Pg2

Page 24: Resolución SEP con APMonitor

Referencias y material adicional

Power system, analysis and design - Glover - Teoría de Matriz de Sensibilidad PTDF y su obtención

http://www.pserc.cornell.edu/matpower/ - Descarga y manual Matpower http://www.ai7.uni-bayreuth.de/test_problem_coll.pdf - Problemas de optimización con

resultado (útiles para practicar programación con IPOPT y APMonitor) http://www.cs.ubc.ca/~pcarbo/ipopt-for-matlab/ - ejemplos 38, 51 y 71 del documento

anterior de problemas resueltos, en código IPOPT con interfaz en Matlab http://notepad-plus-plus.org/ - Descarga de Notepad++, editor de textos de multi

lenguaje http://apmonitor.com/ - Tutoriales y ejemplos de APMonitor http://apmonitor.com/online/view_pass.php - interfaz online para correr programas de

extensión .apm. También tiene ejemplos de códigos preprogramados.