Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

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

Особенности [ править ]

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

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

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

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

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

См. Также [ править ]

  • Язык алгебраического моделирования

Ссылки [ править ]

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

Внешние ссылки [ править ]

  • Статьи с сайта IBM developerWorks:
    • Дар, Ной (5 февраля 2013 г.). «Линейная оптимизация в Python, часть 1: решение сложных задач в облаке с помощью Pyomo» .
    • Линейная оптимизация в Python, часть 2: создание масштабируемой архитектуры в облаке
  • «Пьомо встречает фэнтези-футбол» . 2015-01-27.
  • APOPT Solver для решений LP, QP, MILP, NLP и MINLP в Pyomo