融合分布式剪枝和遗传算法的多规格钢筋下料方法及装置转让专利

申请号 : CN202311716584.8

文献号 : CN117407966B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘宜丰赵广坡周世杰赵一静吴春江唐军杨金旺

申请人 : 中国建筑西南设计研究院有限公司

摘要 :

本发明公开了一种融合分布式剪枝和遗传算法的多规格钢筋下料方法及装置,通过对钢筋原材及待切割下料钢筋编码;初始化待切割染色体种群;在所述待切割染色体种群中提取待切割方案;基于精确算法形成切割方案,其中,采用剪枝算法进行计算路径比对,采用分布式算法将数据进行分组计算,最后将计算结果串联;计算适度函数;交叉变异获得子代,形成下一代种群;重复迭代,获得满足预期适应度函数值的切割方案输出切割方案。本发明解决了多规格钢筋定尺下料问题的同时,将施工现场潜在施工经验纳入方法中,以获得更符合施工现场需求的钢筋下料方法,以提高钢筋使用率,减少施工现场钢筋损耗。

权利要求 :

1.一种融合分布式剪枝和遗传算法的多规格钢筋下料方法,其特征在于,包括如下步骤:A、对钢筋原材及待切割下料钢筋编码:钢筋原材编码为1,2,..., ,下料钢筋编码为1,2,...,  ,其中,L是钢筋原材数组,Lk表示第k种钢筋原材,K是钢筋原材定尺规格的种类数量,l是待下料钢筋数组,li表示第i根待下料钢筋,N是待下料钢筋的根数;

B、编制待切割染色体编码,其中,基因位置编码表示所述待切割下料钢筋编码,基因数值表示所述钢筋原材编码;

C、初始化待切割染色体种群,其中种群规模为M,从 个钢筋原材编码中随机选择个数字从左到右形成一个长度为N的数组,该数组则为一个待切割染色体;重复执行上述操作M次,形成包含M个染色体的双层嵌套数组,该数组则为初始化待切割染色体种群,即父代种群;

D、在所述待切割染色体种群中提取待切割方案,从左往右提取基因位置编码,将基因数值相同的基因位置编码放入同一个数组中,并按照下料钢筋编码数组映射关系,将基因位置编码替换为对应下料钢筋长度,按照定尺钢筋原材编码数组映射关系,将待切割方案对应的基因数值替换为钢筋原材定尺长度;

E、基于精确算法形成切割方案,其中,采用剪枝算法进行计算路径比对,采用分布式算法将数据进行分组计算,最后将计算结果串联;

F、计算适度函数,其中,选择可二次利用的余料长阈值,

适应度调整系数=适应度调整基数× ,

适度函数= ,

适应度调整基数=1/(切割方案中所用原材最大值×所用原材根数);

G、交叉变异获得子代,形成下一代种群;

H、重复迭代,当迭代至最大适应度函数值大于s时输出切割方案,其中s∈[0,1],如果达到最大迭代次数S后,最大适应度函数值仍未大于s,则选择其中最大适应度函数值对应的切割方案输出切割方案。

2.根据权利要求1所述的融合分布式剪枝和遗传算法的多规格钢筋下料方法,其特征在于,从BIM模型读取所述钢筋原材定尺,所述下料钢筋的长度、数量。

3.根据权利要求2所述的融合分布式剪枝和遗传算法的多规格钢筋下料方法,其特征在于,在A步骤前建立BIM模型。

4.根据权利要求1所述的融合分布式剪枝和遗传算法的多规格钢筋下料方法,其特征在于,所述余料长阈值为500mm。

5.根据权利要求1所述的融合分布式剪枝和遗传算法的多规格钢筋下料方法,其特征在于,所述G步骤的交叉变异包括以下步骤:G1、轮盘赌筛选亲本;

G2、对亲本进行交叉操作,获得交叉子代;

G3、对交叉子代进行变异操作,获得变异子代;

G4、将变异子代添加到下一代种群中;

G5、重复G1至G4步骤,重复次数为种群规模M/2。

6.根据权利要求5所述的融合分布式剪枝和遗传算法的多规格钢筋下料方法,其特征在于,在G3中变异基因位个数=10:1。

7.根据权利要求1所述的融合分布式剪枝和遗传算法的多规格钢筋下料方法,其特征在于,最大迭代次数S选择为10至50次。

8.一种用于权利要求1所述方法的装置,其特征在于,包括至少一个处理器,以及与所述至少一个处理器通信连接的存储器;所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1所述的方法。

9.一种用于权利要求1所述方法的装置,其特征在于,包括钢筋切割设备,至少一个处理器,以及与所述至少一个处理器通信连接的存储器;所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1所述的方法,并将下料方案输出至所述钢筋切割设备中。

说明书 :

融合分布式剪枝和遗传算法的多规格钢筋下料方法及装置

技术领域

[0001] 本发明涉及建筑行业的材料加工领域,具体涉及利用计算机辅助设计技术的融合分布式剪枝和遗传算法的多规格钢筋下料方法及装置。

背景技术

[0002] 钢筋优化下料是通过对大量待下料钢筋进行筛选比较,优化组合,使原材料钢筋的用量最少,同时满足待下料钢筋的的生产数量。
[0003] 现有的钢筋下料方法多是针对单规格钢筋下料,如中国发明专利申请CN114036717A、CN116468147A和CN116663660A中公开了采用不同的遗传算法对优化钢筋下料的技术方案,但这些技术方案均是针对单规格的钢筋下料。
[0004] 然而当原材料有多种规格,零件种类和数量较多时,切割方式数量成爆炸增长,问题的复杂性剧增,使用上述方法很难在短时间内或使用较少的硬件开销获得最优解或较优解。

发明内容

[0005] 本发明的目的在于:一种融合分布式剪枝和遗传算法的多规格钢筋下料方法及装置,解决多规格钢筋定尺下料问题的同时,将施工现场潜在施工经验纳入方法中,以获得更符合施工现场需求的钢筋下料方法,以提高钢筋使用率,减少施工现场钢筋损耗。
[0006] 为了实现上述目的,本发明采用的技术方案为:
[0007] 一种融合分布式剪枝和遗传算法的多规格钢筋下料方法,包括如下步骤:
[0008] A、对钢筋原材及待切割下料钢筋编码:钢筋原材编码为1,2,..., ,下料钢筋编码为1,2,...,  ,其中,L是钢筋原材数组,Lk表示第k种钢筋原材,K是钢筋原材定尺规格的种类数量,l是待下料钢筋数组,li表示第i根待下料钢筋,N是待下料钢筋的根数;
[0009] B、编制待切割染色体编码,其中,基因位置编码表示所述待切割下料钢筋编码,基因数值表示所述钢筋原材编码;
[0010] C、初始化待切割染色体种群;
[0011] D、在所述待切割染色体种群中提取待切割方案,从左往右提取基因位置编码,将基因数值相同的基因位置编码放入同一个数组中,并按照下料钢筋编码数组映射关系,将基因位置编码替换为对应下料钢筋长度,按照定尺钢筋原材编码数组映射关系,将待切割方案对应的基因数值替换为钢筋原材定尺长度;
[0012] E、基于精确算法形成切割方案,其中,采用剪枝算法进行计算路径比对,采用分布式算法将数据进行分组计算,最后将计算结果串联;
[0013] F、计算适度函数,其中,选择可二次利用的余料长阈值,
[0014] 适应度调整系数=适应度调整基数× ,
[0015] 适度函数=
[0016] 适应度调整基数=1/(切割方案中所用原材最大值×所用原材根数);
[0017] G、交叉变异获得子代,形成下一代种群;
[0018] H、重复迭代,设置最大迭代次数为S,当迭代至最大适应度函数值大于s(s∈[0,1])时输出切割方案,如果达到最大迭代次数S后,最大适应度函数值仍未大于s,择选择其中最大适应度函数值对应的切割方案输出切割方案。
[0019] 本发明另一方面还提供了上述融合分布式剪枝和遗传算法的多规格钢筋下料方法的执行装置,其包括至少一个处理器,以及与所述至少一个处理器通信连接的存储器;所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的方法。
[0020] 本发明再一方面还提供了上述融合分布式剪枝和遗传算法的多规格钢筋下料方法的装置,其包括钢筋切割设备,至少一个处理器,以及与所述至少一个处理器通信连接的存储器;所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,
[0021] 以使所述至少一个处理器能够执行上述方法,并将下料方案输出至所述钢筋切割设备中。
[0022] 本发明的一些优选技术方案如下:
[0023] 优选地,从BIM模型读取所述钢筋原材定尺,所述下料钢筋的长度、数量。
[0024] 优选地,在A步骤前建立BIM模型。
[0025] 优选地,所述余料长阈值为500mm。
[0026] 优选地,在C步骤中,种群规模为M,从个钢筋原材编码中随机选择个数字从左到右形成一个长度为N的数组,该数组则为一个待切割染色体,其中N为前述的钢筋数。重复执行上述操作M次,形成包含M个染色体的双层嵌套数组,该数组则为初始化待切割染色体种群,即父代种群。
[0027] 上述种群规模可以根据待下料钢筋数进行选择,通常会选择10至50之间的数值,例如当待下料钢筋数少于100时,种群规模设置为10,迭代次数设置为20效果较好;待下料钢筋数大于100时,种群规模设置为20,迭代次数设置为20效果较好。
[0028] 优选地,所述G步骤的交叉变异包括以下步骤:
[0029] G1、轮盘赌筛选亲本;
[0030] G2、对亲本进行交叉操作,获得交叉子代;
[0031] G3、对交叉子代进行变异操作,获得变异子代;
[0032] G4、将变异子代添加到下一代种群中;
[0033] G5、重复G1至G4步骤,重复次数为种群规模M/2。
[0034] 优选地,在G3中变异基因位个数=10:1。
[0035] 优选地,最大迭代次数S选择为10至50次。
[0036] 综上所述,由于采用了上述技术方案,本发明的有益效果是:本发明提出一种融合分布式剪枝和遗传算法的多规格钢筋下料方法及装置,解决多规格钢筋定尺下料问题的同时,将施工现场潜在施工经验纳入方法中,以获得更符合施工现场需求的钢筋下料方法,以提高钢筋使用率,减少施工现场钢筋损耗。

附图说明

[0037] 图1为本发明一个具体实施例的流程图。
[0038] 图2是本发明实施例中染色体编码的示意图。

具体实施方式

[0039] 下面结合附图,对本发明作详细的说明。
[0040] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0041] 实施例1
[0042] 一种融合分布式剪枝和遗传算法的多规格钢筋下料方法,如图1所示,包括如下步骤:
[0043] 步骤一、建立BIM模型
[0044] 根据项目信息和要求建立相应个BIM模型。
[0045] 步骤二、根据BIM模型获取下料数据
[0046] 基于BIM正向设计获取所述BIM结构模型;所述BIM结构模型中包含所需钢筋信息;所述钢筋信息包含钢筋所属构件、位置、级别、直径。根据所述钢筋信息生成钢筋下料单。
[0047] 步骤三、解空间编码
[0048] 对钢筋原材及待切割下料钢筋编码:假设有K种规格的钢筋原材定尺,N根待下料钢筋(其中下料钢筋长度可重复),采用整数编码,则钢筋原材编码为(1,2,..., ),下料钢筋编码为(1,2,..., )。
[0049] 待切割染色体编码机制:解空间编码是根据待解决问题状态,设计一种符合特定规则的数据结构,以代表问题的潜在解决方案。现有遗传算法中,通常一个染色体则为一个可行解,即一个切割方案,在后续计算中易出现不可行解,对应需采取染色体补全、适应度惩罚机制等方法作为补充,影响解空间搜索效率和质量。因此,本发明提出一种待切割染色体编码机制,即一个染色体为一个待切割可行解,其具体切割方案需在后续步骤中采用分布式剪枝算法进行切割,获得最终可行解。这种方法既保留了遗传算法鲁棒性强、可适用于大规模问题且解空间搜索能力强的优点,又避免了陷入局部最优解的问题。
[0050] 待切割染色体编码机制基于实值编码方式建立,如图2所示,待切割染色体由一串实数表示,一个实数表示一个基因,基因位置编码表示下料钢筋编码,基因数值表示钢筋原材编码,如第一个基因位表示第1号下料钢筋排在第1号钢筋原材上待切割,第二个基因位表示第2号下料钢筋排在第2号钢筋原材上待切割,第三个基因位表示第3号下料钢筋排在第2号钢筋原材上待切割,以此类推。
[0051] 步骤四、初始化待切割染色体种群
[0052] 假定种群规模为M,从 个钢筋原材编码中随机选择 个数字从左到右形成一个长度为N的数组,该数组则为一个待切割染色体。重复执行上述操作M次,形成包含M个染色体的双层嵌套数组,该数组则为初始化待切割染色体种群,即父代种群。
[0053] 步骤五、基于分布式剪枝算法形成切割方案
[0054] 1.提取待切割方案:提取种群中染色体,根据基因数值进行分类,从左往右提取基因位置编码,将基因数值相同的基因位置编码放入同一个数组中,并按照下料钢筋编码数组映射关系,将基因位置编码替换为对应下料钢筋长度,由此获得K组待切割方案数组。进一步提取切割方案对应钢筋原材定尺,即按照定尺钢筋原材编码数组映射关系,将待切割方案对应的基因数值替换为钢筋原材定尺长度,由此获得第k组待切割方案的待切割值 ,[0055] 2.基于分布式剪枝算法形成切割方案:此步骤最终目标是对待切割值(钢筋原材)进行切割以获得切割方案数组(即下料钢筋切割方案),以尽量少使用钢筋原材,且大于等于500mm的余料尽可能多以便二次利用。针对该应用场景目标,可以使用精确算法进行计算以获得最优解,所述精确算法包括但不限于枚举法、动态规划算法和线性规划算法等。
[0056] 但是,在实际工程项目中,下料单提供的下料数据量较大,当采用精确算法进行大规模数据计算时,运行时间长、计算代价高。为解决大规模数据计算需求,本实施例提出一种分布式剪枝组合优化算法减少计算步骤,以提高计算效率,所述组合优化算法采用剪枝算法进行计算路径比对,避免精确算法重复遍历,提高计算效率。进一步采用分布式算法将大规模数据进行分组计算,最后将计算结果串联即可,可大幅提升计算时间,同时对精确算法计算产生较小随机影响。
[0057] 步骤六、计算适应度函数
[0058] 现有方法多以钢筋利用率作为适应度函数,即以下料总长度占切割使用的原材总长度占比,值越大适应度越高。但在实际工程项目中,适应度函数除了考虑算法角度的高利用率外,还应结合现场实际施工需求进行调整。在实际施工中,通常大于500mm的余料可进行二次利用,因此本专利将这一潜在施工经验纳入适应度函数中,根据余料长度增加适应度调整系数。
[0059] 为保证原材用的越少的切割方案适应度函数越大,因此取切割方案中所用原材最大值×所用原材数量作为分母,获得适应度调整基数=1/(切割方案中所用原材最大值×所用原材根数),以此可保证适应度调整系数不会导致使用原材数量较多的切割方案适应度函数大于使用原材数量较少的切割方案。
[0060] 进一步,为保证使用原材长度相同情况下,余料大于500mm越多的切割方案适应度函数越高,取适应度调整系数=适应度调整基数× 。上述500mm可以根据工程实际情况进行调整,例如可以调整为450mm,550m或者其他数值,数值的调整可能会影响到下料钢筋的利用率和本方法的计算硬件开销。
[0061] 最终,适应度函数= 。
[0062] 步骤七、交叉变异获得子代,形成下一代种群
[0063] 1.轮盘赌筛选亲本:采用轮盘赌算法从父代种群中随机选择两个染色体作为亲本,通过轮盘赌算法进行筛选的过程以每个染色体所对应切割方案的适应度函数作为筛选依据,适应度函数值越大被选择概率越高,以确保适应度较高的方案有更大的机会被选择。
[0064] 2.对亲本进行交叉操作,获得交叉子代。基于本发明算法,可优先考虑简单的单点交叉,也可根据需要选择多点交叉、均匀交叉等方法。
[0065] 3.对交叉子代进行变异操作,获得变异子代。采用实值变异,从当前子代染色体中随机选择一个或多个变异基因位,从原材编码中随机挑选一个或多个变异值,将变异基因位实数替换为变异值,其中选择一个或多个变异基因位应根据子代染色体长度决定,根据本发明应用场景及实际算法收敛情况测试,染色体长度:变异基因位个数=10:1较佳。
[0066] 4.将变异子代添加到下一代种群中。
[0067] 5.重复步骤1‑4,重复次数为种群规模M/2。
[0068] 步骤八、重复迭代,输出最优切割方案
[0069] 1.设定最大迭代次数为S,停止迭代条件为最大适应度函数值大于s(s∈[0,1]),S取值根据实际项目需求决定。
[0070] 2.重复前述步骤四(初始化待切割染色体种群)至步骤七(交叉变异获得子代,形成下一代种群),当目前已有染色体满足停止迭代条件时,停止迭代,输出满足迭代条件的切割方案即为最优方案;否则迭代S次,找到最大适应度函数值对应的切割方案,即为最优切割方案。
[0071] 步骤九、钢筋下料
[0072] 将最优切割方案输入钢筋切割设备中,自动切割下料。
[0073] 实施例2
[0074] 现选择钢筋原材定尺长度(单位:米):[6,9,12],原材数量不限;待下料钢筋长度(单位:米):[5,1,2,3,4],待下料钢筋数量(单位:根):[4,3,6,8,12]。根据前述实施例的算法进行下料,选择余料大于500mm作为控制值,算法数据结果为利用率99.07%,具体的下料方案如表1所示。
[0075] 表1 下料方案数据表
[0076]
[0077] 实施例3
[0078] 本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read‑OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
[0079] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。