拡張#
ODAT-SE は、順問題ソルバー Solver と探索アルゴリズム Algorithm を組み合わせて逆問題を解くフレームワークです。
定義済みの Solver や Algorithm に加えて、ユーザーが独自のものを定義して利用できます。
flowchart LR
A["<b>Algorithm</b><br/>(探索)"] -->|"パラメータ x を提案"| R["<b>Runner</b><br/>(仲介)"]
R -->|"座標変換・制約チェック"| S["<b>Solver</b><br/>(目的関数)"]
S -->|"f(x) を計算"| R
R -->|"f(x) を返す"| A
本章では、最も一般的なユースケースである 独自のソルバーを追加する方法 をチュートリアル形式で解説した後、 APIの詳細を説明します。
- チュートリアル: 独自ソルバーの追加
独自の目的関数を ODAT-SE で最適化するチュートリアルです。コピペして動かせる完全な例を用いて、ファイル作成から実行・結果確認までの手順を説明します。プログラムに不慣れな方はまずこちらをお読みください。
- Solver の定義
Solverクラスの API リファレンスです。SolverBaseを継承してevaluateメソッドを実装する方法を詳しく解説します。- Algorithm の定義
Algorithmクラスの API リファレンスです。独自の探索アルゴリズムを定義する方法を解説します。- 共通事項
Info,Runner,Mapping,Limitationなどの共通クラスと、初期化関数odatse.initialize, MPI アクセサodatse.mpiの説明です。- 実行方法
カスタム Solver / Algorithm を組み合わせて実行する際のコード例です。
- API リファレンス
ソースコードの docstring から自動生成された全公開 API のリファレンスです。 本章で扱わないモジュール (
odatse.util.*,odatse.domain.*,odatse.mpiなど) の仕様はこちらを参照してください。