おはようございます。

 

今朝は仕事をしていてふと思ったことです。

 

エクセルにある「ゴールシーク」機能は私は大変重宝しています。

 

金融のプライシングでフェアバリューを計算したり、財務では損益分岐点を計算したりボタン1つで計算できます。

結果としては一次方程式を解いているのと同じなのですが、その求め方として「ニュートン法」のような反復法によるアルゴリズムが使われています。

f(x) = 0になるような値xを探す時、ある値x1における接線の切片x2は、元の値x1より真の値xに近くなる。無限に繰り返せば真の解に収束するというアルゴリズムです。

 

この反復法のプログラムが組み込まれたエクセルの機能が「ゴールシーク」です。

 

ちなみに複数の変数を含む数式を制約条件とし、制約条件の範囲内で目標値を得るための解の組み合わせを求める機能として「ソルバー」があります。

この繰り返しをすることでf(x) = 0となるようなxを求めるというのは旅人算に似ているとふと思いました。追いつきでは「2人の距離の差」を0にしたり、出会いでは「2人の距離和-全体」が0と等しくなる時を求めているので。

そしてこの考え方は時計算や旅人算で使える手法「シャドー」という仮定の存在に、実態の存在を近づけていく考え方と同じだなって。