【发布时间】:2020-03-29 09:13:17
【问题描述】:
我有一个约束(稍微匿名):
def ex_rule(mod, t, p, s):
return mod.blah[t, p, s] == alpha[s] + \
beta[s] * ((1-mod.Q[t-Term[s], s]) ** 2) * \
(1 + (1/2) * ((1-mod.Q[t-2*Term[s], s]) ** 2) *
(1 + (1/2) * ((1-mod.Q[t-3*Term[s], s]) ** 2)))
model.ex = Constraint(T1, P, set_s, rule=ex_rule)
这会在模型文件中生成多行约束。一个特定的行是下面的行(对于 t=1、p=1、s=1、Term[1]=3、alpha[1] = .25 和 beta[1] = .15)。
blah[1,1,1] - (0.25 + 0.15*(1 - Q[-2,1])**2*(1 + 0.5*(1 - Q[-5,1])**2*(1 + 0.5*(1 - Q[-8,1])**2)))
我的主要问题是有人可以确认 Pyomo 只是删除了不必要的括号吗?所以我们可以相信 PEMDAS 正在工作,所以 X**2*Y 是作为 (X^2)*Y 而不是 X^(2*Y) 完成的?感谢您的帮助。
【问题讨论】:
标签: constraints parentheses pyomo