Algorithm 最大化大矩形中的小矩形面积(矩形填充)

Algorithm 最大化大矩形中的小矩形面积(矩形填充),algorithm,math,np,Algorithm,Math,Np,假设我有一组不同宽度和高度的矩形,它们不能旋转。 现在,我想将其中的一个子集拟合到一个具有设置高度和宽度的较大矩形中,以便使较小矩形的面积之和最大化 有没有一种算法可以帮我解决这个问题 我试着研究一般的矩形布局,但我能找到的只是关于最小化矩形所占面积的问题 以下是我想做的图形示例: 右边的矩形是前面提到的一组较小的矩形,我想把它们放在左边。 因为我不可能把所有的小矩形都放到大矩形中,所以我现在必须选择它们的最佳子集,例如: 这是矩形的最佳排列和子集吗?可能不会,因为在较大的矩形中仍有一些空间

假设我有一组不同宽度和高度的矩形,它们不能旋转。 现在,我想将其中的一个子集拟合到一个具有设置高度和宽度的较大矩形中,以便使较小矩形的面积之和最大化

有没有一种算法可以帮我解决这个问题

我试着研究一般的矩形布局,但我能找到的只是关于最小化矩形所占面积的问题

以下是我想做的图形示例:

右边的矩形是前面提到的一组较小的矩形,我想把它们放在左边。

因为我不可能把所有的小矩形都放到大矩形中,所以我现在必须选择它们的最佳子集,例如:


这是矩形的最佳排列和子集吗?可能不会,因为在较大的矩形中仍有一些空间。在理想情况下,空间正好为0,小矩形的面积之和等于大矩形的面积。然而,由于这几乎是不可能的,我需要一个算法,可以找到最好的可能的安排和子集。

这个问题是NP难的。然而,从一个角落开始从最大的到最小的贪婪包装方法通常做得很好。谢谢!你可能有关于这个方法的更多资源的链接吗?为了得到好的答案,-不用说,我假设所有的矩形“是平行的”;类似地,
一个子集
是一件让我假设“没有重叠”的事情:我更喜欢被填鸭式地输入这样的细节:较小的矩形所占据的
区域到底是什么?封闭的、未覆盖的空间对它不利吗?它是凸面外壳的面积,作为“平行矩形”将是边界框吗?有。谢谢,我澄清了我所说的矩形区域的意思,并添加了两张图片来说明这个问题。