Pyomo - Pyomo

Pyomo
Логотип Pyomo без текста.png
РазработаноГабриэль Хакебайль
Уильям Э. Харт
Карл Лэрд
Бетани Николсон
Джон Сиирола
Жан-Поль Ватсон
Дэвид Вудрафф
Впервые появился2008; 12 лет назад (2008)
Стабильный выпуск
5.6.7 / 7 ноября 2019 г.; Год назад (2019-11-07)
Операционные системыКроссплатформенность: Linux, Mac OS X и Windows
ЛицензияЛицензия BSD
Расширения имени файла.py
Интернет сайтwww.pyomo.org
Под влиянием
Python, AMPL, Общая система алгебраического моделирования

Pyomo это собрание Python программные пакеты для построения моделей оптимизации.[1][2]

Pyomo был разработан Уильямом Хартом и Жан-Полем Ватсоном в Сандийские национальные лаборатории и Дэвид Вудрафф в Калифорнийский университет в Дэвисе. Значительные расширения Pyomo были разработаны Бетани Николсон и Джоном Сиирола в Сандийские национальные лаборатории, Карл Лэрд в Университет Пердью, и Габриэль Хакебайль. Pyomo - это проект с открытым исходным кодом, который находится в свободном доступе, и он лицензирован с BSD лицензия. Pyomo разрабатывается как часть МОНЕТА-ИЛИ проект. Pyomo - это популярный программный пакет с открытым исходным кодом, который используется различными правительственными учреждениями и академическими учреждениями.

Функции

Pyomo позволяет пользователям формулировать оптимизация проблемы в Python способом, аналогичным нотации, обычно используемой в математической оптимизации. Pyomo поддерживает объектно-ориентированный стиль формулирования моделей оптимизации, которые определяются с помощью множества компонентов моделирования: наборов, скалярных и многомерных параметров, переменных решения, целей, ограничений, уравнений, дизъюнкций и многого другого. Модели оптимизации могут быть инициализированы данными Python, а внешние источники данных могут быть определены с помощью электронные таблицы, базы данных, различные форматы текстовых файлов. Pyomo поддерживает как абстрактные модели, которые определены без данных, так и конкретные модели, которые определены с данными. В обоих случаях Pyomo позволяет разделить модель и данные.

Pyomo поддерживает десятки решатели, как с открытым исходным кодом, так и коммерческие, включая многие решатели, поддерживаемые AMPL, PICO, CBC, CPLEX, IPOPT, Гуроби и ГЛПК. Pyomo может вызывать решатель напрямую или асинхронно с менеджером решателя. Менеджеры решателей поддерживают удаленное асинхронное выполнение решателей, что поддерживает параллельное выполнение скриптов Pyomo. Взаимодействие с решающей программой осуществляется с помощью различных интерфейсов решающей программы, в зависимости от используемой решающей программы. AMPL поддерживает очень общий интерфейс. nl (формат).

Связанное программное обеспечение

Следующие программные пакеты интегрируют Pyomo в качестве библиотеки для поддержки моделирования и анализа оптимизации:

  • SolverStudio позволяет использовать Excel для редактирования, сохранения и решения моделей оптимизации, построенных с использованием различных языков моделирования, включая Pyomo.[3] Pyomo поставляется с SolverStudio программного обеспечения.
  • ТЕМОА (Инструменты для оптимизации и оценки энергетической модели) - это платформа моделирования с открытым исходным кодом для проведения анализа энергетической системы.[4] Основным компонентом TEMOA является модель оптимизации экономии энергии. Эта модель сформулирована и оптимизирована с помощью Pyomo.
  • MinPower это набор инструментов с открытым исходным кодом для студентов и исследователей в области энергосистем. Он разработан, чтобы сделать работу со стандартными моделями энергосистем простой и интуитивно понятной.[5] MinPower использует Pyomo для разработки и оптимизации этих моделей энергосистем.

Смотрите также

Рекомендации

  1. ^ Уильям Э. Харт; Карл Д. Лэрд; Жан-Поль Ватсон; Дэвид Л. Вудрафф; Габриэль А. Хакебайль; Бетани Л. Николсон; Джон Д. Сирола (2017). Pyomo - Оптимизационное моделирование на Python. Springer. ISBN  978-3-319-58821-6.
  2. ^ Харт, Уильям; Жан-Поль Ватсон; Дэвид Л. Вудрафф (2011). «Pyomo: моделирование и решение математических программ на python». Математическое программирование вычислений. 3 (3). Дои:10.1007 / s12532-011-0026-8.
  3. ^ Мейсон, Эндрю (2013). «SolverStudio: новый инструмент для лучшей оптимизации и имитационного моделирования в Excel». ИНФОРМАЦИЯ Об образовании. 14 (1). С. 45–52. Дои:10.1287 / ited.2013.0112.
  4. ^ ДеКаролис, Джозеф; Кевин Хантер; Сарат Срипати (2010). «Проект TEMOA: инструменты для оптимизации и анализа энергетической модели» (PDF). Стокгольм, Швеция.
  5. ^ Гринхолл, Адам; Рич Кристи; Жан-Поль Ватсон (2012). «Minpower: инструментарий для оптимизации энергосистем» (PDF).

внешняя ссылка