提取gurobi多维变量值,组成numpy数组
Extract gurobi muti-dimensional variable value and form a numpy array
我想知道在Gurobi中定义一个多维变量时,如何提取所有解的值,并根据变量的原始坐标组织到一个Numpy数组中。
我使用 Python API 在 Gurobi 中定义了以下决策变量:
for i in range(N):
for t in range(M):
Station_Size[i,t] = m.addVar(ub=Q, name = 'Station_Size_%s_%s' %(i,t))
for j in range(N):
Admission[i,j,t] = m.addVar(ub = Arrival_Rate[t,i,j], obj=-1, name = 'Admission_Rate_%s_%s_%s' %(i,j,t))
Return[i,j,t] = m.addVar(name = 'Return_Rate_%s_%s_%s' %(i,j,t))
我的问题已经解决了,我有三个字典:
Station_Size, Admission and Return
我知道可以通过以下方式访问解决方案:
Station_Size[i,t].X, Admission[i,j,t].X and Return[i,j,t].X
我想创建三个 Numpy 数组,这样:
Array_Station_Size[i,t] = Station_Size[i,t].X
Array_Admission[i,j,t] = Admission[i,j,t].X
我绝对可以通过创建三个循环并逐个元素地创建 Numpy 数组来做到这一点。如果循环不花费很多时间,这是可行的。但我只想知道是否有更好的方法来做到这一点。如果我没有说清楚,请评论。
我解决了这个问题。
执行以下操作:
Array_Station_Size = np.array()
Array_Station_Size[i,] = [Station_Size[i,t].X for t in rang(T)]
假设您的模型名称是 m
,请执行以下操作:
Array_Station_Size = m.getAttr('x', Station_Size)
现在是 gurobipy.tupledict。
在这里查看 gurobi 文档
http://www.gurobi.com/documentation/8.1/quickstart_windows/py_results.html
我想知道在Gurobi中定义一个多维变量时,如何提取所有解的值,并根据变量的原始坐标组织到一个Numpy数组中。
我使用 Python API 在 Gurobi 中定义了以下决策变量:
for i in range(N):
for t in range(M):
Station_Size[i,t] = m.addVar(ub=Q, name = 'Station_Size_%s_%s' %(i,t))
for j in range(N):
Admission[i,j,t] = m.addVar(ub = Arrival_Rate[t,i,j], obj=-1, name = 'Admission_Rate_%s_%s_%s' %(i,j,t))
Return[i,j,t] = m.addVar(name = 'Return_Rate_%s_%s_%s' %(i,j,t))
我的问题已经解决了,我有三个字典:
Station_Size, Admission and Return
我知道可以通过以下方式访问解决方案:
Station_Size[i,t].X, Admission[i,j,t].X and Return[i,j,t].X
我想创建三个 Numpy 数组,这样:
Array_Station_Size[i,t] = Station_Size[i,t].X
Array_Admission[i,j,t] = Admission[i,j,t].X
我绝对可以通过创建三个循环并逐个元素地创建 Numpy 数组来做到这一点。如果循环不花费很多时间,这是可行的。但我只想知道是否有更好的方法来做到这一点。如果我没有说清楚,请评论。
我解决了这个问题。
执行以下操作:
Array_Station_Size = np.array()
Array_Station_Size[i,] = [Station_Size[i,t].X for t in rang(T)]
假设您的模型名称是 m
,请执行以下操作:
Array_Station_Size = m.getAttr('x', Station_Size)
现在是 gurobipy.tupledict。 在这里查看 gurobi 文档 http://www.gurobi.com/documentation/8.1/quickstart_windows/py_results.html