Lio*_*gan 7 algorithm computational-geometry
我遇到了以下问题:
特定
目标:
笔记:
我正在寻找一个最佳的任务.
我的问题:
(我可能会提到我尝试了什么.因为我正在寻找最佳分配,我的启发式思想并不真正相关.此时我不知道如何找到最佳分配).
这是加权最大覆盖问题的几何特例。一般的 MCP 是 NP 难的,我怀疑这种特殊情况也是如此,尽管与一般情况不同,它可能有一个有效的多项式时间近似方案。然而,您想要一个最佳解决方案,因此我建议的第一件事是将链接的维基百科文章中的整数线性规划公式提供给 LP 求解器。
maximize sum_j (w_j * y_j)
subject to
for all i, sum_i x_i <= U
for all j, sum_{i : j in S_i} x_i - y_j >= 0
for all i, x_i in {0, 1}
for all j, 0 <= y_j <= 1
Run Code Online (Sandbox Code Playgroud)
w_j
给定每个点的权重j
,并且集合S_i
是用宽度正方形覆盖点的所有可能性L
。的含义x_i
是是否S_i
选择set。的含义y_j
是点是否j
被覆盖。构造S_i
s 的最简单的三次算法是枚举其左下顶点的 x 坐标等于某个点的 x 坐标且 y 坐标等于某个(可能是其他)点的坐标的所有正方形,因为每个其他正方形都可以向上滑动和/或向右移动而不牺牲覆盖范围。