在 MHE 或 MPC 模拟之外使用 gekko MV 和 CV
Using gekko MV's and CV's outside of a MHE or MPC simulation
我正在制作一个混合能源系统,我正在尝试 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()
m.time
放在 m
的定义之前,如 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()
m.time
放在 m
的定义之前,如 GEKKO()