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

Программный интерфейс модели ограничений

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

Программный интерфейс модели декомпозирован на функциональные блоки, каждый из которых отвечает за отдельный аспект построения задачи: переменные, выражения, домены, ограничения, цель оптимизации и результат решения. Такая декомпозиция обеспечивает структурирование прикладного кода при работе со сложными моделями.

Начало работы

Рекомендуемый способ создания модели — через фасад О2.Модели, возвращающий менеджер соответствующего класса задач:

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

ПеременнаяX = Модель.Переменная("x");
ПеременнаяY = Модель.Переменная("y");

Модель.Ограничения().Соотношение("x + y = 10");
Модель.Максимизировать("x");

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

Альтернативно доступен универсальный метод О2.СоздатьМодель, которому тип модели передаётся явно. Этот вариант удобен, когда класс модели определяется динамически:

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

Состав раздела

См. также