Algorithm 如何确定在较大网格内产生最大正方形数的布局
我试图确定使用什么算法来确定布局,以产生最大数量的2x2方形网格,可以容纳在更大的非均匀网格内。 下图显示了一个非均匀网格(黑线)的示例,其中最多安装了12个2x2方形网格(蓝色框)。是否有系统的方法来确定产生最大容量的布局?如下图所示,2x2方形网格不需要水平或垂直对齐。谢谢Algorithm 如何确定在较大网格内产生最大正方形数的布局,algorithm,Algorithm,我试图确定使用什么算法来确定布局,以产生最大数量的2x2方形网格,可以容纳在更大的非均匀网格内。 下图显示了一个非均匀网格(黑线)的示例,其中最多安装了12个2x2方形网格(蓝色框)。是否有系统的方法来确定产生最大容量的布局?如下图所示,2x2方形网格不需要水平或垂直对齐。谢谢 我会尝试整数规划解算器(例如,) 我心目中的公式是相当标准的。假设我们有一个带有标记的正方形的网格,如 ab cdefgh ijklmn 对于2x2(a、c、d、e、f、g)左上角的每个正方形,我们有一个0-1变量
我会尝试整数规划解算器(例如,) 我心目中的公式是相当标准的。假设我们有一个带有标记的正方形的网格,如
ab
cdefgh
ijklmn
对于2x2(a、c、d、e、f、g
)左上角的每个正方形,我们有一个0-1变量,如果选择该正方形,则该变量为1,否则为0。对于每个平方,我们有一个约束,即2x2与该平方重叠的变量之和最多为1
a ≤ 1 (a)
a ≤ 1 (b)
c ≤ 1 (c)
c + d ≤ 1 (d)
a + d + e ≤ 1 (e)
a + e + f ≤ 1 (f)
f + g ≤ 1 (g)
g ≤ 1 (h)
c ≤ 1 (i)
c + d ≤ 1 (j)
d + e ≤ 1 (k)
e + f ≤ 1 (l)
f + g ≤ 1 (m)
g ≤ 1 (n)
当然,我们想要最大化变量之和:
max a + c + d + e + f + g
明亮的谢谢!