Я использую команду
var.setlb(var.bounds[0] - 1/2)
, чтобы вычесть 0.5
из нижней границы переменной pyomo var
и обновить границу этого значения.
Для переменных, чьим доменом является Integer, это работает точно так, как я и ожидал: меняется приватная переменная _lb
, как и переменная bounds[0]
.
Для переменных, чей домен является двоичным, это приводит к изменению закрытой переменной _lb
на -0.5
, но переменная bounds[0]
остается нетронутой.Я предполагаю, что это сделано намеренно, потому что двоичные переменные (в некотором смысле) должны оставаться двоичными.Однако сохранение разных значений в качестве границ для переменной, кажется, сбивает с толку.
Это частная переменная, которая, по-видимому, имеет значение для решателя (что я и хочу), но мне также нужно получить обновленные данные.позже в моем коде, что проблематично.
Был ли "более радикальный способ" изменить границы переменной?