【发布时间】:2018-07-22 16:56:00
【问题描述】:
假设我有一个 pyomo 约束 con1 的形式:
from pyomo.environ import *
model = ConcreteModel()
model.x_1 = Var()
model.x_2 = Var()
model.con1 = Constraint(expr=-exp(model.x_1) - model.x_2 <= 0)
我想操纵model.c1 的上限(通常是右手边),即减去一些值c。
我可以使用.upper() (.lower())-方法查询上(下)界,我发现
model.con1.set_value(model.con1.body <= model.con1.upper()-c)
似乎适用于<=-restrictions 和那个
model.con1.set_value(model.con1.body >= model.con1.lower()-c)
似乎适用于>=-restrictions。
我的方法是否有潜在的副作用(我目前不知道)?有没有更优雅的方式来操纵约束的右侧?
【问题讨论】:
标签: python mathematical-optimization pyomo