【发布时间】:2022-01-10 14:57:22
【问题描述】:
我目前正在尝试使用 pyomo 优化电池存储。 我以为一切正常,但由于某种原因,存储总是在一开始就被排出。这应该是不可能的,因为一开始存储是空的……
def discharge_capacity_rule(model, t):
return model.discharge[t] <= in_out_leistung
model.discharge_capacity_rule = Constraint(model.t, rule = discharge_capacity_rule)
def charge_capacity_rule(model, t):
return model.charge[t] <= in_out_leistung
model.charge_capacity_rule = Constraint(model.t, rule = charge_capacity_rule)
def max_capacity_rule(model, t):
return model.soe[t] <= battery_capacity
model.max_capacity_rule = Constraint(model.t, rule = max_capacity_rule)
def soe_start_rule(model, t):
return model.soe[0] == soe_start
model.soe_start_rule = Constraint(rule = soe_start_rule)
def soe_end_rule(model, t):
return model.soe[n] == model.soe[0]
model.soe_end_rule = Constraint(rule = soe_end_rule)
def soe_rule(model, t):
if t == 0:
return model.soe[t] == soe_start
else:
return model.soe[t] == model.soe[t-1] + (model.charge[t] * in_out_efficiency) - (model.discharge[t] / in_out_efficiency)
model.soe_rule = Constraint(model.t, rule = soe_rule)
【问题讨论】:
-
一个快速的解决办法可能就是说如果 t = 0 存储不能被释放。不确定这是否是最好的方法......
标签: python optimization pyomo