如何使数据被拆分的次数最小?

jackluo1981 2018-09-20 02:27:23
有5个数,分别是3600,960,1200,300,300,如何把这些数分成最大值不超过1000的7个数,要求是5个数被拆分的次数最少。
ex:(3600+960+1200+300+300)/1000=6.4 ,所以只能分成7个数。
...全文
583 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
king4323210 2018-10-19
  • 打赏
  • 举报
回复
看不明白,你可以用一个简单的结果为导向,再根据这个结果来说一下你的要求,这样会比较容易理解
jackluo1981 2018-09-25
  • 打赏
  • 举报
回复
我来再解释解释。可以把半成品想成是粉末,成品是按照客户要求压合成的圆柱体块状物 订单如下 直径 重量 订单量 13 4 1200 13 5 800 13 6 700 13 7 500 14 4 960 15 4 300 15 5 900 16 4 400 17 4 300 18 4 600 18 5 700 他们使用的是同一个半成品,现在就是要计算每个半成品lot的量分别是多少时能满足下面的三个要求。 第一个要求应该明确把,7360是全部订单的综合,半成品单个lot的最大量是1000,所以要生产7360的成品最少需要8个Lot,这个条件不能违背, 第二个要求是,同一直径的成品要尽量放在一起生产,但当量很小时,只能和别的尺寸拼在一起生产,如例子中的直径17,重量4的量只有300,他如果不和别的尺寸拼起来一起生产而是自己用一个半成品lot号的话,最后导致的结果就是半成品lot的总量会大于8,这是不允许的。 第三个要求是,生产制品时应减少一个半成品lot生产不同的尺寸重量的订单的情况,因为拆分半成品lot会导致成品lot号变多。比如 15 4 300 15 5 900 16 4 400 这几个数据,最好的分法是900一个半成品lot来生产900的成品(1个成品lot),300+400=700一个半成品lot来生产剩余的两个成品(2个成品lot),这样3成品lot就可以了 如果把半成品分成1000+600的话,就会变成1000来生产900成品(1个成品lot),然后剩余100,100来生产300中的一部分也会产生一个成品lot,600来生产300的剩余部分也会产生一个成品lot,最后600来生产400成品也会产生一个成品lot,这样就有4个成品lot,比上面的方法多了一个成品lot
jackluo1981 2018-09-21
  • 打赏
  • 举报
回复
不好意思,是我说的不太清楚,我来把问题具体一下,数据是这样的 尺寸 数量 13 3600 14 960 15 1200 16 300 17 300 不同的尺寸合在一起会产生一次切替,要求切替次数最小的情况下,如何把这几个数分成最大值不超过1000的7个数。
卖水果的net 2018-09-20
  • 打赏
  • 举报
回复
你这不都写出来了吗? 说说你的具体需求。

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧