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>
 
-
 
-
* Устанавливаем 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>
</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).

Личные инструменты