エラーメッセージ"Model too large for size-limited Gurobi license", または"Model too large for restricted Gurobi license"は、Gurobiがサイズ制限付きの制限付きライセンスを参照しており、モデルサイズがこれらの制限、すなわち線形モデルの場合2000変数/2000線形制約、または2次のモデルの場合に200変数を超える場合に表示されます。
通常、このエラーはpipまたはcondaパッケージを経由してGurobiをインストールした場合に発生します。これらのインストール方法では自動的にサイズ制限付きのライセンスが配備され、そのライセンスを使用している場合は"Restricted license - for non-production use only"のようなメッセージが表示されます。
正式なライセンスを利用していて、上記のエラーが出る場合には、Gurobiが正しいライセンスにアクセスできていないと考えられます。
サイズ制限のないアカデミックまたは商用ライセンスを取得するには
Gurobiライセンスを取得するには?の記事を参照してください。
Gurobiのライセンスをすでにお持ちの場合
ライセンスファイルを利用している場合
すでにGurobiライセンスをお持ちの場合はそのライセンスファイルがデフォルトの場所に配置してあることを確認してください。Gurobiがライセンスファイルを探索するデフォルトディレクトリは次の通りです。
| Windows: | C:\gurobi and your home directory (C:\Users\yourusername) |
| Linux: | /opt/gurobi and your home directory (/home/yourusername) |
| macOS: | /Library/gurobi and your home directory (/Users/yourusername) |
デフォルト以外の場所にライセンスを保存したい場合には、次の記事を参照してください:Gurobiのライセンス(gurobi.lic)はどこへ配置するとよい?
ライセンス認証にパラメータを利用している場合
フローティングライセンス、Gurobi Instant Cloud、WLS(Web License Service)、またはCompute ServerやCluster Manager用のクライアントライセンスを利用している場合、gurobi.licの代わりに、gurobi envに対してパラメータを設定している場合があるかもしれません。この使用方法はmip1_remote.pyにて紹介されていますが、モデルの作成時に、引数としてそのenvが正しく渡されているかを確認してください。
with gp.Model(env=env) as model:
# Formulate problem
model.optimize()
または
with gp.read("/path/to/model.mps", env=env) as model:
model.optimize()サイズ制限のエラーが発生する場合には、モデルが作られているgurobi envがデフォルトのものではなく、あなたのライセンス認証情報を使ったgurobi envであることを確認してください。例えば、 gp.Model() のようなコードで env キーワードが省略されていないかをチェックしてください。省略した場合、 Gurobiはデフォルトのenvにフォールバックし、ライセンス認証情報を使って初期化されたenvは参照されません。
また、詳細は次の記事をご覧下さい:How do I manage Gurobi environments in gurobipy?