固定数のRHS評価のための最適なODEメソッド


14

実際には、IVPを数値的に解く実行時間 は多くの場合、右辺(RHS)の評価期間によって支配されます。したがって、他のすべての操作は即時であると仮定します(つまり、計算コストなし)。IVPを解決するための全体的な実行時間が制限されている場合、これはの評価回数制限に相当するいくつかの。X T 0= X 0 F F N N

x˙(t)=f(t,x(t)) for t[t0,t1]
x(t0)=x0
ffNN

最終値のみ関心があります。x(t1)

このような設定で最適なODEメソッドを選択するのに役立つ理論的および実用的な結果を探しています。

たとえば、場合、幅明示的な2つのオイラーステップまたはミッドポイント法を使用した幅 1つのステップを使用してIVPを解くことができます。どちらが望ましいかはすぐにはわかりません。大きい場合は、もちろん、マルチステップメソッド、反復ルンゲクッタスキームなどについても考えることができます。t 1t 0/ 2 t 1t 0 NN=2(t1t0)/2t1t0N

私が探しているのは、たとえば求積ルールの場合に存在する結果と同様の結果です。求積ルール\ sum_ {i =になるように、重みと関連点\ {x_i \}を選択できます。1} ^ n w_i g(x_i)は、deg(g)\ le 2n-1となるすべての多項式gに対して正確です。{ W I } { X I } Σ N iは= 1 wは、I G X IG D EのG G 2 N - 1n{wi}{xi}i=1nwig(xi)gdeg(g)2n1

したがって、RHS fの許可された評価の数が限られている場合、ODEメソッドのグローバル精度の上限または下限を探していfます。境界がRHSの一部のクラスのみに当てはまる場合、または解xに追加の制約を課す場合は問題ありませんx(ある程度まで多項式のみに当てはまる求積規則の結果のように)。

編集:いくつかの背景情報:これはハードリアルタイムアプリケーション用です。つまり、既知の期限までに結果x(t1)が利用可能でなければなりません。したがって、支配的なコスト要因としてのRHS評価数Nの制限N。通常、私たちの問題は硬く、比較的小さいものです。

EDIT2:残念ながら、正確なタイミング要件はありませんが、Nがかなり小さいと仮定するのは安全です(確実に<100、おそらく10に近い)。リアルタイムの要件を考えると、モデルの精度(RHSの実行時間が長くなり、したがってNが低くなるより良いモデルを使用N)とODEメソッドの精度(より高い精度を必要とするより良いメソッドを使用)のトレードオフを見つける必要がありますNのN)。


固定ステップRunge-KuttaメソッドとNewton-Cotesメソッドの通常の対応は、RKメソッドがIVPに適用される場合に適用されます。例えば、そのIVPに古典的な4次法を適用することは、シンプソンの規則を実行することと同等です。f x y=f(x)f(x)
JM

@JM:私はそれを知っています。関数評価の数が制限されている場合に、特定の入力セットの数値的手法の精度を特徴付ける例として、求積規則を使用することのみを意図しました。それとは別に、「真の」ODE、つまり標準的な統合に還元されないODEに興味があります。
フロリアンブラッカー

1
これはさらに面白くなってきています。現在、数自体は何の意味もありません。役立つと思われるのは、を知ることです。ここで、は積分区間の長さで、はに関するのリプシッツ定数です。これにより、問題が実際にどれほど硬いかがわかります。硬いと仮定すると、可能性のある候補は2次BDFメソッドです。λ N / T T λ F XNλN/TTλfx
デビッドケッチャソン

@DavidKetcheson:特定の問題に最適な方法よりも、特定の問題に適した方法を選択するための一般的なアプローチに興味があります。剛性とタイミングの要件が大きく異なる多数のモデルがあります。
フロリアンブラッカー

は評価するのに非常に費用がかかると言います。ヤコビアンを計算できますか?原理剛性を修正できる近似についてはどうですか?あなたの問題が非常に硬く、それを修正する方法がない場合、あなたは良い状態にありません。f
ジェドブラウン

回答:


7

あなたの質問に答えるための重要な参照はホセアとシャンピンによるこの論文であると思います。ここで背景を説明します。

一般に、IVPを数値的に積分するときに使用できるステップサイズは、安定性または精度によって制限される場合があります。安定性に関して最適なソルバーを選択する場合は、絶対安定性の領域を考慮する必要があります。ワンステップメソッドの場合、これは

S={zC:|P(z)|1}.

ここで、はメソッドの安定性関数です。たとえば、ヘアーらのテキストを参照してください。al。安定性に必要な条件は、ここで、はおよびヤコビアンの固有値に及ぶ)がステップサイズであることです。これは常に非線形問題の十分な条件ではありませんが、通常は経験則であり、実際に使用されます。λ H S λ F HP(z)λhSλfh

大きな安定したステップサイズを可能にする(明示的な)方法を見つける問題の広範な処置のために、参照安定多項式で鉱山のこの論文及び圧縮性流体シミュレーションのためのルンゲ・クッタ法の最適化にこれを

最大の安定したステップサイズで既に十分な精度が得られている場合は、安定性が問題になります。一方、ステップサイズは精度の要件によって制限される場合があります。通常行われるのは、ローカルエラー制御です。解は2つの方法を使用して計算され、それらの差は精度の低い方の誤差の推定値として使用されます。ステップサイズは、可能な限り所定の許容誤差を達成するように適応的に選択されます。

精度の効率を予測するには、2つの理論的尺度が重要です。1つ目は、メソッドの精度順序です。これは、ステップサイズを小さくしたときにエラーがゼロに近づく速度を示します。2つ目は精度効率指標です(上記の最初の文にリンクされているHoseaとShampineの論文を参照)。これはエラー用語に現れる定数を考慮し、同じ順序のメソッド間の比較を可能にします。

NodePyを使用して、幅広い方法の精度と安定性の効率を簡単かつ自動化された方法で計算できます(免責事項:NodePyは私が開発しました)。


ありがとうございました。ホセアとシャンピンによる論文は実に非常に興味深いものです。スティッフな問題に対して同様の結果を知っていますか?通常は暗黙的なメソッドを使用しますが、RHS評価の数にはアプリオリに制限がないため、私の場合はほとんど役に立ちません。
フロリアンブラッカー

硬直した問題については、このようなことは知りませんが、何かが存在するのではないかと疑っています。あなたが言うように、暗黙のメソッドを使用するときの質問はより微妙です。1つのアプローチは、Rosenbrockメソッドを使用することです。これは、スティッフな問題を適切に処理しますが、RHS評価の数は固定されています。
デビッドケッチャソン

6

安定性を考慮すると、必要な精度に必要な時間ステップよりも小さいタイムステップを選択することが必要になることが多いため、この方向には多くの結果がありません。そのため、結果は硬直した場合と硬直しない場合に分けられます。前者の場合、タイムステップとRHS評価の要件は一般に正確さによって管理されておらず、後者の場合は管理されています。

暗黙的なケースは、使用する必要があるRHS評価の数がはるかに明確ではないため、明示的な方法に焦点を当てます。これは、結果のシステムを解決する方法に完全に依存します。

非剛性システムの場合:

明示的なRunge-Kuttaメソッドには、一定の精度を達成するためにいくつのステージ(RHS評価)が必要かというステージ制限があります。4次以降、ステージの数は精度の次数を超え、格差は拡大し続けます。ブッチャーの大きなODE本:http : //books.google.com/books/about/Numerical_Methods_for_Ordinary_Different.html?id=opd2NkBmMxsC

これらの「存在しない」証拠のいくつかを説明するのに良い仕事をします。

求積規則の例は、Adams-bashforthなどのマルチステップタイプのメソッド、または現在ではスペクトル遅延補正メソッドと呼ばれるもののいずれかになります。adams-bashforthの場合、ステップごとに1つのRHS評価しか必要ありませんが、一般にこれらの方法の安定領域は非常に小さいため、RHS評価に関しては、同じランゲクッタ法と同じ量の作業を行うことになります。注文。

スペクトル遅延補正に関する論文は次のとおりです。

https://www.google.com/search?q=spectral+deferred+correction&aq=f&oq=spectral+deferred+correction&aqs=chrome.0.57j0l2j62.3336j0&sourceid=chrome&ie=UTF-8

これらの統合方法が標準の明示的方法に対してどのように機能するかはわかりません。直交ノードでソリューションの状態を保存するために多くの場合より多くのメモリを必要とするため、自分で使用したことはありません。

硬いシステムの場合:

「最適化された」タイムステッパーがありますが、残念ながらこれらがどれだけうまくいくかに関する正確な理論的結果は、いくつかの単純な場合に限られています(そして些細な作業ではないことが判明しました)。3つの標準結果は、ステージのRunge-Kuttaメソッドの場合、安定領域に含めることができる最も負の実軸は長さの間隔であり、含まれる最も虚数の軸は長さ、およびそれが含むことができる仮想軸に接する最大の円は半径持ちます(これらはすべて相互に排他的です)。2 S 2 S 1 SS2S2S1S


2
可変ステップ(または可変次数)メソッドを使用すると、固定ステップメソッドに固執するよりも効率的である場合があります。たとえば、Bulirsch-Stoerのような外挿法を使用することを検討できます。いくつかのステップでいくつかの評価を行い、それらのステップの結果から(表面上)より正確な推定値を作成します。
JM

本当です。実際のところ、最適な方法の多くは、ある意味で別のタイムステッパーの可変ステップバージョンと同等です。たとえば、ルンゲクッタチェブシェフは、可変タイムステップがチェビシェフポイントで適用されたフォワードオイラーと見なすことができます。
Reid.Atcheson

@JM:そのとおり。しかし、数値実験(可能性のあるアプローチの数が多いことを考えると、非常に複雑になる)を別にして、これらのアプローチの精度をRHS評価の数で判断する方法はありますか?
フロリアンブラッカー

@Florian、一般的ではありません。ローレンツの方程式を聞いたことがありますか?
JM

1
@JM:はい:)これが、精度が元の問題空間のサブセット(多項式)で測定される求積法の例に言及した理由です。特定のサブセットの問題に対してのみ有効な結果に満足しています。
フロリアンブラッカー

3

リードとデイビッドはすでに技術的な質問に答えていますが、とにかくそれについて何らかのコンテキストを提供したいと思います。今日、考えられるほとんどのODEについて、評価が無料であれば、ほとんどの優れたODEソルバーパッケージで本質的に完璧な精度()を本質的にすぐに達成できます。 f x 1014f(x)

もちろん例外もあります(非常に大きなシステム、非常に硬いシステム)が、コミュニティの一般的な感情は、「標準」システム用のODEソルバーの設計の問題は解決されたものであるということです。したがって、あなたが提起する質問はあまり興味深いものではないと思います。これは、もはや重要ではなくなったODEソルバー設計のコンポーネントに対処するものです。これは、主題に関する文献の不足を説明するかもしれません。


+1。誰かが効率的なODEソルバーについて尋ねるときはいつでも、彼らはPDEの半離散化または大きなn体問題から来るODEの巨大なシステムに興味があると思います。
デビッドケッチャソン

これが私の質問にどのように関係しているか説明していただけますか?評価f(x)が無料ではなく、評価の数が制限されるほど高価である場合に興味があるため、接続が表示されません。
フロリアンブラッカー

@DavidKetcheson:これはそうではありません。むしろ、弱いハードウェア(組み込みデバイス)では非常に厳しいタイミング要件(ハードリアルタイム)があります。ODEシステム自体は比較的小さいです。
フロリアンブラッカー

NNNN

NNN<1000

1

O(dim3)O(dim2)

そのため、最初のポイントは、RHSが基礎となる線形代数よりも本当に高価かどうかを確認することです。

2番目のポイント:「高価な」メソッド(明示的なRKメソッド)に基づくソルバーは、「安い」メソッド(明示的なマルチステップメソッド)よりも高速に実行される場合があることが文献から知られています。

要約すると、RHS評価のカウントだけを考慮すべきではないと思います。


N
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.