非線形最適化問題の解法と範囲

このQ&Aのポイント
  • 非線形最適化問題「制約条件:2x+y≦3、x+y≦2、x,y≧0のとき、alogx + (1-a)logy を最大化する解(x,y)を求めよ」の解が(x,y) = (1,1)となるようなaの範囲を求めます。
  • キューン・タッカー条件を用いて解くと、a = 2λ1 + λ2 かつ 1-a = λ1 + λ2 となり、λ1、λ2≧0の範囲から0≦a≦1の範囲が得られます。
  • 図形的な考察も試みましたが、目的関数が複雑すぎて断念しました。
回答を見る
  • ベストアンサー

非線形の最適化問題の質問です。

「制約条件: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という範囲があっけなく出てきたのですが…本当にこれで合っているのか不安です。 図形的に考えてみようとも思いましたが、目的関数が複雑すぎて断念しました。 どなたかこの問題の正しい解法を教えて頂けないでしょうか? どうぞよろしくお願いします。

  • yppon
  • お礼率16% (16/99)

質問者が選んだベストアンサー

  • ベストアンサー
  • info222_
  • ベストアンサー率61% (1053/1707)
回答No.1

問題についての質問(確認) 目的関数「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)が存在する。

yppon
質問者

補足

回答誠にありがとうございます。 目的関数「alogx + (1-a)logy 」にある対数は自然対数です。 となると、キューン・タッカー条件だけではこの問題は解けないのでしょうか? ちなみにinfo222_様は、「1/2≦a≦2/3」をどのような方法で導出されたのでしょうか?

その他の回答 (5)

  • info222_
  • ベストアンサー率61% (1053/1707)
回答No.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)を通る下に凸の目的関数の曲線と最大点における曲線の接線を自身で描いて考えれば理解しやすいと思います。

yppon
質問者

補足

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

  • info222_
  • ベストアンサー率61% (1053/1707)
回答No.5

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 が得られます。

yppon
質問者

補足

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

noname#201036
noname#201036
回答No.4

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

yppon
質問者

補足

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

noname#201036
noname#201036
回答No.3

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

noname#201036
noname#201036
回答No.2

KKT条件については全く知りません。それを使ったやりかたは経営工学や経済学の入門書に載っているようなのでそちらを見てください。 使わなくてもできるので若干コメント。 logxとlogyの一次結合なのでy軸とx軸のそれぞれ1点を除いた近傍で発散していて、xについてもyについても単調なので、最大値を持つとすると点(0,2)と点(1,1)とを結ぶ線分と点(1,1)と点(3/2,0)とを結ぶ線分の和集合上にしかありません。そこからaの範囲はすぐ出ます。 後半は1変数関数の極値問題に帰着します。aに応じて3通りの場合分けをしますが高校レベルなので説明省略します。

yppon
質問者

補足

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

関連するQ&A

  • 非線形計画問題

    min f(x1,x2)=(x1-1)^2+x2^2 subject to x1+x2>=5 2x1+x2>=7 (計画変数x1,x2は非負) (1)KKT条件を示し、最適解x1*,x2*を求め、目的関数の最小値を示せ。 (2)最適解x1*,x2*が存在する鞍点において、制約条件式(x1+x2>=5)の右辺の値がσだけ増加したときの 目的関数の変化量を求めよ。また、このような変化量に対して、λ1*,λ2*がどのような意味をもつか簡潔に述べよ。 という問題です」。 (1)はノーマルな解法で解いたら, x1*=2,x2*=3,目的関数の最小値は10でした。 (2)については変化量を求めたら、5σ^2-10σでした。 ですが、「このような変化量に対して、λ1*,λ2*がどのような意味をもつか簡潔に述べよ。」 ところはわかりませんでした。 そこがわかる方がいらっしゃいましたら、ぜひご教授お願いします!

  • 線形問題

    線形計画問題で質問です。 max 3x[1]+2x[2]+2y 制約条件 x[1]+x[2]+2y≦6 2x[1]+x[2]+y≦10 x[2]+y≦3 x[1],x[2],y≧0 これの最適解と最適値を求めたいのですが どう計算していけばいいのか困っています。 まずは制約領域を書こうとしたのですが、変数が3つで、3次元になり それをどう使うのか、それとも変数を減らすことがいいのかと

  • 線形計画法の解法について!

    線形計画法の解き方が判らなくて困っています。 判らないこと 1.制約条件の式と計算値 2.目的関数の式と目的値 線形計画法は変数と制約条件と目的関数が与えられます。 制約条件を満足し、目的関数が最大(最小)となる変数を求めます。 線形計画法の例  変数 x y  制約条件   (A)  10x + 4y ≦ 360   (B)  4x + 5y ≦ 200   (C)  2x + 10y ≦ 300   (D)  x ≧ 0   (E)  y ≧ 0  目的関数  M = 7x+12y A,B,C,D,Eの条件を満足し目的関数(M)が最大となる変数x,yを求めます。

  • 対数微分法の問題が分かりません。

    次の問題の解き方が分かりません。  次の関数の導関数を対数微分法を用いて求めよ。 ただし、aは定数である。 と言う問題で、x^x^aを解こうとしたのですが、 y = x^x^a logy = alogxlogx y'/y = a/x/x*(logx+1) y' = a/x/x*(logx+1)*x^x^a となり、分かりません。 答えは、(alogx+1)x^(x^a)+a-1となるようなのですが、 どなたか教えていただけないでしょうか。

  • 線形計画法の解について!

    線形計画法の解、シャドウ価格の求め方がわからなくて、困っています。 問題は、以下のとおりです。 (線形計画法とシャドウ価格) 次の線形計画法の解、各制約のシャドウ価格を求めなさい。 制約条件 2x+y≦7, x+3y≦6, x≧0,y≧0 のもとで、目的関数 Z=x+y を最大化せよ。

  • 線形計画問題

    最近線形計画法について独学で勉強を始めたのですが いくつかの書籍を調べてもどうしても分からない点が あったのでこの場を利用させて頂きます。 頭を悩めていますのは制約条件が特殊なためです。 問題を簡略すると以下のようになっています。 min : x(1)/2 + 5x(2)/2 suject to: 1/x(1)+1/4x(2) ≦ 8 x(1) ≧ 0, x(2) ≧ 0 御覧頂けますように制約条件において決定変数が 分母にきているのです。目的関数で分母に変数を 持つものは分数計画問題といるのを拝見した事が あるのですが上記のような例は探し方が悪いのか 見つける事ができていません。 実行可能領域は非有界ですが最小化問題のため 上記の例であると2変数なのでグラフにプロットする 事でおよそですが解は見つかりました。 しかし実際の問題は10変数以上の問題となっています ので解が求められません。 その後も実行可能領域を多面体で近似すれば良いのか 等の考察を繰り返しましたが問題が複雑になりお手上げ の状態です。 ちゃんとした解法があるのならお教え頂けるか書籍の 案内をして頂きたいです。宜しくお願いします。

  • クーン・タッカー条件

    目的関数 3(1-e^(-2x))+4(1-e^(-y)) → Max 制約条件 x+y ≦ 10 x , y ≧ 0 に対するクーン・タッカー条件を求めてください。 よろしくお願いします。

  • 非線形計画法 主-双対問題

    次のような制約付き最小化問題を考えています。 目的関数は非線形です。 min x1^2+x2^2 s.t. -x1-x2+4<=0 x1>=0 x2>=0 この問題の場合最適解は(x1,x2)=(2,2)であり、その時の目的関数値は8となります。 次に次式のような双対問題を考えます。 g(x)=-x1-x2+4とおき 双対関数 φ(u)=inf{x1^2+x2^2+u*(-x1-x2+4) : x1>=0 , x2>=0} =inf{x1^2-u*x1 : x1>=0}+inf{x2-2-u*x2 : x2>=0}+4*u 上記においてもしu>=0であれば、x1=x2=(u/2). (なぜなら、x1^2-u*x1をx1で微分するとx1=u/2となる。) u<0であるならばx1=x2-0であることに注目しますと。 φ(u)=-(1/2)*u^2+4*u for u>=0 =4u for u<0 となります. 双対関数がu>0の場合は最大がu=4であることに注目すると、その時の目的関数は8であり、主問題と双対問題の最適な目的関数値は一緒となります。 次に主問題を次のように制約を増やした最小化問題を考えます。 min x1^2+x2^2 s.t. -x1-x2+4<=0 -2*x1-3*x2<=0 x1>=0 x2>=0 これの最適解は上記の問題と同じにならないといけないのですが、 例えば、ラグランジュ関数F(x1,x2,λ1,λ2)を次のようにおき各変数で偏微分して最適解を求めると(λ:ラグランジュ乗数)、 F(x1,x2,λ1,λ2)=x1^2+x2^2+λ1*(-x1-x2+4)+λ2*(-2*x1-3*x2) 最適解はx1=12, x2=-8であり、その時の目的関数は208となり、前問と異なった解が得られました。 この原因は明確であり、ラグランジュ関数の中の各制約式が、偏微分して解を得ることで不等式制約ではなく等式制約とみなされたためです。 偏微分して解を求めなければいいのですが、どうしても偏微分でかいを求めたいために、、前門で示した双対問題を導入しましたが、結果は双対問題のほうでも偏微分するので一緒でした。 しかし、双対問題で得られた解。つまりuは主問題のλに相当し、KKT条件より必ず正である必要があるので、双対問題を解き、uが負になった制約式はの除いてそのあともう一度問題を解きなおす。つまり2番目の問題を前問に置き換える。 っといったことをして問題を解決させようとかんがえていますが、これは理論的に正しいのでしょうか。 これはほんの例題ですが、複数個の不等式制約式を扱い、かつ偏微分可能な最適化問題を解く際に、最適解に対して全てが有効制約になるとは限りませんので、どうかうまくいくアドバイスをください。

  • 線形計画問題を単体法を使って解く問題です。

    タブローを使ってとこうとしたのですが制約式にx_2の項がない場所があったため0で割れず行き詰まってしまいました。 解答も解説もなく行き詰まっているため、親切な方詳しい解答・解説をおねがいします。 主問題 Max 2x_1+3x_2+x_3 s.t.x_1+x_2+x_3≦1 -2x_1+x_3≧1 x_1,x_2,x_3≧0 1)単体法を用いて解き、最適解と最適値を過程を記し求めよ。 2)双対問題を記し、1)の結果と相補性定理を用いて最適解を求めよ。 3)ある非負の実数kを用いて主問題の目的関数を(2+k)x_1+3x_2+x_3と変化させた線形計画問題をP'とする(制約式は同じ) 1)で求めた最適解がP'の最適解で在り続けるためのkの範囲を求めよ。

  • シンプレックス解法の問題

    大学で生産計画の問題で次のような問題が出て解き方がいまいちわかりません。答えと解き方をなるべく分かりやすくお願いします。 問題:次の一般型生産計画法を2段階シンプレックス解法で解 け。 目的関数 z=1080y1+600y2+900y3 →最小化する 制約条件式 9y1+4y2+3y3≧70 4y1+5y2+10y3≧120 y1 y2 y3≧0 (1)第1段階線形計画法を定式化し、最適解を求めよ。 (2)第2段階線形計画法を定式化し、最適解を求めよ。