首页 文章

一组线段的最小面积几何覆盖

提问于
浏览
3

我想解决的问题是:

给定圆上可以居中的一组M点和一组需要被圆覆盖的N个线段,找到线段的最小面积圆覆盖 . 也就是说,找到圆的半径和中心(从M个点中选择),使得覆盖所有N个线段并且最小化圆的总面积 .

请注意,如果没有任何部分是一个圆形,则会覆盖一个线段 .

任何指向论文或代码或近似算法的指针都会很棒 .

2 回答

  • 1

    Edit: 刚刚意识到原始方法(移到最后)可能不会更好地迭代点而不是线段,在圆边界处向下切割线段:

    • 找到"worst"点,即需要最佳圆形中心选项的最大附加圆形区域的点,其中相应的线段至少部分位于圆圈中 . 构造/扩展相应的圆 .

    • 从集合中移除完全覆盖的线段,并在圆边界处切割部分覆盖的线段 .

    • 迭代,直到不再有线段 .

    主要思想是在任何情况下继续做必要的事情 . 如何计算重叠的圆圈?这些区域是合计还是合并?当在以后的迭代中回到第一步时,某种成本启发式可能会改善结果......

    最初的建议是:

    • 找到"worst"线段,即任何圆心选项需要最大圆的线段,并构造相应的圆 .

    • 从集合中删除覆盖的线段 .

    • 迭代,直到不再有线段 .

  • -1

    我刚刚发布了一些代码来实现建议的算法:

    https://github.com/usnistgov/esc-antenna-cover

相关问题