Aimms tutorial beginner spanish PDF

Title Aimms tutorial beginner spanish
Author Nicolás Eraso
Course Métodos Cuantitativos para las Decisiones Empresariales
Institution Universidad Politécnica de Madrid
Pages 41
File Size 1.9 MB
File Type PDF
Total Downloads 84
Total Views 171

Summary

Aimms tutorial...


Description

AIMMS Tutorial en una hora para principiantes Noviembre 2007

ecnica de Madrid Universidad Polit´ Miguel Ortega Mier Alvaro Garc´ıa S´ anchez

Copyright  c Miguel Ortega Mier y Alvaro Garc´ ıa S´anchez Todos los derechos reservados. ecnica de Madrid Universidad Polit´ e Guti´errez Abascal, 2 ETSII c/ Jos´ 28006 Madrid na Espa˜ Tel.: +34 913363143 Fax: +34 913363206 Email: [email protected] y [email protected] WWW: www.iol.etsii.upm.es/aimms.html ISBN

978-84-612-1155-5

a basado en el documento original: Este texto est´

AIMMS – a one-hour tutorial for Beginners Copyright  c 1993–2006 Paragon Decision Technology B.V. Paragon Decision Technology B.V ha expresado su consentimiento para ello. Aimms es una marca registrada de Paragon Decision Technology B.V. Otras marcas y respectivos productos son marcas registradas de los respectivos propietarios. Windows y Excel son marcas registradas de Microsoft Corporation. T EX, LATEX, and AMS-LATEX son marcas registradas de la American Mathematical Society. Lucida es una marca registrada por Bigelow & Holmes Inc. Acrobat es marca registrada por Adobe Systems Inc. La informaci´ on de este documento est´a sujeta a cambio sin ning´un aviso y no representa una obligaci´on por parte de los autores. El software descrito en este documento se proporciona bajo licencia y s´ olo debe ser usado y copiado de acuerdo a los t´erminos del acuerdo. La documentaci´on no debe, en parte o toda ella, ser copiada, fotocopiada, reproducida, traducida, o transformada a cualquier medio electr´ onico sin el consentimiento previo, y por escrito, de los autores. Los autores no garantizan la idoneidad de este documento o de los programas descritos en el ´para osito en particular o su idoneidad para obtener ning´ un resultado en particular. En ning´ un ning´ un prop´ erdidas, costes, cargos, reclamaciones, demandas o caso los autores ser´ an responsables de los da˜ nos, p´ reclamaciones por perjuicios, honoarios o gastos de ninguna naturaleza, ya sean directos, indirectos, acter especial o derivados del uso del manual y los programas descritos. de car´ Adem´ as de lo anterior, lo usuarios deben saber que cualquier programa complejo y sus respectiva on contienen errores y omisiones. Los autores no tienen el compromiso bajo ninguna cirdocumentaci´ cunstancia de proporcionar informaci´ on o correcciones a los errores y omisiones de este manual y del software descrito en el, ´ tanto si son conocedores de dichos errores y omisiones como si no. Los autores no recomiendan el uso del software descrito en este libro en situaciones donde los errores o las omisiones pueden poner en riesgo vidas humanas o provocar lesiones o erdidas p´ significativas. on ha sido impresa usando LATEX y la familia de fuentes Lucida. Esta documentaci´

´Indice general

´ Indice general

iii

1.

Introducci´ on

1

2.

e se puede esperar Qu´ 2.1. Alcance del tutorial de una hora . . . . . . . . . . . . . . . . . 2.2. Descripci´ on del problema y enunciado del modelo . . . . . . 2.3. Un vistazo al resultado final . . . . . . . . . . . . . . . . . . .

3 3 3 6

3.

Construcci´ on del modelo 3.1. Empezar un nuevo proyecto . . . . . . . . . . . . . . . . . . . 3.2. El Model Explorer . . . . . . . . . . . . . . . . . . . . . . . . . 3.3. Introducci´ on de los conjuntos e ı´ndices . . . . . . . . . . . . . ametros y variables . . . . . . . . . . . 3.4. Introducci´ on de los par´ atico 3.5. Introducci´ on de las restricciones y del programa matem´ 3.6. Otra forma de revisar los identificadores . . . . . . . . . . . .

7 7 8 9 10 13 15

4.

Entrada y almacenamiento de los datos 4.1. Entrada del conjunto de datos . . . . . . . . . . . . . . . . . . 4.2. Entrada de los datos relativos a los par´ ametros . . . . . . . . 4.3. Almacenamiento de los datos . . . . . . . . . . . . . . . . . .

18 18 19 21

5.

Resoluci´ on del modelo on . . . . . . . . . . . . . . . . . . . . . . . 5.1. C´ alculo de la soluci´

24 24

6.

Construcci´ on de una P´ agina agina nueva . . . . 6.1. Creacci´ on de una p´ on de los datos de entrada 6.2. Presentaci´ on de los datos de salida . 6.3. Presentaci´ agina . . . . 6.4. Presentaci´ on final de la p´

. . . .

27 27 28 29 31

alisis what-if An´ on de los datos de entrada . . . . . . . . . . . . . . 7.1. Modificaci´

37 37

7.

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

Cap´ıtulo

1

Introducci´ on

Existen varias formas mediante las cuales puedes aprender a utilizar Aimms y Formas de asica el entorno de trabajo correspondiente. Las aprender llegar a entender de forma b´ siguientes opciones est´ an disponibles, ya que son parte de la instalaci´ Aimms . . . on de Aimms. Existen dos tutoriales sobre Aimms que te proporcionan los primeros conocimientos del sistema y de su lenguaje. Existe un tutorial orientado en hay otro encaminado a los usuarios a estudiantes, mientras que tambi´ profesionales de Aimms. Existe una librer´ıa de modelos con una gran variedad de ejemplos que ilustran aplicaciones sencillas y avanzadas, junto con aspectos espec ´ıfiafico del usuario. cos del lenguaje y del interfaz gr´ Existen tres libros de referencia sobre Aimms, que est´ an disponibles en formato PDF y en papel. Estos libros son The User’s Guide que te introduce en Aimms y su entorno de desarrollo, The Language Reference que describe el lenguaje de modelado en detalle, y Optimization Modeling que on de modelos. te permite familiarizarte con la construcci´ on, probable- . . . para Como un principiante en lenguajes de modelado de optimizaci´ mente no tengas mucho tiempo para aprender otra herramienta para terminar principiantes algunos proyectos o deberes. En este caso, concentra tus esfuerzos en este es de finalizar este tutorial, deber´ıas ser capaz de usar Aimms tutorial. Despu´ para construir tus propios modelos sencillos, y de introducir tus propios peque˜nos conjuntos de datos y poder visualizarlos. El libro Optimization Modeling te ense˜ nar´ a algunos trucos interesantes, y te mostrar´ a diferentes ejemplos on (muchos de ellos no triviales). de modelos de optimizaci´ Como profesional en el campo del modelado y la optimizaci´ on, buscas una he- . . . para rramienta que simplifique tu trabajo as´ ı como minimizar el tiempo necesario profesionales on, no puedes evadir para construir un modelo y mantenerlo. En esta situaci´ on en el hecho de que inicialmente necesitar´ as hacer una sustancial inversi´ tiempo para poder conocer varias de las caracter ´ısticas avanzadas que te seran de herramienta para tu tarea de desarrollador profesional de aplicaciovir´ abitos nes de optimizaci´ on. Dependiendo de tus capacidades, experiencia, y h´ de aprendizaje, deber´ıas hacerte tu propia trayectoria profesional de apren-

Cap´ıtulo 1. Introducci´ on

dizaje. A lo largo de este camino te recomendamos hacer el extenso tutorial, nado especialmente para profesionales. Este tutorial te proporciona un dise˜ buen punto de partida, y probablemente despierte tu entusiasmo con respecto a las posibilidades de Aimms. Los ejemplos individuales que hay en la librer ıa ´ as de modelos, junto con algunas secciones de los tres libros, te ofrecer´ an m´ omo usar Aimms de forma eficaz para construir aplicaciones pautas sobre c´ avanzadas. a dise˜ nado para aprender los Los tutoriales El tutorial en una hora para principiantes est´ m´ınimos necesarios con los que poder construir modelos simples usando el tienen distinto Model Explorer de Aimms. Los datos se introducen manualmente utilizando alcance agina con objetos las p´ aginas de datos, y el estudiante puede construir una p´ para poder visualizar y modificar los datos. El extenso tutorial para profesionales es un minucioso paseo por Aimms que cubre bastantes caracter ´ısticas avanzadas de lenguaje m´ as una introducci´ on a todas las herramientas necesarias para construir modelos. Son especialmente interesantes, por ejemplo, el modelado del tiempo empleando conceptos como horizon y calendar, el uso on con bases de datos o con DLLs exterde cantidades y unidades, la conexi´ un as´ı, quedan sin nas, y las funcionalidades avanzadas para crear informes. A´ atender algunos temas, tales como los relativos a las consideraciones de eficion de matrices) o el API cencia (eficiencia de ejecuci´ on, rutinas de manipulaci´ de Aimms.

2

Cap´ıtulo

2

Qu´ e se puede esperar ıtulo podr´ as encontrar un resumen de las tareas que realizar´ En este cap´ as en Este cap´ıtulo este tutorial, un enunciado compacto del modelo base de este tutorial y un vistazo de c´ omo se mostrar´ an los datos de salida al final del mismo.

2.1. Alcance del tutorial de una hora Una vez que hayas le´ıdo la descripci´ on del problema y el enunciado del modelo matem´ atico asociado, se te pedir´ a que completes una serie de tareas que componen este tutorial en una hora, que son:

Resumen del trabajo

crear un proyecto nuevo en Aimms, introducir las declaraciones de todos los identificadores necesarios, introducir los datos manualmente, salvar los datos en un caso, construir un procedimiento sencillo, construir una p´ agina de resultados sencilla con • una cabecera, • una tabla est´ andar y dos gr´ aficos de barras con los datos de entrada, afico de barras apiladas con los datos • una tabla compuesta y un gr´ de salida, on para ejecutar un procedimiento y • un bot´ on objetivo, • un objeto tipo escalar con el valor de la funci´ hacer un analisis what-if.

on del problema y enunciado del modelo 2.2. Descripci´ Desde dos plantas, se env´ıan camiones de cerveza a cinco clientes durante un Descripci´ on del periodo de tiempo determinado. La capacidad de suministro de cada planta modelo as´ı como la demanda de cada cliente (medido en camiones de cerveza) son coon cargado al desplazarse desde nocidas. Los costes de transporte de un cami´ en se conocen. El objetivo es encontrar un plan de una planta a un cliente tambi´ env´ ıos con el m´ınimo coste, de acuerdo con el cual desplazar los camiones de

Cap´ıtulo 2. Qu´ e se puede esperar

4

cerveza de tal forma que se satisfaga la demanda y de manera que los env ´ıos no excedan la capacidad de cada planta de cerveza. En la siguiente tabla se presentan los datos del problema descrito en el arrafo p´ anterior.

Un vistazo a los datos

Clientes Coste de transporte unitario Plantas Madrid Tarragona Santander Albacete Sevilla Capacidad Caceres 297 831 573 504 264 47 Zamora 248 694 344 499 536 63 Demanda 31 16 22 12 28

Cuadro 2.1: Datos de entrada del problema de la cerveza

A continuaci´ on se enumeran las declaraciones correspondientes a los identifi- Declaraciones atico. de los cadores necesarios para construir el programa matem´ identificadores Indices: p plantas c clientes Parametros:

Op Dc CTpc

oferta o capacidad de cada planta p demanda de cada cliente c coste unitario de transporte desde p a c

Variables:

xpc z

camiones transportados desde p a c coste total de transporte

Figura 2.1: La penı´nsula ib´ erica

Cap´ıtulo 2. Qu´ e se puede esperar

a obtener el plan de menor coste para El modelo matem´ atico que sigue permitir´ transportar cerveza de tal forma que se cubra la demanda y que los env ´ıos no superen la capacidad disponible.

5

Model summary

Minimize:

z



CTpcxpc

pc

Subject to:



xpc ≤ Op

∀p



xpc ≥ Dc

∀c

xpc ≥ 0

∀p, c

c

p

Aunque la notaci´ on del modelo anterior con s´ımbolos (nombre de variables, letra es t´ on de par´ ametros, etc.) con una unica ´ ıpica de modelos de optimizaci´ peque˜ no tama˜ no, no es conveniente utilizarla para representar los modelos an nombres expl´ıcitos de tal forma que en Aimms. Por el contrario, se utilizar´ on innecesaria de los s´ımbolos. Para modelos grandes, el se evite la traducci´ umero de s´ımbolos es igualmente grande, y la utilizaci´ on de nombres claros n´ on de estos modelos con menor esfuerzo. permite la compresi´

Uso de nombres expl´ıcitos

Cap´ıtulo 2. Qu´ e se puede esperar

2.3. Un vistazo al resultado final En la Figura 2.2 se puede ver una p´ agina de resultados que contiene los datos Un p´agina de iniciales y finales asociados al problema del transporte de la cerveza. En el resultados as construir esta esta p´ agina con las facilidades point-and-click sencilla Cap´ıtulo 6 podr´ que ofrece Aimms.

Figura 2.2: An input-output page

6

Cap´ıtulo

3

Construcci´ on del modelo

3.1. Empezar un nuevo proyecto Utiliza Windows Explorer para crear un directorio para guardar los proyectos Crear un de Aimms. La figura 3.1 te sirve como ilustraci´ directorio on.

on de directorios Figura 3.1: Una selecci´

´ instalado en tu ordenador, dir´ıgete al directorio Suponiendo que Aimms 3 esta que acabas de crear y utiliza los comandos Nuevo - Aimms Project File que aparecen al pinchar con el bot´ on derecho del rat´ on. De esta manera crear´ as un a vac´ıo. proyecto nuevo, que estar´

Crear un nuevo proyecto

a cuando Ahora ver´ as la pantalla inicial de Aimms. Esta pantalla desaparecer´ a la ventana de Aimms. Normalmente en este Aimms haya arrancado y se abrir´ alogo Tip of the Day de Aimms; ci´ errala, porpunto aparece la ventana de di´ alogo que se que no es relevante en este momento. La siguiente ventana de di´ a en la pantalla. Sobre ella tienes que realizar muestra en la figura 3.2 aparecer´ las siguientes acciones:

Dar nombre al proyecto

Escribe ‘Transporte de cerveza’ como nombre del proyecto, y presiona el bot´ on OK.

Cap´ıtulo 3. Construcci´ on del modelo

8

Figura 3.2: El asistente New Project

a autom´ aticamente. Despu´ es de esto, el Model Explorer de Aimms se abrir´

3.2. El Model Explorer Cuando se abre por primera vez, el Model Explorer de Aimms se muestra el ´ ´rbol inicial del modelo, que se muestra en el figura 3.3. En estearbol inicial Arbol inicial del ´ a modelo as: ver´ as guardar las declaraciones una unica ´ declaration section, donde podr´ que uses en tu modelo, el procedimiento predefinidoMainInitialization, que no es relevante para este tutorial, as que introduel procedimiento predefinidoMainExecution, donde tendr´ cir el c´ odigo de ejecuci´ on necesario para resolver el programa matem´ atico, y el procedimiento predefinido MainTermination, que de nuevo no es relevante para este tutorial.

´ inicial del modelo Figura 3.3: Arbol

Cap´ıtulo 3. Construcci´ on del modelo

9

3.3. Introducci´ on de los conjuntos e ´ındices Para declarar los identificadores del modelo, primero tienes que abrir la de- Abrir la claration section haciendo doble clic en el icono . Observa que el doble clic declaration hay que hacerlo en el icono y no en el nombre correspondiente, porque si no section es de haber abierto la declaration no obtedr´ as los resultados esperados. Despu´ an activos section, los botones para insertar identificadores est´ andard aparecer´ en la barra de herramientas. Para crear el conjunto de las plantas tienes que seguir las siguientes instruc- Crear el ciones: conjunto ‘Plantas’ on Set para crear un nuevo identificador de conjunto presiona el bot´ arbol del modelo, en el ´ escribe ‘Plantas’ como nombre del conjunto, y presiona la tecla Enter para registrar el nombre. Ahora, necesitas declarar elındice ´ p como un atributo del conjunto ‘Plantas’. Abrir su Puedes abrir la ventana de caracter´ısticas haciendo doble clic en el nodo ‘Plan- ventana de tas’ en el a ´rbol del modelo. El resultado se parecer´ a al que se muestra en la carater´ısticas figura 3.4.

Figura 3.4: La ventana de propiedades del conjunto ‘Plantas’

Para declarar el ´ on del ındice p como un atributo del conjunto ‘Plantas’, sigue las Declaraci´ ´ındice p siguientes acciones: mueve el cursor al campo ‘Index’, y haz clic en el campo (vac ´ıo) de edion, ci´ introduce la letra p, y

Cap´ıtulo 3. Construcci´ on del modelo

10

on Check, Commit cierra la ventana de propiedades presionando el bot´ and Close . Ahora, se crea el conjunto ‘Clientes’ asociado alındice ´ c de la misma manera que se cre´ o el conjunto ‘Plantas’ con el ındice ´ p. La figura 3.5 muestra elarbol ´ resultante.

Crear el conjunto ‘Clientes’

´ del modelo tras haber introducido los los conjuntos Figura 3.5: Arbol

El asterisco que hay a la izquierda del nombre del proyecto indica que los cam- Guarda los bios que se han hecho no han sido guardados de momento. Para guardarlos, cambios on Save Project en la barra de herramientas. presiona el bot´

3.4. Introducci´ on de los par´ ametros y variables ametros y las variables que vas a necesitar En esta secci´ on declarar´ as los par´ asociados se en tu modelo. Los conjuntos ‘Plantas’ y ‘Clientes’ y susındices ´ ametros y las variables. usar´ an para especificar el index domain de los par´

on Especificaci´ del dominio

on de un conjunto. Para La declaraci´ on de un par´ ametro es similar a la declaraci´ introducir el par´ ametro ‘Oferta(p)’, debes realizar las siguientes acciones:

on del Declaraci´ par´ametro ‘Oferta’

ametro en la barra de herrapresiona el bot´ on para introducir un par´ ametro nuevo en el a ´rbol del modelo, mientas y as´ı se crear´ a un par´ ametro, y Escribe ‘Oferta(p)’ como nombre del par´ presiona la tecla Enter para registrar el nombre. F´ıjate que los par´ nadir el index domain p al identificador entesis se usan para a˜ ‘Oferta’. nadir de la misma forma. Si cometes un Declaraci´ on del El par´ ametro ’Demanda(c)’ se puede a˜ on, siempre puedes reeditar el campo haciendo par´ametro error al introducir la informaci´ ‘Demanda’ un clic en el. ´

Cap´ıtulo 3. Construcci´ on del modelo

ametro El ´ ultimo par´ ametro del modelo, ‘CosteUnitarioTransporte’, es un par´ de dos dimensiones con index domain p, c. Despu´ es de haber introducido ‘Cosresultante deber´ıa ser el mismo que el que teUnitarioTransporte(p,c)’, elarbol ´ se muestra en la figura 3.6.

11

on del Declaraci´ par´ametro ‘CosteUnitarioTransporte’

´ ametros Figura 3.6: Arbol del modelo tras haber introducido los par´

ametro. La declaraci´ on de una variable es similar a la de un par´ a on de variables en la barra de herramientas y se crear´ presiona el bot´ arbol del modelo, una variable en el ´ escribe ‘Transporte(p,c)’ como nombre de la variable, y presiona la tecla Enter para registrar la variable.

Crear la variable ‘Transporte’

Una vez abierta la ventana de caracter´ ısticas de la variable haciendo doble clic Especificar el on tipo asistente que atributo range en el nodo ‘Transporte’ en el arbol, ´ presiona el bot´ est´ a junto al campo ‘Range’. La ventana de di´ alogo resultante te ofrece la oportunidad de especificar el rango de valores que puede tener la variable ‘Transporte’. En este caso, selecciona el ‘Standard Range’ y de los posibles, selecciona on OK (observa la figura 3.7). ‘nonnegative’. Finalmente presiona el bot´

Cap´ıtulo 3. Construcci´ on del modelo

12

Figura 3.7: El asistente range wizard de Aimms

...


Similar Free PDFs