三元组成员资格的Set_array

时间:2019-09-13 16:10:48

标签: pyomo

我正在尝试使用set_array格式定义三元组数据。数据来自excel文件。

enter code here

from pyomo.environ import *

model = ConcreteModel()

model.A = Set([A1,A2,A3])
model.B = Set([B1, B2, B3])
model.C = Set([C1, C2, C3])
model.D = Set(model.A, model.B, model.C)
data = DataPortal()
data.load(filename='excel.xlsx', range='set3', format='set_array', set='D')

Excel table (excel.xlsx, range=set3)
B  C  A1 A2 A3
B1 C1 +  -  +
B2 C2 -  -  +
B3 C3 +  +  +

问题在于代码正在生成2元组而不是3元组。我得到的结果是:

D = [((A1,B1),(A3,B1),(A3,B2),(A1,B3),(A2,B3),(A3,B3)]

我想要什么:

D = [(A1,B1,C1),(A3,B1,C1),(A3,B2,C2),(A1,B3,C3),(A2,B3,C3),(A3,B3 ,C3)]

任何建议和/或建议将不胜感激。 提前非常感谢!

0 个答案:

没有答案