Loa*_*one 6 python arrays numpy gurobi
我想知道,当我在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))
Run Code Online (Sandbox Code Playgroud)
我已经解决了问题,我有三本字典:
Station_Size, Admission and Return
Run Code Online (Sandbox Code Playgroud)
我知道解决方案可以通过以下方式访问:
Station_Size[i,t].X, Admission[i,j,t].X and Return[i,j,t].X
Run Code Online (Sandbox Code Playgroud)
我想创建三个 Numpy 数组:
Array_Station_Size[i,t] = Station_Size[i,t].X
Array_Admission[i,j,t] = Admission[i,j,t].X
Run Code Online (Sandbox Code Playgroud)
我绝对可以通过创建三个循环并逐个元素创建 Numpy 数组来做到这一点。如果循环不需要很长时间,这是可行的。但我只是想知道是否有更好的方法来做到这一点。如果我没有说清楚,请评论。
小智 2
假设您的模型名称为m,请执行以下操作:
Array_Station_Size = m.getAttr('x', Station_Size)
Run Code Online (Sandbox Code Playgroud)
现在是 gurobipy.tupledict 。请参阅此处的 gurobi 文档 http://www.gurobi.com/documentation/8.1/quickstart_windows/py_results.html
| 归档时间: |
|
| 查看次数: |
3078 次 |
| 最近记录: |