高难度算法征解,分不够再加 (新帖)

LGYAN 2007-05-11 05:22:24
最近公司有一个关于自动配料方面的软件,由小弟接手,关于算法部分苦思不得其解,望各位大哥大姐赐教。具体如下:
假设:
库存中有4m*3、6.5m*5、7m*5、8m*10、10m*8(4m*3表示4米的材料有3根),
现在用户需要3m*3、3.5m*1、4m*4、5m*3。

问用户该怎么取材,才能使浪费余料最少、材料的切割次数最少?

本题优先级是:
1、浪费余料最少(优先级最高)。
2、切割次数最少。
可以认为库存里最长的材料肯定比用户需要的最长的材料长。

浪费余料:就是在本次切割过程中,切割下来的,但没有用在本次用户要求上的材料都算浪费余料

...全文
374 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
fishmans 2007-05-17
  • 打赏
  • 举报
回复
to fishmans(金脚指):
你没有考虑用户组合的情况
比如7m*3可以分解为3m*3和4m*3。。

----------------------------
以客户规格组合查找匹配倍数的库存规格,以组合中数量小的为标准减库存数、需求数,

你这里应该是说客户规格为3M、4M,我上面说了,以客户规格组合匹配即客户有3M、4M的规格则组合为7M的库存规格匹配最大倍数
如果这里你说的是客户规格为7M,库存规格有3M、4M又有什么用?未必库存规格3M和4M的用万能胶粘上卖给客户?
lgyan001 2007-05-15
  • 打赏
  • 举报
回复
自己的帖子自己回,自己的分自己拿
三色 2007-05-14
  • 打赏
  • 举报
回复
取10m 1根、8m 1根、7m 1根、6.5m 1根、4m 3根
10m*1 -> 5m*2
8m*1 -> 5m*1,3m*1
7m*1 -> 4m*1,3m*1
6.5m*1 -> 3.5m*1,3m*1
4m*3 -> 4m*3
得到5m*3,4m*4,3.5m*1,3m*3
浪费0m,切割4次
fishmans 2007-05-14
  • 打赏
  • 举报
回复
个人想法:
1。以客户规格组合查找匹配倍数的库存规格,以组合中数量小的为标准减库存数、需求数,循环处理(可根据实际是优先短的还是优先长的做组合)
2。无完全匹配的库存规格,以单客户规格最大倍数规格(如5M客户规格可找到相似的6.5M--1倍和10M--2倍的库存规格,取最大倍数规格)循环减库存数、需求数
  • 打赏
  • 举报
回复
这题好象在数据库版 见发过了~
LGYAN 2007-05-14
  • 打赏
  • 举报
回复
没人回答了吗?
LGYAN 2007-05-14
  • 打赏
  • 举报
回复
各位可以参见帖子:
http://community.csdn.net/Expert/topic/5515/5515617.xml?temp=7.421511E-02


LGYAN 2007-05-14
  • 打赏
  • 举报
回复
to fishmans(金脚指):
你没有考虑用户组合的情况
比如7m*3可以分解为3m*3和4m*3。。
piaoyuan 2007-05-14
  • 打赏
  • 举报
回复
我认为应该先将厂里的每一种材料能可能切好的客户的每一种材料算出来
然后一一枚举 进行比较
大约比较去年100次就行了吧
piaoyuan 2007-05-14
  • 打赏
  • 举报
回复
楼上的够行啊
但若是一般情况呢
比如没有8M的
fu0212 2007-05-12
  • 打赏
  • 举报
回复
小弟拙见
写一函数
第一步 在客户要求中的每一项和库存作比较 如:客户要3m*2 在库存中找正好3M的有就在客户要求和库存中减去客户的要的数量如果库存不购那就库存有多少出多少 然后修改客户需求 递归本函数 如客户要3m*2 库存中有 3m*1 那经过这一步之后 库存为0 客户要求变3m*1
第二步 在库存中查找有没有是客户要求材料整数倍的 如客户要3m*2 库存中有6m*4的 记录一次切割 修改库存和客户要求 递归本函数
第三步 在客户要求中任意个材料相加后的长度等于库存中一个材料的长度 如客要求 3m*3 2.5*2 库存中 有个5.5 的 记录切割 修改 递归函数
第四步 客户要求中的单个材料个数相乘再加任意另一个或几个材料 等于仓库中的材料 如 2m*2 3.5*1 库存中正好有一格7.5的 记录两次切割 修改 递归
CathySun118 2007-05-12
  • 打赏
  • 举报
回复
帮顶
withoutme_hw 2007-05-11
  • 打赏
  • 举报
回复
如果是实际应用的话
这些材料的规格 (包括库存和用户需求的材料)应该有更多的限制吧
如果材料规格和需求规格完全随机 那我是没什么办法了...
关注&帮顶...
iamxiang 2007-05-11
  • 打赏
  • 举报
回复
问一下,如果10m长的材料切割成二段5m长的,是否这两段都算合格可用的材料?
vbman2003 2007-05-11
  • 打赏
  • 举报
回复
对于我来说难了
一点头绪没有
帮顶

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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