Pyomo多索引参数

时间:2019-06-14 14:13:54

标签: python indexing pyomo

我有一个基本的Pyomo抽象模型,其参数由两组索引。我想提取索引此参数的集合,但是当我这样做时,得到了意外的输出。代码如下:

import pyomo.environ as pe

class MakeModel:
    def __init__(self):
        self.model = pe.AbstractModel()
        self.model.a = pe.Set()
        self.model.b = pe.Set()
        self.model.cost = pe.Param(self.model.a, self.model.b)


def main():
    my_model = MakeModel()
    print(my_model.model.cost.index_set())

if __name__ == '__main__':
    main()

print语句的输出为“ cost_index”。经过一番挖掘之后,Pyomo似乎会自动为一个多索引参数创建一个虚拟集合,该参数是给定集合的叉积。换句话说,在后台Pyomo设置了model.cost_index = model.a * model.b

我正在尝试找出是否有一种方法可以查找model.costmodel.amodel.b编制索引的方法。如果model.cost仅由一组索引,则调用.index_set()将为我完成此操作。对于多维参数,还有其他方法吗?

0 个答案:

没有答案