О2.СоздатьПараметрыПоиска
Формирует и возвращает структуру параметров поиска решения. Структура передаётся методу О2.РешитьМодель вторым аргументом и управляет выбором сервиса решателя, настройками ограничения поиска и параметрами лицензирования.
Синтаксис
О2.СоздатьПараметрыПоиска(Сервис, НастройкиРешателя, ПараметрыЛицензирования)
Параметры
- Сервис — Структура, Неопределено — Настройки подключения к сервису решателя. Если не указаны, используется локальный сервис. Формируется одним из методов модуля Сервисы:
- НастройкиРешателя — Структура, Неопределено —
Ограничения поиска, передаваемые решателю. Формируется методом СоздатьНастройкиРешателя. Поля структуры:
- ТипРешателя — ПеречислениеСсылка.О2_ТипыРешателей, Неопределено — явно выбираемый решатель. Если не указан, решатель выбирается автоматически по типу модели.
- ЛимитВремени — Число, Неопределено — допустимое число секунд на поиск решения. Значение
0илиНеопределеноозначает отсутствие лимита. - КоличествоПотоков — Число, Неопределено — максимальное количество потоков. Значение
0илиНеопределеноозначает использование всех доступных ядер процессора. - ДополнительныеНастройки — Соответствие — дополнительные настройки конкретного типа решателя:
- Ключ — Строка — имя настройки;
- Значение — Строка — значение настройки.
- ПараметрыЛицензирования — Структура, Неопределено —
Параметры использования коммерческой лицензии. Формируется методом СоздатьПараметрыЛицензирования. Поля структуры:
- КодЛицензиата — Строка, Неопределено — код получателя лицензии, указанный в лицензионном файле в поле
customerCode. Если не указан, применяются лимиты свободной лицензии.
- КодЛицензиата — Строка, Неопределено — код получателя лицензии, указанный в лицензионном файле в поле
Возвращаемое значение
- Структура — структура параметров поиска с полями:
- Сервис — Структура, Неопределено — переданный параметр;
- НастройкиРешателя — Структура, Неопределено — переданный параметр;
- ПараметрыЛицензирования — Структура, Неопределено — переданный параметр.
Описание
Метод используется для явного указания параметров решения. Если никакие параметры не требуются, вызов О2.РешитьМодель можно выполнять без второго аргумента — в этом случае применяются настройки по умолчанию.
Значения параметров ЛимитВремени и КоличествоПотоков могут ограничиваться типом используемой лицензии — явно заданные более высокие значения будут автоматически снижены до допустимых.
Для прикладных задач, чувствительных к отклику, всегда задавайте ЛимитВремени явно. Решатель вернёт лучшее найденное решение к моменту истечения лимита.
Пример
Полный набор параметров:
Сервис = О2.Сервисы().ВебСлужба(
Новый HTTPСоединение("solver.local", 4762)
);
Настройки = О2.СоздатьНастройкиРешателя(
60, // <-- ЛимитВремени
8, // <-- КоличествоПотоков
О2.ТипыРешателей().CLP() // <-- ТипРешателя
);
Лицензия = О2.СоздатьПараметрыЛицензирования("CUST-0001");
ПараметрыПоиска = О2.СоздатьПараметрыПоиска(Сервис, Настройки, Лицензия);
Решение = О2.РешитьМодель(Модель, ПараметрыПоиска);
Минимальный вариант — только лимит времени:
ПараметрыПоиска = О2.СоздатьПараметрыПоиска(
, // <-- Сервис по умолчанию (локальный)
О2.СоздатьНастройкиРешателя(30) // <-- лимит 30 секунд
);
Решение = О2.РешитьМодель(Модель, ПараметрыПоиска);
См. также
- РешитьМодель — применение параметров поиска;
- СоздатьНастройкиРешателя — настройки ограничения поиска;
- СоздатьПараметрыЛицензирования — параметры лицензии;
- Сервисы — настройки сервисов решателя.