バリア関数

数学の一分野である、制約付き最適化問題におけるバリア関数（バリアかんすう、、障壁関数、しょうへきかんすう）とは、ある点がの境界に近付くにつれて、その点での値が無限大へと近付くような連続関数のことを言う（Nocedal and Wright 1999）。制約違反に対する罰則項として用いられる。最も一般的な二種類のバリア関数は、逆バリア関数と対数バリア関数である。対数バリア関数は、主双対内点法との関連で、再び興味を集めるものとなった。
関数 f(x) を最適化するとき、ある定数 formula_1 に対して代わりに関数 formula_2 を最適化することによって、変数 formula_3 をつねに formula_1 よりも厳密に小とすることができる。ここで、formula_5 はバリア関数である。
対数バリア関数.
対数バリア関数 formula_5 は、formula_7 の場合 formula_8 で、それ以外の場合では formula_9 となる関数として定義される（但し 1 次元の場合。より高い次元の場合は下記参照）。この定義は本質的には、formula_10 が 0 に向かうにつれて formula_11 が 負の無限大へと発散する事実に由来する。
この定義は formula_3 の極値（この場合、値は formula_1 より小さい）がより少ないものを好むように最適化され、一方で極値から離れた関数に対してはあまり影響を与えないような、関数への勾配を導入するものである。
対数バリア関数は、最適化される関数に依存して、計算的に高価値でない逆バリア関数よりも、好まれるものであるかも知れない。
高次元.
高次元への拡張は、各次元が独立である限り、簡単なものである。formula_14 よりも厳密に小さいように制限された各変数 formula_15 に対して、formula_16 を足せばよい。
形式的定義.
次を最小化せよ:formula_17
次を仮定する: formula_18
次の、厳密な実行可能領域を仮定する:formula_19
\sum_{i=1}^m -\log(b_i - a_i^Tx) & \text{for } Ax