约束的储能优化pyomo分段线性表达式

时间:2020-03-30 08:05:06

标签: python pyomo piecewise

我正在使用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)

谢谢!

0 个答案:

没有答案