О2_CP_SAT_МенеджерПредположений.Добавить
Добавляет временное ограничение, при котором указанное булево выражение принимает значение Истина. Основной способ вызова — через Модель.Предположения().Добавить(...).
Синтаксис
Модель.Предположения().Добавить(БулевоВыражение)
Параметры
- БулевоВыражение — ФиксированнаяСтруктура, Булево — значение, которое будет установлено в
Истина. Допускаются:- булевы переменные (см. ДобавитьБулеву);
- булевы константы (см. ЗначениеИстина, ЗначениеЛожь);
- отрицание перечисленных выше значений (см. Отрицание).
Описание
Предположения позволяют решать одну и ту же модель, включая или отключая отдельные условные ограничения без перестройки модели. Связанные с булевым выражением ограничения применяются только пока предположение активно. Для сброса предположений используйте Очистить.
Доступ к менеджеру предположений осуществляется через Модель.Предположения().
Пример
ПеременнаяX = Модель.Переменные().Добавить("x");
ПеременнаяY = Модель.Переменные().Добавить("y");
СуммаМеньшеПяти = Модель.Переменные().ДобавитьБулеву();
// Ограничение проверяется, только если СуммаМеньшеПяти = Истина
Модель.Ограничения().Соотношение("x + y < 5", СуммаМеньшеПяти);
// Предполагаем, что сумма должна быть меньше пяти
Модель.Предположения().Добавить(СуммаМеньшеПяти);
Решение1 = Модель.Решить();
// Решить ту же модель без предположения
Модель.Предположения().Очистить();
Решение2 = Модель.Решить();