12

RelTol および AbsTol パラメーターの次の Matlab 定義を理解しようとしています。

RelTol — この許容誤差は、それぞれのサイズに対する誤差の尺度です。
ソリューション コンポーネント。大まかに言えば、全体の正解桁数を制御する
解の成分 (しきい値 AbsTol(i) より小さいものを除く)。デフォルトは、
1e-3、0.1% の精度に相当します。

AbsTol — AbsTol(i) は、i 番目の解の値がそれを下回るしきい値です。
コンポーネントは重要ではありません。絶対誤差公差が精度を決定します
解がゼロに近づくとき。

解がゼロに近づいたときに AbsTol が精度を決定する理由 (実際、私の問題の解が半径 7000 km の円軌道である場合、これは一致しません) と、RelTol がすべての解コンポーネントの正しい桁数を制御する理由がわかりません。 、しきい値 AbsTol(i) よりも小さいものを除きます。各公差を決定するための実際の式は何ですか? もっと簡単で分かりやすい定義を知りたいです。

4

1 に答える 1

14

最適化を実行するときは、いつ停止するかを決定する必要があります。ソリューションが十分に優れているかどうかを確認する 1 つの方法は、ソリューションがまだ大きく変化しているかどうかを確認することです。ソリューションの変化量を測定するには、相対変化 (% 変化) と絶対変化の 2 つの方法があります。

i5 の変化は、解が約 100000 の場合と約 1 の場合では非常に異なることを意味するため、相対的な変化をチェックするabs(1-x(i)/x(i-1))<relTolことは非常に理にかなっています。新しいソリューションは、最後の反復以降に変更されています。x同時に複数のパラメーターを最適化する場合は、ソリューションの配列になる可能性があることに注意してください(したがって、ソリューションには「複数のコンポーネント」があります)。もちろん、それ以上の最適化をやめる前に、すべての「ソリューション コンポーネント」に対して条件が満たされることを望んでいます。

x/0ただし、が定義されていないため、解がゼロ付近の場合、相対許容誤差が問題になります。したがって、値の絶対変化も見て、最適化を終了するのは理にかなっていますabs(x(i)-x(i-1))<absTolabsTol十分に小さいものを選択した場合、それはrelTol大きな解の場合にのみカウントされabsTolますが、解が 0 付近にある場合にのみ重要になります。

2 つの基準のいずれかが満たされるとソルバーが停止するため、(局所的に) 最適な解にどれだけ近づくかは、absTolまたはによって決まりrelTolます。たとえば、relTolが 10% の場合、解がほぼゼロでない限り、最適解に 10% よりも大きく近づくことはありません。この場合、absTol基準 (たとえば 0.0001) はrelTol基準の前に満たされます。

于 2012-01-23T04:58:47.650 に答える