ラグランジュの未定乗数法
条件g(x,y)=0の下で、z=f(x,y)の極値を求める。
g(x,y)=0は、xとyの陰関数でありz軸に平行なある曲面を表す。
z=f(x,y)の全微分は、dz=(∂f/∂x)*dx+(∂f/∂y)*dyより、(dz/dx)=(∂f/∂x)*1+(∂f/∂y)*(dy/dx)
dz/dx=f_x(x,y)+f_y(x,y)*(dy/dx) ここでzは、g(x,y)=0の条件によりxの1変数関数となっている。
一方、z=g(x,y)とすると、z=g(x,y)=0となり、これは恒等的に0である。よって、全微分もdz=(g_x)*dx+(g_y)*dy=0となる。
dy/dx=-g_x(x,y)/g_y(x,y)
dz/dx=f_x(x,y)-[{f_y(x,y)*g_x(x,y)}/g_y(x,y)]
(x,y)=(a,b)の点で、この曲線が極値をもつとき、dz/dx=0となる。
dz/dx=f_x(a,b)-[{f_y(a,b)*g_x(a,b)}/g_y(a,b)]
f_x(a,b)={f_y(a,b)*g_x(a,b)}/g_y(a,b)
g_x(a,b)≠0のとき、両辺をg_x(a,b)で割り、{f_x(a,b)/g_x(a,b)}={f_y(a,b)/g_y(a,b)}
ここで、{f_x(a,b)/g_x(a,b)}={f_y(a,b)/g_y(a,b)} =λとおくと、f_x(a,b)=λ*{g_x(a,b)}, f_y(a,b)=λ*g_y(a,b)
このλが未定乗数である。
質問がいくつかあります。
まず、初めに条件になっている『g(x,y)=0はz軸に平行な曲面を表す』とあります。これは、z=g(x,y)=0とは違いますよね? z=g(x,y)=0はz=0なので、xy平面上の関数になり、z軸に平行な曲面にはならないと思うのですが。
次に、全微分可能な関数z=f(x,y)の全微分はdz=f_x(x,y)dx+f_y(x,y)dyと表され、これは∂z/∂x=f_x(x,y)+f_y(x,y*)(dy/dx)と表す事ができ、この左辺はzがxとyの2変数関数のためdz/dxとならずに∂z/∂xとなっています。この証明においてz=f(x,y)の全微分を求める際に『ここで、zはg(x,y)=0の条件により、xの1変数関数となっている』とありますが、これはどういう意味でですか? z=f(x,y)の曲面とg(x,y)=0の曲面が交わった所は曲線になるのは分かります。そしてこの曲線はxの値を一個定めると、それによってyの値が決まるので、zも決まる。よってzはxの1変数関数となるのでしょうか?
そして、『z=g(x,y)とおくと、z=g(x,y)=0とおくと、これは恒等的に0。よって、その全微分もdz=(g_x)*dx+(g_y)*dy=0』とありますが、まずこの意味を簡単に説明していただけますか。『よって』の前後がどう繋がっているのが分かりません。『z=g(x,y)=0とおく』となっていますが、この場合z=g(x,y)=0は前述したようにxy平面上のグラフになると思うのですが、なぜg(x,y)=0をz=g(x,y)=0と置き換えたのかが分かりません。dy/dxの値を求めるためでしょうか?
自分の書いた所に、誤解やちんぷんかんぷんで意味が分からない所があれば指摘してください。
補足
回答ありがとうございます。助かります。 ところで、、エレガントに制約選択ができというところなのですが、例えばどのようなときに選択可能で、どのような方法で選択することができるのでしょうか。私のもっている参考書にはそういった制約の数が多くなった場合の対処の仕方はかいていません。一般的にどのように対処すべきなのか教えて欲しいです。 また、KKT条件は最適解x*が問題の局所的最適解であるための必要条件であるが、十分条件ではないとはどういうことなのでしょうか。またどのような場合に十分条件にもなりえるのでしょうか。