我需要实现一个适用于刚体的“几何中值”-type算法,这意味着它不仅会找到一个点来最小化与一组点的距离,而且还会考虑到身体的方向。我在任何地方都没有找到这类问题的解决方案,而对于几何中位数(或Weber或Fermat-Torricelli问题,或设施选址问题),有许多可用的信息,包括Weiszfeld算法(以及现代改进)。我希望有人能参考一下可能的解决方案。我本以为这是注册中比较常见的问题,但也许我只是没有找到合适的词来搜索……
我的问题可以表述为:假设我有一个具有3个非共线点(三角形)的“参考”刚体,并且我多次测量这3个点的坐标(有一些误差,或者对象在移动)。我想找到一个好的“中心位置”,它将最小化每个测量点与其相应的位于中心位置的对象点之间的距离(而不是平方距离)之和。这相当于“多设施选址问题”,但在“设施”之间有额外的固定距离,并且每个点都预先分配给一个设施(不一定是最近的那个)。
实际上,我认为不是最小化所有点的总和,而是只保留每次测量的3个点之外的最大距离。(这就是所谓的“极小极大”吗?)但我不认为这会对我必须使用的算法类型产生很大的影响。
与几何中位数相比,一个可能的困难是,随着旋转自由度的增加,要最小化的数量不再是凸的(不是100%确定,但我认为)。我希望我仍然可以使用类似于Weiszfeld的算法(这是一种次梯度方法),希望这之前已经被研究过了。谢谢你的帮助!
附言:我会在Matlab中做这个。
发布于 2012-06-09 06:56:36
我找不到任何关于这个课题的研究。我要做的第一件事是使用没有刚性约束的Weiszfeld算法来找到单个点的几何中点,定义与对象边缘偏离预期值的拉格朗日乘子相对应的拉格朗日乘子,并使用梯度下降来找到约束局部最小值。我不能证明它总是有效的,但凭直觉,只要偏差足够小,它就应该有效。
https://stackoverflow.com/questions/10956523
复制相似问题