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

О2.СоздатьНастройкиРешателя

Формирует структуру настроек решателя: лимит времени, количество потоков и тип используемого решателя. Структура включается в параметры поиска как значение поля НастройкиРешателя.

Синтаксис

О2.СоздатьНастройкиРешателя(ЛимитВремени, КоличествоПотоков, ТипРешателя)

Параметры

  • ЛимитВремениЧисло, Неопределено — Допустимое число секунд на поиск решения. Значение 0 или Неопределено означает отсутствие лимита. Значение по умолчанию — 0. Может ограничиваться типом используемой лицензии.
  • КоличествоПотоковЧисло, Неопределено — Максимальное количество потоков, используемых для поиска решения. Значение 0 или Неопределено означает использование всех доступных ядер процессора. Значение по умолчанию — 0. Может ограничиваться типом используемой лицензии.
  • ТипРешателяПеречислениеСсылка.О2_ТипыРешателей, Неопределено — Конкретный решатель, который должен быть использован. Если не указан, выбор решателя выполняется автоматически по типу модели. Допустимые значения см. в разделе Типы решателей.

Возвращаемое значение

  • Структура — структура настроек решателя с полями:
    • ТипРешателяПеречислениеСсылка.О2_ТипыРешателей, Неопределено — переданный параметр;
    • ЛимитВремениЧисло, Неопределено — переданный параметр;
    • КоличествоПотоковЧисло, Неопределено — переданный параметр;
    • ДополнительныеНастройкиСоответствие — пустое соответствие для добавления специфичных настроек выбранного решателя:
      • КлючСтрока — имя настройки;
      • ЗначениеСтрока — значение настройки.

Описание

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

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

Рекомендация

Для большинства задач явная настройка ТипРешателя не требуется — автоматический выбор соответствует типу модели и обеспечивает разумное соотношение скорости и качества решения. Указывайте тип решателя только при необходимости воспроизвести конкретное поведение.

Пример

Только лимит времени:

Настройки = О2.СоздатьНастройкиРешателя(120); // <-- 2 минуты

Лимит времени и количество потоков:

Настройки = О2.СоздатьНастройкиРешателя(60, 4);

Полный набор параметров с дополнительной настройкой:

Настройки = О2.СоздатьНастройкиРешателя(
60,
8,
О2.ТипыРешателей().CLP()
);

Настройки.ДополнительныеНастройки.Вставить("log_search_progress", "true");

См. также