プロが教える店舗&オフィスのセキュリティ対策術

「制約条件:2x+y≦3、x+y≦2、x,y≧0のとき、alogx + (1-a)logy を最大化する解(x,y)を求めよ」という最適化問題の解が(x,y) = (1,1)となるようなaの範囲を求めよ。

という問題なのですが、これは目的関数に(-1)をかけて最小化問題とし、キューン・タッカー条件を用いて解けばよいのでしょうか?

キューン・タッカー条件を用いて解いてみると、a = 2λ1 + λ2 かつ 1-a = λ1 + λ2 で、λ1、λ2≧0より0≦a≦1という範囲があっけなく出てきたのですが…本当にこれで合っているのか不安です。

図形的に考えてみようとも思いましたが、目的関数が複雑すぎて断念しました。

どなたかこの問題の正しい解法を教えて頂けないでしょうか?
どうぞよろしくお願いします。

A 回答 (6件)

No.1,No.5です。



ANo.5の補足質問の回答

>ただ、どうして(x,y)=(1,1)における接線の傾きy'(1,1)が、傾き-2と-1の間に収まるようにaの値を選ぶことが必要十分条件になるのかが分かりません。何度も質問して大変恐縮ですが、もう少し説明して頂けないでしょうか?

制約条件の境界線が最大点(x,y)=(1,1)で交わる2直線
y=2-x(傾きy'=-1、0≦x≦1)とy=3-2x(傾きy'=-2、1≦x≦2) …(★)
であり、目的関数の曲線が、最大点(x,y)=(1,1)を通り、かつ目的関数の曲線が、最大点(x,y)=(1,1)を除いて制約条件の領域と交わらないための必要十分条件は、
点(x,y)=(1,1)を通る目的関数の曲線の接線が、制約領域を構成する領域の境界線の上方(最大点で接し、それ以外で上方になる下に凸)になればよい。つまり目的関数の曲線の最大点(1,1)を通る接線(局部的には接線は曲線の下方近似直線である)の傾きが(★)の直線の傾きの間にあることである。
つまり、
 -2≦a/(a-1)≦-1
が必要十分条件となります。

制約条件の領域の図と最大点(1,1)を通る下に凸の目的関数の曲線と最大点における曲線の接線を自身で描いて考えれば理解しやすいと思います。

この回答への補足

なるほど。とても分かりやすい説明ありがとうございました!!

補足日時:2014/11/02 18:23
    • good
    • 0

No.1です。



>「1/2≦a≦2/3」をどのような方法で導出されたのでしょうか?
制約条件の領域を図示し、
目的関数f(x,y)=aln(x)+(1-a)ln(y)=k
とおくと
f(1,1)=0=k
これがf(x,y)の最大値k=0
なので
aln(x)+(1-a)ln(y)=k
をxで微分して(x,y)=(1,1)における目的関数の微分係数(接線の傾き)y'(1,1)を求める。
a/x+(1-a)y'/y=0
(x,y)=(1,1)における接線の傾きy'(1,1)は
a+(1-a)y'(1,1)=0
a=1とすると目的関数f(x,y)=ln(x)は制約条件を満たす(x,y)=(1.5,0)で
f(1.5,0)=ln(1.5)>0となって最大値f(1,1)=0より大きくなってしまう。
したがってa≠1。
∴y'(1,1)=a/(a-1)
これが制約条件の境界線
2x+y=3、x+y=2
の傾き-2と-1の間に収まるようにaの値を選べばよい(必要十分条件)。
-2≦a/(a-1)≦-1
-1を掛けて
2≧a/(1-a)≧1
これを解けば aの範囲
1/2≦a≦2/3
が得られます。

この回答への補足

回答ありがとうございます。

ただ、どうして(x,y)=(1,1)における接線の傾きy'(1,1)が、傾き-2と-1の間に収まるようにaの値を選ぶことが必要十分条件になるのかが分かりません。何度も質問して大変恐縮ですが、もう少し説明して頂けないでしょうか?

補足日時:2014/11/02 15:36
    • good
    • 0

#3訂正です。


× ちなみにa=0.2だと点(0.2,1.8)で最大。
○ ちなみにa=0.1だと点(0.2,1.8)で最大。

この回答への補足

訂正ありがとうございます!

補足日時:2014/11/02 13:12
    • good
    • 0

ちなみにa=0.2だと点(0.2,1.8)で最大。

    • good
    • 0

KKT条件については全く知りません。

それを使ったやりかたは経営工学や経済学の入門書に載っているようなのでそちらを見てください。

使わなくてもできるので若干コメント。

logxとlogyの一次結合なのでy軸とx軸のそれぞれ1点を除いた近傍で発散していて、xについてもyについても単調なので、最大値を持つとすると点(0,2)と点(1,1)とを結ぶ線分と点(1,1)と点(3/2,0)とを結ぶ線分の和集合上にしかありません。そこからaの範囲はすぐ出ます。

後半は1変数関数の極値問題に帰着します。aに応じて3通りの場合分けをしますが高校レベルなので説明省略します。

この回答への補足

なるほど。KKT条件を用いずに解く方法もあるのですね。勉強になりました!

補足日時:2014/11/02 13:11
    • good
    • 0

問題についての質問(確認)


目的関数「alogx + (1-a)logy 」にある対数は常用対数ですか、それとも自然対数ですか?

対数を自然対数とすれば aの範囲の正解は「1/2≦a≦2/3」となります。
なので
>0≦a≦1という範囲があっけなく出てきたのですが…本当にこれで合っているのか不安です。
は間違っています。
(検証)
(x,y)=(1,1)、0≦a≦1のとき目的関数の最大値=a*0+(1-a)*0=0

(反例)0≦a≦1を満たすa=0.1のとき 目的関数=0.1log(x)+0.9log(y)
制約条件を満たす(x,y)=(1/2,5/4)のとき
 目的関数=0.1log(1/2)+0.9log(5/4)=0.1315…>0
 最大値0より大きくなる制約条件を満たす(x,€y)≠(1,1)が存在する。

この回答への補足

回答誠にありがとうございます。

目的関数「alogx + (1-a)logy 」にある対数は自然対数です。

となると、キューン・タッカー条件だけではこの問題は解けないのでしょうか?
ちなみにinfo222_様は、「1/2≦a≦2/3」をどのような方法で導出されたのでしょうか?

補足日時:2014/11/02 13:10
    • good
    • 0

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