Matthias Miltenberger
-
Gurobi Staff
Gurobi Optimization Support Manager - Berlin, Germany
- 合計アクティビティ 1095
- 前回のアクティビティ
- メンバー登録日
- フォロー 0ユーザー
- フォロワー 1ユーザー
- 投票 55
- サブスクリプション 479
記事
Matthias Miltenbergerによる最近のアクティビティ-
Python APIでのGILの解放について
Gurobiバージョン9.1以降、Global Interpreter Lock (GIL)は、低レベルでの最適化処理中に解放されます。これにより、Gurobiの最適化が動作している間、ユーザープログラムは別のPythonスレッドで他のPythonコードを実行することができます。ただし、gurobipyはスレッドセーフではないので、最適化の実行中に他のGurobiコマンドを実行しないように注...
-
モデルから整数条件を取り除くには?
MIPモデルからLP緩和モデル(連続変数のみを含み、SOS制約やGeneralConstraintを含まない)を作成するには、Model.relax()が利用可能です。relax = model.relax()上記のように呼び出すことでオリジナルのモデルに変更を加えることなく、新しいModelオブジェクトが生成されます。もう一つの緩和方法としては変数のtype属性を変更することです。for ...
-
コールバック関数による最適化の停止方法は?
最適化の際に何度もoptimize() を呼び出すことを避けるためにコールバック関数内で終了判定をカスタマイズすることができます。下記の例ではPython API用いて”十分に良い”解が見つかった場合など、特定の条件下でのみ有効となる”ソフトな”時間制限を設定しています。TimeLimit パラメータは最適化を100秒後に終了させます。また、コールバック関数では5秒以上最適化を実行した後にM...
-
Gurobiにログファイルを出力させるには
Gurobiは最適化の進行状況を追跡できるようにログを生成します。 コマンドラインツール(gurobi_cl)を使用した場合のみ、デフォルトでログファイルが出力されます。いずれかのAPIを使用して最適化を開始する場合は、LogFileパラメータを使用してログファイルの名前を明示的に指定する必要があります。このファイルは、アプリケーションを実行するディレクトリを基準に書き込まれます。以前のGu...
-
Gurobiのモジュールをフルインストールすることなくライセンスを取得するには?
Gurobiのフルモジュールをインストールすることはできないが、ライセンスツール(grbgetkeyとgrbprobe)、およびトークンサーバモジュール(grb_ts)が必要なユーザー向けに、これらのツールのみを提供しています。 Windows: licensetools13.0.1_win64.zip macOS: licensetools13.0.1_macos_universal2....
-
Gurobi がMIPを解くのにかかる時間を推定する方法はあるか?
一般に、MIPを解くのにかかる時間を見積もるのは非常に難しいといえます。NP困難問題の性質上、解くのに非常に長い時間がかかったり、実用的な時間では解けないことさえあります。Gurobiは、非常に高度な解法テクニックやトリックを数多く備えているため、大規模なモデルであっても、しばしば迅速に解を見つけることが可能です。また、一見簡単そうに見える問題でも、解くのが非常に難しいものもあります。Gur...
-
MIPGapとは?
パラメータの MIPGap は、返される解について最悪の品質を制御します。これは最終的に得られる解の実際のMIP Gapの上限です。GurobiはMIPGapよりも大幅に良い解を見つけるまで実行されることがありますが、これは与えられたMIPGapちょうどで終了できるとは限らないためです。その理由の1つは、Gapの改善が連続的な進行ではなく、次のように離散的に行われるためです: MIPGapパ...
-
MIPスタート(初期解)を使うには?
Gurobiに対して、初期実行可能解(MIPスタート)を与えることで、全体の求解時間が削減されることがあります(ただし、必ず改善するとは保証されません)。MIPスタートは変数オブジェクトの Start 属性を使うか、.mstファイル、.solファイルを読み込むことで利用可能です。バイナリ変数と整数変数の(一部の)値のみを設定し、残りの変数の値の計算をGurobiにさせることも可能です。これは...
-
Gurobiをバージョンアップするには?
バージョン12.xから13.xのようなメジャーバージョンへのバージョンアップの場合、下位互換性の無い更新が行われる場合があります。すべての追加機能、変更、機能削除はリリースノートに記載されています。フルインストールによるアップデート(pipやcondaを利用しない場合)すでにコンピューター上にインストールされたGurobiをアップデートするには、該当の新バージョンのインストール手順に従ってく...
-
ライセンスファイルの有効性を確認するには?
配備されたライセンスファイルが有効かどうかを簡易的に確認するには、コマンドラインから次を実行します。gurobi_clライセンスが正しくない場合、このコマンドはエラーとなります。この際はGurobiライセンスをテストするにはを参照ください。ライセンスファイルの有効性をプログラム上からテストしたい場合には、モデルの生成を実施します。(例えばPython環境上でModelオブジェクトを作成してみ...