Что такое суррогатная оптимизация?

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

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

Суррогатная оптимизация пытается найти глобальный минимум целевой функции с помощью немногих оценок целевой функции. Для этого алгоритм пытается сбалансировать процесс оптимизации между двумя голами: исследование и скорость.

  • Исследование, чтобы искать глобальный минимум.

  • Скорость, чтобы получить хорошее решение в немногих оценках целевой функции.

Алгоритм, как доказывали, сходился к глобальному решению для непрерывных целевых функций на ограниченных областях. Смотрите Гутманна [1]. Однако эта сходимость не быстра.

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

Для получения дополнительной информации surrogateopt алгоритм, см. Суррогатный Алгоритм Оптимизации.

Ссылки

[1] Гутманн, H.-M. Радиальный метод основной функции для глобальной оптимизации. Журнал Глобальной Оптимизации 19, Выпуск 3, 2001, стр 201–227. https://doi.org/10.1023/A:1011255519438

Смотрите также

Похожие темы