昨天我想出了一个我无法解答的问题。
我们有一个随机大小的矩形,我们也有一些半径不同的圆圈,我们得到的圆圈数量有限。每个圆圈都有指定的费用。我们希望用这些圆圈完全填充矩形,接近最小的成本。
现在我想用遗传算法来解决这个问题,但我不会在网上找到任何文章,这与我的问题在某种程度上相同。
有没有人有任何想法?
答案 0 :(得分:2)
您的问题与Knapsack问题有关:在一组具有权重W和值V的N项中,您希望选择具有最大值的项目组,但其权重总和仍然较低比某些约束。
然而,你的问题更复杂,因为权重约束的评估不是一个简单的补充,而是取决于圆的排列。我认为这构成了另一个需要解决的NP难题。你必须在这个约束上找到一些快速的近似值,告诉你它是否可能(有时可能会告诉你它是不可能的,即使它是可能的)。
容器内物体的排列可以描述为包装问题。您可能需要查看circle packing及相关文献。简单的放松也可以基于矩形。如果您将圆圈视为矩形,则可以使用矩形包装的快速方法。如果你的圈子大小差异很大,那么这可能是一个不好的放松。