重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

クーン・タッカー条件を使ってf(x、y)=3x^2-6xy+5y^2-8y+5の極小点をもとめよ。また、
制約:4x+y>=10
:5x-2y>=20 とする。

です!数学の課題です。数学が得意な方協力お願いします。

A 回答 (2件)

まず余談です。


f(x, y) = 3 (x - y)^2 + 2 (y - 2)^2 - 3
と書けますから、制約がなければ f は x = y = 2 の点で最小値 -3 をとります。しかし、上の点は制約の2番目の式を満たさないので、求める点ではありません。

このような場合、求める点はたいてい制約式で表される図形の境界線上にあります。よって、例えば制約式から y を x で表すことができるのであれば、それを f に代入して、一変数 x について f の 振る舞いを調べればよいと思われます。そのようにしてみたところ、f は x = 60/11、y = 40/11 で極小値 135/11 をとるという結果が得られました。この点は2番目の制約式が表す領域の境界線上にあり、1番目の制約式を満たします。

次に、本題ですが、次のように書くことにします。
f(x, y) = 3 x^2 - 6 x y + 5 y^2 - 8 y + 5、 (1)
g(x, y) = - 4 x - y + 10 <= 0、 (2)
h(x, y) = - 5 x + 2 y + 20 <= 0、 (3)
L(x, y) = f(x, y) + λ g(x, y) + μ h(x, y)。 (4)

クーン・タッカー条件は、上記の(2),(3)に加えて次のようになると思います。
∂L/∂x = 6 x - 6 y - 4 λ - 5 μ = 0、 (5)
∂L/∂y = - 6 x + 10 y - 8 - λ + 2 μ = 0、 (6)
λ g(x, y) + μ h(x, y) = 0、 (7)
λ >= 0、 (8)
μ >= 0。 (9)

これらを満たす x, y, λ, μ を求めます。しかし、等式は(5),(6),(7)の3個しかありませんから、一般には一意に解を求めることはできません。

実は、私はこれまでクーン・タッカー条件についてはその名前も知らなかったような素人です。それで、ここで困ってしまったのですが、先に書きましたように、今の場合、求める極小値は制約式が表す境界線上にあることが期待されます。そこで、二つある制約条件のひとつだけ考えて、他は無視することにします。

(i) λ = 0 の場合
これは制約条件(2)をとりあえず無視することに相当すると思います。この場合、(5),(6),(7)はそれぞれ
6 x - 6 y - 5 μ = 0、
- 6 x + 10 y - 8 + 2 μ = 0、
- 5 x + 2 y + 20 = 0、
となり、これらから
μ = 24/11、
x = 60/11、
y = 40/11、
が得られます。これらは制約条件(2),(9)を満たしています。(2)はとりあえずは無視しましたが、結果的にそれを満たす解が得られたわけです。この点での f の値は
f = 135/11
です。

(ii) μ = 0 の場合
これは制約条件(3)をとりあえず無視することに相当すると思います。この場合、(5),(6),(7)はそれぞれ
6 x - 6 y - 4 λ = 0、
- 6 x + 10 y - 8 - λ = 0、
- 4 x - y + 10 = 0
となり、これらから
λ = 0、
x = 2、
y = 2
が得られます。しかし、これらは制約条件(3)を満たしませんから、採用できません。

以上より、求める極小値は (x,y) = (60/11,40/11) における f = 135/11 となります。

素人ですので、このような解き方でよいのかどうかわかりません。間違いや不適切な点があれば、お気づきの方に批判していただければ幸いです。
    • good
    • 0

g(x,y)=10-4x-y, h(x,y)=20-5x+2y, L(x,y,a,b)=f(x,y)-ag(x,y)-bh(x,y), ただしa,b≧0, として


D1L(x,y,a,b)=0,
D2L(x,y,a,b)=0,
a=0 if g(x,y)<0,
b=0 if h(x,y)<0
を満たす(x,y)を求める(D1は第1変数に関する偏微分記号、D2は第2変数に関する偏微分記号)。
2階条件も調べると良いと思います。
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!