Pyomo
Материал из MachineLearning.
(→Linux) |
(Added tutorial for solvers installation for macOS users.) |
||
Строка 14: | Строка 14: | ||
<source lang="bash"> | <source lang="bash"> | ||
pip install pyomo | pip install pyomo | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
</source> | </source> | ||
* Устанавливаем пакет <code>pyomo.extras</code> | * Устанавливаем пакет <code>pyomo.extras</code> | ||
Строка 78: | Строка 63: | ||
==== Тестирование установки ==== | ==== Тестирование установки ==== | ||
+ | |||
+ | === Установка солверов === | ||
+ | |||
+ | Для решения поставленных задач Pyomo использует заданный в параметрах солвер. Решение задачи состоит из | ||
+ | <code>.py</code> скрипта с определением модели и сущностей и <code>.dat</code> – файл с данными (параметрами) в AMPL формате. Пример запуска решения задачи: | ||
+ | |||
+ | <source lang="bash"> | ||
+ | pyomo solve --solver=bonmin sol.py prod.dat | ||
+ | </source> | ||
+ | |||
+ | Существует некоторое множество солверов, которые может использовать Pyomo. Среди них есть свободно распространяемые (glpk, bonmin, ipopt, cbc) и проприетарные (minos, другие решатели AMPL). Для их использования их нужно устанавливать отдельно. | ||
+ | |||
+ | ==== macOS ==== | ||
+ | |||
+ | На macOS для установки ПО удобно использовать менеджер пакетов [http://brew.sh homebrew]. | ||
+ | |||
+ | ===== GLPK ===== | ||
+ | |||
+ | * Скачиваем с [http://www.gnu.org/software/glpk/#downloading сайта проекта] последнюю версию. | ||
+ | * Устанавливаем (предполагается, что архив скачался в <code>~/Downloads</code>, а скачаный архив называется <code>glpk-4.43.tar.gz</code>). | ||
+ | <source lang="bash"> | ||
+ | cd ~/Downloads | ||
+ | tar -xzf glpk-4.43.tar.gz | ||
+ | ./configure --prefix=/usr/local # see note [1] | ||
+ | make | ||
+ | sudo make install | ||
+ | </source> | ||
+ | * Проверяем, корректно ли установлен солвер (должен вывести путь до исполняемого файла). | ||
+ | <source lang="bash"> | ||
+ | which glpsol | ||
+ | </source> | ||
+ | |||
+ | ===== bonmin ===== | ||
+ | |||
+ | <source lang="bash"> | ||
+ | brew tap staticfloat/homebrew-juliadeps | ||
+ | brew install bonmin | ||
+ | </source> | ||
+ | |||
+ | ===== cbc ===== | ||
+ | <source lang="bash"> | ||
+ | brew tap coin-or-tools/coinor | ||
+ | brew install cbc | ||
+ | </source> | ||
+ | |||
+ | ===== ipopt ===== | ||
+ | <source lang="bash"> | ||
+ | brew tap Homebrew/homebrew-science | ||
+ | brew install ipopt | ||
+ | </source> | ||
Примеры решений задач с помощью Pyomo можно найти на [http://www.pyomo.org/documentation странице документации]. Попробуйте запустить Jupyter Notebook в архиве, решающий транспортную проблему (transport.ipynb). | Примеры решений задач с помощью Pyomo можно найти на [http://www.pyomo.org/documentation странице документации]. Попробуйте запустить Jupyter Notebook в архиве, решающий транспортную проблему (transport.ipynb). |
Версия 12:37, 21 декабря 2016
Pyomo — открытая библиотека языка Python, созданная для создания и использования оптимизационных моделей.
Содержание |
Установка
macOS
Через pip
- Устанавливаем
pyomo
черезpip
. В зависимости от используемой версии интерпретатора Python можно заменитьpip
наpip2
илиpip3
.
pip install pyomo
- Устанавливаем пакет
pyomo.extras
pip install pyomo.extras
Через Anaconda
См. раздел Windows.
Windows
- Установить Anaconda
- Запустить Anaconda Prompt (интерфейс командной строки)
- Выполнить следующие команды. Устанавливаем пакеты
pyomo
,pyomo.extras
и решательglpk
.
Для этого используется сторонний репозиторий:
conda install --channel https://conda.anaconda.org/conda-forge pyomo conda install --channel https://conda.anaconda.org/conda-forge pyomo.extras conda install --channel https://conda.anaconda.org/conda-forge glpk
Linux
Предполагается, что вы используете Debian-based дистрибутив (например, Ubuntu).
Скачиваем отсюда: https://www.gnu.org/software/glpk/
cd ~/Downloads tar -xzf glpk-4.43.tar.gz cd ./glpk ./configure --prefix=/usr/local # see note [1] make sudo make install
Через pip
Здесь лучше использовать виртуальную среду, используя virtualenv
. В этом случае в скрипте внизу перед pip3
не нужно sudo
. Обратите внимание, что вы можете использовать pip2
, если хотите работать со второй версией языка.
sudo pip3 install pyomo sudo apt-get install glpk*
Через Anaconda
См. раздел Windows.
Тестирование установки
Установка солверов
Для решения поставленных задач Pyomo использует заданный в параметрах солвер. Решение задачи состоит из
.py
скрипта с определением модели и сущностей и .dat
– файл с данными (параметрами) в AMPL формате. Пример запуска решения задачи:
pyomo solve --solver=bonmin sol.py prod.dat
Существует некоторое множество солверов, которые может использовать Pyomo. Среди них есть свободно распространяемые (glpk, bonmin, ipopt, cbc) и проприетарные (minos, другие решатели AMPL). Для их использования их нужно устанавливать отдельно.
macOS
На macOS для установки ПО удобно использовать менеджер пакетов homebrew.
GLPK
- Скачиваем с сайта проекта последнюю версию.
- Устанавливаем (предполагается, что архив скачался в
~/Downloads
, а скачаный архив называетсяglpk-4.43.tar.gz
).
cd ~/Downloads tar -xzf glpk-4.43.tar.gz ./configure --prefix=/usr/local # see note [1] make sudo make install
- Проверяем, корректно ли установлен солвер (должен вывести путь до исполняемого файла).
which glpsol
bonmin
brew tap staticfloat/homebrew-juliadeps brew install bonmin
cbc
brew tap coin-or-tools/coinor brew install cbc
ipopt
brew tap Homebrew/homebrew-science brew install ipopt
Примеры решений задач с помощью Pyomo можно найти на странице документации. Попробуйте запустить Jupyter Notebook в архиве, решающий транспортную проблему (transport.ipynb).