Gurobi Optimizer(アカデミック・ライセンス)のインストール方法

Gurobi Optimizerは、線形計画(Linear Programming: LP)、二次計画(Quadratic Programming: QP)、混合整数計画(Multi Integer Programming: MIP)、などの問題を最速で解くための強力なソルバーエンジンです。

ワカメさん

この記事は「Gurobi Optimizer(アカデミック・ライセンス)をインストールする方法」をまとめています。

この記事がカバーする内容
  • どうやってGurobi Optimizerをインストールするか
スポンサーリンク

手順

環境

以下の環境でGurobi 9.0.2をインストールしました。

  • macOS 11.2.1
  • python 3.7.10 (Anaconda)

アカウント作成

Gurobiのアカウントを持っていなければ、まず、公式サイトからユーザー登録をします。登録は無料です。「Academic」を選択します。

Gurobi Optimizerのインストール

公式のダウンロードサイト」からGurobi Optimizerをダウンロードします。

AnacondaでGurobi Optimizerを利用する場合、ターミナル上で以下のコードを実行すると、Gurobi OptimizerをAnacondaへインストールできます。

conda config --add channels http://conda.anaconda.org/gurobi
conda install gurobi

アカデミック・ライセンスの発行

公式のライセンス申請ページ」からアカデミック・ライセンスを発行します。

アカデミック・ライセンス申請のときは、大学のネットワークからインターネットへアクセスする必要があります。

学外からアクセスする場合、VPNを使えば大丈夫です。

アカデミック・ライセンスの有効化

ターミナルからアカデミック・ライセンスを有効化します。

アカデミック・ライセンス登録後、Download & Licence > Academic Licenseからライセンス付与が確認できます。

ライセンスページの左下に記載されているgrbgetkeyをターミナルで実行し、アクティベートします。

grbgetkey XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

途中、Proceed ([y]/n)?と尋ねられたら、yを入力します。

ワカメさん

ここまでの操作が完了すれば、ライセンス期間は自由にgurobi optimizerを利用できます。

動作確認

最後に以下のコードを使って動作確認をします。

from gurobipy import *

m = Model()

X1 = m.addVar()
X2 = m.addVar()

m.setObjective(4*X1 + 2*X2, GRB.MAXIMIZE)

m.addConstr(20*X1 + 50*X2 <= 480)
m.addConstr(3*X1 + X2 <= 50)
m.addConstr(0.25*X1 + 0.3*X2 <= 6)

m.optimize()

print("X1 =",X1.x," X2 =",X2.x)

X1 = 15.538461538461537、 X2 = 3.3846153846153855

が得られたらインストールは成功です。

まとめ

Gurobi Optimizerのインストール
  • インストールの手順は以下5つ
    • ユーザー登録
    • Gurobi Optimizerをダウンロード
    • アカデミック・ライセンスを発行
    • アカデミック・ライセンスを有効化
    • 動作確認

この記事は以上です。最後まで読んで頂きありがとうございました。

参考資料

(1): Gurobi optimizer-official (7/5/2021アクセス)

(2): OCTOBER SKY, 数理最適化製品紹介 (7/5/2021アクセス)

スポンサーリンク
この記事が気にいったらシェアしてね!
0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Most Voted
Newest Oldest
Inline Feedbacks
View all comments
ABOUT US
ワカメ
Data Scientist, Master of Data Science & Master of Engineering in Material Science
このブログは以下2点を目的に運営.
1. 管理人の学び・体験の復習機会
2. 海外留学を目指す方の参考情報
趣味の範囲で淡々と更新します.
*ブログ・SNSは所属組織と無関係の個人発信.