Я делаю гибридную энергетическую систему и пытаюсь решить gekko
, чтобы минимизировать затраты. У меня есть 3 массива CV, к которым я пытаюсь приспособить генерируемую электроэнергию. Когда я перехожу к решению системы, я продолжаю получать ошибку, что мои массивы не совпадают, я думаю, что это связано с тем, что я не использую временной массив. Есть ли способ заставить gekko в python решить эту систему без использования временного массива? Также могу ли я использовать MV, если я не использую метод MPC или MHE?
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()
STATUS
ничего не делает в режиме моделированияIMODE=4
, но включает (1) или ВЫКЛ (0) степени свободы в режимах оптимизации, таких какIMODE=6
(MPC). - person John Hedengren   schedule 04.12.2019