ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

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

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2018-1-31 18:06 | 显示全部楼层
太厉害了,占个坑,有空时候慢慢研究

TA的精华主题

TA的得分主题

发表于 2018-2-1 08:45 | 显示全部楼层
本帖最后由 aoe1981 于 2018-2-1 08:47 编辑

平时不发帖,首次发帖就来一个震撼级的,厉害啊!

敢问:当棒料(也就是是型材规格,不知理解对不对)存在多种规格时,是不是严格假定每种下料规格都要小于最小棒料规格?

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-2-1 13:30 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
aoe1981 发表于 2018-2-1 08:45
平时不发帖,首次发帖就来一个震撼级的,厉害啊!

敢问:当棒料(也就是是型材规格,不知理解对不对)存 ...

对于短于最长零件长度的棒料,只要未切零件中存在比该支棒料短的,就可用该棒料进行下料,这个在程序中已作了考虑,当时解决这个问题时,还真费了一番周折。

你可用模拟数据测试一下。

看来你也曾被这个问题折磨过,呵呵……

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2018-2-1 13:53 | 显示全部楼层
三坛老窖 发表于 2018-2-1 13:30
对于短于最长零件长度的棒料,只要未切零件中存在比该支棒料短的,就可用该棒料进行下料,这个在程序中已 ...

多谢多谢!
最近看帖发现:规格与长度二者还是有差别的。规格包含长度、截面直径等更多信息。您是基于同一截面直径棒料进行下料,还是针对多种规格?是不是对于多规格(长短粗细不同)棒料下料这样的问题本就应当做些简化?

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-2-1 14:25 | 显示全部楼层
本帖最后由 三坛老窖 于 2018-2-1 14:32 编辑
aoe1981 发表于 2018-2-1 13:53
多谢多谢!
最近看帖发现:规格与长度二者还是有差别的。规格包含长度、截面直径等更多信息。您是基于同 ...

我们平常说的规格,其内涵是比较宽泛的,其边界也比较模糊,没有人去严格定义它。
通常我们用物料的外形尺寸、工艺名称、理化性能指标等来描述物料特征,各类物料有各自约定俗成的描述方法,这个描述就是我们所说的规格。
对于一维下料牵涉到的棒料(原料)和零件(毛坯)、我们无需去考虑物料的其他属性,只要考虑其长度属性即可。
至于这个软件中可能提到规格,就是长度,如各种棒料规格,可等同理解为各种棒料长度。在一组数据中,所有的棒料与零件,除长度不同外,其他的物料特征都是一样的。

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2018-2-1 15:05 | 显示全部楼层
我也做过类似的尝试。但没有【灰袍法师】的解法容易得到最优解。

大致做法是:
1. 在剩余需求中随机生成一个组合解,如果余料为零则确认该组合有效(最高效率的组合)
或者循环一定次数仍不能得到余料为零的解时,取记录中的最优解(当前计算轮次中余料最小值解)

2. 以此组合为模板,提取所有相同组合的最大允许值(满足最小剩余不为负数)

3. 重复1、2步骤。

这样做,由于采用了关键的2步骤,计算速度稍快些,但容易错失更多的最优解。

根据你的做法,看来还是取消步骤2,让每一个组合都是反复随机计算的好一些。

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2018-2-1 15:15 | 显示全部楼层
香川群子 发表于 2018-2-1 15:05
我也做过类似的尝试。但没有【灰袍法师】的解法容易得到最优解。

大致做法是:

正有此想法,看来只好打住。

TA的精华主题

TA的得分主题

发表于 2018-2-1 15:48 | 显示全部楼层
多谢分享,套裁的问题有时在生产要遇到,留言标记

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-2-1 16:06 | 显示全部楼层
香川群子 发表于 2018-2-1 15:05
我也做过类似的尝试。但没有【灰袍法师】的解法容易得到最优解。

大致做法是:

呵呵,无愧为香侠,一语就能点中程序关键之所在!

我的第2步的处理方法与你所做的是一样的,只是这个最大允许值是作为一个参数,参与对模式的评价的。至于这个评价方法,我就不公布了。程序中外露的那两个参数M和P,其实质就是参与对模式评价的两个系数,目的是能让取得的模式能够抖动起来,使整体方案的模式构成随机化。

灰袍法师的程序,我曾【F8】过很多遍,都是半途而废,到现在我还是没能看明白其具体实现细节。读他的这个程序的难度,不亚于读你的程序。

TA的精华主题

TA的得分主题

发表于 2018-2-1 17:05 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
三坛老窖 发表于 2018-2-1 16:06
呵呵,无愧为香侠,一语就能点中程序关键之所在!

我的第2步的处理方法与你所做的是一样的,只是这个 ...

灰袍法师的程序,也有对组合模板的权重调整计算,这个调整函数的计算原理、以及调整的步骤,我也没看懂。

可能是有优先度的调整,某个长度的料,如果多次计算都会剩下,(剩到最后造成较大浪费)
那么他在下次循环计算时就提高这个规格的优先度权重,及早组合用掉。
这样局部可能不是最优解,但是得到了整体的最优解。

过程比较复杂,所以没有相关注释,很难看懂(不知道联系的因果)
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-4-30 18:10 , Processed in 0.043267 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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