我有一个给定的区域(例如圆圈,但它同样可以是一个三角形)。我需要找到Xi和Yi的最佳值,以便这些矩形覆盖尽可能多的这个区域。我有一个增加易的步骤。
我必须在VBA(Excel)这样做,我不是那么有经验。使用for循环进行所有可能的组合根本不高效,可能需要数小时。
我需要一些关于如何优化此问题的建议。
我见过类似的包装问题,但在大多数情况下,矩形的大小已经知道了。
答案 0 :(得分:0)
拥有Yi
的已知增量意味着知道Y1
您可以找到所有其他Yi
,随后所有Xi
(来自圈子等式(Sum Xi)^2 + Yi^2/4 = R^2
})。从这些,覆盖区域。
这确定了Y1和目标函数之间的关系。首先绘制它,看看最大值是如何(分段平滑但不连续)。然后......再次给团队打电话。
为了便于在Excel中工作,您可以继续使用固定数量的矩形,并为那些离开圆圈的人设置零Xi
。