Моя централизованная модель — это модель управления энергопотреблением для 4 домов, имеет импорт /экспорт термина стоимости электроэнергии, стоимости деградации батареи и термина стоимости одноранговой сети.
Я знаю, что модель связана с термином одноранговой сети, и не знаю, как ее сформулировать с помощью ADMM.
это целевая функция моей централизованной модели для 96 временных шагов (24 часа, 15 минут):
Я использую решатель pyomo в Python
Код: Выделить всё
def objective_rule(model):
return sum(
sum(
sum(
p2p_cost[m] * delta_t * (model.Pe[n, m, t])**2 # P2P trading cost with delta_t
for n in M if n != m
) # Inner loop for peer-to-peer exchanges
+p2p_cost[m]*delta_t *(sum((model.Pe[m,n, t]) for n in M if n != m))**2
+ tou[t] * model.P_import[m, t] * delta_t # Cost for grid imports
- rho_md[m] * model.P_export[m, t] * delta_t # Revenue for grid exports
+ rho_battery[m] * (model.P_charge[m, t] + model.P_discharge[m, t]) * delta_t # Battery cost
for m in M # Middle loop for each house
)
for t in T # Outer loop for each time step
)
model.objective = pyo.Objective(rule=objective_rule, sense=pyo.minimize)
локальная задача вычислит локальную переменную, необходимую для обновления для глобальная переменная, которая необходима для поддержания согласованности между одноранговыми терминами.
Подробнее здесь: https://stackoverflow.com/questions/792 ... ized-model
Мобильная версия