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
возвращает эту функцию как Гессиан в конечной точке.