0

我想创建一个元组索引集,我的意思是如果我这样做: LINEAS_DOWNSTREAM_BARRA[1]我想看到[(1,3),(1,2),(1,4)].

我的代码是:

m=ConcreteModel()
m.BARRAS = Set()
m.LINEAS_DOWNSTREAM_BARRA = Set(dimen = 2)

m.LINEAS_DOWNSTREAM_BARRA = Set(m.BARRAS, initialize=lambda m, i:
set(tuple(z) for z in m.LINEAS if (i == z[0])))

问题是:

ValueError: value=(1, 2) 是 set=LINEAS_DOWNSTREAM_BARRA 的元组,其中有 dimen=1

谢谢!!

4

1 回答 1

1

您应该在一行上声明 Set m.LINEAS_DOWNSTREAM_BARRA。另外,请确保您的 lambda 函数返回一个元组列表

m.LINEAS_DOWNSTREAM_BARRA = Set(m.BARRAS, dimen=2, initialize=your_lambda_fcn)
于 2017-03-09T20:58:03.563 回答