メインコンテンツへスキップ

Rust製最適化ライブラリOpEnのインストール

··868 文字·2 分
目次

はじめに
#

Rust製の最適化ライブラリOpEnをWindows 10にインストールし、Pythonから使えるようにする。

導入手順は以下の通り。

  1. opengenをインストール
  2. GitHubからOpEnのソースコードをclone
  3. RustでOpEnをビルド

OSはWindows 10 Home Ver. 21H1である。その他の環境は以下の通り。

  • Rust 1.55.0
  • Python 3.8.8
  • opengen 0.6.9
  • OpEn 0.7.1

2022/01/30追記 opengen v0.6.8以前ではPythonからOpEnを実行するとエラーが発生します。 最適制御向け最適化ライブラリOpEnのRust build of TCP interface failedエラーについて – Helve Tech Blog

opengenのインストール
#

まず、Rustをインストールしておく必要がある(インストール方法は以下の記事を参照)。 RustをWindows 10にインストールする – Helve Tech Blog

次にopengenをインストールする。opengenはOpEnのPython用インターフェイスである。

> pip install opengen

GitHubからOpEnのソースコードをclone
#

適当なフォルダで以下を実行し、GitHubからOpEnのソースコードをcloneする。 最後のoptimization-engineはcloneするフォルダ名を指定している。

> git clone https://github.com/alphaville/optimization-engine.git optimization-engine

RustでOpEnをビルド
#

あらかじめPythonの仮想環境を作る。virtualenvがない場合は以下でインストールする。

> pip install virtualenv

次に仮想環境を作り、有効化する。venvopenは仮想環境の名前である。

> cd optimization-engine\open-codegen
> virtualenv -p python3.8 venvopen
> . venvopen\Scripts\activate.ps1
(venvopen) >

ここではPowerShellを使うことを想定してactivate.ps1とした。仮想環境を有効化すると、>の前に仮想環境の名前が表示される。

以下を実行して、仮想環境内でopengenをセットアップする。

(venvopen) > python setup.py install

最後にoptimization-engineフォルダ直下で以下を実行し、OpEnをインストールする。 cargoはRustのビルドシステム(兼パッケージマネージャ)である。

> cargo build

仮想環境を終了する場合は、deactivateを実行する。

(venvopen) > deactivate
>

参考
#

OpEn Installation · OpEn

Helve
著者
Helve
関西在住、電機メーカ勤務のエンジニア。X(旧Twitter)で新着記事を配信中です

関連記事

Pyomoの変数をベクトル化する
·1409 文字·3 分
Pyomoで多変数の最適化を簡潔に記述するため、変数をベクトル化する方法をまとめた。
CasADiとBONMINで混合整数非線形計画問題を解く
·913 文字·2 分
Pythonで自動微分・非線形最適化ライブラリCasADiと最適化ソルバBONMINを使って、混合整数非線形計画問題を解く方法をまとめた。
CasADiとIPOPTで非線形計画問題を解く
··2122 文字·5 分
Pythonで自動微分・非線形最適化ライブラリCasADiと最適化ソルバIPOPTを使って、制約付き非線形計画問題を解く方法をまとめた。
PyomoでGDP最適化問題を解く
·1602 文字·4 分
PyomoでGDP (Generalized Disjunctive Programming) と呼ばれる最適化問題を解いた。GDPは論理的な制約を持つ最適化問題である。
PyomoとIPOPTで非線形計画問題を解く
·2785 文字·6 分
最適化モデリングツールPyomoと、最適化ソルバIPOPTを使って非線形計画問題を解く方法をまとめた。
Pyomoで線形計画問題を解く
·2506 文字·6 分
PyomoというPythonライブラリを使って線形計画問題を解く方法をまとめた。本記事では、Pyomoの導入方法と、問題の記述方法について示す。