0% encontró este documento útil (0 votos)
269 vistas30 páginas

Programación y Optimización en GAMS

El documento presenta un seminario sobre optimización usando el lenguaje GAMS. Explica los bloques básicos de GAMS como sets, parámetros, variables, ecuaciones, modelo y resolución. Incluye ejemplos de problemas de optimización como la asignación de anuncios publicitarios, envío de transformadores y distribución de vigilantes con el objetivo de minimizar costos sujeto a restricciones. También cubre temas como flujo de potencia en líneas de transmisión usando modelos DC.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
269 vistas30 páginas

Programación y Optimización en GAMS

El documento presenta un seminario sobre optimización usando el lenguaje GAMS. Explica los bloques básicos de GAMS como sets, parámetros, variables, ecuaciones, modelo y resolución. Incluye ejemplos de problemas de optimización como la asignación de anuncios publicitarios, envío de transformadores y distribución de vigilantes con el objetivo de minimizar costos sujeto a restricciones. También cubre temas como flujo de potencia en líneas de transmisión usando modelos DC.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd

SEMINARIO

OPTIMIZACIN - GAMS

Septiembre 2016
Universidad Politcnica Salesiana
TEMA III

LENGUAJE GAMS

Septiembre 2016
Universidad Politcnica Salesiana
Bloque SETS : Opcionales
Entrada de Datos
Programacin GAMS
BLOQUE INICIAL

Esta opcin establece el


ttulo en el encabezado de
la pgina del archivo de
lista

Comandos que me permiten


escribir texto como
comentarios (*)
Programacin GAMS
BLOQUE OPCIONAL Datos, parmetros o conjuntos

Sentencia para declarar


valores constantes de una
lista de elementos
(Parameter)
Programacin GAMS
BLOQUE SET - TABLE

Definicin de
conjuntos

Definicin de las
tablas
Programacin GAMS
BLOQUE VARIABLES

Comando para escribir


variables

Bloque de variables
libres

Definicin de variables
por un solo tipo
(positivas)
Programacin GAMS
BLOQUE ECUACIONES

Declaracin de las
ecuaciones incluida su
separacin (;)

Definicin de ecuaciones
(..) y las relaciones con las
variables, parmetros, etc.
Programacin GAMS
BLOQUE DE MODELO y RESOLUCIN (MODEL SOLVE)

Establecimiento del
modelo a ser resuelto

Bloque de resolucin del


modelo planteado, funcin
objetivo a optimizar
Programacin GAMS
Programacin GAMS
Programacin GAMS

Una forma muy empleada en GAMS para


trabajar con condiciones lgicas,
especialmente para restringir el campo de
variacin posible de un conjunto, esto es,
trabajar con excepciones, es la de emplear
la condicin dolar ($). No se hace
asignacin si no se
cumple
Programacin GAMS

En este caso la expresin de


los balances para cada
Una asignacin interesante que se puede componente
hacer con unsolamente aplica
parmetro es la de asignar a los platos intermedios de la
valores distribuidos regularmente sobre un intervalo.
columna, no a los extremos
Lo nico que hay que tener en cuenta esdeque, (ord)
la misma.
significa ordinal de un conjunto, es decir la posicin
relativa que un elemento ocupa en elLos mismo; y, en estos
balances
(card) su cardinal, es decir el nmero deextremos
elementosdeberan luego
totales del mismo. definirse como otras
ecuaciones aparte. Lo que
se ha mostrado en este
ejemplo es como limitar el
dominio de definicin de una
ecuacin.
Programacin GAMS - Ejercicio
Una inmobiliaria desea promocionar una nueva urbanizacin mediante una campaa
publicitaria. Para ello dispone de 5 tipos de anuncios: anuncios en televisin local al
medioda (tvm), anuncios en televisin local a la noche (tvn), anuncios en peridico
local (per), anuncios en suplemento dominical local (sup) y anuncios en radio local
por la maana (rad).

La empresa ha reunido datos sobre la cantidad de clientes potenciales a los que se


destina cada tipo de anuncio y el coste de cada anuncio en dolares. Adems, se ha
llevado a cabo una valoracin de la calidad que tiene cada anuncio de acuerdo al
medio en el que se expone, en una escala de 0 a 100 (0 nula, 100 excelente).

El nmero mximo de anuncios que se pueden emitir es 15, 10, 25, 4 y 30 de tvm,
tvn, per, sup y rad, respectivamente. La inmobiliaria, aconsejada por una agencia
de publicidad, decide utilizar al menos 10 anuncios en la televisin, alcanzar por
lo menos 50000 clientes potenciales, no gastar ms de 18000 dlares en anuncios
en televisin. El presupuesto mximo para la campaa publicitaria es de 30000
Dolares.
Programacin GAMS - Ejercicio
FO: Maximizar

Restricciones
Programacin GAMS-Ejercicio
Una inmobiliaria desea promocionar una nueva urbanizacin mediante una campaa
publicitaria. Para ello dispone de 5 tipos de anuncios: anuncios en televisin local al
medioda (tvm), anuncios en televisin local a la noche (tvn), anuncios en peridico
local (per), anuncios en suplemento dominical local (sup) y anuncios en radio local
por la maana (rad).

La empresa ha reunido datos sobre la cantidad de clientes potenciales a los que se


destina cada tipo de anuncio y el coste de cada anuncio en dolares. Adems, se ha
llevado a cabo una valoracin de la calidad que tiene cada anuncio de acuerdo al
medio en el que se expone, en una escala de 0 a 100 (0 nula, 100 excelente).

El nmero mximo de anuncios que se pueden emitir es 15, 10, 25, 4 y 30 de tvm,
tvn, per, sup y rad, respectivamente. La inmobiliaria, aconsejada por una agencia
de publicidad, decide utilizar al menos 10 anuncios en la televisin, alcanzar por
lo menos 50000 clientes potenciales, no gastar ms de 18000 dlares en anuncios
en televisin y si se hacen anuncios en el peridico entonces no hacer anuncios en
la televisin por la noche. El presupuesto mximo para la campaa publicitaria es
de 30000 Dolares.
Programacin GAMS - Ejercicio
FO: Maximizar

Restricciones

para i=1, 4 y 5

para i=1, 4 y 5
Programacin GAMS-Ejercicio
Una compaa tiene cuatro empresas dedicadas a fabricar
transformadores que abastecen a cuatro sucursales para su distribucin,
en tal sentido la gerencia desea determinar la programacin de envo al
mnimo costo para su produccin mensual de transformadores. La oferta
de las empresas fabricantes, las demandas de cada sucursal y los costos
de en envi por transformador se muestra en la siguiente tabla.

Costo de envo (USD/Trafo)

Sucursales
E(1) F(2) G(3) H(4) Prod
A(1) 25 35 36 60 15
B(2) 55 30 45 38 6
Fabricantes
C(3) 40 50 26 65 14
D(4) 60 40 66 27 11
Demandas
sucursales 10 12 15 9
Programacin GAMS-Ejercicio

Funcin Objetivo

Restricciones
Programacin GAMS-Ejercicio
Una compaa de vigilancia evalu sus necesidades de vigilantes, por
periodos de 4 horas, en un gran conjunto residencial, de la siguiente
manera:

Cada vigilante trabaja 8 horas al da, pero de manera continua.


La compaa desea organizar la distribucin de sus vigilantes
de tal forma que el nmero total de vigilantes sea mnimo.
Programacin GAMS-Ejercicio
FLUJO DE POTENCIA - DC

El flujo de carga lineal llamado


tambin en flujo de carga C.C. es
una forma aproximada de resolver
ecuaciones de flujo de carga no
lineal.

En la deduccin del flujo de carga


C.C. considera la relacin estrecha
entre el flujo de potencia activa en la
lnea de transmisin y la abertura
angular entre los extremos de la lnea
Programacin GAMS-Ejercicio
FLUJO DE POTENCIA - DC

Los valores obtenidos con este mtodo simplificado presen


tan resultados de flujos de potencia activa en las lneas con
valores muy prximos a los obtenidos usando el modelo no
lineal

La aproximacin es valida solamente para sistemas de


transmisin; esto es, para niveles elevados de tension

El modelo de flujo de carga C.C. no tiene en cuenta las


magnitudes de las tensiones nodales y el flujo de potencia
reactiva
Programacin GAMS-Ejercicio
Flujo de Potencia Pkm de una Lnea de Transmisin es

Despreciando las conductancias de las lneas y haciendo las


reducciones correspondientes:
Programacin GAMS-Ejercicio
Balance nodal de potencia activa
Programacin GAMS-Ejercicio
V=100 kV
=0 X=j10 ohm
150 (MW)
2
1
Pg1
3 X=j25 ohm
X=j20 ohm

Pg2

Sb=100 MVA

15 10
Vb=100 kV
5
B ( pu ) 10 14 4
5 4 9
Programacin GAMS-Ejercicio
Funcin Objetivo
Programacin GAMS Comando
Execute-unload
La sintaxis para la ejecucin del
comando es:
Crea un archivo GDX que
contiene datos del problema Execute_Unload nombre_modelo', namedi
seleccionados
tem1,nameditem2, ... ;

Para complementar la accin y poder


Los datos en el archivo
GDX son los valores acceder a los resultados del modelo
obtenidos en el momento en puede ocuparse el comando
que se ejecuta la sentencia GDXVIEWER

Muestra los resultados de


todos los clculos para Permite trasladar los datos de un archivo
resolver el modelo GDX a formatos de archivo CSV, XLS,
propuesto Access, SQL, MS SQL, SQL Insert script,
SQL Update script, HTML, or XML.

execute 'gdxviewer nombre_modelo.gdx';


Programacin GAMS Comando
Call e Include
El commando Call $Call puede ser
utilziado para inlcluir o incorporar archivos
creados de forma externa

Para algunas aplicaciones el commando


Call necesita incluir un = antes de llamar
a los archivos

$call =xls2gms "i=C:\ubicacin\nombre_archivo.xls" o=C:\ubicacin\nombre


de [Link] R=hoja_calculo!Rango_inicial: Rango_final

Para incluir los archivos externos se usa el comando Include, cuya sintaxis
es:

$include %path%[Link]
GRACIAS !

Septiembre 2016
Universidad Politcnica Salesiana

También podría gustarte