ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 61635|回复: 232

[分享] 一维下料(线材排样)软件

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2018-1-24 07:32 | 显示全部楼层 |阅读模式
所谓下料,就是将一种形状尺寸较大的物料(原材料)切割加工成若干种形状尺寸较小的物料(零件或毛坯)的工艺过程,而当物料尺寸只须考虑长度属性时,则称为一维下料。显然,一种原材料经过切割加工后,除切口损耗外,还会产生料头,当料头不能再利用时,即是废料,这就是一种浪费。当有多种规格的零件需要用某几种原材料切割生成时,如何在满足零件需求的同时,使原材料用量最少,也就是切口损耗和料头浪费最少?显然,用某几种零件的组合,在某根原材料上进行切割,即使用套裁的方法,能比不使用套裁更省料,如何找到这个能使原材料用量最少的组合,这是一个经典的组合优化问题,这个最优组合在学术界被称为最优解,用学术语言来描述就是:组合优化问题是一个NP难问题,即无法在多项式时间内找到最优解。说白了就是在现在的条件下,对于给定的原料数据和零件需求数据,必定存在一个最优组合,能使得因切割加工造成的损耗和浪费最少,但你没有办法一定能在有限的时间内找到这个最优组合。鉴于这个问题在从多行业中的实际应用及在对资源利用日益重视的情况下,国内外从多专家和学子都以此问题为自己的研究课题。

EH中从什么时候开始提出这个问题,我不知道,我是从这个贴(http://club.excelhome.net/thread-871867-1-1.html)开始接触这个问题的,当时就感到这个问题意思,也很有现实意义,所有就开始关注并琢磨这个问题,在百度了关于这个问题的一些文章之后,开始尝试用各种方法来解此题。经过多次尝试,终于被我找到了一个粗浅却相当有效的方法:采用随机抽取零件进行下料,快速生成整体下料方案,通过对整体方案的评价来获取最佳方案。即我在(http://club.excelhome.net/thread-920256-5-1.html)中描述的思路。用这个思路写的代码,对当时能找到的一些数据进行测试对比,结果令自己也感到惊讶,竟然比这些数据已知的最优解都要好!

虽然当时的代码能获得的结果令自己相当的满意,但总觉得还有许多地方存在改善的余地,再加上自己工作上的变动,很少有时间泡EH论坛,所以一直没有来完善这段代码,也就扔在了一边,权当对这段代码作时效处理了。直到2016年夏季,才从工作中解脱出来,有时间来EH泡泡,发现这期间,下料问题在EH中一直是一个热门的话题,就下载了国内外比较有知名度的有关一维下料的商业软件,对其进行测试,发现其性能不过尔尔。所以就萌生了:何不将自己的这段代码鼓捣鼓捣,加个外壳,使之商品化,换几个酒钱的想法。

让人感到意外的是,原以为两三个礼拜就能商品化的问题,就因为用户是花了钱买的缘故,除了性能之外,你还必须想方设法让他用起来方便、看起来顺眼,还有版权保护等一系列问题你都得考虑到。结果是断断续续花了我四、五个月的时间!这个工作量远远超出了我的预想,好在在2016年年底,总算竣工了。就像当初对那段优化代码的感觉一样,总觉得整个产品还有一些让人不满意的地方,所以也就放下了,这一放,修修改改又是一年!

现在想通了,完美无缺的产品是不存在的,就这样吧,发布!呵呵……

--------------------以上权当是开发此产品的过程自述吧,不看也罢-------------------------

1、《help》、《简谐下料_1D》、《OptCutting》三个文件必须在同一目录下。
2、首次使用前,建议浏览整个《help》文件。
3、在首次使用时,必须关闭360等杀毒软件。
4、无需安装,双击《简谐下料_1D》文件即可使用。
5、在Win7+Office2010、Win7+Office2013环境下,已经测试,可以正常运行,其他环境未经测试。

对本论坛中的非真正用户的坛友,若对一维下料问题感兴趣并作研究者,如果需要,请自行制作容量小于等于6单位的系统锁贴上来,本人奉送解锁钥匙,用于你比较测试。此承诺有效期至2018年7月23日。

本附件中,除封装在Dll中的核心代码和加解密代码外,其他代码全部公开。
------------------------------------------------------------------------------------------------------
简谐下料优化.rar (1018.8 KB, 下载次数: 1986)
------------------------------------------------------------------------------------------------------
help文件刚刚超过2M,传不上来,请移步到百度网盘下载(未设置密码)
百度网盘:https://pan.baidu.com/s/1o9Lgp4Y


评分

9

查看全部评分

TA的精华主题

TA的得分主题

发表于 2018-1-24 08:35 | 显示全部楼层
请问是否在64位系统上不宜使用啊?[img][/img]

TA的精华主题

TA的得分主题

发表于 2018-1-24 11:07 | 显示全部楼层
本帖最后由 aman1516 于 2018-1-24 11:27 编辑

大师的作品,必需学习!谢谢分享!
如果零件数据能批量复制粘贴就更完美了(实际操作中,导入文件有时也未必最方便)

TA的精华主题

TA的得分主题

发表于 2018-1-24 11:48 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2018-1-24 13:36 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2018-1-24 15:17 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-1-24 15:28 | 显示全部楼层
xpm130 发表于 2018-1-24 08:35
请问是否在64位系统上不宜使用啊?[/img]

该工具一直是在32位机上鼓捣的,因为身边没有64机,所有也没有在64位机上测试过。dll里面除那个进度条窗体可能包含64位系统不能正常识别的控件外,其他都是一些基本的代码,dll里面出问题的可能性较小。如果64位系统不能正常使用,可能性较大的是问题出在外围的VBA代码中。
你可在你的机子上运行一下,看能否正常启用。不论能否正常启用,对你的系统不会有任何危害,这一点我可向你保证!
如果不能正常启用,你可以自己通过调试或修改VBA代码来排错,看能否使之正常工作。
若能反馈出错现象或原因,将十分感谢!

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-1-24 15:33 | 显示全部楼层
pezyl 发表于 2018-1-24 15:17
系统锁是针对单台电脑使用吗

是的,一机一码。

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-1-26 14:47 | 显示全部楼层
补充一张核心算法流程图,供有兴趣的坛友参考: 算法流程图t.png

这个算法比较简单和容易理解。即模拟人工操作进行多次试切,从而生成较好的整体方案。说明如下:
选取一支棒料,在待切割的零件中随机的选择一个零件进行裁切,直到该支棒料的料头长度不足以切割任何一个未切零件为止。如此重复多次后,确定一个最佳的模式(即一支棒料的切割方法),将其作为组成方案的模式之一,添加到方案中。重复以上过程,直到所有零件全部完成切割。这样就生成了一个整体下料方案。最后在由此生成的N多个整体方案中按优化目标筛选出最优方案。



补充内容 (2018-3-21 22:12):
由aoe1981大侠总结得出的算法思想说明在73楼。

补充内容 (2018-3-21 22:12):
由aoe1981大侠总结得出的算法思想说明在73楼。

补充内容 (2018-3-21 22:12):
由aoe1981大侠总结得出的算法思想说明在73楼。

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2018-1-26 16:31 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-5-18 01:26 , Processed in 0.043017 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表