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:
Алгоритм Квази-Ньютона - fminunc возвращает оценочную матрицу Гессена в решении. fminunc вычисляет оценку по конечным разностям, так что оценка обычно точна.
Алгоритм области доверия - fminunc возвращает матрицу Гессена на итерате «следующий-последний».
Если в целевой функции указан гессен, установите HessianFcn опция для 'objective', fminunc возвращает этого гессенца.
Если вы поставляете HessianMultiplyFcn функция, fminunc возвращает значение Hinfo матрица из HessianMultiplyFcn функция. Дополнительные сведения см. в разделе HessianMultiplyFcn в trust-region в разделе fminunc
options таблица.
В противном случае fminunc возвращает аппроксимацию из алгоритма разреженных конечных разностей на градиентах.
Этот гессен точен для следующего-последнего итерата. Однако следующий-последний итерат может быть не близок к конечной точке.
trust-region алгоритм возвращает гессен на итерате «следующий-последний» для эффективности. fminunc использует гессен для вычисления следующего шага. Когда fminunc достигает условия остановки, ему не нужно вычислять следующий шаг и, следовательно, не вычисляет гессен.
fmincon МешковинаГессенец для стеснённой проблемы - гессенец лагранжиан. Для целевой функции f, вектора ограничений нелинейного неравенства c и вектора ограничений нелинейного равенства ceq лагранжиан равен
λ i - множители Лагранжа; см. Показатели оптимальности первого порядка и структуры множителей Лагранжа. Гессен Лагранжиан -
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 возвращает эту функцию как гессенскую в конечной точке.