Gurobiモデルオブジェクトに関連付けられた情報のほとんどは、一連の属性 (Attribute) に格納されています。属性は、モデル、変数、制約(線形、二次、一般、SOS)などに関連付けられるものです。また、解の品質、多目的関数、マルチシナリオ、バッチ実行に関連する属性もあります。関連付けられているモデリングオブジェクトごとにグループ化された属性の一覧については、属性の種類を参照してください。
例:
- モデルの最適化後、モデルオブジェクトのRuntime属性は、Gurobiがモデルの解決に費やした時間(秒)を格納します。
- モデルの最適化後、変数オブジェクトのX属性は、変数の解の値を格納します。
- 変数オブジェクトのLB属性とUB属性は、それぞれ変数の下限値と上限値を格納します。
- 線形制約オブジェクトのConstrName属性は、線形制約の名前を格納します。
属性の読み取りと変更
すべての属性が変更可能なわけではありません。Gurobi Optimizerによって計算される属性(例えばXやRuntime)は、ユーザーが直接変更することはできず、読み取りのみ可能です。入力データを表す属性(例えばLB、UB、ConstrName)は、ユーザーが直接変更できます。
すべてのGurobi APIには、属性値を読み取りまたは変更するためのルーチンが含まれています。特定の属性の値を取得または変更するには、単に属性名を適切な読み取りまたは変更ルーチンに渡してください。
属性にアクセスする方法の例:
- ドキュメントのAttribute Examplesセクションには、Python、C、C++、C#、Java、Visual Basicの例が含まれています。
- 最適化後に変数の値を取得するにはどうすればよいですか?
- GurobiのExample Tour。
Gurobi属性の完全な一覧は、ドキュメントの属性リファレンスセクションをご覧ください。