トップレベルのアルゴリズムのフローチャートを見ています。フローチャートの個々のステップのいくつかは、独自の詳細なフローチャートに値する場合があります。ただし、簡潔さを重視した公開論文では、多くの詳細が省略されていることがよくあります。「旧式」と見なされる標準的な内部最適化問題の詳細は、まったく提供されない場合があります。
一般的な考え方は、最適化アルゴリズムでは、一連の一般的に簡単な最適化問題の解決が必要になる場合があるということです。トップレベルのアルゴリズム内に3つまたは4つのレベルの最適化アルゴリズムがあることも珍しくありませんが、それらの一部は標準オプティマイザーの内部にあります。
(階層レベルの1つで)アルゴリズムをいつ終了するかを決定する場合でも、サイド最適化の問題を解決する必要があります。たとえば、非負制約の線形最小二乗問題を解いて、最適性を宣言するタイミングを決定するために使用されるKKT最適性スコアの評価に使用されるラグランジュ乗数を決定できます。
最適化の問題が確率的または動的である場合、最適化の階層レベルがさらに追加される可能性があります。
以下に例を示します。逐次二次計画法(SQP)。初期最適化問題は、問題のラグランジアンの二次近似である目的をもつ初期点から開始し、制約の線形化により、Karush-Kuhn-Tucker最適条件を繰り返し解くことによって処理されます。結果の二次計画(QP)が解かれます。解決されたQPには信頼領域の制約があるか、次の反復を見つけるために、現在の反復からQPの解まで線探索が実行されます。それ自体が最適化問題です。準ニュートン法を使用している場合、ラグランジアンのヘッセ行列に対する準ニュートン更新を決定するために最適化問題を解決する必要があります-通常、これはBFGSやSR1などの閉形式の公式を使用した閉形式最適化です しかし、数値の最適化である可能性があります。次に、新しいQPが解決されます。開始など、QPが実行不可能な場合、最適化問題が解決されて実行可能点が見つかります。一方、QPソルバー内で呼び出される内部最適化問題のレベルは1つまたは2つあります。各反復の終わりに、非負の線形最小二乗問題を解いて最適性スコアを決定する場合があります。等。
これが混合整数問題である場合、より高いレベルのアルゴリズムの一部として、この分岐全体が各分岐ノードで実行される可能性があります。同様にグローバルオプティマイザーの場合、ローカル最適化問題を使用してグローバル最適解の上限を作成し、次にいくつかの制約の緩和を行って下限最適化問題を作成します。1つの混合整数またはグローバル最適化問題を解決するために、分岐および境界からの数千または数百万もの「簡単な」最適化問題が解決される場合があります。
これにより、アイデアが得られるはずです。
編集:私の答えの後に質問に追加された鶏と卵の質問への応答:鶏と卵の問題がある場合、それは明確に定義された実用的なアルゴリズムではありません。私が挙げた例では、鶏と卵はありません。より高いレベルのアルゴリズムステップは、定義済みまたは既に存在する最適化ソルバーを呼び出します。SQPはQPソルバーを繰り返し呼び出してサブ問題を解決しますが、QPソルバーは元の問題よりも簡単な問題QPを解決します。さらに高いレベルのグローバル最適化アルゴリズムがある場合、SQPソルバーを呼び出してローカルの非線形最適化サブ問題を解決し、SQPソルバーはQPソルバーを呼び出してQPサブ問題を解決します。チキンと卵はありません。
注:最適化の機会は「どこでも」です。最適化アルゴリズムを開発している専門家などの最適化の専門家は、平均的なJoeやJaneよりも、こうした最適化の機会を見て、そのように見ている可能性が高くなります。そして、アルゴリズム的に傾いているため、当然ながら、低レベルの最適化アルゴリズムから最適化アルゴリズムを構築する機会があります。最適化問題の定式化と解決は、他の(より高いレベルの)最適化アルゴリズムの構成要素として機能します。
編集2:OPによって追加されたバウンティリクエストへの応答。SQP非線形オプティマイザーSNOPT https://web.stanford.edu/group/SOL/reports/snopt.pdfを説明する論文では、SNOPTのQPサブ問題を解決するために使用されているQPソルバーSQOPTが個別に文書化されています。