メインコンテンツ

許容誤差の詳細

Optimization Toolbox™ のソルバーは許容誤差を使用して、反復を停止するタイミングや解の質を測定するタイミングを決定します。許容誤差と停止条件を参照してください。

このセクションでは、最も重要な 4 つの許容誤差について、どの許容誤差が相対 (問題のサイズまたは値に応じてある程度スケーリングされる) で、どの許容誤差が絶対 (問題に応じてスケーリングされない) かを説明します。次の表では、

  • R は、相対を意味します。

  • A は、絶対を意味します。

  • . は、該当なしを意味します。

  • A* は、許容誤差をチェックした場合に絶対となることを意味します。ただし、前処理によってエントリがある程度スケーリングされることがあるため、その許容誤差は相対と見なされることがあります。

  • A*R は、制約が最初に絶対としてチェックされることを意味します。このチェックにパスすると、ソルバーは正の終了フラグを返します。このチェックに失敗した場合、制約は相対としてチェックされます。このチェックにパスすると、ソルバーは正の終了フラグを返し、"実行可能性が低い" ことも示します。このチェックに失敗すると、ソルバーは負の終了フラグを返します。

ソルバーとアルゴリズムごとの許容誤差

ソルバーアルゴリズム最適性の許容誤差関数の許容誤差ステップの許容誤差制約の許容誤差
fmincon"interior-point"R.RR
"sqp"R.RR
"sqp-legacy"R.RR
"active-set"AAAA
"trust-region-reflective"ARA.
fminunc"quasi-newton"R.R.
"trust-region"ARA.
fminsearch .AA.
fminbnd .AR.
fseminf AAAA
fgoalattain AAAA
fminimax AAAA
linprog"dual-simplex"A*..A*R
"interior-point"R..R
"interior-point-legacy"R...
intlinprog A*..A*R
quadprog"interior-point-convex"R.RR
"trust-region-reflective"、範囲ARA.
"trust-region-reflective"、線形等式....
"active-set"R.AR
coneprog R  R
lsqlin"interior-point"R.RR
"trust-region-reflective"ARA.
lsqnonneg ..R.
lsqnonlin"trust-region-reflective"ARA.
"levenberg-marquardt"RRR.
lsqcurvefit"trust-region-reflective"ARA.
"levenberg-marquardt"RRR.
fsolve"trust-region-dogleg"ARR.
"trust-region"ARA.
"levenberg-marquardt"RRR.
fzero ..R.

参考

トピック