我有一个宽度和高度确定的网格,每个单元格可以是三个可能的值(在这个插图中呈现为白色、绿色和红色):
(来源:corexii.com)
您可以选择任意数量的绿色单元格(在下面的插图中用蓝色标记),它们覆盖所选单元格周围预定的正方形半径内的所有红色单元格(用黄色标记):
(来源:corexii.com)
目标是:
- 尽可能覆盖红色单元格
- 使用尽可能少的蓝色单元格
- 尽快完成
有人对算法有什么想法吗?
我正在研究很多理论,但我最感兴趣的是近似方法,可以快速完成而不是准确。快速得到合理的结果比整天计算最优解更可取。
(上面的插图可能呈现出这些单元格最常见的分布,但不应假定它们类似于所有可能的分布。)
n
适合在该矩形内)。走出矩形范围并没有实现任何效果,因为那里没有红色单元格需要覆盖;你只是减少了该正方形的潜在覆盖面积。 - Kaz