Погрешности и критерий остановки

Количество итераций в оптимизации зависит от stopping criteria решателя. Эти критерии включают несколько tolerances, который можно установить. Обычно допуск является порогом, который, если пересечено, останавливает итерации решателя.

Установите допуски и другие критерии с помощью optimoptions, как объяснено в Опциях Набора и Изменения.

Совет

Обычно устанавливайте допуски, такие как OptimalityTolerance и StepTolerance быть много больше eps, и обычно выше 1e-14. Установка маленьких допусков не всегда приводит к точным результатам. Вместо этого решатель может не распознать, когда он сходился и может продолжить бесполезные итерации. Значение допуска, меньшее, чем eps эффективно, отключает то условие остановки. Этот совет не применяется к fzero, который использует значение по умолчанию eps для допуска TolX.

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

optimoptions отображает допуски. Например,

options = optimoptions('fmincon');
[options.OptimalityTolerance,options.FunctionTolerance,options.StepTolerance]
ans =

   1.0e-06 *

    1.0000    1.0000    0.0001

Можно также найти допуски по умолчанию в разделе опций страницы ссылки на функцию решателя.

  • StepTolerance является нижней границей на размере шага, означая норму (xi – x i +1). Если решатель пытается предпринять шаги, который меньше, чем StepTolerance, конец итераций. StepTolerance обычно используется в качестве родственника связанный, означающий конец итераций когда | (xi – x i +1) | <StepTolerance* (1 + |xi |), или подобная относительная мера.

  • Для некоторых алгоритмов FunctionTolerance является нижней границей на изменении в значении целевой функции во время шага. Для тех алгоритмов, если |f (xi) – f (x i +1) | <FunctionTolerance, конец итераций. FunctionTolerance обычно используется в качестве родственника связанный, означающий конец итераций когда |f (xi) – f (x i +1) | < FunctionTolerance* (1 + |f (xi) |), или подобная относительная мера.

    Примечание

    В отличие от других решателей, останавливается fminsearch, когда он удовлетворяет оба TolFun (функциональный допуск) и TolX (допуск шага).

  • OptimalityTolerance является допуском к мере по оптимальности первого порядка. Если мерой по оптимальности являются меньше, чем OptimalityTolerance, конец итераций. OptimalityTolerance может также быть родственником, привязал меру по оптимальности первого порядка. Мера по оптимальности первого порядка задана в Мере по Оптимальности Первого порядка.

  • ConstraintTolerance является верхней границей на значении любых ограничительных функций. Если решатель возвращает точку x с c (x) > ConstraintTolerance или |ceq (x) | > ConstraintTolerance, решатель сообщает, что ограничения нарушены в x. ConstraintTolerance может также быть связанным родственником.

    Примечание

    ConstraintTolerance действует по-другому по сравнению с другими допусками. Если ConstraintTolerance не удовлетворен (т.е. если значение ограничительной функции превышает ConstraintTolerance), решатель пытается продолжиться, если это не остановлено по другой причине. Решатель не останавливается просто, потому что ConstraintTolerance удовлетворен.

  • MaxIterations является привязанным количество итераций решателя. MaxFunctionEvaluations является привязанным количество функциональных оценок. Итерации и функциональные оценки обсуждены в Итерациях и Функциональных количествах.

Существует два других допуска, которые применяются к конкретным решателям: TolPCG и MaxPCGIter. Они относятся к предобусловленным шагам метода сопряженных градиентов. Для получения дополнительной информации смотрите Предобусловленный Метод сопряженных градиентов.

Существует несколько допусков, которые применяются только к алгоритму внутренней точки fmincon. Для получения дополнительной информации см. Алгоритм Внутренней точки в fmincon options.

Существует несколько допусков, которые применяются только к intlinprog. Смотрите, что Некоторые “Целочисленные” Решения Не Являются Целыми числами и Ответвлением и Связанный.

Похожие темы