tecktom.com

ラグランジュ未定乗数法とKKT条件 — 「接するとき」は何を計算しているのか

2026年9月7日教養

問いは木下が出したもので、答えは Claude Code と調べて書いたものです。

ある進学塾での会話を骨組みに再構成した教材。高校で「直線を平行移動して、領域に接するところを 探す」と教えているあの操作が、大学のラグランジュ未定乗数法・KKT条件・線形計画法の双対と 同じものであることを一本の筋で書く。授業で板書する内容ではなく、教える側が全体像を 持つための地図として使う。

0. 全体像 — 4つの名前は同じ絵の一部

手法 制約 目的関数 最適点で成り立つこと
等位線を動かす(高校の解法) 何でも 何でも 等位線が実行可能集合に触れる限界の kk
ラグランジュ未定乗数法 等式 g=0g=0(曲線の上を動く) 何でも f=λg\nabla f = \lambda \nabla g(等位線と制約曲線が接する)
KKT条件 不等式 gi0g_i \le 0(領域の中を動く) 何でも f\nabla f が活性な制約の法線が張る錐の中に入る
線形計画法 1次不等式(凸多角形) 1次 最適値を与える点が頂点に必ず存在する

下へ行くほど仮定が強くなり、その分だけ言えることも強くなる。高校の解法は最上段にいるので、 どの問題にも使える代わりに「候補を挙げて値を比べる」という手続きから逃れられない。

1. 高校の解法が実際にやっていること

領域 RR の中を (x,y)(x,y) が動くときの f(x,y)f(x,y) の範囲を求めよ、という問題で、f(x,y)=kf(x,y)=k とおいて 「この図形が RR と共有点をもつ kk の範囲」を読む。ここで kk を動かすと f(x,y)=kf(x,y)=k は曲線の族を 描く。これが ff の等位線(レベルセット) で、地形図の等高線と同じものである。kkff の 値そのものなので、等位線の族を動かして RR に触れる限界を見つければ、それが最大・最小になる。

なぜ「触れる限界」が最適なのかは背理法で見える。もし等位線が RR を突き抜けて交わっているなら、 その交点から RR の内部を等位線を横切る向きに少し動けば ff の値はさらに増やせる。だから最適点では 等位線は RR を横切れず、境界に接する(あるいは境界の角で止まる)ほかない。

2. 「接する」= fg\nabla f \parallel \nabla g = ラグランジュ未定乗数法

制約 g(x,y)=0g(x,y)=0 のもとで ff を最大化するとき、最適点では

f=λg\nabla f = \lambda \nabla g

が成り立つ、というのがラグランジュ未定乗数法である。f\nabla fff の等位線に垂直、g\nabla g は制約曲線に 垂直なベクトルだから、この式は2本の曲線の法線が平行、すなわち等位線と制約曲線が接すると 言っているだけになる。高校で図の上で目視している条件と、式が完全に一致する。

導出も同じ絵から出る。制約曲線を媒介変数で (x(t),y(t))(x(t), y(t)) と表すと、その上での ff の変化は 連鎖律から ddtf(x(t),y(t))=f(x,y)\dfrac{d}{dt} f(x(t),y(t)) = \nabla f \cdot (x', y') である。最適点ではこれが 00。一方、曲線が g=0g=0 の 上に乗り続けることから g(x,y)=0\nabla g \cdot (x', y') = 0 も成り立つ。つまり f\nabla fg\nabla g はどちらも接ベクトル (x,y)(x', y') と直交する。平面では接ベクトルに直交する向きは1方向しかないので、f\nabla fg\nabla g は平行、 すなわち f=λg\nabla f = \lambda \nabla g となる。λ\lambda はその比を表す係数にすぎない。

第22回でいえば、練習37(領域 x2+y21x^2+y^2 \le 1 かつ yxy \ge x の上で x2yx-2y の最大最小)で「円に接するときも 候補にせよ」と言っているのがこれである。f=x2yf = x - 2y、円の境界を g=x2+y21=0g = x^2 + y^2 - 1 = 0 とすると f=(1,2)\nabla f = (1, -2)g=(2x,2y)\nabla g = (2x, 2y) だから、fg\nabla f \parallel \nabla g は「位置ベクトル (x,y)(x,y)(1,2)(1,-2) に平行」と 同値になる。単位円上でこれを満たすのは (1,2)/5(1,-2)/\sqrt{5}(1,2)/5(-1,2)/\sqrt{5} の2点で、yxy \ge x を満たすのは 後者だけ。そこで f=5f = -\sqrt{5} となり、これが最小値である。図で接点を読むのと、ラグランジュを 解くのは、文字どおり同じ計算になっている。なお最大値のほうは円弧と直線 y=xy = x の交点 (1/2,1/2)(-1/\sqrt{2}, -1/\sqrt{2}) で取り、こちらは接点ではなく角なので次節の3番目にあたる。

3. λ に図の上の意味がある — 感度・潜在価格

λ\lambda は計算の途中で消える補助文字ではなく、制約をわずかに緩めたときに最適値がどれだけ動くかを 表す。制約を g=cg = c と書き、その下での最適値を v(c)v(c) とすると、包絡線定理から

dvdc=λ\frac{dv}{dc} = \lambda

が成り立つ。経済学ではこれを潜在価格(shadow price)と呼び、「資源の上限をあと1単位増やしたら 利益はいくら増えるか」と読む。線形計画法では双対問題の変数がこの λ\lambda にあたる。制約が実際には 効いていない(等号で押さえられていない)場合は λ=0\lambda = 0 になり、これは「緩めても最適値は動かない」 という当たり前の事実の式である。

4. 領域(不等式)になると候補は3種類になる

未定乗数法が扱うのは g=0g = 0 という等式制約、つまり曲線の上を動く場合である。ところが 第22回の問題の制約はすべて不等式で、動く先は領域になる。このとき最大・最小の候補は3種類に 分かれる。

  1. 領域の内部の停留点f=0\nabla f = 0)。制約がまったく効いていない場合。
  2. 滑らかな境界の上で等位線が接する点f=λg\nabla f = \lambda \nabla g)。ラグランジュそのもの。
  3. 境界の角(頂点)。境界が微分できないので「接する」という言い方ができない。

頂点はラグランジュでは拾えない。角では法線が1本に定まらないので f=λg\nabla f = \lambda \nabla g という式が 書けないからである。第22回の解法が「頂点を通るときと接するときの両方を候補にせよ」と言うのは 横着ではなく、この3分類を図の上で漏れなく拾う手続きになっている。

目的関数 領域 効いている場合
例題36 2x+5y2x+5y(1次) 三角形(1次不等式3本) 3(頂点)。正真正銘の線形計画法
練習37 x2yx-2y(1次) x2+y21x^2+y^2\le 1 かつ yxy\ge x の半月形 2(円弧に接する=最小)と 3(交点=最大)
例題37 x2+y2x^2+y^2y+x2y+x^2(2次) 三角形 x0,y0,3x+4y12x\ge 0, y\ge 0, 3x+4y\le 12 1(原点)と 3(頂点 (4,0)(4,0)
練習38 2xy2x-y(1次)、x24x+yx^2-4x+y(2次) 放物線 yx24x+3y\ge x^2-4x+3 と直線 x+y7x+y\le 7 で囲まれた領域 2(放物線に接する)と 3(端点 (1,8)(-1,8)

5. KKT条件 — 不等式制約への一般化

3分類をひとつの式にまとめたものが KKT条件(Karush–Kuhn–Tucker)である。制約を gi(x)0g_i(x) \le 0 と 書いて ff を最大化するとき、最適点では

f=iλigi,λi0,λigi=0\nabla f = \sum_i \lambda_i \nabla g_i, \quad \lambda_i \ge 0, \quad \lambda_i g_i = 0

が成り立つ。3本目が相補性条件で、「効いていない制約(gi<0g_i < 0)の λi\lambda_i00 でなければならない」 と言っている。§3 の「緩めても最適値が動かない制約の感度は 00」がここに入っている。1本目は 幾何的には f\nabla f が活性な制約の法線が張る錐(cone)の中に入るという意味で、活性な制約が1本の ときは f=λg\nabla f = \lambda \nabla g に退化してラグランジュへ戻り、2本のときが角にあたる。

例題37(1) で確かめられる。領域は x0,y0,3x+4y12x \ge 0, y \ge 0, 3x+4y \le 12 の直角三角形で、頂点は (0,0),(4,0),(0,3)(0,0), (4,0), (0,3)f=x2+y2f = x^2+y^2 の最大は (4,0)(4,0)1616、最小は原点で 00 になる。

同じ計算を (0,3)(0,3) でやると λ3=3/2\lambda_3 = 3/2λ1=9/2\lambda_1 = 9/2 でこれも KKT を満たす。つまり KKT は必要条件に すぎず、満たす点が複数ある。だから最後は ff の値を比べて選ぶ。高校で候補を全部挙げてから 大小を比べるのは、この事情をそのまま実行している。

6. 線形計画法と呼べるのはどれか

線形計画法は目的関数と制約条件がどちらも1次式のときの呼び名である。この2つが揃って初めて 実行可能領域が凸多角形になり、「最適値を与える点が頂点に必ず存在する」という線形計画法の 基本定理が働く。これがこの手法の中身なので、名前を広く使いすぎると定理の効き目まで一緒に 持ち込んでしまう。

なお「最適値を与える点が頂点に存在する」は「頂点でしか達成されない」ではない。等位線が 辺と平行なときは辺全体が最適になる。それでも頂点はその中に含まれるので、頂点だけ調べれば 最適値は必ず得られる。

7. 物理・他分野での同じ道具

8. 教える側への含意

中3の授業では「等位線を動かして、頂点を通るときと接するときの両方を候補にする」で必要十分で あり、ラグランジュやKKTを持ち出す意味はない。ただしなぜ両方を見るのかと聞かれたときに、 角では法線が定まらないから接する条件が書けないのだ、と答えられるかどうかで説明の質が変わる。 「そういうものだ」ではなく「境界が折れているところは別扱いが要る」と言えば、生徒が自分で 候補の漏れを点検できるようになる。

線形計画法という語も、例題36 に限って使い、例題37 では使わないのが正確である。授業ノートの POINT と今回のまとめは「線形計画法の考え方」という書き方で区別を保っている。

関連

← ふとした疑問の一覧へ