2017-03-09 5 views
0

タプルのインデックスセットを作成したいのですが、もしそうなら、私は意味します: LINEAS_DOWNSTREAM_BARRA[1]私は[(1,3),(1,2),(1,4)]を見たいと思っています。PYOMO:タプルのインデックスセット

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: The value=(1, 2) is a tuple for set=LINEAS_DOWNSTREAM_BARRA, which has dimen=1

感謝!!

答えて

1

Set m.LINEAS_DOWNSTREAM_BARRAを1行に宣言する必要があります。また、ラムダ関数がタプルの一覧を返すことを確認してください

m.LINEAS_DOWNSTREAM_BARRA = Set(m.BARRAS, dimen=2, initialize=your_lambda_fcn)