2

我需要最小化以下总和:

最小化所有人的总和i{(i = 1 to n) fi(v(i), v(i - 1), tangent(i))}

v并且tangent是向量。 fi将 3 个向量作为参数并返回与这 3 个向量相关的成本。对于这个函数,v(i - 1)是在上一次迭代中选择的向量。
tangent(i)也是众所周知的。给定其他两个向量和,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 来优化目标函数。如果您反复将 Vi 设置为 Ti、Vi+1 和 Vi-1 的平均值,然后再次将 Vi 缩放为单位向量,可能值得看看会发生什么。

于 2012-05-23T11:47:56.077 回答