対応サンプラー
Tunny では複数のサンプリング手法を利用できます。
下記の表は、各サンプラーが対応している最適化の種類をまとめたものです。 なお、Tunny の UI は問題の種類に応じて利用可能な手法を自動的に表示します。
| 名前 | 単目的 | 多目的 | 制約あり | Human-in-the-loop |
|---|---|---|---|---|
| AUTO Sampler | ✓ | ✓ | ✓ | |
| TPE | ✓ | ✓ | ✓ | ✓ |
| cTPE | ✓ | ✓ | ||
| GP-Optuna | ✓ | ✓ | ✓ | |
| GP-BoTorch | ✓ | ✓ | ✓ | |
| GP-Preferential | ✓ | |||
| HEBO | ✓ | ✓ | ✓ | |
| TuRBO | ✓ | |||
| CARBO | ✓ | ✓ | ||
| Robust GP | ✓ | |||
| NSGA-II | ✓ | ✓ | ✓ | |
| NSGA-III | ✓ | ✓ | ✓ | |
| MOEA/D | ✓ | |||
| DE | ✓ | |||
| SPEA-II | ✓ | ✓ | ||
| HypE | ✓ | |||
| CMA-ES | ✓ | |||
| MO-CMA-ES | ✓ | |||
| INGO | ✓ | |||
| PSO | ✓ | |||
| GreyWolf | ✓ | |||
| Whale | ✓ | |||
| Random | ✓ | ✓ | ||
| QMC | ✓ | ✓ | ||
| BruteForce | ✓ | ✓ |
各サンプリング手法の具体的な特性は以下のとおりです。
| 名前 | 種類 | 説明 |
|---|---|---|
| AUTO Sampler | 自動 | 問題の特性(目的関数の数、制約条件、変数の種類)に基づいて最適なサンプラーを自動選択します。初めてお使いの方や、どのサンプラーを選ぶべきか迷っている場合にお勧めです。 |
| TPE | ベイズ最適化 | Tree-structured Parzen Estimator。NSGA-II と並んで最も汎用性の高い手法の一つです。確率モデルを構築して探索空間を効率的に探索します。評価コストが高い関数や、混合型パラメータを含む高次元問題に優れた性能を発揮します。 |
| cTPE | ベイズ最適化 | 制約処理を強化した Constrained TPE です。制約違反を目的関数とともに明示的にモデル化します。通常の TPE が制約条件の充足に苦戦する場合や、厳格な制約要件がある場合に適しています。 |
| GP-Optuna | ベイズ最適化 | Optuna 実装のガウス過程です。GP-BoTorch より高速でありながら良好な最適化品質を維持します。不確実性の推定が可能で、適度な次元数の滑らかな連続目的関数に適しています。 |
| GP-BoTorch | ベイズ最適化 | Facebook の BoTorch ライブラリを使用したガウス過程です。高度な獲得関数と最先端アルゴリズムを備えた高い柔軟性を持ちます。処理速度は遅いものの、最適化品質が優れています。速度よりも品質を重視する場合に最適です。 |
| GP-Preferential | ベイズ最適化 | Human-in-the-loop 最適化専用に設計されています。数値的な目的関数ではなく、ユーザーの好みや一対比較から学習します。美的センスや主観的な品質評価に基づくデザイン最適化に適しています。 |
| HEBO | ベイズ最適化 | Heteroscedastic Evolutionary Bayesian Optimization。高度に非線形かつ多峰性の問題に優れた最先端アルゴリズムです。進化的戦略とベイズ最適化を組み合わせ、複雑な景観での高速収束を実現します。多目的最適化および Human-in-the-loop 最適化にも対応しています。 |
| TuRBO | ベイズ最適化 | Trust Region を用いたベイズ最適化です。局所的な信頼領域を使用することで、高次元における大域的なベイズ最適化の限界を克服します。制限された領域内でサブ問題を解くことにより、複雑な高次元空間での効率的な最適化を実現します。 |
| CARBO | ベイズ最適化 | Constrained Robust Bayesian Optimization of expensive noisy black-box functions。制約とノイズを同時に扱い、後悔上限を保証します。測定にノイズがあり、制約条件を満たす必要がある実際の工学的問題に適しています。 |
| Robust GP | ベイズ最適化 | Input Noise に対してロバストなガウス過程ベースのベイズ最適化です。最適化中に入力変数の不確実性を考慮します。変数設定に測定誤差や実行誤差が含まれる場合に、信頼性の高い最適化結果を提供します。 |
| NSGA-II | 進化的アルゴリズム | Non-dominated Sorting Genetic Algorithm II。Wallacei でも使用されている汎用性の高い手法です。非支配ソートと混雑距離を使用して多様性を維持します。多様なパレートフロントが必要な 2〜3 目的の問題にお勧めです。 |
| NSGA-III | 進化的アルゴリズム | 多目的最適化(3 目的以上)向けに拡張された NSGA-II です。参照点を使用して高次元目的空間での多様性を維持します。NSGA-II と比較して、4 目的以上での収束性と多様性が優れています。 |
| MOEA/D | 進化的アルゴリズム | Multi-Objective EA based on Decomposition。スカラー化を用いて多目的問題を単目的サブ問題に分解します。3 目的の問題に効率的で、良好な計算性能と均等分布したパレートフロントを実現します。 |
| DE | 進化的アルゴリズム | Differential Evolution。ベクトル差分を利用した頑健な大域的最適化手法です。多数の局所最適解を持つ連続非微分可能関数に有効です。複雑な適合度ランドスケープに対してシンプルながら強力な手法です。 |
| SPEA-II | 進化的アルゴリズム | Strength Pareto Evolutionary Algorithm II。強度ベースの適合度割り当てと外部アーカイブにより優秀な解を維持します。均等に分布したパレートフロントを生成し、単目的・多目的の両問題に有効です。 |
| HypE | 進化的アルゴリズム | 多目的最適化のためのハイパーボリューム推定アルゴリズムです。ハイパーボリューム寄与度を選択基準として使用し、均等に分布したパレート最適解を探索します。パレートフロントの広い範囲をカバーする必要がある問題に特に有効です。 |
| CMA-ES | 進化的戦略 | Covariance Matrix Adaptation Evolution Strategy。単目的連続最適化において最も強力な手法の一つです。共分散行列を適応させることで問題の構造を学習します。自己適応型の探索分布により、滑らかな問題で非常に速い収束を実現します。 |
| MO-CMA-ES | 進化的戦略 | CMA-ES の多目的拡張版です。異なるパレートフロント領域に対して複数の探索分布を維持します。滑らかなランドスケープでの 2〜3 目的の問題に対して高速収束します。関数評価を効率的に利用できます。 |
| INGO | 進化的戦略 | Implicit Natural Gradient Optimizer。情報幾何学と自然勾配法を使用した効率的な単目的最適化手法です。関数評価数が限られた、構造が明確な問題での高速収束に適しています。 |
| PSO | 群知能 | Particle Swarm Optimization。群れを成す鳥の社会的行動を模倣した自然着想アルゴリズムです。各粒子は自身のベスト位置と群全体のベスト位置に影響されながら探索空間を移動します。 |
| GreyWolf | 群知能 | Grey Wolf Optimizer。オオカミの狩猟行動と社会的階層に着想を得た手法です。リーダーシップ階層(アルファ、ベータ、デルタ、オメガ)を使用して群れを最適解へ導きます。連続単目的問題に有効です。 |
| Whale | 群知能 | Whale Optimization Algorithm。ザトウクジラのバブルネット捕食戦略を模倣したバイオインスパイア型アルゴリズムです。活用(バブルネット攻撃)と探索(ランダム探索)の両フェーズを持ち、頑健な単目的最適化を実現します。 |
| Random | サンプリング | 一様分布による純粋なランダムサンプリングです。最適化戦略はありません。ベースライン性能の測定、初期探索、多様な個体群の生成、テスト目的に有用です。偏りのない探索空間の探索を提供します。 |
| QMC | サンプリング | 低食い違い量列(例: Sobol)を使用した準モンテカルロ法です。ランダムサンプリングよりも均等な分布でより広い空間をカバーします。クラスタリングが少なく、より効率的な探索が可能です。実験計画法や感度分析に有効です。 |
| BruteForce | サンプリング | 離散変数のすべての組み合わせを網羅的に評価します。離散問題では大域的最適解の発見を保証しますが、小さな探索空間でのみ現実的です。計算コストは指数関数的に増加するため、使用には注意が必要です。 |