• ベストアンサー

多変数関数の最小値を求めるプログラム

neKo_deuxの回答

  • neKo_deux
  • ベストアンサー率44% (5541/12319)
回答No.1

遺伝的アルゴリズム(Genetic Algorithm)とかですと、こういった「だまし問題」に対しても、それなりの計算時間で、それなりの性能を発揮します。 アルゴリズム入門 : 第 5 章 知識情報処理入門 http://www.microsoft.com/japan/msdn/academic/Articles/Algorithm/05/

noname#23400
質問者

お礼

遅くなりましたが、お礼申し上げます。 回答ありがとうございました。 なるほど、遺伝的アルゴリズムというものがあるんですね。 自分はC言語をやっていますので、以下のサイトが参考になりました。 http://www6.plala.or.jp/mnagaku/cmag/ac19999/

関連するQ&A

  • 多変数関数の最大/最小問題の一般的解法

    多変数関数、例えば f(x,y,z) の最大値/最小値を求めるときに ∂f/∂x=0 ∂f/∂y=0 ∂f/∂z=0 の連立方程式を解く方法が、講義ではよくでてきますが 導関数が =0 であっても、極値をとるかどうかはわからないし 極値をとったとしても極大か極小かはわからないと思うのですが… こういう解法がとられる場合には、暗黙の了解として 明らかに極大(極小)となることを前提としているのでしょうか? もしそうなら、それは容易に判断できることなのでしょうか?

  • 2次関数の最小値をC言語とGAを用いて求めたいです

    私は機会系の大学生のものです。 今回は 2次関数の最小値をプログラムのC言語と遺伝的アルゴリズム(GA)を用いて求めたいのですが 私がC言語が素人のためプログラムを作れません...。例として教えていただけると幸いです。 よろしくお願い致します。

  • 最小二乗法について

    最小二乗法では二乗和の誤差 Σ[i=1~n]{Yi-(α+βXi )}^2 (iは添え字です) を最小化するα,βを推定することを考えますが、 これは単純にα,βで偏微分してそれを0とおいて 連立方程式を解くだけでよいのですか? といいますのも、2変数関数の極値を求める場合、 Hessianを計算して判別しますよね? ただ一階偏導関数が0になるからといって、 そこで極値をとるとは限らない気がしたので… それとも最小二乗法の場合は必ずとるようになっているのでしょうか? 手元の本には、 「この二乗和は非負値なので、αとβで偏微分したものを0とするα,βが上式を最小にする値である」 とあるのですが、一般に非負値だとこの ようなことが言えるのでしょうか?

  • 大学数学の最大値・最小値の問題です

    大学数学の極値の問題です。 関数f(x,y)=x^2+xy+y^2のD={(x,y) ∈ R^2 | x^2+y^2≤1}における最大値、最小値を求めよ。 という問題です。 ヒントとして「円の内部における極致(2変数関数の極値)と円周上での極値 (条件付き極値)を調べよ。)というのが与えられています。

  • プログラムの手法について

    プログラム初心者です。同僚の書いたVBAのプログラムを勉強のために見ていました。彼のプログラムは X=-1 関数1 ・・・・・関数の処理 X=1 関数1終 もしX=1じゃなければエラー処理へ。 もしX=1ならばプログラムは続く。 といった内容です。 関数直前で変数に値を持たして、関数脱出後にその変数が変わっていなければエラー処理へといった手法はよく使われるんでしょうか?自分はそんな処理の仕方をおもったことすらなかったので、そんな手法があるんだ。それって一般的なのかな?と思って質問させて頂きました。お願いいたします。

  • 確率変数の関数について

    確率初心者です。どうかご回答お願い致します。 異なる分布を持つ複数の確率変数が、互いに独立しているとき、 それらを使った関数の分布曲線をエクセルで数値的に求めたいです。 例えば下記のような感じです。 変数例 X:N(10,0.25) Y:N(15,0.25) Z:U(10,12) …正規分布or 一様分布 関数例 X+(Y^2+Z^2)^0.5、 X+Y*ATAN(Z) など…四則演算・べき乗・三角関数を含む   誤差伝播式を使えば、関数のσ、最大、最小値は求められることは分かったのですが、 どのような分布になっているかがわかりません。 モンテカルロ法では計算に時間がかかるため、他の方法があれば どなたかご教授お願い致します。

  • 最小公倍数をPHPで求めるには

    PHPで最小公倍数を求めるプログラムを作りたいのですが、 アルゴリズムをお教えください。 尚、PHPを実行するレンタルサーバーの関係で gmp関数群は使えません。

    • ベストアンサー
    • PHP
  • 高校数学において、関数f(x)があって、その最大値

    高校数学において、関数f(x)があって、その最大値や最小値を求めたい時の手法として ・微分して増減をしらべる ・変数が正ならば(または変数が正となるように置き直して)相加相乗 ・変数が整数ならば、差の符号を調べる、または商と1との大小を調べる などの手法が挙げられますが、他にどのようなものが思い浮かびますか? 他に思いついたものをお教えください、お願いします……

  • 不均一分散の回帰分析に適した変数変換とは?

    不均一分散する変数について回帰分析をする場合、加重最小2乗法や変数変換等があるという情報をウエブで見つけました。 手持ちのデータ(独立変数が大きくなるほど、残差のばらつきが大きくなっているデータ)で試しに従属変数の対数変換をして回帰したら、確かに元の結果よりかなり鮮明な傾向が認められ、また分散もほぼ一定となっている様に見受けられたのですが、その様になる理由は、簡単にイメージ的に説明すると何なのでしょうか。 また上記の様に“綺麗な結果”になる場合、そのまま対数変換の手法を採用して回帰してしまって差し支えないでしょうか。似た様な曲線形をとる関数に平方根(y=√x)等もあると思うので、ひょっとしたら「平方根変換」等も選択肢としてはあり得るとも思うのですが…何故対数変換なのでしょうか。 やはり実際に使う以上、直感的イメージだけでもその手法の仕組みを理解したいので、ご教示頂けると非常に助かります。

  • 関数表示がわかりません。

    経済学ではしばしばf(L,K)などとカッコを使用し、関数を表現しますが、基準がハッキリせずよく理解できておりません。外生変数、内生変数などは関係あるのでしょうか? 高校の教科書には「(y、xの式であれば)xが決まった時にyが唯一に決定されるものを関数」などと書いてあった気がいたしますがこの場合も同様でしょうか? 詳しくお答えできる方、申し訳御座いませんが、お教えください。 例を出すなら先日費用最小化問題で、友人が Q=bar(Q) min(rK+wL) を解いて費用最小化したコストは C_{min(Q,r,w)} だね。と即座に答えてましたが なぜそうなるのか分かりません。 L,Kはなぜ違うのでしょうか?r,wは外生変数ですよね?よく分かりません。 よろしくお願いいたします。