我想要一个型材优化算法
int SUM = 80;//材料长度数量
//材料长度
int Cl = 4850;
//下料长度
int[] Num1 = { 1297, 1222, 964, 919, 898, 942, 1175, 1093, 836, 1203, 1285, 308, 648 };
//下料数量
int[] Num2 = { 3, 123, 3, 2, 6, 6, 108, 6, 1, 67, 3, 3, 4 };
代码最优解
那个80 是什么?
材料长度数量
@美国如来不如中国上帝: 返回需要几根材料么?
@浅草青晨: 就是有80跟原材料 长度为4850 下料 1297(数组Num1)对应(数组Num2) 3 从原材料开始下料 对应NUM1 最好不要有剩余的料 分别来切割 比如 4850 -(1297*3)=959 这959从数组中还能下 919 ,898 ,942,836....等等 我这样说不知道能明白吗
@美国如来不如中国上帝: 这个我知道,但是你要求什么?比如最少需要几根原材料还是返回其它的?
@浅草青晨:返回结果是 使用最少的原材料,余料剩的最少。
@美国如来不如中国上帝: 这个我算了下,貌似总长度都不够啊?
@浅草青晨: 80跟原材料 长度为4850 肯定能把上面的材料下完 ,我现在只是没有最优的解法
@美国如来不如中国上帝: 我算出来下料更多。。。额,难道我算错了。。。
@美国如来不如中国上帝: 1297 * 3 + 1222 * 123 + 964 * 3 + 919 * 2 + 898 * 6 + 942 * 6 + 1175 * 108 + 1093 * 6 + 836 * 1 + 1203 * 67 + 1285 * 3 + 308 * 3 + 648 * 4=392233;
80*4850=388000,真的是下料更多。。。
@浅草青晨: 看出你的用心。 我这是只是个例子 我比如
1297 * 3 + 1222 * 123 + 964 * 3 + 919 * 2 + 898 * 6 + 942 * 6 + 1175 * 108 + 1093 * 6 + 836 * 1 + 1203 * 67 + 1285 * 3 + 308 * 3 + 648 * 4 加起来 和 原材料相减等于零 那么请问 4850-那个数是正好能切完 4850-那个长度 和那个长度=0呢
@美国如来不如中国上帝: 哦哦,我知道了,你给了组数据我总得校验下。。。
@浅草青晨: 是啊。。本来这些数是不固定的 我本来用的是随机数 哈 为了解决问题 就随便 加了点数 把你的思路给打乱了 不好意思啊 您看看你有比较好的解决方案吗
已经解决了