我正在制造混合能源系统,并且试图解决gekko
以将成本降至最低。我有3个CV阵列,我试图将其发电量调整到适合的水平。当我去解决系统时,我不断收到我的数组未匹配的错误,我认为这是由于我没有使用时间数组。有没有办法让python中的gekko无需使用时间数组即可解决此系统?如果我未使用MPC或MHE方法,也可以使用MV吗?
from gekko import GEKKO
import numpy as np
import pandas as pd
import matplotlib as plt
m.time = np.linspace(0,10,20)
Esolar = np.linspace(0,10,20)
Ewind = np.linspace(10,0,20)
Econs = np.linspace(0,30,20)
m = GEKKO()
Es = m.CV(value = Esolar)
Ew = m.CV(value = Ewind)
Ec = m.CV(value = Econs)
Etherm = m.MV(value = 0, lb = 0, ub = 10)
Enuc = m.MV(value = 0, lb = 0, ub = 40)
Egen = m.Intermediate(Etherm + Enuc)
m.Equation(0 == Egen + Es + Ew - Ec)
m.Obj(Enuc*.05 + Etherm*.1) #Thermal Energy storage is twice as expensive
m.options.IMODE = 4
m.solve()
答案 0 :(得分:4)
m.time
放在m
定义为GEKKO()
的前面