0

我需要实现适用于刚体的“几何中值”型算法,这意味着它不仅会找到一个点,使与一组点的距离最小化,而且还会考虑到身体的方向。我在任何地方都没有找到此类问题的解决方案,而对于几何中位数(或 Weber 或 Fermat-Torricelli 问题,或设施位置问题),有很多可用信息,包括 Weiszfeld 算法(以及现代改进)。我希望有人能参考可能的解决方案。我原以为这是注册中相对常见的问题,但也许我只是没有找到合适的词来搜索......

我的问题可以表述如下:假设我有一个具有 3 个非共线点(三角形)的“参考”刚体,并且我多次测量 3 个点的坐标(有一些错误,或者对象是移动一点)。我想找到一个好的“中心位置”,它将最小化每个测量点与其对应的中心定位对象点之间的距离总和(不是平方距离)。这等效于“多设施位置问题”,但对“设施”之间的固定距离有额外的限制,并且每个点都预先分配给一个设施(不一定是最近的一个)。

实际上,我在考虑的不是最小化所有点的总和,而是每次测量时只保留 3 个点的最大距离。(这就是所谓的“极小极大”吗?)但我认为这不会对我必须使用的算法类型产生很大影响。

与几何中位数相比,一个可能的困难可能是随着旋转自由度的增加,最小化的数量不再是凸的(不是 100% 肯定,但我认为)。我希望我仍然可以使用与 Weiszfeld 类似的算法(这是一种次梯度方法),并且希望之前已经对此进行了研究。谢谢你的帮助!

PS 我将在 Matlab 中执行此操作。

4

1 回答 1

0

我找不到关于这个主题的任何研究。我要做的第一件事是使用没有刚性约束的 Weiszfeld 算法来找到各个点的几何中值,定义与对象边缘与预期值的偏差相对应的拉格朗日乘数,并使用梯度下降来找到受约束的局部最小值。我无法证明它会一直有效,但直观地说,只要偏差足够小,它就应该有效。

于 2012-06-08T22:56:35.557 回答