Перейти к основному содержимому

О2_CP_SAT_МенеджерПредположений.Добавить

Добавляет временное ограничение, при котором указанное булево выражение принимает значение Истина. Основной способ вызова — через Модель.Предположения().Добавить(...).

Синтаксис

Модель.Предположения().Добавить(БулевоВыражение)

Параметры

Описание

Предположения позволяют решать одну и ту же модель, включая или отключая отдельные условные ограничения без перестройки модели. Связанные с булевым выражением ограничения применяются только пока предположение активно. Для сброса предположений используйте Очистить.

Доступ к менеджеру предположений осуществляется через Модель.Предположения().

Пример

ПеременнаяX = Модель.Переменные().Добавить("x");
ПеременнаяY = Модель.Переменные().Добавить("y");

СуммаМеньшеПяти = Модель.Переменные().ДобавитьБулеву();

// Ограничение проверяется, только если СуммаМеньшеПяти = Истина
Модель.Ограничения().Соотношение("x + y < 5", СуммаМеньшеПяти);

// Предполагаем, что сумма должна быть меньше пяти
Модель.Предположения().Добавить(СуммаМеньшеПяти);

Решение1 = Модель.Решить();

// Решить ту же модель без предположения
Модель.Предположения().Очистить();

Решение2 = Модель.Решить();

См. также