トップQs
タイムライン
チャット
視点
ペナルティ関数法
ウィキペディアから
Remove ads
ペナルティ関数法(ペナルティかんすうほう、英: Penalty method)とは、制約付き最適化問題に対する解法の一種である。
ペナルティ関数法は制約付き最適化問題を無制約最適化問題に変換して最終的には元の問題の最適化に収束させることを目指す手法である。無制約最適化問題に変換する際に目的関数に追加される項はペナルティ関数[注釈 1]と呼ばれ、制約の違反度合いとそれに対応する係数のペナルティパラメータの積で表される。もし制約を違反している場合、ペナルティ関数は非ゼロの値をとり、制約を違反していない場合はゼロの値をとる。
説明
要約
視点
以下の制約付き最適化問題について考える:
subject to
これを無制約最適化問題に書き換える:
ただし、
- である。
上記の式において は外点ペナルティ関数[注釈 2]と呼ばれ、 はペナルティ係数[注釈 3]と呼ばれる。ペナルティ係数が 0 であるとき、fp=f である。反復が進むにつれてペナルティ係数 を増大させながら無制約最適化問題を解き続けて次の反復点を求める。ペナルティ係数を増大させながら逐次無制約最適化問題を解くことで元の問題の最適解へ収束する。
Remove ads
収束性
与えられた問題の大域的最適化集合を X* とする[2](Thm.9.2.1)。目的関数 f は有界な等位集合であるとし、問題は実行可能であると仮定する。このとき:
- 任意のペナルティ係数 p に対してペナルティ関数問題の大域的最適化集合 Xp* は必ず存在する(集合は空でない)。
- 任意の ε>0 に対してあるペナルティ係数 p が存在して X* におけるε-近傍 Xp* が存在する。
特に fp が凸関数であるときに重要な性質となり、fp の大域的最適解を求めることができる。
続いて局所最適解に関する定理について説明する[2](Thm.9.2.2)。与えられた問題に対して x* を非退化[注釈 4]な局所最適解とする。このとき、ある x* の近傍 V* および p0>0 が存在して任意の p>p0 に対してペナルティ関数付き目的関数 fp の臨界点(x*(p))は V* 内に存在する。このとき、x*(p) は p→∞ において x∗ に収束する。また、目的関数値 f(x*(p)) は p に対して単調非減少である。
Remove ads
主な応用
画像圧縮に対する最適化アルゴリズムとしてペナルティ関数法は圧縮時における最良の代表値の色を決定する際に用いられている[3][4]。またペナルティ関数法は接触のような事象を検証する際の有限要素法の計算においても用いられる。
ペナルティ関数法の利点としてペナルティ関数は新たな制約を必要とすることなく書き換えることができるので、任意の制約付き最適化問題に対して適用することができる。欠点としてはペナルティ係数 p が増大するにつれて問題の収束性が悪くなり、数値誤差も発生しやすくなる[2](Sub.9.2)。
脚注
関連項目
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads