前へ: チュートリアル(Gurobi Interactive Shell):モデルの読み込みと最適化
最適化モデルが解けたら、Modeオブジェクトの printAttr() メソッドを使って解の確認をすることができます。
gurobi> m.printAttr('X')
Variable X
-------------------------
Dimes 2
Quarters 53
Dollars 100
Cu 999.8
Ni 46.9
Zi 50
Mn 30
このメソッドは引数で指定された属性(今回は X)の値の中で非ゼロのものをすべて出力します。Attributes(属性)はGurobi Optimizerを利用する上で大きな役割を果たしています。
また、ModelオブジェクトのgetVars() メソッド(例ではm.getVars() )を使ってモデル中の変数のリストを取得して、より細かい粒度で解を見ることも可能です。
gurobi> v = m.getVars()
gurobi> print(len(v))
9
一つ目のコマンドはすべての Var(変数) オブジェクトのリストをPythonの変数 vに保存します。次のコマンドではPythonのlen() コマンドでリストの長さを取得し出力しています(今回の例では変数が9つあることを意味しています)。このようにしてリストに保存された変数の属性には個別にアクセスが可能です。例えばリストの最初に入っている変数の名前と解を参照したければ次のようにコマンドを記述します。
gurobi> print(v[0].varName, v[0].x)
Pennies 0.0
help(Var) か help(v[0]) と入力することで、Var オブジェクトに付随するメソッドのリストを取得することができます。また、help(GRB.Attr) と記述すると属性のリストを取得することもできます。
次へ: チュートリアル(Gurobi Interactive Shell):簡易的なモデルの変更
コメント
0件のコメント
記事コメントは受け付けていません。