python - 访问具有 .X 属性的变量的当前值时,Gurobi 返回 AttributeError 错误
问题描述
我的 gurobi 优化中有以下代码,其中 M 是二进制变量。我正在使用 .X 属性访问变量的值,但是当我运行我的代码时,它给了我这个错误:
AttributeError: b"Index out of range for attribute 'X'"
如果我删除 .X 属性,代码运行时不会出现任何错误,但即使值不是“1.0”,它也会为 M 变量中所有元素的 if 语句返回 true。我猜它会检查变量 M 中是否存在一个值为 True 的值,即使它是“0.0”。在这种情况下,在运行代码后,我尝试在控制台中运行同一段代码(for 循环)并且没有这样的错误!。
for s in range(S)
for t in range(T):
for f in range(F):
if M[(a,t,f)].X == 1:
print(M[(a,t,f)].X)
解决方案
我注意到问题是我在优化模型完成之前尝试访问变量 M 的值。
推荐阅读
- javascript - 如何删除我在 Javascript 中随机获得的结果
- image - 如何在UWP中获取圆形图像源或位图图像以裁剪椭圆形状的图像
- html - 不通过 url nodejs 传递值
- javascript - 如何使用Javascript手动计算excel函数MDURATION?
- python - 日期时间差
- python - 决策树:如何手动设置决策节点
- ruby-on-rails - 是否可以在 Rails 中的 Postgres 的 activerecord-import on_duplicate_key_update 选项中为冲突目标提供多个唯一索引?
- python - 我如何向 Telegram API“说”我成功收到了他们的 webhook 请求?
- c# - 如何将键和值从一个字典复制/传输到另一个新字典/列表?
- javascript - Json数组与javascript中的不同长度比较