hub*_*bs5 2 python indexing pyomo
我有一个 Pyomo 模型,它有一组稀疏的值,但是Cannot index a component with an indexed set当我尝试根据这个稀疏集索引一个二进制变量时出现错误。举个简单的例子:
model = ConcreteModel()
model.S = Set([1, 4, 6])
model.V = Var(model.S, within=Binary)
Run Code Online (Sandbox Code Playgroud)
线
model.S = Set([1, 4, 6])
Run Code Online (Sandbox Code Playgroud)
创建一个索引集:这是一个由 3 个集合组成的集合,每个集合都是空的(Pyomo 将位置参数视为索引集 - 就像在您关于 的评论中一样Var([1,3,5], within-Binary))。由于通过一组集合索引某些内容没有意义,因此您会收到异常“ Cannot index a component with an indexed set”。
在你的情况下,它看起来像你想有一个单一的集合S,它有三个值。正确的语法是:
model.S = Set(initialize=[1, 4, 6])
model.V = Var(model.S, within=Binary)
Run Code Online (Sandbox Code Playgroud)