Пёмо
Разработано | Габриэль Хакебайль Уильям Э. Харт Карл Лэрд Бетани Николсон Джон Сирола Жан-Поль Уотсон Дэвид Вудрафф |
---|---|
Впервые появился | 2008 год |
Стабильная версия | 6.4.2 / 17 августа 2022 г |
ТЫ | Кроссплатформенность : Linux , Mac OS X и Windows. |
Лицензия | Лицензия BSD |
Расширения имен файлов | .py |
Веб-сайт | www |
Под влиянием | |
Python , AMPL , Общая система алгебраического моделирования |
Pyomo — это набор программных пакетов Python для разработки моделей оптимизации. [1] [2]
Pyomo был разработан Уильямом Хартом и Жан-Полем Уотсоном в Национальных лабораториях Сандии и Дэвидом Вудраффом из Калифорнийского университета в Дэвисе . Значительные расширения Pyomo были разработаны Бетани Николсон и Джоном Сииролой из Национальных лабораторий Сандии , Карлом Лэрдом из Университета Пердью и Габриэлем Хакебейлом. Pyomo — это проект с открытым исходным кодом, который находится в свободном доступе и имеет лицензию BSD . Pyomo разработан в рамках проекта COIN-OR . Pyomo — популярный пакет программного обеспечения с открытым исходным кодом, который используется различными правительственными учреждениями и академическими учреждениями.
Функции
[ редактировать ]Pyomo позволяет пользователям формулировать задачи оптимизации на Python способом, аналогичным обозначениям, обычно используемым в математической оптимизации. Pyomo поддерживает объектно-ориентированный стиль формулирования моделей оптимизации, которые определяются с помощью различных компонентов моделирования: наборов, скалярных и многомерных параметров, переменных решения, целей, ограничений, уравнений, дизъюнкций и т. д. Модели оптимизации можно инициализировать с помощью данных Python, а внешние источники данных можно определить с помощью электронных таблиц , баз данных , различных форматов текстовых файлов. Pyomo поддерживает как абстрактные модели, определяемые без данных, так и конкретные модели, определяемые с помощью данных. В обоих случаях Pyomo позволяет разделить модель и данные.
Pyomo поддерживает десятки решателей , как с открытым исходным кодом, так и коммерческих, включая множество решателей, поддерживаемых AMPL , PICO, CBC , CPLEX , IPOPT и GLPK . Pyomo может вызывать решатель напрямую или асинхронно с помощью менеджера решателей. Менеджеры решателей поддерживают удаленное асинхронное выполнение решателей, что поддерживает параллельное выполнение сценариев Pyomo. Взаимодействие решателя осуществляется с различными интерфейсами решателя, в зависимости от используемого решателя. Очень общийИнтерфейс решателя поддерживается в формате nl (формате) AMPL .
Сопутствующее программное обеспечение
[ редактировать ]Следующие пакеты программного обеспечения интегрируют Pyomo в качестве библиотеки для поддержки оптимизации моделирования и анализа:
- SolverStudio позволяет использовать Excel для редактирования, сохранения и решения моделей оптимизации, построенных с использованием различных языков моделирования, включая Pyomo. [3] Pyomo поставляется в комплекте с программным обеспечением SolverStudio .
- TEMOA (Инструменты для оптимизации и оценки энергетических моделей) — это платформа моделирования с открытым исходным кодом для проведения анализа энергетических систем. [4] Основным компонентом TEMOA является модель оптимизации энергетической экономики. Эта модель сформулирована и оптимизирована с использованием Pyomo.
- MinPower — это набор инструментов с открытым исходным кодом для студентов и исследователей энергетических систем. Он разработан, чтобы сделать работу со стандартными моделями энергосистем простой и интуитивно понятной. [5] MinPower использует Pyomo для разработки и оптимизации моделей энергосистем.
- linopy , предлагающий аналогичную Pyomo функциональность. [6]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Уильям Э. Харт; Карл Д. Лэрд; Жан-Поль Уотсон; Дэвид Л. Вудрафф; Габриэль А. Хакебайль; Бетани Л. Николсон; Джон Д. Сиирола (2017). Pyomo — Оптимизирующее моделирование на Python . Спрингер. ISBN 978-3-319-58821-6 .
- ^ Харт, Уильям; Жан-Поль Уотсон; Дэвид Л. Вудрафф (2011). «Пёмо: моделирование и решение математических программ на Python» . Математическое программирование вычислений . Том. 3, нет. 3. дои : 10.1007/s12532-011-0026-8 .
- ^ Мейсон, Эндрю (2013). «SolverStudio: новый инструмент для лучшей оптимизации и имитационного моделирования в Excel». ИНФОРМЫ Сделки по образованию . Том. 14, нет. 1. С. 45–52. дои : 10.1287/ред.2013.0112 .
- ^ ДеКаролис, Джозеф; Кевин Хантер; Сарат Шрипати (2010). Проект TMOA: Инструменты для оптимизации и анализа энергетической модели (PDF) . Международный энергетический семинар. Стокгольм, Швеция.
- ^ Гринхолл, Адам; Рич Кристи; Жан-Поль Уотсон (2012). Minpower: набор инструментов для оптимизации энергосистем (PDF) . Общее собрание Общества энергетики и энергетики.
- ^ «linopy: линейная оптимизация с переменными, помеченными ND» . ПиПСА . Проверено 22 февраля 2022 г.
Внешние ссылки
[ редактировать ]- Статьи с сайта DeveloperWorks от IBM:
- «Пёмо встречает фэнтези-футбол» . 27 января 2015 г.
- APOPT Решатель для решений LP, QP, MILP, NLP и MINLP в Pyomo