我正在应用PYOMO软件包的PYSP扩展进行随机优化。对于我的具体模型,我通过回调函数创建了建议的方案。对于每个模型实例,根据相应场景设置参数。对于一维参数,它可以正常工作。但是,现在我尝试为二维参数创建模型实例,但我很难弄清楚它是如何工作的。
参数定义如下。
model.Load_profile = Param(set_sim.tme_dat_stp, vpp.bat_stp, initialize=0, mutable=True)
现在,回调函数应将ldprof中的数据放入参数变量中。
def pysp_instance_creation_callback(scenario_name, node_name):
"""Callback function for scenario instance creation"""
print("Constructing instance for scenario ", scenario_name)
instance = model.clone()
instance.Load_profile.store_values(ldprof[scenario_name])
return instance
ldprof是一个嵌套的字典,其中包含几种情况下的二维数据。
ldprof = defaultdict(dict)
ldprof[1][1] = dict(enumerate(eldem[:, 0] - pvgen[:, 0]))
ldprof[1][2] = dict(enumerate(eldem[:, 0] - pvgen[:, 1]))
ldprof[2][1] = dict(enumerate(eldem[:, 1] - pvgen[:, 0]))
ldprof[2][2] = dict(enumerate(eldem[:, 1] - pvgen[:, 1]))
您有一个主意,我如何使它工作?谢谢您的建议!
问候 菲利普