You are on page 1of 24

Optimizaci on en Sistemas El ectricos de Potencia Introducci on a GAMS

Alejandro Marano, Jos e Luis Mart nez Ramos Departamento de Ingenier a El ectrica Universidad de Sevilla

7 de marzo de 2009

(Departamento de Ingenier a El ectrica)

Introducci on a GAMS

7 de marzo de 2009

1 / 24

Contenidos
1

Introducci on Qu e es GAMS? C omo funciona? Tipos de problemas Principales solvers Lenguaje de modelado Notaci on algebraica Estructura de los modelos Partes de un modelo Conjuntos Entrada de datos Variables Ecuaciones Declaraci on del modelo Lectura de resultados
Introducci on a GAMS 7 de marzo de 2009 2 / 24

(Departamento de Ingenier a El ectrica)

Qu e es GAMS?

General Algebraic Modeling System. Software comercial desarrollado por GAMS DEVELOPMENT CORPORATION. Lenguaje de alto nivel para modelar problemas de programaci on matem atica y optimizaci on. Pensado para aplicaciones complejas que comprenden un gran n umero de ecuaciones y variables. Basado en notaci on algebraica.

(Departamento de Ingenier a El ectrica)

Introducci on a GAMS

7 de marzo de 2009

3 / 24

C omo funciona?

modelo.gms

GAMS (solver)

modelo.lst

(Departamento de Ingenier a El ectrica)

Introducci on a GAMS

7 de marzo de 2009

4 / 24

Tipos de problemas

LP NLP DNLP MIP MINLP

Soluci on exacta de un problema lineal Optimizaci on local sobre curvas suaves no lineales Optimizaci on local sobre curvas con derivadas discontinuas Soluci on exacta de un problema lineal entero Programaci on no lineal entera mixta

(Departamento de Ingenier a El ectrica)

Introducci on a GAMS

7 de marzo de 2009

5 / 24

Principales solvers 1

Solvers para problemas tipo NLP KNITRO Basado en 3 tipos de algoritmos de punto interior (directo, CG y active set) lo cual le permite afrontar casi cualquier tipo de problema no lineal. CONOPT Especialmente ideado para problemas de gran dimensi on y con restricciones que introducen una gran no linealidad. Basado en el algoritmo del gradiente reducido. Indicado cuando existe dicultad para hallar soluciones factibles. MINOS Minimiza funciones smooth sujetas a restricciones no lineales. Tiene su principal aplicaci on en problemas con pocos grados de libertad y con pocas restricciones no lineales.

(Departamento de Ingenier a El ectrica)

Introducci on a GAMS

7 de marzo de 2009

6 / 24

Principales solvers 2

Solvers para problemas tipo MINLP DICOPT Se basa en la divisi on del problema general en varios subproblemas de tipo NLP y MILP. Aunque el algoritmo tiene en cuenta la existencia de no convexidades, no es posible asegurar siempre que se alcanza el optimo global. BARON Basado en el algoritmo branch and bound (BB). Permite obtener optimos globales bajo ciertas condiciones formales del problema. SBB Combina algoritmos de tipo BB con solvers que resuelvan problemas tipo NLP. Divide el problema global en varios subproblemas MINLP. Garantiza que se alcanza el m nimo global de la funci on objetivo solo si los subproblemas MINLP son convexos.
(Departamento de Ingenier a El ectrica) Introducci on a GAMS 7 de marzo de 2009 7 / 24

M as informaci on

www.gams.com Modelos ejemplo de diversas aplicaciones. Manuales. Gams mailing list. Formulaci on y resoluci on de modelos de programaci on matem atica en ingenier a y ciencia A. Conejo et al. UCCM McCarl GAMS user guide B. McCarl. Texas A&M University Se descarga gratuitamente desde www.gams.com

(Departamento de Ingenier a El ectrica)

Introducci on a GAMS

7 de marzo de 2009

8 / 24

Contenidos
1

Introducci on Qu e es GAMS? C omo funciona? Tipos de problemas Principales solvers Lenguaje de modelado Notaci on algebraica Estructura de los modelos Partes de un modelo Conjuntos Entrada de datos Variables Ecuaciones Declaraci on del modelo Lectura de resultados
Introducci on a GAMS 7 de marzo de 2009 9 / 24

(Departamento de Ingenier a El ectrica)

Notaci on algebraica

Min Z = s.a

i I

Ci xi - Indices (i , m, n) - Par ametros (Ci , Ain , Bim ) - Variables (xi ) - Funci on objetivo (Z ) - Restricciones (gn , hm )

gn (xi ) : i I Ain xi = 0 hm (xi ) : i I Bin xi 0 xi 0; i I I = {1, 2, ...i } N = {1, 2, ...n} M = {1, 2, ...m}

(Departamento de Ingenier a El ectrica)

Introducci on a GAMS

7 de marzo de 2009

10 / 24

Estructura de los modelos

Sentencias que denen la estructura de datos, valores iniciales, variables, ecuaciones, denici on del tipo de problema, listado de resultados, opciones del compilador, ... Cada sentencia debe terminar con un punto y coma (;). GAMS no diferencia entre min usculas y may usculas, pueden utilizarse indistintamente. La creaci on de cualquier entidad conlleva dos pasos: declaraci on y denici on. * Linea de comentarios. $Ontext ... $Offtext. Un modelo extenso puede separarse en varios archivos: $include modelo.gms

(Departamento de Ingenier a El ectrica)

Introducci on a GAMS

7 de marzo de 2009

11 / 24

Contenidos
1

Introducci on Qu e es GAMS? C omo funciona? Tipos de problemas Principales solvers Lenguaje de modelado Notaci on algebraica Estructura de los modelos Partes de un modelo Conjuntos Entrada de datos Variables Ecuaciones Declaraci on del modelo Lectura de resultados
Introducci on a GAMS 7 de marzo de 2009 12 / 24

(Departamento de Ingenier a El ectrica)

Conjuntos

Se corresponden con los ndices empleados en la notaci on algebraica. set i nudos / n1,n2,n3,n4/; sets j nudos / n1*n4/; alias(i,j);

(Departamento de Ingenier a El ectrica)

Introducci on a GAMS

7 de marzo de 2009

13 / 24

Entrada de datos

Existen tres formas de introducir los datos del problema: Scalar, Parameter y Table. Scalar pi angulo en radianes /3.1416/; Nombre del par ametro + descripci on (op) + valor.

(Departamento de Ingenier a El ectrica)

Introducci on a GAMS

7 de marzo de 2009

14 / 24

Entrada de datos 2

Parameter pc(i) Consumos en los nudos (activa) / n1 0.00 n2 0.00 n3 0.00 n4 17.00/;

(Departamento de Ingenier a El ectrica)

Introducci on a GAMS

7 de marzo de 2009

15 / 24

Entrada de datos 3
Table n1 n2 n3 n4 G(i,j) n1 29.503 -27.523 0.0 -1.980 Matriz de admitancias n2 -27.523 85.786 -19.802 -38.461 (Parte real) n3 0.0 -19.802 29.703 -9.901

n4 -1.980 -38.461 -9.901 50.343;

G(n1,n3) = G(n1,n3)*1.3; Cada asignaci on tiene efecto justo despu es de la sentencia y sobrescribe los valores anteriores. En las asignaciones pueden emplearse m ultiples funciones matem aticas (sin, cos, ...).
(Departamento de Ingenier a El ectrica) Introducci on a GAMS 7 de marzo de 2009 16 / 24

Variables

Variable costegen Coste de generaci on pg(i) potencias generadas (activa) qg(i) potencias generadas (reactiva); Nombre de la variable + dominio (op) + descripci on (op).

(Departamento de Ingenier a El ectrica)

Introducci on a GAMS

7 de marzo de 2009

17 / 24

Variables 2

Tipo Free Positive Negative Binary Integer

Dominio (, +) [0, +) [0, ) {0, 1} {0, 1, 2, ...}

Todas las variables son tipo free por defecto. La variable a optimizar debe ser un escalar de tipo free. Positive variable pg(i) ; Binary variable e(i) ;

(Departamento de Ingenier a El ectrica)

Introducci on a GAMS

7 de marzo de 2009

18 / 24

Variables 3
Cada variable x tiene las siguientes propiedades: x.lo (lower) x.up (upper) x.l (level) x.fx (xed) x.m (marginal) l mite inferior l mite superior valor actual valor jo valor marginal o dual

Las propiedades x.l y x.m se van modicando a medida que se ejecuta el programa y contienen la soluci on del problema una vez alcanzado el optimo. x.fx, x.lo y x.up son propiedades que permanecen sin variaci on. x.l se emplea para indicar el valor inicial de la variable x.
(Departamento de Ingenier a El ectrica) Introducci on a GAMS 7 de marzo de 2009 19 / 24

Ecuaciones

Se declaran y denen en sentencias separadas. Equation coste balancep(i) balanceq(i)

funcion objetivo balances de potencia (activa) balances de potencia (reactiva);

Nombre de la ecuaci on + dominio (op) + descripci on (op).

(Departamento de Ingenier a El ectrica)

Introducci on a GAMS

7 de marzo de 2009

20 / 24

Ecuaciones 2

coste.. balancep(i)..

balanceq(i)..

costegen =e= C1+C2*pg(n1)+ C3*pg(n1)**2; pg(i)-pc(i) =e= sum(j, v(i)*v(j)*(G(i,j)*cos(f(i)-f(j))+ B(i,j)*sin(f(i)-f(j)))); qg(i)-qc(i) =e= sum(j, v(i)*v(j)*(G(i,j)*sin(f(i)-f(j))B(i,j)*cos(f(i)-f(j))));

M ultiples ecuaciones a partir de una sentencia, seg un el dominio de la ecuaci on.

(Departamento de Ingenier a El ectrica)

Introducci on a GAMS

7 de marzo de 2009

21 / 24

Ecuaciones 3
Los operadores relacionales m as usuales son: exp i =l= exp d, exp i =g= exp d, exp i =e= exp d, exp i menor o igual que exp d exp i mayor o igual que exp d exp i igual que exp d

No existe una ecuaci on expl citamente declarada como objetivo. Se optimiza una variable escalar, la funci on objetivo es la que contenga a esta. Existen multitud de funciones matem aticas predenidas que facilitan la denici on de ecuaciones y la transformaci on de datos.

(Departamento de Ingenier a El ectrica)

Introducci on a GAMS

7 de marzo de 2009

22 / 24

Declaraci on del modelo

Model mincoste /all/; Solve mincoste using nlp minimizing costegen; o bien, Model mincoste /coste,balanceq,balanceq/; Solve mincoste using nlp maximizing (-costegen);

(Departamento de Ingenier a El ectrica)

Introducci on a GAMS

7 de marzo de 2009

23 / 24

Lectura de resultados

Una vez compilado y ejecutado el modelo (F9), los resultados se obtienen del chero .lst Parameter pg p,cost gen; pg p(i) = pg.l(i); cost gen = costegen.l; Option pg p:6, cost gen:6; Display pg p, cost gen;

(Departamento de Ingenier a El ectrica)

Introducci on a GAMS

7 de marzo de 2009

24 / 24

You might also like