Создание объекта модели
Объект модели — пустой контейнер. В него последовательно регистрируются переменные, ограничения и целевая функция. Подкласс модели — LP, IP или MIP — выбирается при создании объекта и далее не меняется.
Создание модели через фасад
Рекомендуемый способ — фасад менеджера моделей. Подкласс выбирается явно, поэтому класс задачи виден прямо в коде:
- LP — непрерывная
- IP — целочисленная
- MIP — смешанно-целочисленная
Модель = О2
.Модели()
.ЛинейнаяНепрерывнаяМодель()
.СоздатьМодель();
Модель = О2
.Модели()
.ЛинейнаяЦелочисленнаяМодель()
.СоздатьМодель();
Модель = О2
.Модели()
.ЛинейнаяСмешанноЦелочисленнаяМодель()
.СоздатьМодель();
Свойство Модели() возвращает менеджер всех поддерживаемых классов моделей. Методы ЛинейнаяНепрерывнаяМодель(), ЛинейнаяЦелочисленнаяМодель(), ЛинейнаяСмешанноЦелочисленнаяМодель() дают менеджеры соответствующих подклассов. Метод СоздатьМодель() возвращает объект модели.
Создание модели через универсальный конструктор
Если подкласс модели определяется динамически — например, по настройке прикладной задачи или по составу входных данных — применяется универсальный конструктор менеджера библиотеки:
- LP — непрерывная
- IP — целочисленная
- MIP — смешанно-целочисленная
Модель = О2.СоздатьМодель(
О2.ТипыМоделей().ЛинейнаяНепрерывнаяМодель()
);
Модель = О2.СоздатьМодель(
О2.ТипыМоделей().ЛинейнаяЦелочисленнаяМодель()
);
Модель = О2.СоздатьМодель(
О2.ТипыМоделей().ЛинейнаяСмешанноЦелочисленнаяМодель()
);
Если подкласс известен на этапе разработки, предпочтительнее фасадный путь. Он явно отражает класс задачи и устраняет промежуточную ссылку на тип модели.
Параметры модели
При создании модели можно передать структуру параметров — имя модели, дополнительные опции. Состав полей и значения по умолчанию приведены в разделе Программный интерфейс — Линейные модели.