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

Менеджер ограничений

Менеджер ограничений О2_CP_SAT_МенеджерОграничений предоставляет методы формализации условий, которым должно удовлетворять решение модели. Ограничения являются основным средством описания предметной области задачи и определяют множество допустимых решений.

Ссылка на менеджер возвращается методом Ограничения() объекта модели:

Модель = О2.СоздатьМодель();
Ограничения = Модель.Ограничения();

Большинство методов менеджера возвращают сам менеджер, что позволяет строить цепочки вызовов:

Модель.Ограничения()
.Соотношение("x + y <= 10")
.ЗначениеБольше("x", "0")
.ВсеРазличные(О2.Утилиты().Массив("x", "y", "z"));

Параметр «Условия»

Параметр Условия присутствует в большинстве методов менеджера. Он позволяет сделать ограничение условным: ограничение проверяется только тогда, когда булево выражение (или все выражения в массиве) принимает значение Истина. Если параметр не передан, ограничение является безусловным.

Параметр принимает одно из значений:

  • Неопределено — ограничение является обязательным;
  • ФиксированнаяСтруктура — одно булево выражение; ограничение проверяется, когда выражение принимает значение Истина;
  • Массив из ФиксированнаяСтруктура — набор булевых выражений, объединённых логическим «И».

Группы ограничений

См. также