Articulo de referencia

Pyomo

William E. Hart Carl Laird Bethany Nicholson John Siirola Jean-Paul Watson David Woodruff"},"developer":{"wt":""},"latest_release_version":{"wt":"6.8.3"},"latest_release_date":{...

Pyomo es una colección de paquetes de software de Python para formular modelos de optimización. [ 1 ] [ 2 ]

Pyomo fue desarrollado por William Hart y Jean-Paul Watson en los Laboratorios Nacionales Sandia y David Woodruff en la Universidad de California, Davis . Bethany Nicholson y John Siirola en los Laboratorios Nacionales Sandia , Carl Laird en la Universidad de Purdue y Gabriel Hackebeil desarrollaron importantes extensiones de Pyomo. Pyomo es un proyecto de código abierto disponible gratuitamente y está licenciado bajo la licencia BSD . Pyomo se desarrolla como parte del proyecto COIN-OR . Pyomo es un popular paquete de software de código abierto utilizado por diversas agencias gubernamentales e instituciones académicas.

Características

Pyomo permite a los usuarios formular problemas de optimización en Python de forma similar a la notación utilizada habitualmente en optimización matemática. Pyomo admite un estilo orientado a objetos para la formulación de modelos de optimización, que se definen con diversos componentes: conjuntos, parámetros escalares y multidimensionales, variables de decisión, objetivos, restricciones, ecuaciones, disyunciones y más. Los modelos de optimización pueden inicializarse con datos de Python, y se pueden definir fuentes de datos externas mediante hojas de cálculo , bases de datos y diversos formatos de archivos de texto. Pyomo admite tanto modelos abstractos, que se definen sin datos, como modelos concretos, que se definen con datos. En ambos casos, Pyomo permite la separación entre modelo y datos.

Pyomo admite docenas de solucionadores , tanto de código abierto como comerciales, incluyendo muchos solucionadores compatibles con AMPL , PICO, CBC , CPLEX , IPOPT y GLPK . Pyomo puede invocar el solucionador directamente o de forma asíncrona con un gestor de solucionadores. Los gestores de solucionadores admiten la ejecución remota y asíncrona de solucionadores, lo que permite la ejecución paralela de scripts de Pyomo. La interacción con el solucionador se realiza con diversas interfaces, dependiendo del solucionador que se utilice. AMPL admite una interfaz de solucionador muy genérica con el formato nl .

Los siguientes paquetes de software integran Pyomo como biblioteca para dar soporte al modelado y análisis de optimización:

  • SolverStudio permite usar Excel para editar, guardar y resolver modelos de optimización creados con diversos lenguajes de modelado, incluido Pyomo. [ 3 ] Pyomo viene incluido con el software SolverStudio .
  • TEMOA (Tools for Energy Model Optimization and Assessment) es un marco de modelado de código abierto para realizar análisis de sistemas energéticos. [ 4 ] El componente central de TEMOA es un modelo de optimización de la economía energética. Este modelo se formula y optimiza utilizando Pyomo.
  • MinPower es un conjunto de herramientas de código abierto para estudiantes e investigadores en sistemas de potencia. Está diseñado para que trabajar con modelos estándar de sistemas de potencia sea sencillo e intuitivo. [ 5 ] MinPower utiliza Pyomo para formular y optimizar estos modelos de sistemas de potencia.
  • Proyecto linopy , que ofrece una funcionalidad similar a Pyomo. [ 6 ]

Véase también

Referencias

  1. William E. Hart; Carl D. Laird; Jean-Paul Watson; David L. Woodruff; Gabriel A. Hackebeil; Bethany L. Nicholson; John D. Siirola (2017). Pyomo — Modelado de optimización en Python . Springer. ISBN 978-3-319-58821-6.
  2. Hart, William; Jean-Paul Watson; David L. Woodruff (2011). "Pyomo: modelado y resolución de programas matemáticos en Python" . Mathematical Programming Computation . Vol. 3, n.º 3. doi : 10.1007/s12532-011-0026-8 .  
  3. Mason, Andrew (2013). "SolverStudio: Una nueva herramienta para una mejor optimización y modelado de simulación en Excel". INFORMS Transactions on Education . Vol. 14, n.º 1, págs. 45–52 . doi : 10.1287/ited.2013.0112 .   
  4. DeCarolis, Joseph; Kevin Hunter; Sarat Sreepathi (2010). El proyecto TEMOA: Herramientas para la optimización y el análisis de modelos energéticos (PDF) . Taller internacional de energía. Estocolmo, Suecia.
  5. Greenhall, Adam; Rich Christie; Jean-Paul Watson (2012). Minpower: Un conjunto de herramientas para la optimización de sistemas de energía (PDF) . Reunión general de la Power and Energy Society.
  6. "linopy: Optimización lineal con variables etiquetadas ND" . PyPSA . Consultado el 22 de febrero de 2022 .
  • Artículos de developerWorks de IBM:
    • Gift, Noah (5 de febrero de 2013). "Optimización lineal en Python, Parte 1: Resuelva problemas complejos en la nube con Pyomo" .
    • Optimización lineal en Python, parte 2: Construyendo una arquitectura escalable en la nube.
  • "Pyomo se encuentra con el fútbol de fantasía" . 27 de enero de 2015.
  • APOPT Solver para soluciones LP, QP, MILP, NLP y MINLP en Pyomo
Obtenido de " https://en.wikipedia.org/w/index.php?title=Pyomo&oldid=1331407328 "