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)
Эта тема описывает значение возвращенного Гессиана и точность, которую можно ожидать.
Можно также задать тип Гессиана, который решатели используют в качестве аргументов входа Hessian. Для 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 Отражающий Алгоритм, fmincon Активный Алгоритм Набора и fmincon Алгоритм Внутренней точки.
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
возвращает эту функцию как Гессиан в конечной точке.