Итерации и функциональные количества

В общем случае решатели Optimization Toolbox™ выполняют итерации, чтобы найти оптимум. Решатель начинает в начальном значении x 0, выполняет некоторые промежуточные вычисления, которые в конечном счете приводят к новой точке x 1, и затем повторяет процесс, чтобы найти последовательные приближения x 2, x 3... локального минимума. Обработка остановок после некоторого количества итераций k.

Можно ограничить количество итераций или функционировать количества путем установки MaxIterations или MaxFunctionEvaluations опции для использования решателя optimoptions. Или, если вы хотите, чтобы решатель продолжился после достижения одного из этих пределов, повысьте значения этих опций. См. Опции Набора и Изменения.

На любом шаге промежуточные вычисления могут включить выполнение целевой функции, и любые ограничения в точках около тока выполняют итерации xi. Например, решатель может оценить градиент конечными разностями. В каждой соседней точке, функциональное количество (F-count) увеличения одним. Типичная Итерация фигуры в трехмерном пространстве показывает, что в трехмерном пространстве с прямыми конечными разностями дельты размера одна итерация обычно соответствует увеличению функционального количества четыре. На рисунке ei представляет единичный вектор в i th координатное направление.

Типичная итерация в трехмерном пространстве

  • Если проблема не имеет никаких ограничений, F-count сообщает общее количество оценок целевой функции.

  • Если проблема имеет ограничения, F-count отчеты только число точек, где вычисления функции произошли, не общее количество оценок ограничительных функций. Так, если проблема имеет много ограничений, F-count может значительно быть меньше общего количества вычислений функции.

Иногда решатель делает попытку шага и отклоняет попытку. trust-region, trust-region-reflective, и trust-region-dogleg алгоритмы считают эти неудачные попытки как итерации и сообщают о (неизменном) результате в итеративном отображении. interior-point, active-set, и levenberg-marquardt алгоритмы не считают неудачные попытки как итерации и не сообщают о попытках в итеративном отображении. Все предпринятые шаги увеличивают F-count, независимо от алгоритма.

F-count заголовок в итеративном отображении для многих решателей. Для примера смотрите, Интерпретируют Результат.

F-count появляется в структуре output как output.funcCount, то, чтобы позволять вам получить доступ к количеству оценки программно. Для получения дополнительной информации смотрите Структуры output.

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

Похожие темы