我需要最小化以下总和:
最小化所有i{(i = 1 to n) fi(v(i), v(i - 1), tangent(i))}
v
和tangent
是向量。
fi
将3个向量作为参数,并返回与这3个向量相关的成本。对于此函数,v(i - 1)
是在上一次迭代中选择的向量。
tangent(i)
也是已知的。 fi
计算选择向量v(i)
的成本,给定其他两个向量v(i - 1)
和tangent(i)
。 v(0)
和v(n)
向量是已知的。所有tangent(i)
都预先知道i = 0 to n
值
我的任务是确定所有此类v(i)
,以便i = 1 to n
的函数值的总费用最小化。
能不能给我任何想法来解决这个问题?
到目前为止,我可以想到分支和绑定或动态编程方法。
谢谢!
答案 0 :(得分:0)
我认为这是数学优化中的一个问题,其中一个目标函数是由点积和arcCosines构成的,受限于你的向量应该是单位向量。您可以使用拉格朗日乘数或通过在弧余弦中包含归一化步骤来强制执行此操作。如果Ti是单位矢量,则Vi计算cos ^ -1(Ti.Vi /sqrt(Vi.Vi))。我可以使用共轭梯度优化器,或者甚至是Newton的方法,我的起点Vi = Ti。
我希望这会合理易懂,因为Vi只与邻近的Vi相关。您甚至可以通过一个接一个地隔离地重复调整每个Vi来优化目标函数。如果重复将Vi设置为Ti,Vi + 1和Vi-1的平均值,然后再将Vi缩放为单位向量,则可能值得看看会发生什么。