В целом, решатели Optimization Toolbox™ итератируют, чтобы найти оптимум. Решатель начинает с начального значения x 0, выполняет некоторые промежуточные вычисления, которые в конечном счете приводят к новой точке x 1, а затем повторяет процесс, чтобы найти последовательные приближения x 2, x 3,... локального минимума. Обработка останавливается после того, как k некоторое количество итераций.
Можно ограничить количество итераций или отсчётов функций, установив MaxIterations
или MaxFunctionEvaluations
опции для решателя, использующего optimoptions
. Или, если вы хотите, чтобы решатель продолжил после достижения одного из этих пределов, поднимите значения этих опций. См. Раздел «Настройка и изменение опций».
На любом шаге промежуточные вычисления могут включать в себя оценку целевой функции и любых ограничений в точках около текущей итерационной xi. Для примера решатель может оценить градиент на конечные различия. В каждой ближайшей точке счетчик функции (F-count
) увеличивается на единицу. Рисунок Типичная итерация в трехмерном пространстве показывает, что в трехмерном пространстве с прямыми конечными различиями дельты размера одна итерация обычно соответствует увеличению числа функций на четыре. На рисунке e i представляет единичный вектор в i-м направлении координат.
Типичная итерация в трехмерном пространстве
Если задача не имеет ограничений, F-count
сообщает общее количество целевых вычислений функции.
Если задача имеет ограничения, F-count
сообщает только число точек, в которой проводились вычисления функции, а не общее количество вычислений ограничительных функций. Итак, если задача имеет много ограничений, F-count
может быть значительно меньше, чем общее количество вычислений функции.
Иногда решатель пытается сделать шаг и отвергает попытку. The trust-region
, trust-region-reflective
, и trust-region-dogleg
алгоритмы подсчитывают эти неудачные попытки как итерации и сообщают (без изменений) результат в итерационном отображении. The interior-point
, active-set
, и levenberg-marquardt
алгоритмы не подсчитывают неудачные попытки как итерации и не сообщают о попытках в итерационном отображении. Все предпринятые шаги увеличивают F-count
, независимо от алгоритма.
F-count
- заголовок в итерационном отображении для многих решателей. Для получения примера смотрите Interpret Результата.
The F-count
появляется в структуру output следующим образом output.funcCount
, что позволяет вам получить программный доступ к счетчику оценки. Для получения дополнительной информации см. раздел «Структуры output».