Решатели Toolbox™ оптимизации используют допуски, чтобы решить, когда прекратить итерацию и измерить качество решения. См. раздел Допуски и критерии остановки.
Для четырех наиболее важных допусков в этом разделе описываются относительные допуски, означающие масштаб в некотором смысле с размером или значениями задачи, и абсолютные, означающие, не масштабирующие проблему. В следующей таблице:
R означает относительный.
А означает Абсолют.
. означает неприменимое.
A * означает абсолютное значение при проверке допусков; однако предварительная обработка может в некоторой степени масштабировать записи, поэтому допуски могут считаться относительными.
A *, R означает, что ограничения сначала проверяются как абсолютные. Если эта проверка пройдена, решатель возвращает флаг положительного выхода. Если эта проверка завершается неуспешно, ограничения проверяются как относительные. Если эта проверка пройдена, решатель возвращает положительный флаг выхода с «плохой осуществимостью». Если эта проверка завершается неуспешно, решатель возвращает отрицательный флаг выхода.
Допуски по решателю и алгоритму
| Решающее устройство | Алгоритм | Допуск оптимальности | Допуск функции | Допуск шага | Допуск ограничения |
|---|---|---|---|---|---|
fmincon | 'interior-point' | R | . | R | R |
'sqp' | R | . | R | R | |
'sqp-legacy' | R | . | R | R | |
'active-set' | A | A | A | A | |
'trust-region-reflective' | A | R | A | . | |
fminunc | 'quasi-newton' | R | . | R | . |
'trust-region' | A | R | A | . | |
fminsearch | . | A | A | . | |
fminbnd | . | A | R | . | |
fseminf | A | A | A | A | |
fgoalattain | A | A | A | A | |
fminimax | A | A | A | A | |
linprog | 'dual-simplex' | * | . | . | A *, R |
'interior-point' | R | . | . | R | |
'interior-point-legacy' | R | . | . | . | |
intlinprog | * | . | . | A *, R | |
quadprog | 'interior-point-convex' | R | . | R | R |
'trust-region-reflective', границы | A | R | A | . | |
'trust-region-reflective', линейные равенства | . | . | . | . | |
'active-set' | R | . | A | R | |
coneprog | R | R | |||
lsqlin | 'interior-point' | R | . | R | R |
'trust-region-reflective' | A | R | A | . | |
lsqnonneg | . | . | R | . | |
lsqnonlin | 'trust-region-reflective' | A | R | A | . |
'levenberg-marquardt' | R | R | R | . | |
lsqcurvefit | 'trust-region-reflective' | A | R | A | . |
'levenberg-marquardt' | R | R | R | . | |
fsolve | 'trust-region-dogleg' | A | R | R | . |
'trust-region' | A | R | A | . | |
'levenberg-marquardt' | R | R | R | . | |
fzero | . | . | R | . |