我可以使用哪种算法来搜索 n 个光盘(x j ,y j ,r j )吗?
我在固定半径的圆盘上发现了很多研究,但对可变半径没有任何了解。
n
是固定的,但是光盘可以自由放置(它们不在指定的位置,并且它们的中心不需要在区域内)。该区域通常是非连接和非简单连接的(可以由多个部分组成并且可以具有孔)。在我的特定情况下,是由多个封闭的多边形定义的(使用奇偶填充规则)。
回顾:
输入:
XY平面的有限区域(例如,描述为具有奇偶填充规则的闭合多边形的集合)
整数n
> 0
输出:
n
和半径x[i], y[i]
描述的r[i]
个光盘列表,以便该区域的每个点都包含在至少一个光盘中最小化:
在此示例中,输入为“ A”形。手动放置十个点,并计算出覆盖该区域与Voronoi细胞相交的最小圆。
我目前正在研究仅基于寻找中心x[i], y[i]
并使用该算法计算半径r[i]
的方法(搜索空间减少了ℝ n 和总是会产生一个可以接受的解决方案。
答案 0 :(得分:0)
这是一个非常酷的问题!我很高兴偶然发现了这个。我完全意识到这已经有一年了,所以您可能不再关心它了,但是我会以任何一种方式回答,因为我喜欢谜语,而且这很有趣(假设我的解决方案甚至可以使用!)。 / p>
我会做的事情似乎与Voronoi图建议类似:
从此问题的分层聚类解决方案开始。它不会有最小的面积,但是它将用N个磁盘覆盖所有内容。
a。注意:我不会使用K-means,因为K-Means往往很容易陷入局部极小值。
然后,您可能可以使用梯度下降来移动磁盘的中心(损失是每个磁盘的总面积-计算为到该“群集”中各点的最小距离)更好的解决方案。
我认为,如果您有一些孤独之处,可能会引起一些不希望的解决方案。
显然没有证据证明这可以奏效。你怎么看?另外,您最终使用了什么?