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
возвращает приближение из разреженного алгоритма конечного различия на градиентах.
Этот Гессиан точен для следующего-последнего итерата. Однако следующая итерация может оказаться не близкой к конечной точке.
The trust-region
алгоритм возвращает Hessian при следующей до последней итерации эффективности. 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
функция. Для получения дополнительной информации см. Trust- Области Отражающий Алгоритм вfmincon
options
.
В противном случае, fmincon
возвращает приближение из разреженного алгоритма конечного различия на градиентах.
Этот Гессиан точен для следующего-последнего итерата. Однако следующая итерация может оказаться не близкой к конечной точке.
The trust-region-reflective
алгоритм возвращает Hessian при следующей до последней итерации эффективности. fmincon
использует Гессиан внутренне, чтобы вычислить его следующий шаг. Когда fmincon
достигает условия остановки, ему не нужно вычислять следующий шаг и, следовательно, не вычисляет Гессиан.
interior-point
Алгоритм
Если на HessianApproximation
опция 'lbfgs'
или 'finite-difference'
, или если вы поставляете HessianMultiplyFcn
функция, fmincon
возвращает []
для Гессиана.
Если на HessianApproximation
опция 'bfgs'
(по умолчанию), fmincon
возвращает квазиньютоновское приближение к Гессиану в конечной точке. Этот Гессиан может быть неточным, подобным active-set
или sqp
алгоритм Гессиана.
Если на HessianFcn
опция является указателем на функцию, fmincon
возвращает эту функцию в качестве Гессиана в конечной точке.