基于改进遗传算法的钢管下料方法与流程

未命名 07-23 阅读:112 评论:0


1.本发明属于bim及可视化管理技术领域,特别涉及建筑幕墙的施工,具体是一种基于改进遗传算法的钢管下料方法。


背景技术:

2.随着建筑行业数字化转型的不断推进,建筑信息化和精细化管理已经变成土木工程未来发展的趋势。如今的建筑为追求外表的美观性,多采用玻璃幕墙、石材幕墙以及铝板幕墙进行装饰。幕墙系统主要由面板、金属龙骨和连接件三部分组成。
3.在幕墙工程施工时,采购的钢材龙骨原料通常为定尺,传统的钢管龙骨下料大部分依据劳务队施工人员的经验进行任工切割,施工人员的下料单只标注管材尺寸及数量,并且遇到非标准尺寸时随意切割整料,很少考虑材料的利用率,使用切割下料单指导工人切割钢管的情况很少见。不同的施工人员经验不尽相同,并且涉及到大型工程,材料需求量大,仅靠经验操作,会出现材料利用率不高、废料多,致使材料没有充分利用造成材料浪费的情况。
4.遗传算法运算时以决策编码为运算对象,以适应度函数作为搜索导向,经过选择、交叉、变异等运算过程,在求解空间内多点并行搜索,可以在较短的时间内得到优化结果。


技术实现要素:

5.本发明的目的是为了解决上述现有技术中存在的问题,而提供一种基于改进遗传算法的钢管下料方法。
6.该方法是基于遗传算法的优点,在传统遗传算法的基础上进行改进,将改进后的算法作为钢管下料系统的核心算法,最终生成一套下料系统。该方法主要包括:第一步、运用软件根据图纸建立出幕墙龙骨的三维模型;第二步、快速提取三维模型中的幕墙龙骨长度、型号以及所需数量;第三步、将幕墙钢材下料类比成数学领域的一维线性下料问题,以消耗整根管材最少、损耗率最小和施工人员切割次数最少为目标,运用智能算法快速生成切割方案的下料单。
7.本发明是通过如下具体的技术方案实现的:一种基于改进遗传算法的钢管下料方法,包括如下步骤:1)通过revit软件进行幕墙龙骨模型建模创建。
8.2)基于dynamo可视化编程平台进行工程量提取,包括:s.1通过在“code block”节点中输入幕墙龙骨型号;s.2将s.1输入的名称接入“family.byname”用于获取revit软件文档中的族;s.3通过“famliy.types”节点和“all elements of family type”节点获取所有该名称类型的幕墙龙骨;s.4利用“element.getparametervaluebyname”节点获取幕墙龙骨的所有参数类型,并在该节点的“parametername”接口处接入长度参数;
s.5使用除法节点和“math.round”节点对长度进行单位转化和小数点保留;s.6通过“data.exportexcel”节点,将处理好的幕墙龙骨尺寸以及需求量导入至excel表格中。
9.3)基于visual studio code软件和python语言编写改进遗传算法,包括:s.1将实际问题转化为数学问题,并制定优化目标;建立数学优化模型产生目标函数f(x):优化模型以原材料使用最少、废料最少以及施工人员切割次数最少为优化目标,将这三个目标以费用表示,求取费用最少值,见公式(1);
ꢀꢀꢀ
(1),式中:x
iy
~第i个个体余料的长度,(i = 1,2,3

,n),m ~该种群中有m个体,fz~材料每米的费用,fq~人工切割一次的费用;s.3根据启发式排样算法生成单个种群,见公式(2);
ꢀꢀ
(2),式中:li~单个需要下料的长度,(i = 1,2,3

,n),n~该组合排列需要下料长度的个数,ls~切割损耗的长度,ly~余料长度;lz~钢管原材的长度;s.4采用实数进行编码,编码顺序由s.3的排样算法生成,n个数字组合成单个个体,m个个体组合成一个群体;s.5实际施工时,原材料为定尺的杆件,利用算法的并行性,将每一根定尺原料的切割方案当作一个个体,满足所有所需下料规格后的切割方案组成一个群体,计算时随机生成多个群体,通过运算后结果,最后比选出最优群体作为下料方案;s.6在同一群体内进行第一次的选择运算,为后续的交叉运算提供数据支持,选择运算采用的方法为轮盘赌法;s.7交叉运算选用单点交叉;s.8变异运算选用位置交换法,通过将需要变异的个体内两个数随机调换位置,生成新的个体;s.9为解决生成的新个体出现不满足解码要求的问题,加入精英保留策略,包括:第一步,将变异运算后的新种群中的个体全部解码,只要出现不满足要求个体,则该种群被去除,满足则保留;第二步,将剩余种群进行适应度判断后排序,把适应度最大的和上一代群体中适应度最小的种群进行替换,若保留后的新种群不满足初始种群数量时,再将上一代种群有小到大填充,直至填满;第三步,筛选出本代适应的最小的种群到精英池中作后续对比;第四步,进行第二次选择运算,将适应度小的种群选入交叉池中进行之后的运算;s.10判断进化代数,如果符合设定值则筛选出本代与精英池中适应度最小的种群作为切割方案;若不满足,则继续重复s.3至s.9的操作。
10.4)算法编写完成后,通过python语言编写代码,读取步骤2)中导入至excel表格内的材料需求量,经过算法运算后,生成切割下料方案,再导入新的excel表格内即可。
11.进一步的,步骤3)的s.3中,公式2中的n也可等价为切割的次数。
12.进一步的,步骤3)的s.7中,交叉运算时包括等长的个体进行交叉以及不等长的个体进行交叉。
13.与现有技术相比,本发明方法主要的创新点包括如下几点:1)本发明方法由多种软件之间协同进行,应用revit软件进行三维建模,dynamo可视化管理平台提取工程量,excel软件进行尺寸储存,visual studio code软件进行算法代码编辑,这样的方式可以充分发挥软件自身优势,从而将软件功能的拓展。
14.2)本发明方法通过dynamo可视化编程平台,编写导出幕墙龙骨尺寸以及工程量的代码;该代码运行速度快,效率高,极大减少人工操作;该代码可根据钢材型号快速提取出三维模型中的工程量,为后续算法运算提供准确的数据支持。
15.3)本发明方法运用改进的遗传算法为运算核心进行切割下料方案排布;本发明方法在基于传统遗传算法的原理基础上,分别在多种群并行、排样原理、编码方法、选择运算、精英保留策略五个方面进行改进;改进后的算法更适应于实际工程,且运算速度快,可以很好的获得相对优质的结果。
16.4)本发明方法改进的遗传算法优化目标,不仅以常见的优化问题中材料利用率和原材料最少为目标,还以实际问题出发,还考虑材料切割的损耗以及操作人员切割次数。
17.与现有技术相比,本发明方法的有益效果如下:1)本发明方法解决了施工下料时没有详细料单的问题,快速生成了有序的切割下料单,避免了因为缺少尺寸发生施工人员随意裁切的现象;生成的切割方案消耗整根管材相对最少、损耗率相对最小和施工人员切割次数相对最少。
18.2)本发明方法通过切割下料单,可以提前备料,将材料种类有序分类管理,并放置到指定位置进行安装,从而减少材料搬运次数,提高安装效率;本发明方法有效的节约了材料,减少了人工消耗,提高了生产效率。
附图说明
19.此处的附图用来提供对本发明的进一步说明,构成本技术的一部分,本发明的示意性实施例及其说明用来解释本发明,并不构成对本发明的不当限定。
20.图1为本发明方法的流程图。
21.图2为本发明方法中遗传算法流程图。
22.图3为本发明方法中实数编码示意图。
23.图4为具体实施例中采用revit软件建立幕墙龙骨三维模型的示意图。
24.图5为具体实施例中以竖梃为例进行工程量导出后的导出结果示意图。
25.图6为具体实施例中钢材切割方案下料单示意图。
具体实施方式
26.为了使本领域技术人员更好的理解本发明,以下结合参考附图并结合实施例对本发明作进一步清楚、完整的说明。需要说明的是,在不冲突的情况下,本技术中的实施方式及实施例中的特征可以相互组合。
27.一种基于改进遗传算法的钢管下料方法,其流程步骤如图1所示,其具体包括如下
步骤:1)通过revit软件进行幕墙龙骨模型建模创建。
28.2)基于dynamo可视化编程平台进行工程量提取,包括:s.1通过在“code block”节点中输入幕墙龙骨型号;s.2将s.1输入的名称接入“family.byname”用于获取revit软件文档中的族;s.3通过“famliy.types”节点和“all elements of family type”节点获取所有该名称类型的幕墙龙骨;s.4利用“element.getparametervaluebyname”节点获取幕墙龙骨的所有参数类型,并在该节点的“parametername”接口处接入长度参数;s.5使用除法节点和“math.round”节点对长度进行单位转化和小数点保留;s.6通过“data.exportexcel”节点,将处理好的幕墙龙骨尺寸以及需求量导入至excel表格中。
29.3)基于visual studio code软件和python语言编写改进遗传算法,其流程图如图2所示,包括:s.1将实际问题转化为数学问题,并制定优化目标;建立数学优化模型产生目标函数f(x):优化模型以原材料使用最少、废料最少以及施工人员切割次数最少为优化目标,将这三个目标以费用表示,求取费用最少值,见公式(1);
ꢀꢀꢀ
(1),式中:x
iy
~第i个个体余料的长度,(i = 1,2,3

,n),m ~该种群中有m个体,fz~材料每米的费用,fq~人工切割一次的费用;s.3根据启发式排样算法生成单个种群,见公式(2);
ꢀꢀ
(2),式中:li~单个需要下料的长度,(i = 1,2,3

,n),n~该组合排列需要下料长度的个数或者是切割的次数,ls~切割损耗的长度,ly~余料长度;lz~钢管原材的长度;s.4传统的编码方法多采用二进制和浮点数编码,本发明方法采用实数进行编码,编码顺序由s.3的排样算法生成,n个数字组合成单个个体,m个个体组合成一个群体,实数编码如图3所示;s.5为使实际问题获得更优质的方案,本发明方法将传统的单个种群运算,改进为多种群运算;实际施工时,原材料为定尺的杆件,利用算法的并行性,将每一根定尺原料的切割方案当作一个个体,满足所有所需下料规格后的切割方案组成一个群体,计算时随机生成多个群体,通过运算后结果,最后比选出最优群体作为下料方案;s.6传统的遗传算法仅做一次选择运算,本发明方法将进行两次,此步骤是在同一群体内进行第一次的选择运算,为后续的交叉运算提供数据支持,选择运算采用的方法为轮盘赌法;
s.7交叉运算选用单点交叉;传统的遗传算法是等长的个体进行交叉,本发明方法为保证方案的多样性,另外加入了自编的不等长个体交叉方法;s.8变异运算选用位置交换法,通过将需要变异的个体内两个数随机调换位置,生成新的个体;s.9为解决生成的新个体出现不满足解码要求的问题,加入精英保留策略,包括:第一步,将变异运算后的新种群中的个体全部解码,只要出现不满足要求个体,则该种群被去除,满足则保留;第二步,将剩余种群进行适应度判断后排序,把适应度最大的和上一代群体中适应度最小的种群进行替换,若保留后的新种群不满足初始种群数量时,再将上一代种群有小到大填充,直至填满;第三步,筛选出本代适应的最小的种群到精英池中作后续对比;第四步,进行第二次选择运算,将适应度小的种群选入交叉池中进行之后的运算;s.10判断进化代数,如果符合设定值则筛选出本代与精英池中适应度最小的种群作为切割方案;若不满足,则继续重复s.3至s.9的操作。
30.4)算法编写完成后,通过python语言编写代码,读取步骤2)中导入至excel表格内的材料需求量,经过算法运算后,生成切割下料方案,再导入新的excel表格内即可。
31.以下列举一个具体实施例,对本发明的技术方案作进一步的说明:以钢材定尺6m进行切割下料,来验证本发明方法的可行性。
32.1)采用revit软件建立幕墙龙骨三维模型的示意图,如图4所示;2)以竖梃为例进行工程量导出,导出结果如图5所示;3)钢材切割方案下料单如图6所示;图5表示安装钢材的长度以及需求量,总共282根构件。通过本发明方法的计算,得到如图6所示的钢材切割方案下料单,表示需要整根钢材225根,每一行代表一个下料切割方案,单个整根下料的切割方案中的数字,代表安装钢材需求量的长度,需要的整根数代表该方案整根数的用量,14个方案汇集成切割下料单,满足图5所有的需求量。该切割下料单剩余材料66.12m,损耗率为4.94%。
33.以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。

技术特征:
1.一种基于改进遗传算法的钢管下料方法,其特征在于,包括如下步骤:1)通过revit软件进行幕墙龙骨模型建模创建;2)基于dynamo可视化编程平台进行工程量提取,包括:s.1通过在“code block”节点中输入幕墙龙骨型号;s.2将s.1输入的名称接入“family.byname”用于获取revit软件文档中的族;s.3通过“famliy.types”节点和“all elements of family type”节点获取所有该名称类型的幕墙龙骨;s.4利用“element.getparametervaluebyname”节点获取幕墙龙骨的所有参数类型,并在该节点的“parametername”接口处接入长度参数;s.5使用除法节点和“math.round”节点对长度进行单位转化和小数点保留;s.6通过“data.exportexcel”节点,将处理好的幕墙龙骨尺寸以及需求量导入至excel表格中;3)基于visual studio code软件和python语言编写改进遗传算法,包括:s.1将实际问题转化为数学问题,并制定优化目标;s.2建立数学优化模型产生目标函数f(x):优化模型以原材料使用最少、废料最少以及施工人员切割次数最少为优化目标,将这三个目标以费用表示,求取费用最少值,见公式(1);
ꢀꢀꢀ
(1),式中:x
iy
~第i个个体余料的长度,(i = 1,2,3

,n),m ~该种群中有m个体,f
z
~材料每米的费用,f
q
~人工切割一次的费用;s.3根据启发式排样算法生成单个种群,见公式(2);
ꢀꢀ
(2),式中:l
i
~单个需要下料的长度,(i = 1,2,3

,n),n~该组合排列需要下料长度的个数,l
s
~切割损耗的长度,l
y
~余料长度;l
z
~钢管原材的长度;s.4采用实数进行编码,编码顺序由s.3的排样算法生成,n个数字组合成单个个体,m个个体组合成一个群体;s.5实际施工时,原材料为定尺的杆件,利用算法的并行性,将每一根定尺原料的切割方案当作一个个体,满足所有所需下料规格后的切割方案组成一个群体,计算时随机生成多个群体,通过运算后结果,最后比选出最优群体作为下料方案;s.6在同一群体内进行第一次的选择运算,为后续的交叉运算提供数据支持,选择运算采用的方法为轮盘赌法;s.7交叉运算选用单点交叉;s.8变异运算选用位置交换法,通过将需要变异的个体内两个数随机调换位置,生成新的个体;s.9为解决生成的新个体出现不满足解码要求的问题,加入精英保留策略,包括:第一
步,将变异运算后的新种群中的个体全部解码,只要出现不满足要求个体,则该种群被去除,满足则保留;第二步,将剩余种群进行适应度判断后排序,把适应度最大的和上一代群体中适应度最小的种群进行替换,若保留后的新种群不满足初始种群数量时,再将上一代种群有小到大填充,直至填满;第三步,筛选出本代适应的最小的种群到精英池中作后续对比;第四步,进行第二次选择运算,将适应度小的种群选入交叉池中进行之后的运算;s.10判断进化代数,如果符合设定值则筛选出本代与精英池中适应度最小的种群作为切割方案;若不满足,则继续重复s.3至s.9的操作;4)算法编写完成后,通过python语言编写代码,读取步骤2)中导入至excel表格内的材料需求量,经过算法运算后,生成切割下料方案,再导入新的excel表格内即可。2.根据权利要求1所述的基于改进遗传算法的钢管下料方法,其特征在于:步骤3)的s.3中,公式2中的n也可等价为切割的次数。3.根据权利要求1或2所述的基于改进遗传算法的钢管下料方法,其特征在于:步骤3)的s.7中,交叉运算时包括等长的个体进行交叉以及不等长的个体进行交叉。

技术总结
本发明为一种基于改进遗传算法的钢管下料方法,属于BIM及可视化管理技术领域。该方法的第一步是运用软件根据图纸建立出幕墙龙骨的三维模型,第二步是快速提取三维模型中的幕墙龙骨长度、型号以及所需数量,第三步是将幕墙钢材下料类比成数学领域的一维线性下料问题。该方法以消耗整根管材最少、损耗率最小和施工人员切割次数最少为目标,运用智能算法快速生成切割方案的下料单。本发明方法能够快速生成有序的切割下料单,避免了施工人员随意裁切的现象;本发明方法通过切割下料单可以提前备料及管理,从而减少了材料搬运次数,提高安装效率;本发明方法有效的节约了材料,减少了人工消耗,提高了生产效率。提高了生产效率。提高了生产效率。


技术研发人员:常帅 肖云飞 史成功 闫文强 周洁 张陶 李志娜 贾晓峰 刘洋
受保护的技术使用者:山西五建集团有限公司
技术研发日:2023.04.27
技术公布日:2023/7/22
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐