优化 2D 网格 space 以放置对象

Optimizing 2D grid space for placing objects

我的 objective 正在优化二维网格 space 尽可能减少未占用的 space。要放置在网格中的对象具有一定的尺寸 HxW 并且具有一些要填充的约束。

正如你在图片中看到的,我有几个对象要放在网格中,每个对象都有一个优先级(它们必须按照优先级放置在网格中,如果不适合,然后一个较低的优先较小的对象将被放置在网格中)也是必要的。

有什么可以帮助实现这一目标的吗?一些理论算法,任何编程语言中的一些库等...有些东西不能从头开始。

非常感谢#!!

这是一个rectangle packing problem。这个问题有很多变体。链接的维基百科文章描述了三种变体,并带有指向包括算法描述和代码的参考链接。