Менеджер ограничений
Менеджер ограничений О2_CP_SAT_МенеджерОграничений предоставляет методы формализации условий, которым должно удовлетворять решение модели. Ограничения являются основным средством описания предметной области задачи и определяют множество допустимых решений.
Ссылка на менеджер возвращается методом Ограничения() объекта модели:
Модель = О2.СоздатьМодель();
Ограничения = Модель.Ограничения();
Большинство методов менеджера возвращают сам менеджер, что позволяет строить цепочки вызовов:
Модель.Ограничения()
.Соотношение("x + y <= 10")
.ЗначениеБольше("x", "0")
.ВсеРазличные(О2.Утилиты().Массив("x", "y", "z"));
Параметр «Условия»
Параметр Условия присутствует в большинстве методов менеджера. Он позволяет сделать ограничение условным: ограничение проверяется только тогда, когда булево выражение (или все выражения в массиве) принимает значение Истина. Если параметр не передан, ограничение является безусловным.
Параметр принимает одно из значений:
- Неопределено — ограничение является обязательным;
- ФиксированнаяСтруктура — одно булево выражение; ограничение проверяется, когда выражение принимает значение
Истина; - Массив из ФиксированнаяСтруктура — набор булевых выражений, объединённых логическим «И».
Группы ограничений
- Ограничения значений
- Ограничения последовательностей
- Ограничения интервалов
- Ограничения булевых выражений
- Ограничения резервуаров
- Ограничения графов
- Ограничения конечных автоматов
- Модель