制約つき非線形最適化について

このQ&Aのポイント
  • 制約つき非線形最適化についてのアドバイスをお願いします。
  • ラグランジュ未定乗数法を用いた制約つき非線形最適化問題の数値的な解法について教えてください。
  • Excelのソルバーのアルゴリズムや、その他の手法について教えてください。
回答を見る
  • ベストアンサー

制約つき非線形最適化

次のような制約つき非線形最適化問題を数値的に解きたいと思っています。 minimize Σ(y_n-f(n,a))^2 subject to G(f(n,a))=0 具体的な関数形は必要なら補足します。 (1)ラグランジュ未定乗数法により解くことを考えます。 ラグランジアンはL=Σ(y_n-f(n,a))^2-λG(f(n,a)) ∂L/∂a=0、∂L/∂λ=0を連立してNewton法で解きます。 しかし、Lは複雑な形をしているので、1階微分程度がせいぜいです。 そこでNewton法にでてくるヤコビアンは数値的に求めます。 この考え方でプログラムすると、どうしても収束しません。 どうしたらよいでしょうか? また、λの初期値はどのように決めたらよいでしょうか? (2)excelのソルバーに同じ問題をやらせると、 あっさり解を出します。 ソルバーはどのようなアルゴリズムを用いているのでしょうか? (3)このような問題に適用できる、その他の手法がありましたら、教えてください。 以上、お答えできる問だけで結構ですのでアドバイスをお願いします。

noname#108554
noname#108554

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

  • ベストアンサー
  • my3027
  • ベストアンサー率33% (495/1499)
回答No.1

わかる範囲で助言ですが、 (1)ご存知の通りニュートン法は初期値によって解が収束しません。プログラムと方法が正しければ、エクセルで求めたλ付近の値を入力して収束するか見てみて下さい。収束しなければ、方法かプログラムに問題があると思います。 (2)エクセルのヘルプで「ソルバー」と入力すると以下が出てきました。 Microsoft Excel のソルバー ツールでは、テキサス州オースティンのテキサス大学の Leon Lasdon 氏とクリーヴランド州立大学の Allan Waren 氏が開発した GRG2 (Generalized Reduced Gradient) 非線形最適化コードが使用されています。 線形問題と整数問題では、Frontline Systems, Inc. の John Watson 氏と Dan Fylstra 氏が実装した、束縛変数を用いたシンプレックス法と分枝限定法が使用されています。ソルバーが使用する内部解決プロセスの詳細については、以下の連絡先にお問い合わせください。 Frontline Systems, Inc. P.O. Box 4288 Incline Village, NV 89450-4288 (775) 831-0300 Web サイト : http://www.frontsys.com 電子メール アドレス : info@frontsys.com (3)は質問者さんの方法がオーソドックスと思います。他方法としては ・最急降下法 ・遺伝的アルゴリズム があるようです。

noname#108554
質問者

お礼

分かりました。問題に見えにくいところに制約条件があったようです。 お付き合いいただきありがとうございました。

関連するQ&A

  • ラグランジアンの数学的定義

    解析力学は純粋に理論的にはラグランジュ方程式から初めてもいいと思いますが、ラグランジアンは数学的にはどのような関数であると考えればいいのかという問題に行きつきました.まずは有限質点系のラグランジアンを考えることにして、これを可算、非可算自由度に拡張する方法については別に考えたいと思ってます.また、時間、一汎座標を考える必要がどうしてもあると思います.更に、ラグランジュ方程式は微分を使っているので可微分性を要求します.これらを踏まえると、ラグランジアンはRと3N次元の実微分可能多様体の直積上の実数値関数と考えるのが妥当なように思いました. L:R×M → R ところが、私はMの各座標が時刻からの関数でもあることを考慮すべきと思うのでこれでいいかどうかもよく分ってません.更に、ラグランジアン、時間、一般化座標から一般化運動量はどのように定義したらいいでしょうか?

  • ラグランジアンについて

    鉛直平面に固定されている半径aのなめらかな円の頂上から質量mの質点を初速度0で滑り降りるとき、質点が離れる位置を求める問題で、ラグランジアンを L=ma^2φ^2/2-mga(1-cosφ) と立てました。 これで合っているでしょうか? 未定定数が抗力となることを示したいのですが、どう示すのかわかりません。 ラグランジアンを使わずに、高校物理の範囲で解く方法はわかりますが、ラグランジアンをどう使うのかがわかりません。 どうかよろしくお願いします。

  • 線形代数

    線形代数の問題です。丸投げですいませんm(__)mどれか1つでもいいので教えてくださいm(__)m ①直線L:(x-a)/l=(y-b)/m=(z-c)/nとの距離hはベクトルA(a,b,c) ベクトルl=(l,m,n)とすると h=|ベクトルl×ベクトルAP|/|ベクトルl| であることを示せ。 ②点P(p,q,r)と平面S:l(x-a)+m(y-b)+n(z-c)=0との距離hはベクトルA(a,b,c),ベクトルn=(l,m,n)とすると h=|(ベクトルn,ベクトルAP)|/|ベクトルn| であることを示せ。 ③点(p,q,r)と平面S:lx+my+nz+d=0の距離hは h=|lp+mq+rz+d|/√l^2+m^2+n^2 て゛あることを示せ。

  • 磁場と重力を考慮に入れた荷電粒子のラグランジアン

    (PCの都合上ドットをダッシュ(')で表しています) (問)質量m,電荷eをもつ粒子が3次元空間内を運動しており、その位置ベクトルを r=(x,y,z) とする。粒子がベクトルポテンシャルA(r)の中を運動するときのラグランジアンは、 L={mr'^2/2} + er'・A(r) で与えられる。 また、粒子に対し磁場のほかに一様重力も働いている場合を考える。鉛直上方をz軸の正の向きとし、磁場BはB=(B,0,0)で与えられる。 重力加速度の大きさをgとするとき、この系でのラグランジアンを求めなさい。 A(r)は陽には時間には依らないとする。 という問題ですが、g=(0,0,g)とすると、この系でのラグランジアンは単に L={mr'^2/2} + er'・A(r) -mg・r で合ってますでしょうか?

  • Newton法について

    数値計算の問題でわからないのがあるので教えてください。 a,bを実数とするとき、以下の連立方程式を多変数Newton法で解くための漸化式を書き記せ。 x^2-y^2-a=0 2*x*y-b=0 なんですが、Newton法の公式をどのように当てはめるのかわかりません。誰か教えてください、お願いしますm(__)m

  • 線形台数の問題です。

    (1)2直線L1:(x-a1)/l1=(y-b1)/m1=(z-c1)/n1とL2:(x-a2)/l2=(y-b2)/m2=(z-c2)/n2との距離hは、 A1(a1,b1,c1),A2(a2,b2,c2),l1↑=(l1,m1,n1),l2↑=(l2,m2,n2)とすると、 h=|(l1↑×l2↑,A1A2↑)|/|l1×l2| であることを示せ。 (2)a↑=(1,2,3),b↑=(1,-3,2)を2辺とする平行四辺形の面積と単位法線ベクトルを求めよ。 という2つの問題です。 (2)は外積を使うのかな?と思いました。 すみませんが、教えてください。 よろしくお願いします。

  • 収束S_(n+1)=S_n+log(a-S_n)

    S_1=log a として S_(n+1)=S_n+log(a-S_n) とすると {S_n}が収束することを示せという問題なのですが、 とき方としては、 まず問題文よりa>0またすべてのnにおいてa-(S_n)>0 これを変形してa>S_n よって、S_nは上に有界である。…(1) ここでf(x)=x-logxを考える(0<x) f '(x)=1-1/xであるためf(x)の最小値はf(1)=1であることがわかる。…(2) 任意のnに対し S_(n+1) =S_n+log(a-S_n) =S_n+log(a-S_(n-1)-log(a-S_(n-1)) Y=a-S_(n-1) とおいて代入すると =S_n+log(Y-logY) 2の結果より 1)Y≠1 log(Y-logY)>0になるので、すべてのnにおいてS(n+1)>S(n)となり、(1)とあわせ、数列は収束する 2)Y=1 log(Y-logY)=0になり、S_(n+1)=S_nとなる。この場合はすべての項が同じになる。 よって数列{S_n}は収束する 収束値LはL=L+log(a-L)⇔log(a-L)=1⇔L=a-1である。 で回答の方針はあってますか?何か間違いがあったら指摘お願いします。まったく見当違いな解答でしたら、正しいやり方のヒントお願いします。

  • 微分方程式の解き方

    dy/dx=f(y) で (1)f(y)=(1-y)^n×y^a (^がべき乗、nとaが定数) (2)f(y)=(1-y)^n×(1+a×y) (3)f(y)=(1-y)×{-log(1-y)}^n の3つの方程式を解きたいのですが、解き方が良く分かりません。 教えて頂けると助かります。 数値解析で解ける方法でも結構です。 よろしくお願いします。

  • Fermion species doubling

    フェルミオンのラグランジアンを格子上で離散化するとFermion species doubling が起ります。これはゲージ理論に限らず一般の数値解析でも起きうることだと思うのですが、数値解析の分野ではこの問題はどの様に研究され、どのような解決法が一般にとられているのでしょうか(まさかStaggerd fermion ではないと思いますが)

  • 線形代数の問題がわかりません;

    自然数Nをひとつ取り固定する。実数列a_nに対して、実数列b_nを b_n=a_n+N (n+Nは添え字です) で定義し、線形写像fを f(a_n)=b_n で定義する。このときfの像および核を求めよ。 わかる方解答おねがいします。