What kind of algorithm can I use to search for an optimal (minimum area) covering of a limited region of the XY plane with n discs ( xj, yj, rj ) ?
我发现了许多关于固定半径圆盘的研究,但没有关于可变半径的研究。
n
是固定的,但圆盘可以自由放置(它们不在指定的位置,并且它们的中心不需要在该区域内)。该区域通常是非连通且非单连通的(可以由多个部分组成并且可以有孔)。在我的具体情况下,是由多个闭合多边形定义的(使用奇偶填充规则)。
回顾一下:
Input:
Output:
- 的列表
n
由中心描述的光盘x[i], y[i]
和半径r[i]
使得该区域的每个点都包含在至少一个圆盘中
最小化:
Example
在此示例中,输入是“A”形状。手动放置十个点,并计算覆盖该区域与 Voronoi 单元相交的最小圆。
I'm currently investigating the approach based on just looking for the centers x[i], y[i]
and computing the radiuses r[i]
with this algorithm (search space is reduced by ℝn and always produces an acceptable solution).
这是一个非常酷的问题!我很高兴我偶然发现了这个。我完全意识到这已经有一年多了,所以你可能不再关心它了,但我会以任何一种方式回答它,因为我喜欢谜语,而且这是一个有趣的谜语(假设我的解决方案甚至有效!)。
我要做的似乎与 Voronoi 图建议类似:
-
从问题的层次聚类解决方案开始。它不会有最小的面积,但它会用 N 个磁盘覆盖所有内容。
A。注意:我不会使用 K 均值,因为 K 均值很容易陷入局部最小值。
然后,您可能可以使用梯度下降来移动圆盘的中心(损失是每个圆盘的总面积——计算为到该“簇”内的点的混合距离)以获得更优化的解决方案。
我认为这里需要注意的是,如果你有一些孤立的点,它们可能会导致一些不良的解决方案。
显然没有证据表明这会起作用。你怎么认为?另外,你最后用的是什么?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)