Làm cách nào để tôi nhận được giá trị của biến mà tôi đã xác định trước đó (sử dụng addVar) trong gurobi python? Tôi cần so sánh giá trị của biến gurobi và sau đó thực hiện các phép tính để đạt tới biến khách quan của tôi. Điều tương tự cũng phải được thực hiện trước khi tối ưu hóa.Gurobi python nhận giá trị của biến được xác định
5
A
Trả lời
8
Bạn có hai tùy chọn. Cách đơn giản nhất là lưu tham chiếu đến đối tượng Var được trả về bởi Model.addVar
. Một cách khác là đặt tên biến của bạn với tham số tên trong addVar, sau đó truy lục biến với Model.getVarByName.
from gurobipy import *
a_var = m.addVar(name="variable.0")
# ...
a_var_reference = m.getVarByName("variable.0")
# a_var and a_var_reference refer to the same object
m.optimize()
#obtain the value of a_var in the optimal solution
if m.Status == GRB.OPTIMAL:
print a_var.X
Có hai bước: truy xuất đối tượng Var như được mô tả ở trên và truy xuất giá trị giải pháp thông qua thuộc tính X. –