exponenta event banner

Выход гессена

fminunc и fmincon решатели возвращают приблизительный гессен в качестве необязательного выходного сигнала.

[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)

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

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

fminunc Мешковина

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

Гессенская Hij=∂2f∂xi∂xj.

  • Алгоритм Квази-Ньютона - 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λi∇2ci+∑jλj∇2ceqj.

fmincon имеет несколько алгоритмов, с несколькими опциями для гессенов, как описано в fmincon Trust Region Reflective Algorithm, fmincon Active Set Algorithm и fmincon Interior Point Algorithm.

  • active-set, sqp, или sqp-legacy Алгоритм - 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 возвращает эту функцию как гессенскую в конечной точке.

Связанные темы