Мне интересно, как правильно ограничить переменную Pyomo определенным интервалом или нулевым значением, которое находится за пределами интервала.
В качестве примера: я хотите оптимизировать использование модели отопительного агрегата.Отопление, запуск которого разрешен только, например. при мощности от 6 до 8 кВт или вообще не работать (т. е. 0 кВт).
Я мог бы добавить границы
Код: Выделить всё
model.Heating = Var(model.Time, bounds=(min_heating, max_heating))
для интервала от 6 до 8 кВт, но тогда ноль выходит за эти пределы и задача становится невыполнимой, так как модель всегда должна использовать нагреватель и температура выйдет за пределы разрешенный диапазон системы. Также я не знаю, есть ли способ добавить ограничение, которое решит эту проблему, потому что я столкнулся с проблемой, заключающейся в том, что я не могу использовать логические выражения, чтобы проверить, например, if model.Heating[t] == 0, а затем пропустить ограничение или, если оно не будет равно нулю, ограничить его определенным интервалом.
Как правильно установить такое ограничение?
Подробнее здесь:
https://stackoverflow.com/questions/787 ... d-interval