Algorithm 二元矩阵的最小覆盖盒数

Algorithm 二元矩阵的最小覆盖盒数,algorithm,matrix,compression,cover,Algorithm,Matrix,Compression,Cover,我有一个二元矩阵n*m(0和1)。问题是用元素均为1的非重叠框覆盖所有1 例如: 1111 0110 0110 框可以用每个坐标中的坐标和长度表示(x,y,lx,ly)。此示例包含两个框{(0,0,1,4),(1,1,2,2)} 我正在寻找如何用最少的盒子找到封面 谢谢我的问题领域是计算化学,我们在那里处理巨大的多元问题。这里可以应用两种通用全局优化算法,这两种算法也已成功应用于包含数万个原子的系统: a) 遗传算法 b) 模拟退火 这两种算法都有很好的公共域实现和很好理解的最优性

我有一个二元矩阵n*m(0和1)。问题是用元素均为1的非重叠框覆盖所有1

例如:

1111
0110
0110
框可以用每个坐标中的坐标和长度表示
(x,y,lx,ly)
。此示例包含两个框
{(0,0,1,4),(1,1,2,2)}

我正在寻找如何用最少的盒子找到封面


谢谢

我的问题领域是计算化学,我们在那里处理巨大的多元问题。这里可以应用两种通用全局优化算法,这两种算法也已成功应用于包含数万个原子的系统:

a) 遗传算法

b) 模拟退火





这两种算法都有很好的公共域实现和很好理解的最优性属性。

这个问题称为直线多面体的划分。biziclop在评论中对类似的问题发表了很好的评论

该算法的思想是将问题归结为二部图的最大匹配(顶点是可能的割集)

3D

我最初的问题是3D中的同一个主题。该版本显示为:-/

经过一些研究,我实现了基于Anuj Jain论文中描述的启发式的解决方案:


是否允许框重叠?@Jeff:对于指定的问题,重叠不会带来任何好处。您可能会发现这很有用:@Jeff:无重叠。我编辑了文本。@biziclop:这是同样的问题。非常感谢。