【发布时间】:2022-01-14 12:36:17
【问题描述】:
我正在尝试完成长达一年的电池优化问题(8760 小时)。 “ind_1”和“ind_2”是长度为 8760 的列表,包含 0s/1s。一年中的某些时间可能会获得额外收入,因此这些指标列表用于区分这些时间(进一步用于最大化功能)。
m = Gekko(remote=False)
#variables
e_battery = m.Var(lb=0, ub=4000, value=2000) #energy in battery at time t, battery size 4 MWh, initial value is 2MWh
command = m.Var(lb=-1000, ub=1000) #command power -1 to 1 (in MW)
e_price = m.Param(value = price) #price is a list of 8760 values
ind_1 = m.Param(value = ind_1)
ind_2 = m.Param(value = ind_2)
m.time = np.linspace(0,8759, 8760)
m.Equation(e_battery.dt() == e_battery + command)
m.Maximize((-command)*(e_price + ind_1*ind1_price + ind_2*ind2_price))
m.options.IMODE = 6
m.solve()
当我运行上述模型时,它会运行大约 20 次迭代,然后返回错误:“@error: Solution Not Found”。此任务的目标是返回一个包含 8760 个值的数组(命令变量),以最大化返回。这个错误来自哪里的任何想法?
【问题讨论】:
标签: python optimization gekko