ラグランジュの未定乗数法
問題
$ \mathrm{min} ~ f({\bf x}) ~~~ \mathrm{s. t.} ~ g({\bf x}) = 0
公式
$ L({\bf x}, \lambda) = f({\bf x}) - \lambda g({\bf x})
としたとき、
$ \frac{\partial L}{\partial x_1} = 0, \ldots , \frac{\partial L}{\partial x_n} = 0, \frac{\partial L}{\partial \lambda} = 0
ただし、
$ f ... $ n変数のスカラ値関数、最適化の対象
$ g ... $ n変数のスカラ値関数、制約条件
$ {\bf x} = (x_1, \ldots , x_n)^\top ... $ n個の変数からなるベクトル変数
$ \lambda ... ラグランジュ乗数
制約条件
問題:関数$ f(x, y) = 2x^2 + 3y^2を制約条件$ x+y=1のもとで最小にする$ (x, y)を求めよ。
最小にする点においては、関数の等高線の法線ベクトル
$ \nabla f = (4x, 6y)^\top
制約条件の法線ベクトル
$ (1,1)^\top
これらが平行となる。そのような点は、ある$ \lambdaが存在し、
$ \nabla f = \lambda \left(\begin{array}{c}1\\1\end{array}\right)
が成立する。計算すると、
$ 4x=\lambda, 6y=\lambda
$ x=\frac{1}{4}\lambda, y=\frac{1}{6}\lambda
制約条件に代入すると、
$ \lambda = 12/5
より
$ x=3/5, y=2/5
となる。
KKT条件