Source: http://docplayer.es/1062007-Modelos-matematicos-de-optimizacion.html
Timestamp: 2017-08-21 12:07:52+00:00

Document:
MODELOS MATEMÁTICOS DE OPTIMIZACIÓN - PDF
Download "MODELOS MATEMÁTICOS DE OPTIMIZACIÓN"
Benito Villanueva Coronel
1 MODELOS MATEMÁTICOS DE OPTIMIZACIÓN Andrés Ramos Pedro Sánchez José María Ferrer Julián Barquín Pedro Linares Septiembre 2010 [http://www.doi.icai.upcomillas.es/intro_simio.htm] Alberto Aguilera 23 E Madrid Tel: Fax:
3 ÍNDICE I.1. OPTIMIZACIÓN... 3 I.1.1. Investigación operativa y optimización... 3 I.1.2. Referencias... 9 I.2. MODELOS DE OPTIMIZACIÓN I.2.1. Modelo y modelado I.2.2. Etapas en el desarrollo de un modelo I.2.3. Referencias I.3. CODIFICACIÓN DE PROBLEMAS DE OPTIMIZACIÓN I.3.1. Lenguajes de modelado (OAE) I Lenguajes de modelado I Lenguajes algebraicos de modelado I Referencias I.3.2. Modelado en GAMS (OAE) I Ejemplo de transporte I Ejemplo de planificación de la producción I Ejemplo de secuenciación de órdenes de trabajo I Ejemplo del viajante de comercio I Ejemplo de asignación de grupos térmicos I Ejemplo de flujo de cargas óptimo I.3.3. Elementos de estilo de programación (DOCT) I Generales I Específicos de GAMS I Referencias /10/2010 i
5 I OPTIMIZACIÓN I.1. Optimización I.1.1. Investigación operativa y optimización In the last decade, new advances in algorithms have been as important as the impressive advances in computer technology George L. Nemhauser (1994). The technology improvements in algorithms, modeling languages, software, and hardware have made the methodology accessible, easy to use, and fast. So the Age of Optimization has arrived George L. Nemhauser (1994). Definir el término investigación operativa (operations research en inglés de USA u operational research en inglés de UK) no es una tarea fácil ya que su evolución permanente hace que sea difícil dar con precisión una definición. La investigación operativa se puede definir como la aplicación de métodos científicos en la mejora de la efectividad en las operaciones, decisiones y gestión, ver [Robinson, 1999] o como la ciencia de aplicar los recursos disponibles para conseguir la satisfacción óptima de un objetivo específico deseado. Otra definición más extensa es la siguiente: la investigación operativa es la aplicación, por grupos interdisciplinarios, del método científico a los problemas complejos producidos en la dirección y gestión de grandes sistemas de hombres, máquinas, etc. La principal característica consiste en construir un modelo científico del sistema del cual se pueden predecir y comparar los resultados de diversas estrategias, decisiones, incorporando medidas del azar y del riesgo. El objetivo es ayudar a los responsables a determinar su política y actuaciones en forma científica. En este sentido también se pueden utilizar como sinónimos management science o análisis de las decisiones. Los profesionales de la investigación operativa colaboran con los decisores en el diseño y mejora de las operaciones y decisiones, resuelven problemas y ayudan en las funciones de gestión, planificación o predicción, aportan conocimiento y ayuda en la toma de decisiones. Aplican las técnicas científicas más adecuadas seleccionadas de la matemática, ingeniería o cualquier ciencia social o de administración de empresas. Su trabajo normalmente consiste en recoger y analizar datos, desarrollar y probar modelos matemáticos, proponer soluciones o recomendaciones, interpretar la información y, en definitiva, ayudar a implantar acciones de mejora. Como resultado desarrollan e implantan aplicaciones informáticas, sistemas, servicios técnicos o productos. 31/10/2010 3
6 I.1 OPTIMIZACIÓN La investigación operativa tiene sus orígenes en la Segunda Guerra Mundial, debido a la necesidad urgente de asignación de recursos escasos en las operaciones militares, en problemas tácticos y estratégicos. Estas mismas técnicas se han extendido con posterioridad a las empresas. Disciplinas típicas de la investigación operativa son la optimización con sus múltiples sabores (lineal, no lineal, entera, estocástica, multiobjetivo), teoría de la decisión y de juegos, teoría de colas y simulación, teoría de grafos o flujos de redes. Otras disciplinas como algoritmos metaheurísticos y lógica borrosa, redes neuronales artificiales, reconocimiento de patrones y otras técnicas de inteligencia artificial, aunque conceptualmente se encuadran dentro de la investigación operativa, habitualmente se estudian dentro de otras disciplinas ligadas a la ingeniería informática como la inteligencia artificial. Los contenidos de algunas de estas últimas disciplinas también están muy ligados a la estadística. La optimización es una parte relevante dentro de la investigación operativa. Tuvo un progreso algorítmico inicial muy rápido. Muchas técnicas programación lineal (linear programming) LP, programación dinámica (dynamic programming) DP son anteriores a Por ejemplo, el método Simplex 1 de programación lineal debido a Dantzig 2 es de 1947, el principio de optimalidad de Bellman base de la programación dinámica se formuló en En la última década se han producido avances significativos generados por el desarrollo en 1984 por parte de Karmarkar de un método de punto interior para programación lineal. Por ejemplo, en una nota técnica de ILOG se presenta que desde su optimizador CPLEX 3.0 en 1994 a CPLEX 7.0 en 2000 la reducción de tiempo de resolución ha sido de 28 veces en el método simplex dual para un problema lineal concreto. Para otro caso se observa una mejora global, de software y algorítmica, de veces entre la versión de CPLEX 1.0 de 1988 y la 7.0 del Como referencia, se estima que la mejora en el rendimiento del hardware ha sido del mismo orden de magnitud. Si tomamos conjuntamente ambas mejoras hoy se pueden resolver problemas en segundos que habrían tardado años en ser resueltos hace una docena de años. Estos avances han sido tan importantes como los realizados en el campo de la informática, según la opinión de George L. Nemhauser uno de los expertos actuales en programación entera, y se han producido acompasadamente con ellos. Hoy es posible resolver un problema LP de ecuaciones con variables y de 1 En castellano la traducción de esta palabra es símplice pero no es habitual su uso para denominar este método de optimización lineal. 2 En se puede encontrar un resumen de sus logros así como una entrevista sobre diversos temas, incluyendo imágenes en vídeo. 4 31/10/2010
7 I OPTIMIZACIÓN elementos no nulos en la matriz de restricciones en un PC con suficiente memoria principal. Aproximadamente, para un problema LP se puede decir que se requiere 1 MB de memoria principal por cada 1000 ecuaciones. El estilo de este documento es eminentemente aplicado, práctico, ingenieril, a caballo entre una visión matemática de los problemas y de los algoritmos y la visión económica o de gestión empresarial de algunas de sus aplicaciones. Este documento trata de explicar suficientemente los fundamentos matemáticos como para permitir desarrollar aplicaciones de optimización de manera rigurosa y precisa. Al mismo tiempo, se presentan algunas aplicaciones a problemas concretos de ingeniería. Al final del capítulo se citan algunos libros generales o de referencia de investigación operativa que pueden servir de consulta o como texto para un nivel de pregrado y postgrado. Luego, en cada capítulo se indican además referencias específicas de los diferentes temas. Dentro de los libros generales, [Hillier, 2010] es un libro clásico de investigación operativa muy ampliamente utilizado que compendia numerosos temas y tiene una orientación ingenieril. [Taha, 1998] presenta los temas con una orientación más matemática mientras que [Winston, 1994] los presenta con una perspectiva más de administración de empresas. [Sarabia, 1996] da una base teórica suficiente para poder resolver una colección de problemas relacionados con el temario de investigación operativa. Entre las revistas principales que tratan sobre optimización se pueden incluir: Interfaces, Operations Research, Management Science, European Journal of Operational Research, Mathematics of Operations Research, OR/MS Today, Mathematical Programming, INFORMS Journal on Computing, Journal of the Operational Research Society, Omega, Journal of Optimization Theory and Applications, Transportation Science, Transportation Research. Existe una enciclopedia de investigación operativa que puede servir como consulta inicial y referencia de un tema específico, ver [Gass, 2001]. Además se puede encontrar información sobre los temas de investigación operativa en las direcciones de la Sociedad Española de Estadística e Investigación Operativa (SEIO) (www.seio.es), de la Association of European Operational Research Societies (EURO) (www.euro-online.org), de la International Federation of Operational Research Societies (IFORS) (www.ifors.org) y del Institute for Operations Research and the Management Sciences (INFORMS) (www.informs.org). La optimización consiste en la selección de una alternativa mejor, en algún sentido, que las demás alternativas posibles. Es un concepto inherente a toda la investigación operativa. Sin embargo, determinadas técnicas propias de la investigación operativa se recogen bajo el nombre de optimización o programación matemática. 31/10/2010 5
8 I.1 OPTIMIZACIÓN Los problemas de optimización se componen generalmente de estos tres ingredientes: función objetivo Es la medida cuantitativa del funcionamiento del sistema que se desea optimizar (maximizar o minimizar). Como ejemplo de funciones objetivo se pueden mencionar: la minimización de los costes variables de operación de un sistema eléctrico, la maximización de los beneficios netos de venta de ciertos productos, la minimización del cuadrado de las desviaciones con respecto a unos valores observados, la minimización del material utilizado en la fabricación de un producto, etc. variables Representan las decisiones que se pueden tomar para afectar el valor de la función objetivo. Desde un punto de vista funcional se pueden clasificar en variables independientes o principales o de control y variables dependientes o auxiliares o de estado, aunque matemáticamente todas son iguales. En el caso de un sistema eléctrico serán los valores de producción de los grupos de generación o los flujos por las líneas. En el caso de la venta, la cantidad de cada producto fabricado y vendido. En el caso de la fabricación de un producto, sus dimensiones físicas. restricciones Representan el conjunto de relaciones (expresadas mediante ecuaciones e inecuaciones) que ciertas variables están obligadas a satisfacer. Por ejemplo, las potencias máxima y mínima de operación de un grupo de generación, la capacidad de producción de la fábrica para los diferentes productos, las dimensiones del material bruto del producto, etc. Resolver un problema de optimización consiste en encontrar el valor que deben tomar las variables para hacer óptima la función objetivo satisfaciendo el conjunto de restricciones. Los métodos de optimización los podemos clasificar en: métodos clásicos (que son los algoritmos que habitualmente se explican en los libros de optimización) y métodos metaheurísticos (que aparecieron ligados a lo que se denominó inteligencia artificial e imitan fenómenos sencillos observados en la naturaleza). Dentro de los primeros se encuentra la optimización lineal, lineal entera mixta, no lineal, estocástica, dinámica, etc. que se explican en el documento. En el segundo grupo se incluyen los algoritmos evolutivos (genéticos entre otros), el método del recocido simulado (simulated annealing), las búsquedas heurísticas 6 31/10/2010
9 I OPTIMIZACIÓN (método tabú, búsqueda aleatoria, avariciosa, etc.) o los sistemas multiagente. De forma muy general y aproximada se puede decir que los métodos clásicos buscan y garantizan un óptimo local mientras que los métodos metaheurísticos tienen mecanismos específicos para alcanzar un óptimo global aunque no garantizan su alcance. En la siguiente tabla se muestran las expresiones matemáticas generales de algunos tipos de problemas de optimización dentro de los métodos clásicos. Los problemas se distinguen por el carácter de las funciones que intervienen (lineales o no lineales) y de las variables (reales/continuas o enteras/discretas). Programación lineal (linear programming) LP Programación lineal entera mixta (mixed integer programming) MIP Programación cuadrática (quadratic programming) QP Programación no lineal (non linear programming) NLP T minc x x Ax= b x 0 x R, c R, A R, b R n n m n m T T minc x+ d y x Ax+ By= b x, y 0 n l n l x Z, y R, c R, d R A R, B R, b R T 1 T minc x+ x Qx x 2 Ax= b x 0 m n m l m x R, c R, A R n n m n n n Q R, b R min f( x) x g( x) = 0 h( x) 0 l x u n f : R R n g, h : R R m m Existen decisiones que no pueden ser representadas de forma adecuada mediante variables continuas. Por ejemplo, las decisiones de inversión son variables discretas (por ejemplo, planificación de la expansión de la generación o 31/10/2010 7
10 I.1 OPTIMIZACIÓN de la red, adquisición de equipos singulares, contratación de personas) o binarias (como localización de plantas o almacenes). Los problemas lineales con variables enteras se pueden clasificar en: programación entera pura PIP (pure integer programming) si todas las variables son enteras, programación entera binaria BIP (binary integer programming) si todas son binarias o programación lineal entera mixta MIP (mixed integer programming) si algunas son enteras o binarias y el resto continuas. Un caso particular, pero muy frecuente, de variables enteras son las variables binarias (0/1), ya que permiten modelar condiciones de asignación o condiciones lógicas. Por otra parte, toda variable entera x se puede expresar como suma de N = siendo u una cota superior de x, variables binarias y i, donde 2 i x y i= 0 i N N+ 1 0 x u, y estando u comprendida en el intervalo 2 u 2. Existen algunos tipos de problemas de optimización que alteran ligeramente este esquema: sistemas de ecuaciones lineales no lineales No existe una función objetivo como tal. Únicamente interesa encontrar una solución factible a un problema con un conjunto de restricciones. optimización sin restricciones Se trata de encontrar el conjunto de valores de las variables que determinan el mínimo/máximo de una función. Algunas de las técnicas que se verán en programación no lineal son para optimización sin restricciones. optimización multiobjetivo Existe más de una función objetivo. El problema que se plantea es cómo tratar varias funciones objetivo a la vez, teniendo en cuenta que el óptimo para un objetivo no lo es para otro, son objetivos en conflicto entre sí. Ésta se enmarca dentro de lo que se conoce de forma más general como decisión multicriterio (multicriteria decision making MCDM). La formulación matemática de algunos problemas de optimización especiales por no incluir alguno de los componentes se presenta en la siguiente tabla. Problema mixto complementario (mixed complementarity problem) MCP xf( x) = 0 x R n n F : R R n 8 31/10/2010
11 I OPTIMIZACIÓN Optimización no lineal sin restricciones min f( x) n f : R R Ajuste no lineal mínimo cuadrático Programación multiobjetivo (multiobjective programming) x min( f ( x),..., f ( x)) x 1 Ax= b x 0 x R, c R, A R, b R n f ( x) : R R i k n n m n m I.1.2. Referencias Gass, S.L. and Harris, C.M. (eds.) (2001) Encyclopedia of Operations Research and Management Science. Centennial Edition. Kluwer Academic Publishers. Hillier, F.S. (2010) Introducción a la Investigación de Operaciones. 9ª edición. McGraw Hill. Robinson R. (1999) Welcome to OR Territory OR/MS Today pp August. Sarabia, A. (1996) La Investigación Operativa. Universidad Pontificia Comillas. Taha, H.A. (1998) Investigación de operaciones. Una introducción. Prentice Hall. Winston, W.L. (1994) Investigación de Operaciones. Aplicaciones y Algoritmos. Grupo Editorial Iberoamericana. 31/10/2010 9
13 I OPTIMIZACIÓN I.2. Modelos de optimización I.2.1. Modelo y modelado Modelo. Esquema teórico, generalmente en forma matemática, de un sistema o de una realidad compleja (por ejemplo, la evolución económica de un país), que se elabora para facilitar su comprensión y el estudio de su comportamiento. DICCIONARIO DE LA LENGUA ESPAÑOLA. REAL ACADEMIA ESPAÑOLA. Un modelo es una representación matemática simplificada de una realidad compleja. Modelar es la acción de construir un modelo, de encorsetar la realidad. Implica la relación entre dos figuras (no necesariamente encarnadas por personas únicas sino por equipos): el modelador (encargado de la especificación y desarrollo del modelo) y el experto sobre la realidad (conocedor del problema real). La mayoría de las veces, el desarrollo de un modelo puede involucrar a un equipo multidisciplinar compuesto por matemáticos, estadísticos, ingenieros, economistas, psicólogos, etc. que aportan diferentes perspectivas y conocimiento en la representación de la realidad. Un modelo debe equilibrar la necesidad de contemplar todos los detalles con la factibilidad de encontrar técnicas de solución adecuadas. Un modelo es, en definitiva, una herramienta de ayuda a la toma de decisiones. Por esta razón, sus resultados deben ser inteligibles y útiles. Modelar se puede entender simultáneamente como ciencia y como arte. Es una ciencia pues se basa en un conjunto de procesos estructurados: análisis y detección de las relaciones entre los datos, establecimiento de suposiciones y aproximaciones en la representación de los problemas, desarrollo o uso de algoritmos específicos de solución. Es un arte porque materializa una visión o interpretación de la realidad no siempre de manera unívoca. Cada persona imprime su estilo en el modelo mismo y en la especificación, en el desarrollo y en la documentación. Características tales como elegancia o simplicidad pueden atribuirse a un modelo. El desarrollo de un modelo es una creación hecha con ayuda de ciencias básicas o herramientas de apoyo. Entre los beneficios explícitos o implícitos, tanto para el modelador como para el experto, derivados del proceso de modelado además del modelo en sí mismo, se pueden mencionar: Ayuda a establecer un diálogo con intercambio de información entre el modelador y el experto 31/10/
14 I.3 FORMULACIÓN DE PROBLEMAS DE OPTIMIZACIÓN Organiza los datos, la información disponible sobre el sistema Organiza, estructura y mejora la comprensión del sistema Internaliza la estructura organizativa de la empresa Permite compartir supuestos y resultados entre el modelador y el experto Proporciona un entorno ágil para el análisis y la sensibilidad Indica la dirección de mejora en las decisiones En este capítulo se tratará exclusivamente de modelos de optimización, es decir, aquellos donde existe un conjunto de variables de decisión que deben maximizar/minimizar una función objetivo sometidas a un conjunto de restricciones. Los modelos de programación lineal son más utilizados que todos los otros tipos de optimización juntos y abarcan cualquier tipo de actividad humana como micro y macroeconomía, finanzas, marketing, economía de la energía, organización de la producción, planificación de la operación, selección de procesos, asignación de tareas, ingeniería química, forestal, agrónoma, comercio internacional, desarrollo económico, etc. Como referencias generales de modelado de problemas de optimización que se pueden utilizar en la enseñanza de pregrado o postgrado cabe citar a [Schrage, 1997] y [Williams, 1999]. I.2.2. Etapas en el desarrollo de un modelo Las etapas que componen el ciclo de vida de un modelo son las siguientes: Identificación del problema Consiste en la recolección y análisis de la información relevante para el problema, en el intercambio de información entre el modelador y el experto, en establecer una relación simbiótica y una estrecha coordinación entre ambos. Los problemas reales suelen estar definidos en términos vagos e imprecisos. Se debe hacer la tarea de traducción o interpretación en frases precisas, convertibles en ecuaciones matemáticas. En esta etapa se establecen y documentan los supuestos realizados que en etapas posteriores deberán ser validados. Esta etapa es fundamental para que las soluciones proporcionadas, las conclusiones obtenidas sean útiles, las decisiones adoptadas sean correctas. Los datos suelen ser vitales para conseguir un realismo o aplicabilidad en las soluciones. A menudo representan el cuello de botella del proceso de modelado. Especificación matemática y formulación Escritura matemática del problema de optimización, definiendo sus variables, sus ecuaciones, su función objetivo, sus parámetros. En esta etapa se analiza el tamaño del problema, la estructura de la matriz de restricciones, su tipo (LP, 12 31/10/2010
15 I OPTIMIZACIÓN MIP, NLP). Es una etapa de creación donde se debe prestar especial atención a la precisión en la formulación y a la escritura de las ecuaciones que describen el problema. En LP la elección de una formulación de un problema, aunque importante, no afecta de manera significativa la resolución del mismo. Sin embargo, en NLP o MIP la elección de la formulación es crucial. Pueden existir diversas alternativas de modelado que afectan de manera fundamental en la resolución del mismo, existiendo un desarrollo cada vez mayor en la reformulación de problemas. En problemas MIP la calidad de una formulación se mide por la cercanía entre la envoltura convexa del poliedro de soluciones enteras factibles y la del poliedro del problema MIP relajado linealmente. En el apartado I se explica en más detalle algunas técnicas de reformulación de problemas MIP. La caracterización de un problema LP según su tamaño resulta difícil y ha sufrido un gran cambio desde los recientes desarrollos de algoritmos simplex mejorados y, sobre todo, desde la aparición de los métodos de punto interior. En la tabla 1.1 se propone una clasificación de tipos de problemas LP según su tamaño. Esta clasificación debe ser tomada como guía o referencia relativa actual pero téngase en cuenta que los tamaños relativos de los problemas cambiarán conforme evolucionen los códigos de optimización. Actualmente se puede afirmar que los códigos de optimización lineal implantan algoritmos muy eficientes, son fiables y numéricamente robustos y están ampliamente disponibles. Restricciones Variables Caso ejemplo Tamaño medio Gran tamaño Muy gran tamaño > > Tabla 1.1 Tipos de problemas LP según su tamaño. En lo referente a MIP o NLP ni siquiera se pueden dar criterios generales de tamaño ya que la dificultad de resolución no tiene por qué estar ligada al tamaño del problema, puede ser incluso preferible reformular un problema aunque aumenten las dimensiones, para lograr una resolución más eficiente. Resolución Se trata de implantar un algoritmo de obtención de la solución numérica (muy próxima a la matemática) óptima o cuasióptima. El algoritmo puede ser de propósito general (método simplex) o específico. Puede haber diferentes 31/10/
16 I.3 FORMULACIÓN DE PROBLEMAS DE OPTIMIZACIÓN métodos de solución de un problema o diferentes implantaciones de un mismo método. El tiempo de resolución de un problema también puede depender drásticamente de cómo esté formulado. La solución óptima debe ser suficientemente satisfactoria, debe ser una guía de actuación para el experto. Verificación, validación y refinamiento Esta etapa conlleva la eliminación de los errores en la codificación, es decir, conseguir que el modelo haga lo que se ha especificado matemáticamente en la etapa anterior mediante su escritura en un lenguaje informático (depurar y verificar). Es necesario comprobar la validez de las simplificaciones realizadas a través de los resultados obtenidos, incluso contrastando éstos con situaciones reales ya transcurridas (validar) o comprobando que los resultados son coherentes con respecto a lo que sucedería en la realidad. Esta etapa de verificación, validación y comprobación da lugar a nuevas necesidades de refinamiento en el modelado para mejorar la capacidad de representación del sistema. Por ejemplo, eliminar la linealidad y hacer el modelo no lineal o hacer el modelo estocástico si la realidad lo fuera. Además, también se puede abordar el refinamiento matemático en la formulación del problema para hacerla más eficaz. Interpretación y análisis de los resultados Esta etapa consiste en proponer soluciones. Permite conocer en detalle el comportamiento del modelo al hacer un análisis de sensibilidad en los parámetros de entrada, estudiar diferentes escenarios plausibles de los parámetros, detectar soluciones alternativas cuasióptimas pero suficientemente atractivas, comprobar la robustez de la solución óptima. Implantación, documentación y mantenimiento Ésta es una etapa fundamental del desarrollo de un modelo para garantizar su amplia difusión. La documentación ha de ser clara, precisa y completa. El manual de usuario debe incluir la especificación técnica funcional, matemática e informática. El propio código debe incluir una buena documentación para facilitar la tarea del mantenimiento. Piénsese que la mayor parte del ciclo de vida de un modelo no está en el desarrollo sino en la fase de uso y mantenimiento. En esta etapa se incluye también la tarea de formación para los usuarios del modelo /10/2010
17 I OPTIMIZACIÓN I.2.3. Referencias Schrage, L. (1997) Optimization Modeling with LINDO. Duxbury Press. Williams, H.P. (1999) Model Building in Mathematical Programming. 4th Edition. John Wiley and Sons. 31/10/
19 I OPTIMIZACIÓN I.3. Codificación de problemas de optimización I.3.1. Lenguajes de modelado (OAE) I Lenguajes de modelado Las principales alternativas actuales para el desarrollo de modelos de optimización suelen ser, Sharda (1995): Lenguajes de programación de propósito general (C, C++, Java, Visual Basic, FORTRAN 90) que llaman a una biblioteca de optimización Tienen sentido cuando el tiempo de solución es crítico o el modelo es ejecutado con mucha frecuencia o cuando se necesitan interfaces a medida para la entrada de datos o salida de resultados o cuando el modelo tiene que ser integrado en otra aplicación o se necesitan algoritmos de optimización específicos. Además permiten la implantación del modelo en un entorno software o hardware especial. Como contrapartida requiere un tiempo de desarrollo muy elevado y, sobre todo, presenta una gran dificultad y consumo de recursos para el mantenimiento del código. Actualmente ya existen bibliotecas de componentes orientados a objetos (clases C++) dedicadas exclusivamente a optimización, por ejemplo, Concert de ILOG, LINDO API de LINDO Systems, OptiMax 2000 de Maximal Software, FLOPC++ de Universidade de Aveiro. Es necesario también mencionar la iniciativa de desarrollo de software abierto para investigación operativa denominada Computational Infrastructure for Operations Research (COIN-OR) (www.coin-or.org). Lenguajes o entornos de cálculo numérico o simbólico (hojas de cálculo, lenguajes para cálculo numérico intensivo, como MATLAB, o para cálculo simbólico, como Maple o Mathematica, etc.) Los optimizadores de las hojas de cálculo, por ser aplicaciones muy comunes y conocidas, pueden ser un vehículo eficaz de difusión de un modelo entre cierto tipo de usuarios y facilitan el manejo de datos que se encuentren ya en dicho formato [Ragsdale, 1998]. Como ventajas específicas se pueden mencionar: su facilidad de uso, su integración total con la hoja de cálculo, la familiaridad con el entorno que facilita la explicación del modelo y de sus resultados, así como la facilidad de presentación de resultados en gráficos. Sin embargo, no inducen una buena práctica de programación, presentan la 31/10/
20 I.4 CODIFICACIÓN DE PROBLEMAS DE OPTIMIZACIÓN dificultad de su desarrollo, verificación, validación, actualización, documentación y, en general, el mantenimiento del modelo y no permiten modelar problemas complejos o de gran tamaño [Gass, 1995]. Frontline Systems (www.solver.com) ha desarrollado optimizadotes para Microsoft Excel. Los lenguajes de cálculo numérico o simbólico no son específicos de problemas de optimización pero facilitan la manipulación numérica o simbólica de matrices y vectores. También disponen de funciones de optimización. Todas estas alternativas pueden ser utilizadas para desarrollo rápido de un prototipo o una demostración ya que presentan capacidades de presentación gráfica que pueden ser aprovechadas. Son difícilmente utilizables cuando se plantean problemas de optimización de tamaño medio o superior. Lenguajes algebraicos de modelado Son las alternativas más complejas y potentes por su capacidad de indexación de las variables y ecuaciones, permiten cambiar sin dificultad las dimensiones del modelo, de forma natural separan datos de resultados. Desde el punto de vista del modelador permiten la detección de errores de consistencia en la definición y verificación del modelo. Desde el punto de vista del usuario simplifican drásticamente su mantenimiento. Entre los lenguajes de modelado más conocidos se pueden mencionar: GAMS (www.gams.com), AMPL (www.ampl.com) de origen estadounidense y MPL (www.maximalsoftware.com) y AIMMS (www.aimms.com) y XPRESS-MP (www.dashoptimization.com) de origen europeo, por citar algunos. De algunos de ellos se pueden descargar versiones de estudiante desde sus páginas web. GAMS es el más antiguo, pero con el conjunto de usuarios más amplio, quizá por eso con algunas limitaciones en sus capacidades de modelado. AMPL es más nuevo, muy potente para el modelado pero con un conjunto reducido de usuarios. MPL es otro lenguaje de modelado robusto, cuya versión de estudiante acompaña al libro [Hillier, 2010]. Existe una herramienta integrada denominada OPLStudio (www.ilog.com), en la que se dispone de un lenguaje de modelado (OPL) y varios optimizadores dependiendo del modelo propuesto. Está especialmente desarrollada para problemas de programación (scheduling) y planificación, aunque admite también cualquier modelo de optimización lineal y lineal entera mixta. Es una herramienta integrada ya que además del lenguaje de 18 31/10/2010
Modelos matemáticos de optimización Andrés Ramos Andres.Ramos@iit.icai.upcomillas.es Universidad Pontificia Comillas Begoña Vitoriano bvitoriano@mat.ucm.es Universidad Complutense de Madrid Índice Optimización
CAPITULO 14: GAMS 14.1.- INSTALACION DE GAMS
CAPITULO 14: GAMS 14.1.- INSTALACION DE GAMS El programa GAMS (General Algebraic Modeling System) es un software desarrollado por A. Brooke, D. Kendrick y A. Meeraus. A diferencia de otros paquetes de
CAPITULO 6: PROBLEMAS DE TRANSPORTE Comúnmente se han considerado como un caso particular de los problemas lineales los problemas de transporte y de asignación. Pero hemos de notar que se trata en realidad
UNA EVALUACIÓN DE SOFTWARE COMERCIAL PARA LA OPTIMIZACIÓN DE MODELOS LINEALES EN ECONOMÍA
UNA EVALUACIÓN DE SOFTWARE COMERCIAL PARA LA OPTIMIZACIÓN DE MODELOS LINEALES EN ECONOMÍA María José Canós Darós Manuel Ventura Marco Departament d Economia Financera i Matemàtica Universitat de València
Modelado en optimización lineal entera mixta
Modelado en optimización lineal entera mita Andrés Ramos Universidad Pontificia Comillas http://www.iit.upcomillas.es/aramos/ Andres.Ramos@comillas.edu CONTENIDO CLASIFICACIÓN DE PROBLEMAS ALGUNOS PROBLEMAS
GESLET: UNA APLICACIÓN INFORMÁTICA PARA LA GESTIÓN FINANCIERA. M. Adalid M.J. Canós M. Mocholí V. Navarro R. Sala V. Sanchis
Métodos Matemáticos para la Economía y la Empresa GESLET: UNA APLICACIÓN INFORMÁTICA PARA LA GESTIÓN FINANCIERA M. Adalid M.J. Canós M. Mocholí V. Navarro R. Sala V. Sanchis Departamento de Economía Financiera

References: resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 Resolución 
 resolución