ラグランジュの乗数法
10/31/2005 .
11/25/2010改訂 熊谷 朝臣
先日、久しぶりに測量をやりました。そして、その夜、夕ご飯時、女房と測量結果の誤差配分の話になりました。女房は林学出身で、測量士補(当時、林学出身なら誰でももらえた)の資格まで持っています。
女房:測量の間違った分なんてのは、結果がそれっぽく見えるよう、適当にばらまきゃいいのよ。
私 :ちょっと待て。あんた、測量の授業で誤差配分の理論について習わんかったんか?
女房:そんなのやるわけない。測量っちゅうのは、間違えるのが当たり前。いかに誤差をごまかすか、それが重要。私は、測量実習で、みんなにそれを力説して、みんな、それに感動しとった。それが、測量っちゅうもんよ(意味不明)。
実は、この測量結果の誤差配分の理論に「ラグランジュ(Lagrange)の乗数法」が使われます。測量結果には角等式や辺等式といった幾何学的条件があります。この条件のもとで、測定値と最確値の間の残差の関数が最小になるように、最適な残差を求め、最確値(修正された測定値)を決めるのです。「ラグランジュの乗数法」とは、ある関数を満足しなければならないような条件で、別のある関数の極値を与える点を求める方法です。測量に限らず、色々な局面でこの方法が有用なのは容易に想像できると思います。例えば、資源が限られている場合の、その資源の最適配分なんてのは、典型的な例でしょう。
そこで本稿では、この色んなところで役立ちそうな「ラグランジュの乗数法」の解説をします。本稿は、女房と彼女の同級生達に捧げたいと思います。
関数f、g1、g2、・・・gnを考えます。「f(x1,
x2, x3,・・・xi)(1
≤ i ≤ m)の極値を求めるときにgj = 0(1
≤ j ≤ n)を満足しなければならない。そのときの点aを求める。」という問題を考えます。
まず、次のような関数を作ります。
(1)
ここで、ljは適当な定数で、あとで決めるものです。
明らかに、gj = 0(1
≤ j ≤ n)を満足する点aに対して、(1)式はF
= fとなることに注意して下さい。これを頭に入れながら、まず、Fが極値となる条件を考えます。つまり、
(2)
ここで、点aは{xi}(1
≤ i ≤ m)として表現されていることをもう一度確認して下さい。(2)式を解くということは、Fの極値を求めることですが、これはljに依存します。そこで、(2)式で求められたFが極値となる点がgj = 0を満足するようにl
jを選ぶことにします。その点ではgj = 0なのですから、F = fであり、“その点”とはfが極値となる点aに他ならない、ということになります。
まとめましょう。「fの極値を求めるときにgj = 0(1 ≤ j ≤ n)を満足しなければならない。そのときの点aを求める。」ために、解くべき方程式は、
(3)
(4)
(1 ≤ i ≤ m, 1 ≤ j ≤ n)
という連立方程式です。未知数はx1、x2、・・・xm、l1、l2、・・・lnの合計m + n個になりますが、(3)、(4)式からなる方程式の数もm + n個になることを確認して下さい。
□
[HOME]