Algorithm 一维嵌套算法

Algorithm 一维嵌套算法,algorithm,nested-loops,Algorithm,Nested Loops,我在为一维创建嵌套循环时遇到问题。假设我有足够数量的7米长的钢筋,我想将其切割为3 x 2米、4 x 3米、1 x 4米和2 x 5米,损耗最小。有人能帮我开发这个问题的算法吗?这是一个优化问题,您希望找到与目标最接近(但更小)的元素数 这个问题通常是NP完全问题,但对于相对较小的整数,它是相当有效的 该解决方案基于构建n*W维度的表d(n是元素数,W是目标数),并使用以下递归公式: f(0,i) = true f(x,0) = false for all x != 0 f(x,i) = f(

我在为一维创建嵌套循环时遇到问题。假设我有足够数量的7米长的钢筋,我想将其切割为3 x 2米、4 x 3米、1 x 4米和2 x 5米,损耗最小。有人能帮我开发这个问题的算法吗?

这是一个优化问题,您希望找到与目标最接近(但更小)的元素数

这个问题通常是NP完全问题,但对于相对较小的整数,它是相当有效的

该解决方案基于构建
n*W
维度的表
d
n
是元素数,
W
是目标数),并使用以下递归公式:

f(0,i) = true
f(x,0) = false  for all x != 0
f(x,i) = f(x-arr[i],i-1) OR f(x,i-1)
您要查找的目标数字是最大的数字
x
,因此
f(x,n)=true
x这是最大的数字。根据描述:

在箱子包装问题中,不同体积的物体必须以最小化所用箱子数量的方式包装到有限数量的箱子或容器中,每个箱子或容器的体积为V


从上面链接的wikipedia文章开始寻找算法。

这不是只解决了一个单条的问题吗?他要求以最小损耗拆分多个钢筋。@ruediste根据我对问题的理解,您有一个长度为7m的钢筋,您希望将其“拆分”为损耗尽可能小的较小钢筋,其中有效拆分为3x2m、4x3m、1x4m、2x5m。所以你有一个数组[2,2,2,3,3,3,3,4,5,5],在这个例子中,你想找到和为7的元素。也许我误解了OP的意图?哦,我的理解不同:有一组给定的钢筋长度和一堆7米的钢筋。任务是确定如何切割7m钢筋,以最小损耗获得所需的劈裂(即使用最小数量的7m钢筋)@用户3178876:您需要哪个版本?