我正在处理一个优化问题,我把它归类为组合问题。现在,我知道这是背包问题的2D变体,但请耐心等待:
如果我的区域被建模为由相同大小的单元组成的网格,如何在此网格区域放置一定数量的不同大小的方形对象,如果每个对象都有其成本及其好处和目标是对具有最大利益/成本比率的对象进行排列:
对象2:2x2平方成本= 2000值= 7565257
对象3:3x3平方成本= 3150值= 14363679
对象3具有最佳的价值/成本比率,所以我认为该方法是贪婪的,首先放置尽可能多的较大正方形,但仍有许多最佳解决方案,具体取决于区域。
此外,方形物体不能重叠。 我正在使用R,而adagio包具有单背包和多背包的算法,但不适用于2D背包问题。因为我在优化和编程方面很新,我不确定是否有办法用R解决这个问题,有人可以帮忙吗? 谢谢!
答案 0 :(得分:0)
首先,我不是R和adagio的专家。其次,我认为你的问题不完全是2d背包,它看起来像是packing problem的变体,所以它需要一种不同的方法。
首先,请查看R optimization packages这个很棒的列表,尤其是以下部分: