问题描述
我对使用数据门户加载数据有疑问。我需要加载由3组索引的以下参数:
model_ex = AbstractModel()
# Sets:
model_ex.YEAR = Set(ordered = True)
model_ex.STREAM_INTM = Set(ordered = True)
model_ex.TPU_E = Set(ordered = True)
model_ex.TPU_N = Set(ordered = True)
model_ex.TPU = model.TPU_E | model.TPU_N
# Parameter:
model_ex.IntmStreamGWI = Param(model_ex.STREAM_INTM,model_ex.TPU,model_ex.YEAR)
根据文档“ Pyomo假定参数值定义在最右边的列”。因此,我认为索引必须位于参数之前的列中。基于此,我将xlsx文件结构如下:
model_ex_data = DataPortal(model=model_ex)
model_ex_data.load(filename='Sets.xlsx',range='A1:A7',format='set',set='YEAR')
model_ex_data.load(filename='Sets.xlsx',range='C1:C5',set='STREAM_INTM')
model_ex_data.load(filename='Sets.xlsx',range='D1:D4',set='TPU_E')
model_ex_data.load(filename='Sets.xlsx',range='E1:E3',set='TPU_N')
model_ex_data.load(filename='IntmStreamGWI 2.xlsx',range=('A1:D73'),param=model_ex.IntmStreamGWI,index=[model_ex.STREAM_INTM,model_ex.YEAR])
但是,如图1所示的数据组织尚不清楚,我希望将YEAR设置为下图所示的行:
Load approach v2 (doesn't work
我按如下方式加载这个新的xlsx文件:
model_ex_data = DataPortal(model=model_ex)
model_ex_data.load(filename='Sets.xlsx',set='TPU_N')
model_ex_data.load(filename='IntmStreamGWI.xlsx',range=('A1:H13'),model_ex.YEAR])
当然,这种方法行不通,因为加载过程将最后一个值作为参数,将所有其他先前参数作为索引作为错误指示:
Constructing component 'IntmStreamGWI' from data={('REJ_MRFRES_E','INC_E',236.3792011453357,238.96274914822806,241.54629715112034,244.12984515401305,246.71339315690528): 249.29694115979748,
我尝试使用Data Portal支持的所有格式,但没有找到任何解决方案。我将不胜感激。
最诚挚的问候,
罗伯特
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)