在MHE或MPC模拟之外使用gekko MV和CV

时间:2019-12-02 23:30:32

标签: python gekko

我正在制造混合能源系统,并且试图解决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()

1 个答案:

答案 0 :(得分:4)

m.time放在m定义为GEKKO()的前面