Гессиан Выход

Возвращенный гессиан

fmincon и fminunc решатели возвращают аппроксимированный Гессиан как дополнительный выход:

[x,fval,exitflag,output,grad,hessian] = fminunc(fun,x0)
% or
[x,fval,exitflag,output,lambda,grad,hessian] = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon)

В этом разделе описываются значение возвращенного Гессиана и точность, которую можно ожидать.

Можно также задать тип Гессиана, который решатели используют в качестве аргументов входа Hessian. Для fmincon, смотрите Гессиан как Вход. Для fminunc, смотрите Включая Градиенты и Гессианы.

fminunc Гессиан

Гессиан для неограниченной проблемы является матрицей вторых производных целевой функции f:

Hessian Hij=2fxixj.

  • Алгоритм квазиньютонаfminunc возвращает предполагаемую матрицу Гессиана в решении. fminunc вычисляет оценку конечных разностей, таким образом, оценка обычно точна.

  • Алгоритм доверительной областиfminunc возвращается матрица Гессиана в предпоследнем выполняют итерации.

    • Если вы предоставляете Гессиан в целевой функции и устанавливаете HessianFcn опция к 'objective', fminunc возвращает этот Гессиан.

    • Если вы предоставляете HessianMultiplyFcn функция, fminunc возвращает Hinfo матрица от HessianMultiplyFcn функция. Для получения дополнительной информации смотрите HessianMultiplyFcn в trust-region раздел fminunc options таблица.

    • В противном случае, fminunc возвращает приближение в разреженный алгоритм конечной разности на градиентах.

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

    Причина trust-region алгоритм возвращается, Гессиан в предпоследней точке для КПД. fminunc использует Гессиан внутренне, чтобы вычислить его следующий шаг. Когда fminunc достигает останавливающегося условия, оно не должно вычислять следующий шаг, не вычисляет Гессиан.

fmincon Гессиан

Гессианом для ограниченной проблемы является Гессиан функции Лагранжа. Для целевой функции f, нелинейный вектор ограничения неравенства c и нелинейный вектор ограничения равенства ceq, функция Лагранжа

L=f+iλici+jλjceqj.

λi является множителями Лагранжа; смотрите Меру оптимальности Первого порядка и Структуры множителя Лагранжа. Гессиан функции Лагранжа

H=2L=2f+iλi2ci+jλj2ceqj.

fmincon имеет четыре алгоритма, с несколькими опциями для Гессианов, как описано в области Доверия fmincon Отражающий Алгоритм, fmincon Активный Алгоритм Набора и fmincon Алгоритм Внутренней точки. fmincon возвращает следующее для Гессиана:

  • active-set или sqp Алгоритмfmincon возвращает приближение Гессиана, которое это вычисляет в предпоследнем, выполняют итерации. fmincon вычисляет приближение квазиньютона матрицы Гессиана в решении в ходе его итераций. Это приближение, в целом, не совпадает с истинным Гессианом в каждом компоненте, но только в определенных подпространствах. Поэтому Гессиан, что fmincon возвраты могут быть неточными. Для получения дополнительной информации active-set вычисление, см. Реализацию SQP.

  • trust-region-reflective Алгоритмfmincon возвращает Гессиан, который это вычисляет в предпоследнем, выполняют итерации.

    • Если вы предоставляете Гессиан в целевой функции и устанавливаете HessianFcn опция к 'objective', fmincon возвращает этот Гессиан.

    • Если вы предоставляете HessianMultiplyFcn функция, fmincon возвращает Hinfo матрица от HessianMultiplyFcn функция. Для получения дополнительной информации смотрите Доверительную область Отражающий Алгоритм в fmincon options.

    • В противном случае, fmincon возвращает приближение в разреженный алгоритм конечной разности на градиентах.

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

    Причина trust-region-reflective алгоритм возвращается, Гессиан в предпоследней точке для КПД. fmincon использует Гессиан внутренне, чтобы вычислить его следующий шаг. Когда fmincon достигает останавливающегося условия, оно не должно вычислять следующий шаг, не вычисляет Гессиан.

  • interior-point Алгоритм

    • Если HessianApproximation опцией является 'lbfgs' или 'finite-difference', или если вы предоставляете функцию умножения Гессиана (HessianMultiplyFcn), fmincon возвращается для Гессиана.

    • Если HessianApproximation опцией является 'bfgs' (значение по умолчанию), fmincon возвращает приближение квазиньютона в Гессиан в конечной точке. Этот Гессиан может быть неточным, как в active-set или sqp Гессиан алгоритма.

    • Если HessianFcn опция является указателем на функцию, fmincon возвращает эту функцию как Гессиан в конечной точке.

Похожие темы