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