大学から Gurobi の Academic License を認証しようとしたのだけれど,
Proxy が原因でできなかった.でも調べたらなんとかなったので紹介.
Proxy が原因でできなかった.でも調べたらなんとかなったので紹介.
やり方
認証したい PC で grbprobe を実行し,以下の項目をメモする:
- HOSTNAME
- HOSTID
- USERNAME
- PLATFORM
- SOCKETS
(これらはそれぞれ,ステップ 4. における
<hostname>, <hostid>, <username>, <platform>, <sockets> に対応する)
※SOCKETS の項目がない場合は,ifconfig を実行して,ソケット数を数えればよい
(ただし,ループバック lo はソケット数にはカウントしない)
- gurobi のサイトから取得したアカデミックライセンスの番号
(ステップ 4. における <key> に対応)をメモする:
ここで,ライセンスの番号とは,ライセンスページにある grbgetkey 以降の部分のこと
(License ID の方ではない):
grbgetkey XXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXXX←この部分 - 今日の日付(ステップ 4. における <key> に対応)を YYYY-DD-MM の形でメモする:
例.2017-05-23 - 上で調べた項目の内容を基に,以下の URL における対応する部分と置換する:
http://apps.gurobi.com/keyserver?id=<key>&hostname=<hostname>&hostid=<hostid>&username=<username>&os=<platform>&sockets=<sockets>&localdate=<date> - Proxy 環境下ではない PC 上で Web ブラウザを起動し,
ステップ 3. で置換した URL にアクセス
(Proxy 環境下にある認証したい PC のブラウザ上からできるかどうかは不明) - ステップ 4. でアクセスしたページの内容をコピペし,gurobi.lic ファイル作成する.
ファイルは以下の形式に整形する:
# License ID XXXXXX
# Gurobi license for
# ORGANIZATION=
TYPE=ACADEMIC
HOSTNAME=XXXXXX
HOSTID=XXXXXX
SOCKETS=X
USERNAME=XXXXXXX
EXPIRATION=XXXX-XX-XX
VERSION=7
FLEXUSELIMIT=0
KEY=XXXXXX
※ORGANIZATION の項目はコメントアウトして良い
※各項目の末尾に余計な半角スペースがないことを確認すること - gurobi.lic ファイルを所定の場所(大抵の場合,ホームフォルダ)に配置すれば OK
(出典)https://sproul.xyz/blog/posts/gurobi-academic-validation.html