使用不均匀的光盘进行最佳覆盖

时间:2019-03-19 13:10:30

标签: algorithm math optimization geometry 2d

我可以使用哪种算法来搜索 n 个光盘(x j ,y j ,r j 吗?

我在固定半径的圆盘上发现了很多研究,但对可变半径没有任何了解。

n是固定的,但是光盘可以自由放置(它们不在指定的位置,并且它们的中心不需要在区域内)。该区域通常是非连接和非简单连接的(可以由多个部分组成并且可以具有孔)。在我的特定情况下,是由多个封闭的多边形定义的(使用奇偶填充规则)。

回顾:

输入:

  • XY平面的有限区域(例如,描述为具有奇偶填充规则的闭合多边形的集合)

  • 整数n> 0

输出:

  • 由中心n和半径x[i], y[i]描述的r[i]个光盘列表,以便该区域的每个点都包含在至少一个光盘中

最小化:

  • 圆盘结合所覆盖的平面区域

示例

Example of solution

在此示例中,输入为“ A”形。手动放置十个点,并计算出覆盖该区域与Voronoi细胞相交的最小圆。

我目前正在研究仅基于寻找中心x[i], y[i]并使用该算法计算半径r[i]的方法(搜索空间减少了ℝ n 和总是会产生一个可以接受的解决方案。

1 个答案:

答案 0 :(得分:0)

这是一个非常酷的问题!我很高兴偶然发现了这个。我完全意识到这已经有一年了,所以您可能不再关心它了,但是我会以任何一种方式回答,因为我喜欢谜语,而且这很有趣(假设我的解决方案甚至可以使用!)。 / p>

我会做的事情似乎与Voronoi图建议类似:

  1. 从此问题的分层聚类解决方案开始。它不会有最小的面积,但是它将用N个磁盘覆盖所有内容。

    a。注意:我不会使用K-means,因为K-Means往往很容易陷入局部极小值。

  2. 然后,您可能可以使用梯度下降来移动磁盘的中心(损失是每个磁盘的总面积-计算为到该“群集”中各点的最小距离)更好的解决方案。

我认为,如果您有一些孤独之处,可能会引起一些不希望的解决方案。

显然没有证据证明这可以奏效。你怎么看?另外,您最终使用了什么?