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:
Алгоритм квазиньютона — 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 Отражающий Алгоритм, 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 возвращает эту функцию как Гессиан в конечной точке.