首页 > 解决方案 > 约束的储能优化 pyomo 分段线性表达式

问题描述

我正在用 pyomo 构建一个储能优化模型,并试图在其中制定一个分段线性表达式。我是 python 和 pyomo 的新手,所以我非常感谢一些帮助。

我想在模型中包含一个仅适用于我的决策变量的正值的约束。

到目前为止,该约束是:

def constraint_storage_level(model,t):
    return model.Q[t] == (model.Q[t-1]*model.loss) + model.q_net[t]*model.loss_dyn[t]*model.COP_factor[t]

这个想法是model.loss_dyn[t]只适用于正面model.q_net[t] 我认为我需要在这里使用分段线性表达式作为我的模型线性。我已经找到了该文档:https ://pyomo.readthedocs.io/en/stable/pyomo_modeling_components/Expressions.html 。

有人知道如何进行吗?

到目前为止,这是我试图包含的内容:

model.T = RangeSet(0, 35039)
model.q_net = Var(model.T, domain=Reals, bounds=(-100,100))
domain = [-100.,0.,0.,100]
f = [1., 1., 0.95, 0.95]

model.loss_dyn = Piecewise(model.T, model.q_net,
                     pw_pts=domain,
                     pw_constr_type='EQ',
                     f_rule=f,
                     pw_repn='INC',
                     unbounded_domain_var=True)

提前致谢!

标签: pythonpyomopiecewise

解决方案


推荐阅读