昨天我想到了一个问题,但我没有找到答案。
我们有一个随机大小的矩形,同时我们也有一些不同半径的圆,这些圆的数量是有限的。每个圆都有特定的成本。我们希望用这些圆完全填满矩形,并且尽可能地降低总成本。
现在我想用遗传算法来解决这个问题,但我没有在网上找到任何与我的问题相似的文章。
有谁有任何想法吗?
回答:
你的问题与背包问题有关:从一组具有重量W和价值V的N个物品中,你希望选择一组物品,使其总价值最大,但它们的重量总和必须低于某个界限。
然而,你的问题更为复杂,因为重量约束的评估不仅仅是简单的加法,而是取决于圆的排列方式。我认为这构成了另一个NP难解的问题。你需要找到一些快速的近似方法来判断这种约束是否可行(有时可能会错误地告诉你不可行,尽管实际上是可行的)。
将物体放置在容器内的排列可以描述为一个打包问题。你可能需要查看圆形打包及其相关文献。一个简单的松弛方法也可以基于矩形。对于矩形打包,有一些快速的方法可以使用,如果你将圆视为矩形的话。然而,如果你的圆大小差异很大,这种松弛方法可能不太合适。