• 締切済み

非線形最適化問題のBrent法

非線形関数を最適化する(最小値を探索する)手法の一つに Brent法というものがあるのですが、 どういった理論なのか、ご存知な方は教えていただけませんか? 参考になるURLや、文献でもいいです。 ちなみに1変数ではなく、多変数の非線形最適化問題らしいです。 よろしくお願いします。

  • halle
  • お礼率100% (1/1)

みんなの回答

  • 0shiete
  • ベストアンサー率30% (148/492)
回答No.1

「Numerical Recipes in C」という本に載っています。 (ただし、この本にはBrent法は一変数の最適化に使われていますが、  多変数の場合もあるのでしょうか?) この本の翻訳されたものも販売されています。 最適化手法のコードが載っているので、私は重宝しました。 なお、英語版ならネット上にもあります。

参考URL:
http://www.library.cornell.edu/nr/bookcpdf.html
halle
質問者

お礼

お返事どうもありがとうございました。 早速この本を探すことができて、 Brent法を学ぶことができそうです。

関連するQ&A

  • 非線形計画法について

    非線形計画法を現在勉強しています。 1. どういうときに線形でどういうときに非線形となるのか良く分かりません。 例えば、ある従属変数yを線形関数f=Σcx で表したいときにパラメータcの絶対値の和が定数bより小さくなるという制約のもとで、yとfの二乗誤差を最小化するパラメータcを求める問題を考えます。 この場合、制約条件はcについて線形ですが、最小化したいのは、yとfの二乗誤差なのでこの場合は非線形ということになるのでしょうか?それとも関数fはcに関して線形関数なので、線形計画法で解くことになるのでしょうか? 2. 以下のサイトで勉強しているのですが、このサイトにある楕円型の等高線はおそらく、従属変数yと目的関数fの誤差を表しているのだと思うのですが、なぜ「楕円」になるのですか?二乗誤差を考えるのならば、「円」になるのではと疑問で仕方ありません。 http://www.sist.ac.jp/~suganuma/kougi/other_lecture/SE/opt/nonlinear/nonlinear.htm#2.2 疑問が晴れずにもやもやしています。 回答もしくはアドバイス、よろしくお願いします。

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

    線形計画法の解き方が判らなくて困っています。 判らないこと 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を求めます。

  • 線形計画法

    数2で「線形計画法」という有名な問題がありますが、その際にある式をkとおくときのある領域における最大値や最小値を求めます。一番多いパターンは、kが「切片」とする一次関数なのですが、他にも、kを「傾き」や円の「半径」とおく場合があるらしいのですが、チャートにも載っていないので、例題を示していただけますか?よろしくお願いします。

  • 非線形最小二乗法とシンプレックス法

    非線形最小二乗法をシンプレックス法を使って解く方法がわかりません。Gauss-Newton法で解いてもいいのですが、この方法は適当な初期値の範囲が狭いという欠点があるようです。 シンプレックス法ならばいいらしいのですが、いろいろ調べてもシンプレックス法は線形問題で扱う場合がほとんどのようで、非線形問題にはでてきません。 シンプレックス法で非線形問題を扱うには、どうすればよいでしょうか? そもそも非線形問題でシンプレックス法は扱えるのでしょうか?

  • 非線形最小二乗法のmarquardt法とsimplex法に関して

    ほぼ一定の周期を持つデータがあり、それに対してy = a*cos(b*X+c)+d*X+eという形の近似式を求めたいと思っております。 いろいろ調べてみると非線形最小二乗法を利用して、求めればいいことが分かりました。 しかし非線形最小二乗法にはmarquardt法とかsimplex法などがあることが書かれていたのですが、それらの処理法が何をどうしているのか、参考書を見ても、よく分からず、脳が悲鳴をあげています。 この非線形最小二乗法のmarquardt法とsimplex法に関して、違いと求め方を素人でも分かるような形で教えていただくことができましたら、どうかご教授よろしくお願い致します。

  • 線形計画問題

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

  • 準ニュートン法の直線探索と収束性

     プログラムとして直線探索を実装した準ニュートン法を作成しました。 これについて、2次関数で試行すると、ヘッセ行列の逆は理論値の[0.5 0; 0 0.5]に収束することが確認できました。  他方で、直線探索を外し、一定値の間隔で進む?ようにしますと、逆行列の理論値から外れた値に収束することが見受けられました(探索点は2次関数の最小値に収束します)。 これは、プログラムミスなのか、準ニュートン法で直線探索をしないことによる帰結なのか、どちらなのでしょうか?また、後者であれば、その理由は数学的に明らかにされているのでしょうか?

  • 線形計画法について

    線形計画問題で、 制約条件: x1+4x2+x3≦2 x2+x2+2x3≦3 x1,x2,x3≧0 目的関数: max(5x1+8x2+6x3) という問題がでたのですが、 ご覧の通り3変数の問題なのですが図式解法を用いて解けという指定なのです。 2変数ならすんなりできたのですが、3変数となると上手くいきません。 どなたかわかる方いたら是非ご教授願います。

  • 変数数40万の0-1変数線形計画問題を解きたい

    0-1変数線形計画問題を解きたいです。目的関数および制約条件は1次関数(線形)です。 ただし、変数数が40万ほどあるのですが、 こういった問題を解くことはできますか? 出来たらMATLABのライセンスがあるのでMATLABで解きたいです。(Global Optimazation ToolBoxおよびOptimazation ToolBoxのライセンスあり。) もしくは、gruobiやNuoptのようなソフトを使えば解けるものでしょうか? ご知見ございましたら、よろしくお願いいたします。

  • 経営科学の線形計画法、教えてください

    線形計画法のシンプレックス法で、問題を解くために不等式であらわされた制約条件式を、わざわざ余裕変数を用いて等式条件にするのはどうしてですか?