Taller Uso del GamsIde

Anuncio
UNIVERSIDAD DE CONCEPCION
FACULTAD DE INGENIERIA AGRICOLA
DEPARTAMENTO DE RECURSOS HIDRICOS
Publicaciones para apoyo docente
Ricardo Matta Canga.
USO DE GAMSIDE
El Sistema General de Modelación Algebraica (General Algebraic Modeling
System GAMS) esta diseñado específicamente para modelar problemas de
optimización tanto lineales, no lineales o de enteros mezclados. El sistema es
especialmente útil para problemas que sean grandes y complejos. GAMS esta
disponible en versiones para computadores personales, estaciones de trabajo,
bases de datos y súper computadores.
GAMS le permite al usuario concentrarse en el problema a modelar haciendo
que el planteamiento del problema sea simple. El sistema se toma el trabajo en
los detalles que consumen más tiempo de maquinas especificas e
implementación de software.
GAMS es especialmente útil para problemas únicos que sean grandes y
complejos que pueden necesitar muchas revisiones antes de establecer el
modelo final. El sistema modela problemas en una manera compacta y natural.
El usuario puede cambiar la formulación del problema con facilidad, cambiar de
un tipo de solución a otro y hasta convertir el problema de lineal a no lineal sin
problemas.
Qué es GAMSIDE?
Generalizad Algebraic Modeling System + Integrated Development
Environment.
Esta versión de GAMS es una interfase gráfica para Windows.
GAMS es usado en dos etapas:
Primera, se usa un editor de texto para crear un archivo.gms que tiene las
instrucciones GAMS.
Segunda, se usa un comando que ejecuta estas instrucciones, realiza los
cálculos, resuelve y genera un archivo.lst con los resultados.
Para realizar estas etapas se utiliza el GAMSIDE.
Existen dos versiones de GAMSIDE, la que se utilizará en este taller es
gratuita, tiene limitaciones en el número de variables, restricciones y modelos
que dispone, sin embargo son suficientes para los modelos que se utilizan
habitualmente en Ingeniería Agrícola.
1. Instale GAMSIDE en su computador.
Para bajar Gams http://www.gams.com o ejecutar setup.exe de archivos
comprimidos.
Por defecto se crea carpeta GAMS22.3 en Archivos de Programas, una
carpeta gamsdir, una subcarpeta projdir en Mis Documentos y un icono de
acceso directo.
2. Abra el programa con el icono correspondiente
3. Seleccione File - Proyect - New Proyect. El propósito de un Nuevo Proyecto
es determinar donde y como serán guardados los archivos asociados al
modelo. Defina nombre de Proyecto (Taller1, por ejemplo) y localización en
subcarpeta projdir. Debe copiar los archivos.gms en esta subcarpeta.
4. Una vez creado el proyecto debe crear un nuevo archivo.gms o abrir alguno
existente. Para efectos de este taller sea abrirá un archivo existente.
Seleccione File – Open, Surco1.gms en este caso. Por defecto se abrirá la
ventana donde se creó el proyecto
Observe la extensión *.gms del archivo, este es el archivo para editar el
modelo, léalo y revíselo, luego podrá modificarlo según nuevas restricciones.
Recorra el menú principal y observará que se han habilitado algunos comandos
para editar el modelo surco1.gms. En Anexo una breve explicación de los
principales comandos de edición.
6. Ejecute el archivo seleccionando File – Run , aparecerá una ventana no
active process
En esta ventana leerá detalles sobre la compilación, generación y ejecución del
modelo. Además la factibilidad de la solución y resultado de la función objetivo.
Abra (open Log) o cierre (close) la ventana.
7. Maximice ventana de atrás y seleccione Surco1.lst este es el archivo de
resultados del modelo, recórralo en su totalidad especialmente la sección Solve
Summary . En Anexo una breve explicación de los principales comandos de
resultados.
8. Ahora puede realizar modificaciones en Surco1.gms y guardar como (File Save as) Surco2.gms, por ejemplo.
ANEXO
1. Comandos básicos de GAMS:
* para comentarios, no computable, se puede ubicar en cualquier lugar del
modelo.
$ TITLE reconoce como título lo escrito en la línea y se imprime en todas las
páginas del archivo .LST.
VARIABLES, se utiliza para declarar y asignar el tipo de las variables de
decisión y acepta cualquier letra, excepto los acentos.
EQUATIONS, utilizada para declarar y definir las ecuaciones de la función
objetivo y restricciones, acepta cualquier letra, excepto acentos.
MODEL, expresión que define el modelo, el que puede tener cualquier nombre.
SOLVE, expresión que resuelve el modelo definido en MODEL.
OPTION DECIMALS=0, permite obtener resultados sin decimales en comando
DISPLAY.
DISPLAY, muestra el valor primal (.L) y marginal ó dual (.M) de las variables
con los nombres definidos en VARIABLES; es una expresión optativa y en
archivo.gms se escribe: DISPLAY X.L, X.M;
Una vez formulado y guardado su modelo, ejecútelo, por defecto el archivo de
resultados archivo.lst se guardará en la misma carpeta de archivo.gms.
Para observar donde están los errores o ver los resultados abra archivo.lst en
la página SOLVE SUMMARY.
***OBJETIVE VALUE 5300.000 Este es el valor de la función objetivo.
EXIT-OPTIMAL SOLUTION FOUND Corresponde al tipo de solución
encontrada.
--- EQU. Corresponde a los valores obtenidos en la función objetivo y
restricciones:
La columna LOWER indica el valor más bajo del recurso que podría utilizar en
el modelo.
La columna LEVEL indica la cantidad de recurso utilizado por el modelo.
La columna UPPER indica la cantidad de recurso disponible en el modelo.
La columna MARGINAL es la Solución Dual o Precio Sombra y es la tasa o
cantidad en que se incrementa la función objetivo, si se aumenta en una unidad
la cantidad del recurso disponible en alguna restricción.
El Punto (.) significa que el valor es cero.
EPS significa que el valor es muy cercano a cero.
---VAR. Corresponde a los valores obtenidos en las variables de decisión.
Las columnas LOWER y UPPER indican el rango que se puede lograr de las
variables de decisión.
La columna LEVEL indica el valor o la cantidad de la variable de decisión
correspondiente.
La columna MARGINAL para las variables indica que es una variable básica si
aparece un punto (.). Si aparece una cifra, esta indica el aumento y/o
disminución de función objetivo, si se “obliga” al modelo a producir una unidad
de esa variable, es decir X2.LO=1.
La forma de limitar las variables de decisión es con el uso de la extensión .LO o
UP:
X1.LO=3 significa que el modelo debe considerar como resultado 3 o más
unidades.
X1.UP=20 significa que el modelo debe considerar como resultado 20 o menos
unidades.
En programación no lineal, especialmente, es conveniente que el modelo
resuelva el problema dentro de los límites de las variables, para esto es
necesario que se asigne al modelo un valor inicial de la siguiente forma X1.L=3,
esto permite a SOLVER iniciar los cálculos desde 3 unidades de la variable de
decisión.
***REPORT SUMMARY
0 NONOPT (no óptima)
0 INFEASIBLE (no factible)
0 UNBOUNDED (ilimitada)
En este breve informe el cero (0) indica que la solución es óptima, factible y
limitada, en caso contrario aparece la cantidad de filas y/o columnas (recuerde
algoritmo Simples) cuya solución no es óptima, no es factible o es ilimitada.
2. DISEÑO OPTIMO DEL RIEGO POR SURCOS.
INTRODUCCION
La agricultura es la actividad que consume mayor cantidad de agua, sin
embargo la eficiencia de su utilización es la mas baja. El propósito de este
trabajo es analizar los métodos de aplicación de agua y desarrollar modelos de
optimización para sistemas de riego superficial que mejore la eficiencia del uso
del agua y aumente las utilidades del manejo agrícola.
MATERIALES Y METODOS.
El desarrollo de un modelo para el diseño óptimo de un sistema de riego
superficial requiere que las relaciones entre las variables de diseño y la utilidad,
sean conocidas. Para encontrar estas relaciones se debe considerar la
programación del riego, requerimientos de agua del cultivo, las variables de
diseño del método de riego, el rendimiento del cultivo, el costo del riego, las
relaciones entre los parámetros del riego y las variables de diseño y las
relaciones entre los parámetros del riego y las utilidades.
Como se mencionaba al principio, el objetivo de un diseño de riego es
maximizar las utilidades. La función objetivo seleccionada está compuesta de
una función exponencial y relaciones matemáticas entre la eficiencia de
distribución del requerimiento de agua del cultivo y las variables de diseño,
sobre la base que la eficiencia de distribución del requerimiento de agua es la
distribución del agua en el suelo.
*Modelo de optimización del riego superficial Versión GAMS
$TITLE OPTIMIZACION DEL RIEGO POR SURCOS
*
*VARIABLES y ECUACIONES
VARIABLES
Q Caudal
FE Longitud del surco
TCO Tiempo de corte
NF Número de surcos
NR Número de corridas
NS Número de set
P Utilidad;
EQUATIONS
MOF Función objetivo
DIS Volumen infiltración mínimo
WAT Agua disponible
LFI Longitud del surco
ARE Superficie irrigada
TIM Tiempo de riego por set
AFM Eficiencia máxima
AFI Eficiencia mínima;
MOF..
DIS..
WAT..
LFI..
ARE..
TIM..
AFM..
AFI..
P=E=(Q**0.706)*(FE**(-0.645))*(TCO**0.809)*1000;
Q*(FE**(-1.02))*(TCO**0.26)=G=25.0;
Q*NF=L=32000.0;
FE*NR=E=800.00;
FE*NF*NS=G=20000.0;
TCO*NS=L=1200.0;
((Q**0.706)*(FE**(-0.645))*(TCO**0.809))/7.75=L=100;
((Q**0.706)*(FE**(-0.645))*(TCO**0.809))/7.75=G=20;
*LÍMITES DE LAS VARIABLES
Q.LO = 700.0;
Q.UP = 1300.0;
FE.LO = 50.0;
FE.UP = 800.0;
TCO.LO = 1.0;
TCO.UP = 1200.0;
NF.LO = 1.0;
NF.UP = 400.0;
NR.LO = 1.0;
NR.UP = 16.0;
NS.LO = 1.0;
NS.UP = 400.0;
MODEL SURCO/ALL/;
SOLVE SURCO USING NLP MAXIMIZING P;
DISPLAY P.L, Q.L, FE.L, TCO.L, NF.L, NR.L, NS.L;
RESULTADOS Y DISCUSION.
El modelo de optimización considera todos los factores para el diseño del
sistema. Esta representación de la realidad permite utilizar este modelo para el
diseño de riego por surcos y bordes. El diseño de criterio usado en el modelo
para riego por surcos y bordes es el requerimiento crítico de agua que ha sido
determinado sobre la base del máximo requerimiento en un riego durante la
temporada y la mayor evapotranspiración del cultivo.
Variados sistemas diseñados pueden ser examinados variando el tiempo
disponible diario para regar, la cantidad de agua de riego disponible en el
campo, la menor superficie para regar en un día, el número de bloques de riego
por día, el número de surcos por bloque y el valor de alguna de las variables de
diseño.
El modelo de optimización entrega el valor óptimo de las variables de diseño: el
caudal de entrada, la longitud de surcos o bordes, el tiempo de riego y
adicionalmente el ancho del borde para un sistema de riego por bordes, para
las condiciones dadas.
La ejecución del modelo para un riego por surcos en un campo de 32 hectáreas
(400 metros por 800 metros) de maíz en Chillán se observa en Tabla 1.
TABLA 1. Datos de entrada y Resultados de un riego por surcos en maíz.
Recursos ( Datos de entrada)
Disponibles
Caudal mínimo (ml/s)
700
Longitud total de surcos
800.0
(m)
Area mínima de riego
20000
(m²)
Tiempo riego (min)
1200
Máxima eficiencia de
100
riego (%)
Mínima eficiencia de
20
riego (%)
Variables (Resultados)
Caudal no erosivo por surco (l/s)
Longitud del surco (m)
Tiempo de riego (min)
Surcos por bloque o set
Número de corridas
Número de bloques o set
Eficiencia
de
distribución
requerimientos (%)
Utilidad ($)
1.3
200
306
25
4
4
de 67
519101
Para el caso estudiado, los resultados indican que el tiempo de riego es la
variable de diseño más crítica. Que el caudal tiene un efecto menor en la
función objetivo que el tiempo de riego. Que el valor de la función objetivo se
incrementa si los valores de tiempo de riego y caudal se aumentan. La longitud
de surco tiene menor efecto sobre la función objetivo. Los resultados también
indican que la disponibilidad de agua y el tiempo disponible para el riego son
factores importantes en el proceso de diseño.
CONCLUSIONES
El modelo para diseños óptimos de surcos y bordes en maíz fue desarrollado
para condiciones de campo existentes en Chillán y Davis (California). El diseño
de criterio usado en el modelo de optimización fue el requerimiento crítico de
agua del cultivo. Las variables de diseño del modelo son: el caudal de entrada
al surco, la longitud de surcos y bordes, el tiempo de riego y el ancho del borde
en un sistema de riego por bordes. El modelo entrega los valores óptimos de
las variables de diseño. Además el modelo puede ser usado para: (1) Examinar
el efecto de los recursos disponibles (agua, tiempo de riego, mano de obra,
etc.) sobre las utilidades de la gestión agrícola. (2) Comparar diferentes tipos
de manejo del riego y (3) Analizar las condiciones normales de manejo de un
sistema de riego y los cambios necesarios para enfocar la ejecución del
sistema en función de los objetivos de la gestión agrícola del predio.
Finalmente, las soluciones del modelo pueden obtenerse utilizando
programación no lineal que permite el análisis de sensibilidad.
3. MODELO SIMPLE DE OPTIMIZACION EN CULTIVOS
*Modelo simple de distribución de cultivos en potreros de diferente superficie
$TITLE “1ª Optimización del modelo”
$OFFUPPER
VARIABLES
X1 Remolacha Parcela 1
X2 Maiz Parcela 1
X3 Trigo Parcela 1
X4 Remolacha Parcela 2
X5 Maiz Parcela 2
X6 Trigo Parcela 2
X7 Remolacha Parcela 3
X8 Maiz Parcela 3
X9 Trigo Parcela 3
Z Función Objetivo;
EQUATION
ZZ Función objetivo
P1 Superficie parcela 1
P2 Superficie parcela 2
P3 Superficie parcela 3
C1 Superficie remolacha
C2 Superficie maíz
C3 Superficie trigo
A1 Agua parcela 1
A2 Agua parcela 2
A3 Agua parcela 3
S1 Social 1
S2 Social 2
S3 Social 3;
ZZ..Z=E=X1*400+X2*300+X3*200+X4*400+X5*300+X6*200+X7*400+X8*300+
X9*200;
P1..X1+X2+X3=L=400;
P2..X4+X5+X6=L=600;
P3..X7+X8+X9=L=300;
C1..X1+X4+X7=L=600;
C2..X2+X5+X8=L=500;
C3..X3+X6+X9=L=376;
A1..X1*10+X2*8+X3*3=L=600 ;
A2..X4*10+X5*8+X6*3=L=800;
A3..X7*10+X8*8+X9*3=L=375;
S1..(600*X1+600*X2+600*X3)-(400*X4+400*X5+400*X6)=E=0;
S2..(300*X4+300*X5+600*X6)-(600*X7+600*X8+600*X9)=E=0;
S3..(400*X7+400*X8+400*X9)-(300*X1+300*X2+300*X3)=E=0;
X1.LO=0;
X2.LO=0;
X3.LO=0;
X4.LO=0;
X5.LO=0;
X6.LO=0;
X7.LO=0;
X8.LO=0;
X9.LO=0;
MODEL PRATICO/ALL/;
SOLVE PRACTICO USING LP MAXIMIZING Z;
Descargar