Egret-это пакет на основе Python для оптимизации электрической сетки на основе языка моделирования оптимизации Pyomo. Egret предназначен для того, чтобы быть дружелюбным для проведения анализа высокого уровня (например, как двигатель для решения различных составов оптимизации), а также обеспечивает гибкость для исследователей для быстрого изучения новых составов оптимизации.
Основные особенности:
Egret доступен по лицензии BSD (см. License.txt)
Egret - это пакет Python, и поэтому требуется установка Python. Мы рекомендуем использовать Anaconda с последним Python (https://www.anaconda.com/distribution/).
Эти инструкции по установке предполагают, что у вас есть недавняя версия Pyomo, в дополнение к набору соответствующих решателей (см. Www.pyomo.org для получения дополнительной информации).
Загрузите (или клон) Egret с этого сайта GitHub.
В папке «Основной резинки» (то есть папка, содержащая setup.py), используйте терминал (или подсказку Anaconda для пользователей Windows) для запуска setup.py для установки Egret в установку Python - следующим образом:
pip install -e .
Мы дополнительно рекомендуем, чтобы пользователи Egret установили решатель MIP CBC с открытым исходным кодом. Конкретная механика установки CBC зависит от платформы. При использовании Anaconda на платформах Linux и Mac, это может быть достигнуто просто:
conda install -c conda-forge coincbc
Организация монетов или разработчиков CBC-также предоставляет предварительно заработанные двоичные файлы для полного спектра платформ на https://bintray.com/coin-or/download.
Чтобы проверить функциональность аспектов обязательств ЕДИНА EGRET, выполните следующую команду из подразделения EGRET Models/Tests:
pytest test_unit_commitment.py
Если Egret сможет найти коммерческий решатель MIP в вашей системе через Pyomo, Egret выполнит большой тестовый набор, включая решение нескольких MIP для оптимальности. Если Egret может найти только решатель с открытым исходным кодом, он выполнит более ограниченный набор тестов, который в основном зависит от решения релаксаций LP. Пример вывода ниже.
=================================== test session starts ==================================
platform darwin -- Python 3.7.7, pytest-5.4.2, py-1.8.1, pluggy-0.13.0
rootdir: /home/some-user/egret
collected 21 items
test_unit_commitment.py s.................... [100%]
========================= 20 passed, 1 skipped in 641.80 seconds =========================
Если вы используете функциональность обязательства ЕГРЫ, пожалуйста, цитируйте следующую статью:
В составах программирования смешанного интеграции для проблемы приверженности подразделения Бернард Кнувен, Джеймс Островски и Жан-Поул Уотсон. Информирует журнал о вычислениях (перед печати) https://pubsonline.informs.org/doi/10.1287/ijoc.2019.0944