宽容的细节
优化工具箱™求解器使用公差来决定何时停止迭代并测量解决方案质量。看到公差和停止标准.
对于四个最重要的容差,本节将描述哪些容差是相对的,即在某种意义上与问题的大小或值相关,哪些容差是绝对的,即不与问题相关。在下表中,
R是相对的。
一个是绝对的。
.意思是不适用的。
一个*当检查公差时,表示绝对;然而,预处理可以在一定程度上缩放条目,因此可以认为公差是相对的。
一个*,R意味着约束首先被检查为绝对。如果这个检查通过,求解器返回一个正的退出标志。如果检查失败,约束将作为相对检查。如果这个检查通过,求解器返回一个“可行性差”的正退出标志。如果检查失败,求解器返回一个负退出标志。
由求解器和算法计算公差
解算器 | 算法 | 最优公差 | 功能公差 | 一步宽容 | 约束宽容 |
---|---|---|---|---|---|
fmincon |
“内点” |
R | . | R | R |
“sqp” |
R | . | R | R | |
“sqp-legacy” |
R | . | R | R | |
“激活集” |
一个 | 一个 | 一个 | 一个 | |
“trust-region-reflective” |
一个 | R | 一个 | . | |
fminunc |
“拟牛顿” |
R | . | R | . |
“信赖域” |
一个 | R | 一个 | . | |
fminsearch |
. | 一个 | 一个 | . | |
fminbnd |
. | 一个 | R | . | |
fseminf |
一个 | 一个 | 一个 | 一个 | |
fgoalattain |
一个 | 一个 | 一个 | 一个 | |
fminimax |
一个 | 一个 | 一个 | 一个 | |
linprog |
对偶单纯形的 |
一个* | . | . | 一个*,R |
“内点” |
R | . | . | R | |
“interior-point-legacy” |
R | . | . | . | |
intlinprog |
一个* | . | . | 一个*,R | |
quadprog |
“interior-point-convex” |
R | . | R | R |
“trust-region-reflective” ,范围 |
一个 | R | 一个 | . | |
“trust-region-reflective” ,线性等式 |
. | . | . | . | |
“激活集” |
R | . | 一个 | R | |
coneprog |
R | R | |||
lsqlin |
“内点” |
R | . | R | R |
“trust-region-reflective” |
一个 | R | 一个 | . | |
lsqnonneg |
. | . | R | . | |
lsqnonlin |
“trust-region-reflective” |
一个 | R | 一个 | . |
“levenberg-marquardt” |
R | R | R | . | |
lsqcurvefit |
“trust-region-reflective” |
一个 | R | 一个 | . |
“levenberg-marquardt” |
R | R | R | . | |
fsolve |
“trust-region-dogleg” |
一个 | R | R | . |
“信赖域” |
一个 | R | 一个 | . | |
“levenberg-marquardt” |
R | R | R | . | |
fzero |
. | . | R | . |