如何使用model.getVars()获取tupledict对象?

Gurobi允许您使用(例如)一次创建多个变量:

x = model.addVars(2,3,vtype=GRB.BINARY)

这将返回一个包含6个二进制变量的元组对象,可以像x[0,2]x[1,1]等那样访问这些变量

但是,当我使用命令x = model.getVars()(例如在回调中)时,它返回变量列表,而不是元组。因此,当我转到参考变量x[0,1]时,我得到了错误:

  

TypeError:列表索引必须是整数或切片,而不是元组

我已经针对它们的元组键而不是列表索引建立了所有变量,所以我不知道哪个变量是哪个。有什么方法可以要求模型给我元组而不是列表?

achievekey 回答:如何使用model.getVars()获取tupledict对象?

正确,Model.getVars()返回所有变量的列表;它不了解Python元组结构。要将元组x保存为回调,请将其添加到Model对象,例如:model._myxvars = x,然后可以在回调函数中使用它。

本文链接:https://www.f2er.com/3073100.html

大家都在问