更改pyomo模型中的变量范围

时间:2019-03-05 12:00:12

标签: python mathematical-optimization pyomo

我使用命令

var.setlb(var.bounds[0] - 1/2)

从pyomo变量0.5的下限减去var并将其边界更新为该值。

对于域为Integer的变量,其工作原理与我预期的完全相同:专用变量_lb会发生变化,变量bounds[0]也会发生变化。

对于域为二进制的变量,这将导致私有变量_lb更改为-0.5,但变量bounds[0]保持不变。我认为这是有意进行的,因为(在某种意义上)二进制变量应该保持二进制。但是,将不同的值存储为变量的界限似乎令人困惑。

这似乎对求解器很重要(这是我想要的),但是我还需要稍后在我的代码中检索更新的边界,这是有问题的。

是否存在“更彻底的方法”来更改变量的界限?

0 个答案:

没有答案