Schedule

Alba Carrero, Juan Javaloyes, Daniel Vázquez

Workshop

Aula 3

05 October 2018, 18:00 - 20:30

Pyomo – Optimización en Python

En este taller enseñaremos a utilizar Pyomo para formular problemas de optimización, una alternativa libre y gratuita a GAMS y AMPL. Pyomo proporciona un lenguaje de programación de alto nivel con un rico conjunto bibliotecas científicas haciendo uso de Python.

Un modelo de optimización consiste en maximizar o minimizar una función real eligiendo sistemáticamente valores de entrada (tomados de un conjunto permitido) y calculando el valor de la función. Este problema se vuelve interesante cuando aparecen restricciones - lineales y no lineales - y variables enteras para modelar la toma de decisiones discretas. Pyomo permite formular problemas orientado a objetos para formular modelos de optimización, los cuales son definidos a través de gran variedad de componentes: conjuntos, parámetros escalares y multidimensionales, variables de decisión, objetivos, restricciones, ecuaciones, etc. Pyomo admite modelos abstractos, los cuales son definidos sin datos, y concretos, definidos con datos, permitiendo la separación entre el modelo y los datos.

Respecto a sus capacidades como lenguaje de modelado algebraico, Pyomo es compatible con una amplia gama de tipos de problemas de optimización tipo LP, QP, NP, MILP, MINLP, MISP entre otros y se comunica con los principales solvers comerciales, gratuitos y/o libres.

El objetivo de este taller es enseñar al usuario sobre conceptos básicos de optimización mediante la realización de problemas conocidos como el problema del viajante de comercio así como la resolución de un Sudoku como un problema de optimización. El taller se centrará principalmente en resolver problemas lineales con variables enteras. Además se explicará cómo instalar Pyomo y los principales solvers gratuitos, así como introducir los datos iniciales mediante una hoja de Excel.