2

次の合計を最小化する必要があります。

すべての合計を最小化i{(i = 1 to n) fi(v(i), v(i - 1), tangent(i))}

vtangentはベクトルです。 fi引数として 3 つのベクトルを取り、これらの 3 つのベクトルに関連付けられたコストを返します。この関数でv(i - 1)は、 は前の反復で選択されたベクトルです。
tangent(i)も知られています。は、他の 2 つのベクトルとが与えられたときにfi、ベクトル を選択するコストを計算します。およびベクトルは既知です。すべての の値も事前にわかっています。 私の仕事は、関数値の総コストが最小になるように、そのようなすべての s を決定することです。 これを解決するためのアイデアを教えてください。 これまでのところ、分岐限定法または動的計画法について考えることができます。v(i)v(i - 1)tangent(i)v(0)v(n)tangent(i)
i = 0 to n
v(i)i = 1 to n

ありがとう!

4

1 に答える 1

0

これは、ベクトルが単位ベクトルでなければならないという制約を受けて、内積とアークコサインで構築された目的関数を使用した数学的最適化の問題だと思います。これは、ラグランジュ乗数を使用するか、アークコサインに正規化ステップを含めることで強制できます。Ti が単位ベクトルの場合、Vi について cos^-1(Ti.Vi/sqrt(Vi.Vi)) を計算します。これには、共役勾配オプティマイザーを使用するか、おそらくニュートンの方法を使用して、開始点 Vi = Ti を使用してみます。

Vi は隣接する Vi にのみ関連しているため、これが合理的に扱いやすいことを願っています。目的関数を最適化するために、各 Vi を個別に 1 つずつ繰り返し調整することで、ある程度の結果が得られる場合もあります。Vi を Ti、Vi+1、Vi-1 の平均に繰り返し設定し、Vi を再び単位ベクトルにスケーリングするとどうなるかを確認するだけでも価値があるかもしれません。

于 2012-05-23T11:47:56.077 に答える