パレート最適及び最適化アルゴリズムとは何か ― 2022年03月15日 05:53
多目的最適化問題というものがある。
複数のトレードオフ、即ち、相互に関係しているが、一方を優先すると、他方は犠牲になる関数が複数ある場合、どちらも、局所的には最適にできるという点を見出す問題である。
関数が多いと計算機を用いてもその点を見出すことが難しい。
どちらかを最大化、一方を最小化するような極端な解を求めるのは簡単だが、実用上適用できる問題は、両関数の妥協ともいえるような最適点の組み合わせを見出すことになる。
一般には、関数の数は2または3ならば対処できるようだ。
独立変数が2つ、関数が2つの場合、、
F1=f(x、y)
F2=f(x、y)
となるが、F1、F2ともに局所最適点、即ち、極小値を取れるx、yの組み合わせを見出し、その点を結んだ線を、最初にこの問題を提案したPareteさんに因んで、パレートフロンティアと呼ぶ。
(なお、F1又はF2が極大値をとる関数ならば、マイナス符合を付けた関数にすれは同じ問題になる。)
このパレートフロンティアを計算機により比較的短時間に見出すための計算手法が最適化アルゴリズムであり、その手法、コードは多数提案されている。
だが、真の問題はその先にある。それは、複数の点から構成されるパレートフロンティアからどの点を真の最適点だとして提示するかという問題である。
そのためには、独立変数x、yの制限をどのように設定するかということを最初に決める必要があり、その設定が実際に適切なものかどうかは、設計者の知識と経験により決まるものであろう。
複数のトレードオフ、即ち、相互に関係しているが、一方を優先すると、他方は犠牲になる関数が複数ある場合、どちらも、局所的には最適にできるという点を見出す問題である。
関数が多いと計算機を用いてもその点を見出すことが難しい。
どちらかを最大化、一方を最小化するような極端な解を求めるのは簡単だが、実用上適用できる問題は、両関数の妥協ともいえるような最適点の組み合わせを見出すことになる。
一般には、関数の数は2または3ならば対処できるようだ。
独立変数が2つ、関数が2つの場合、、
F1=f(x、y)
F2=f(x、y)
となるが、F1、F2ともに局所最適点、即ち、極小値を取れるx、yの組み合わせを見出し、その点を結んだ線を、最初にこの問題を提案したPareteさんに因んで、パレートフロンティアと呼ぶ。
(なお、F1又はF2が極大値をとる関数ならば、マイナス符合を付けた関数にすれは同じ問題になる。)
このパレートフロンティアを計算機により比較的短時間に見出すための計算手法が最適化アルゴリズムであり、その手法、コードは多数提案されている。
だが、真の問題はその先にある。それは、複数の点から構成されるパレートフロンティアからどの点を真の最適点だとして提示するかという問題である。
そのためには、独立変数x、yの制限をどのように設定するかということを最初に決める必要があり、その設定が実際に適切なものかどうかは、設計者の知識と経験により決まるものであろう。
コメント
トラックバック
このエントリのトラックバックURL: http://yokoyamashindo.asablo.jp/blog/2022/03/15/9472606/tb
※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。
コメントをどうぞ
※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。
※なお、送られたコメントはブログの管理者が確認するまで公開されません。