【アプリ版】サポートOS変更のお知らせ

x + 2^yの最小値の求め方
|x| + |y| = 1とのtき最小値はどうもとめますか
グランジュの乗数法をつかいたいです

gooドクター

A 回答 (3件)

この問題に未定乗数法を使うかねー?


  |x| + |y| = 1
という条件は、「(x,y) = (1,0), (0,1), (-1,0), (0,-1) を頂点とする正方形の辺上で」ということ。2^y はyの単調増加関数、xもxの単調増加関数だから、探すべきは(-1,0)と(0,-1)を両端とする辺
  x + y = -1
上であり、すなわち「-1≦y≦0 で - y + 2^y - 1 が最小になるyは?」というだけの話。-1≦y≦0の範囲に停留点はなく、最小になるのは(x,y) = (-1,0)の時で、最小値は0。

 だけど未定乗数法をご要望のようなので、一応やっとくことにしよう。制約条件下で停留点になる(x,y)を探すには
  L = x + 2^y + λ(|x| + |y| - 1)
とおいて連立方程式
  ∂L/∂x = 1 + λ sgn(x) = 0 …(1)
  ∂L/∂y = (2^y) log(2) + λ sgn(y) = 0 …(2)
  ∂L/∂λ = |x| + |y| - 1 = 0 …(3)
を解く。ここに
  sgn(x) = (if x>0 then 1 , if x<0 then -1 )

 解いてみると、(1)から
  λ = -sgn(x) …(1') (sgn(x) = 1/sgn(x)を使った。)
これを(2)に代入して
  (2^y) log(2) = -sgn(x)sgn(y) …(2')
左辺は(yが何であれ)正なので、
  sgn(x)sgn(y) = -1 …(4)
でなくてはならず、だから(2')は
  (2^y) log(2) = 1 …(2'')
であり、
  y = - log(log(2))/log(2) …(2''')
さて(2''')は正なので(4)とsgnの定義より
  x<0
だから(3)は
  - x + y - 1 = 0 …(3')
ということで、解が1つ存在して
  (x,y) = ( - log(log(2))/log(2) - 1, - log(log(2))/log(2) )
なのだが、この(x,y)は極小だけれども最小ではない。
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2021/06/07 16:47

4パターンに場合分けするだけだと思うけど?



それと、グランジュの未定乗数法は停留値しか
求まらないから、いろいろ併用が必要。
    • good
    • 0

各象限に分けて ±x±y=1 (複合同順ではない)を、4つの場合を調べれ


ばよい。ところが、xの最小は x≦0 , 2^yの最小は y≦0 にあるから、
-x-y=1, -1≦x,y≦0 だけを調べればよい。

すると
1=λ(-1) , (log2)2^y=λ(-1) → y=-log(log2)/log2
x=-1-y=-1+log(log2)/log2≒-1.5
となり、範囲外となる。つまり、指定の領域内には、極値(最小値)は無い。

すなわち、最小値は、領域の端、
x=0, y=-1 または x=-1 , y=0 のいずれかである。すると

x=0, y=-1 → 0+1/2=1/2
x=-1 , y=0 → -1+1=0
ゆえに、最小値は0
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています

gooドクター

このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング