チュートリアル#

Cross-layer

具体的な最適化シナリオに対する実装例を示します。 単目的、多目的、制約、混合変数など、目的に合うページを選べます。 シナリオごとの実装例であり、構成の深さを前提にしません。

最適化シナリオ#

単目的最適化

アルゴリズム、サロゲートモデル、評価戦略を選び、評価コストの高い単目的問題をminimize()で解きます。

単目的最適化
多目的最適化

目的間にトレードオフのある問題を解き、パレートフロントを抽出します。

多目的最適化
制約付き最適化

不等式制約を定義し、実行不可能解の扱い方を制御します。

制約付き最適化
混合変数最適化

連続変数に加えて整数変数、カテゴリ変数を含む問題を解きます。

混合変数最適化
動的な切り替え

サロゲートの予測精度に応じて、評価戦略やSurrogateManagerを実行中に切り替えます。

サロゲート精度に応じた動的な切り替え
再現性とチェックポイント

長時間実行する最適化を再現可能かつ再開可能にします。

再現性とチェックポイント
進捗のログ記録

標準のloggingモジュールで、最適化の進捗を記録します。

進捗のログ記録
外部ライブラリとの連携

アダプターを通じて、scikit-learnとPyTorchのモデルをサロゲートとして、pymooの演算子、アルゴリズム、問題を組み込みます。

外部ライブラリの統合

構成と制御#

ビルトインコンポーネントの選択、低レベルAPIの構成、実行経路へのHookやCallbackの追加を扱います。 詳細な内容は各ガイドで扱い、ここでは概要とリンクを示します。

ビルトインコンポーネントを選んで差し替える

責務に対応するビルトインコンポーネントを選びます。

ビルトインコンポーネントを選んで差し替える
Optimizerを低レベルAPIで組み立てる

サロゲート込みの完全な構成、終了条件の組み合わせ、iterate() による世代ごとの取得を扱います。

Optimizerを低レベルAPIで組み立てる
Hook、Stage、Callbackを選ぶ

実行経路への追加と観測を選びます。

Hook、Stage、Callbackを選ぶ
高レベルAPIで最適化を実行する

高レベルAPIを使った最適化の実行とResultの読み方を確認します。

高レベルAPIで最適化を実行する
独自Componentを実装する

既存の契約に沿った独自Componentを実装し、登録してテストします。外部Operatorのnative移植も扱います。

既存の契約に独自Componentを追加する