基于改进的遗传算法的方形件排样优化方法及装置

未命名 08-29 阅读:98 评论:0


1.本发明涉及智能制造领域,具体涉及一种基于改进的遗传算法的方形件排样优化方法及装置。


背景技术:

2.随着智能制造被作为重点发展方向之一,而个性化定制、更短的产品生命周期,这种服务模式成为目前企业在智能制造中的主要竞争点。比如电子器件、轮船零部件等,这些产品全都依赖机械设计,并且它们具有可分散加工、灵活组装,以及同类产品款式较多等特点。对于这类产品,客户可能提出的产品需求非常多,订单规模难以预测,并且客户会对产品质量要求十分严格。因此,“个性化定制”的服务需求则要求企业具有高效快速的需求分析及产品设计能力、具有柔性且精益的生产流程、具有完整且精细的全流程生产管控能力。
3.方形件产品是以板材为主要原片、通过平面加工后的几种板式配件装配而形成的一类产品。常见的方形件产品制造行业,如板式家具、玻璃、钣金件等行业。这些行业多采用“多品种小批量”的个性化定制方式进行生产。但是,由于企业订单数量庞大,生产组织通常采用“订单组批+批量生产+订单分拣”的模式,通过使用订单组批来实现批量切割,提高原材料的利用率,加工完成后再按不同客户订单进行分拣。
4.上述个性化定制生产模式中的订单组批与排样优化至关重要。订单组批是将不同订单组成若干批次,实现订单的批量化生产。在对小批量、多品种、大规模的订单进行组批生产时,如果组批批次太小,材料利用率低,生产效率低;如果组批批次太大,材料利用率会提高,但订单交货期得不到保证,订单分拣难度提高,生产效率降低,缓冲区容量不足而造成堵塞等,需要解决个性化与生产高效性之间的矛盾。
5.排样优化本质上一个下料问题,优化的目的是合理规划方形件在板材上的布局,以减少下料过程中存在板材浪费,简化切割过程。此问题是一种计算复杂度很高的组合优化问题,也是运筹学中的一个重要分支。下料作为众多制造企业生产链中产品及零部件生产的第一道工序,消耗的材料和资源不容小视,如何提高材料利用率,降低原材料消耗,是企业减少资源和能源浪费,承担环境责任所要解决的关键问题。


技术实现要素:

6.针对上述提到的技术问题。本技术的实施例的目的在于提出了一种基于改进的遗传算法的方形件排样优化方法及装置,来解决以上背景技术部分提到的技术问题。
7.第一方面,本发明提供了一种基于改进的遗传算法的方形件排样优化方法,包括以下步骤:
8.s1,获取待排样的方形件的信息,根据待排样的方形件的信息进行筛选,得到长或宽相等的产品项,并聚类成簇;
9.s2,根据摆放规则将簇中的产品项摆放在原片上并拼接成栈,对栈进行排列组合生成条带,对每个条带进行编码,并初始化种群,得到初始种群,计算初始种群中每个个体
的适应度;
10.s3,在未满足终止条件前,筛选出适应度超过阈值的个体,并进入进化过程,进化过程中采用交叉和/或变异操作,生成新一代种群;
11.s4,重复步骤s3,直至满足终止条件,得到最终种群;在最终种群中筛选出适应度最高的个体,并作为最终结果输出。
12.作为优选,待排样的方形件的信息包括长和宽。
13.作为优选,步骤s2中根据摆放规则将簇中的产品项摆放在原片上并拼接成栈,具体包括:
14.s21,在簇中选择其中一个产品项作为栈的起点摆放在原片上,假设栈中的产品项为沿原片的长度方向排列,将其中一个产品项的长度作为栈的宽度;
15.s22,在簇中选择另一个产品项,判断另一个产品项的长或宽是否等于栈的宽度,若另一个产品项的长度等于栈的宽度,同时摆放在已有的栈的上方不会导致栈的长度超过原片的长度,则按照不重叠的方式,将另一个产品项沿原片的长度方向摆放在已有的栈的上方;若另一个产品项的长度不等于栈的宽度,同时若另一个产品项的宽度等于栈的宽度,且顺时针旋转90度后放在已有的栈的上方不会导致栈的长度超过原片的长度,则按照不重叠的方式,将另一个产品项顺时针旋转90度后,放在已有的栈的上方;若会导致栈的长度超过原片的长度,则将该另一个产品项放在已有的栈的侧边,建立新的栈;
16.s23,重复步骤s22,直至放入另一个产品项后会超过原片的长度,得到已拼接成的栈。
17.作为优选,步骤s2中对栈进行排列组合生成条带,具体包括:
18.根据每个栈的面积值确定每个栈对应的价值系数,栈的面积值为栈的长度乘以宽度;
19.根据每个栈对应的价值系数按优先顺序对栈沿原片的宽度方向进行排列形成条带,在排列过程中判断加入新的栈后已有的栈的长度是否会超过原片的宽度,若是,则将新的栈放置在已有的条带上方,创立新的条带,否则将新的栈继续沿原片的宽度方向排列;
20.判断加入的新的条带后已有的条带的宽度是否会超过原片的长度,若是则将新的条带放置在另一个原片上,否则将新的条带继续沿原片的长度方向排列。
21.作为优选,根据每个栈的面积值确定每个栈对应的价值系数,具体包括:
22.响应于确定栈的长度或宽度未超过原片长度或宽度的一半,将栈的长度乘以宽度计算出面积值,并作为价值系数;
23.响应于确定栈的长度或宽度超过原片长度或宽度的一半,将栈的长度乘以宽度计算出面积值,将面积值乘以大于1的系数得到价值系数。
24.作为优选,步骤s2中对每个条带进行编码,并初始化种群,具体包括:
25.采用序号编码对每个条带中的栈赋予相应的序号,得到若干个切割方案,一个切割方案对应一个编码信息;
26.先取种群数量的1/3个切割方案,通过价值系数对切割方案中的栈进行排序;
27.再取种群数量的1/3个切割方案,通过价值系数对切割方案中的栈进行排序后,通过扰动算子修改栈的初始排序;
28.最后取剩下的1/3个切割方案,对切割方案中的栈进行随机排序,种群内的个体对
应为切割方案。
29.作为优选,步骤s3具体包括:
30.判断运行时间是否超过预设运行时间,若未超过,则在种群内筛选出适应度在预设阈值内的个体进行交叉操作,适应度为板材利用率,板材利用率为产品项的面积之和与其使用的原片的面积之和的比值;
31.任取其中两个个体作为父染色体和母染色体进行交叉,将父染色体和母染色体中的随机数区间范围内的编码信息进行交换,将父染色体和母染色体中的随机数区间范围外的编码信息根据序号唯一且保留对应父染色体和母染色体中序号排序的原则进行编码,得到交叉后的个体,判断交叉后的个体的适应度是否提高,若提高,则将其对应的父染色体或母染色体的编码信息替换为交叉后的个体的编码信息,若未提高,则不修改其对应的父染色体或母染色体的编码信息;
32.任取其中一个个体采用n-opt操作进行变异,在个体中筛选n个序号,将n个序号两两进行交换位置,并针对每一次交换计算交换后得到的个体的适应度,选择交换后适应度最高的个体取代原来的个体,得到新一代种群。
33.第二方面,本发明提供了一种基于改进的遗传算法的方形件排样优化装置,包括:
34.聚类模块,被配置为获取待排样的方形件的信息,根据待排样的方形件的信息进行筛选,得到长或宽相等的产品项,并聚类成簇;
35.拼接模块,被配置为根据摆放规则将簇中的产品项摆放在原片上并拼接成栈,对栈进行排列组合生成条带,对每个条带进行编码,并初始化种群,得到初始种群,计算初始种群中每个个体的适应度;
36.进化模块,被配置为在未满足终止条件前,筛选出适应度超过阈值的个体,并进入进化过程,进化过程中采用交叉和/或变异操作,生成新一代种群;
37.输出模块,被配置为重复执行进化模块,直至满足终止条件,得到最终种群;在最终种群中筛选出适应度最高的个体,并作为最终结果输出。
38.第三方面,本发明提供了一种电子设备,包括一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面中任一实现方式描述的方法。
39.第四方面,本发明提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面中任一实现方式描述的方法。
40.相比于现有技术,本发明具有以下有益效果:
41.(1)本发明通过利用方形件的初始信息开展聚类操作和价值计算,达到更充分地细节捕捉,能够有效地生成初始可行解决方案,同时有助于挖掘更深层次的内部特征,提高计算效率和排放精度,可解决企业生产时所遇到的下料问题(切割填充问题),可达到合理规划方形件在板材上的布局,以减少下料过程中存在板材浪费,简化切割过程效果。
42.(2)本发明通过对遗传算法进行改进,采用随机优化和进化算法的思想不断筛选符合适应度的解决方案,以获得最优的排样切割方案。
43.(3)本发明可以为各行业涉及下料问题的企业提供支持,能够在满足生产订单需求和相关约束的情况下,有效地提高板材利用率,节约成本的同时,还能减少浪费。
附图说明
44.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
45.图1是本技术的一个实施例可以应用于其中的示例性装置架构图;
46.图2为本技术的实施例的基于改进的遗传算法的方形件排样优化方法的流程示意图;
47.图3为本技术的实施例的基于改进的遗传算法的方形件排样优化方法的逻辑框图;
48.图4为本技术的实施例的基于改进的遗传算法的方形件排样优化方法的dataa1长宽分布散点图;
49.图5为本技术的实施例的基于改进的遗传算法的方形件排样优化方法的切割方案的可视化结果示意图;
50.图6为本技术的实施例的基于改进的遗传算法的方形件排样优化装置的示意图;
51.图7是适于用来实现本技术实施例的电子设备的计算机装置的结构示意图。
具体实施方式
52.为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
53.图1示出了可以应用本技术实施例的基于改进的遗传算法的方形件排样优化方法或基于改进的遗传算法的方形件排样优化装置的示例性装置架构100。
54.如图1所示,装置架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
55.用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种应用,例如数据处理类应用、文件处理类应用等。
56.终端设备101、102、103可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供分布式服务的软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。
57.服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上传的文件或数据进行处理的后台数据处理服务器。后台数据处理服务器可以对获取的文件或数据进行处理,生成处理结果。
58.需要说明的是,本技术实施例所提供的基于改进的遗传算法的方形件排样优化方
法可以由服务器105执行,也可以由终端设备101、102、103执行,相应地,基于改进的遗传算法的方形件排样优化装置可以设置于服务器105中,也可以设置于终端设备101、102、103中。
59.应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。在所处理的数据不需要从远程获取的情况下,上述装置架构可以不包括网络,而只需服务器或终端设备。
60.图2示出了本技术的实施例提供的一种基于改进的遗传算法的方形件排样优化方法,包括以下步骤:
61.s1,获取待排样的方形件的信息,根据待排样的方形件的信息进行筛选,得到长或宽相等的产品项,并聚类成簇。
62.在具体的实施例中,待排样的方形件的信息包括长和宽。
63.具体的,本技术的实施例提出了基于启发式策略拼接条带方法,充分考虑了待排样的方形件的摆放位置需要满足切割工艺中的三阶段约束。三阶段约束指定切割阶段数不可超过3,同时每个切割阶段方向相同。在每个切割阶段中,只考虑齐头切的切割方式。齐头切是指切割方向垂直于板材的一条边,同时每次切割可将板材分离为两块。第一阶段切割垂直于板材的某条边,会形成两个条带。第二阶段切割垂直于切割条带时的边,会形成栈。第三阶段切割和首次切割方向一致,会形成具体的产品项,即方形件。想充分提高板材利用率,需单个栈内的方形件的宽度(或长度)相同。这两个约束可以通过方形件的摆放规则加以限制。摆放规则如下:
64.(1)从待排样的方形件里选择一个,摆放到原片的左下角。
65.(2)再选择一个方形件,判断宽度是否与上一个相等,若相等则以不重叠的方式放在上一个方形件的上侧边。若不相等,再与方形件的长度进行比较,若相等则将方形件进行旋转90度后以不重叠的方式放在上一个方形件的上侧边,否则放在右侧边,创建新栈。
66.(3)重复步骤2,原片有着长宽限制,若新栈的放入会导致正在排布的栈长度超过原片的边界值时,已创建栈会拼接形成新的条带。更新条带所占用板材高度,若有剩余空间摆放,更新起点坐标,横轴更新至左侧边,纵轴为已用条带的最大高度。没有剩余空间继续放入方形件,则更换新的原片。
67.(4)重复上述过程,直到全部的方形件摆放完毕。
68.参考图3,上述过程的主要思想就是先形成产品项、再形成栈、最后形成条带。根据该思想就可以保证三阶段约束。虽然满足了约束,但容易造成一定浪费,因此引入新方法进行启发式策略拼接条带。即,针对长度或宽度相等的产品项进行筛选,聚类成簇。
69.本技术的实施例采用2022“华为杯”第十九届中国研究生数学建模竞赛提供的四组数据,分别标记为dataa1、dataa2、dataa3、dataa4进行统计分析,首先,统计4份数据中方形件长、宽和面积的均值、方差等。具体信息如表1所示。
70.表1数据集的统计分析信息
[0071][0072]
根据表中数据,可以看出四份数据的分布大致相近。可以对四份数据统一的建模处理。另外,从表中还可以看出方形件的最大长度是2438mm,最大宽度是1198mm,原片的长度为2440mm,宽度为1220mm,因此每一块方形件至少可以由1片原片裁剪而成。
[0073]
另外,排样需要考虑方形件的长宽,因此要对每份数据的长宽分布进行统计。散点图是一种用两组数据构成多个坐标点,考察坐标点的分布,判断两变量之间是否存在某种关联或总结坐标点的分布模式。针对该问题,采用散点图进行统计分析,结果如图4所示。另外,经过前面的数据分析可知,四份数据的分布差距不大。
[0074]
方形件的长度大多数是116-1000mm,宽度大多数是38-600mm,针对这类数据分布,在设计算法的时候,可以考虑宽度优先的排放方式。另外,从图中可以看到部分数据重合在一起,而本实施例对是否属于同一批次无限制,同时数据集a中每份数据都属于同一材料,因此,可以对数据进行聚类成簇,提高计算效率。其分组后的维数如表2。
[0075]
表2数据聚类成簇前后维数对比
[0076][0077]
经过聚类成簇,可以将相同尺寸的产品项进行同质排样,可以提高模型算法的计算效率和排放精度。
[0078]
s2,根据摆放规则将簇中的产品项摆放在原片上并拼接成栈,对栈进行排列组合生成条带,对每个条带进行编码,并初始化种群,得到初始种群,计算初始种群中每个个体的适应度。
[0079]
在具体的实施例中,步骤s2中根据摆放规则将簇中的产品项摆放在原片上并拼接成栈,具体包括:
[0080]
s21,在簇中选择其中一个产品项作为栈的起点摆放在原片上,假设栈中的产品项为沿原片的长度方向排列,将其中一个产品项的长度作为栈的宽度;
[0081]
s22,在簇中选择另一个产品项,判断另一个产品项的长或宽是否等于栈的宽度,若另一个产品项的长度等于栈的宽度,同时摆放在已有的栈的上方不会导致栈的长度超过
原片的长度,则按照不重叠的方式,将另一个产品项沿原片的长度方向摆放在已有的栈的上方;若另一个产品项的长度不等于栈的宽度,同时若另一个产品项的宽度等于栈的宽度,且顺时针旋转90度后放在已有的栈的上方不会导致栈的长度超过原片的长度,则按照不重叠的方式,将另一个产品项顺时针旋转90度后,放在已有的栈的上方;若会导致栈的长度超过原片的长度,则将该另一个产品项放在已有的栈的侧边,建立新的栈;
[0082]
s23,重复步骤s22,直至放入另一个产品项后会超过原片的长度,得到已拼接成的栈。
[0083]
具体的,在每个簇中,将长度或宽度相等的产品项叠加拼接成栈,选择一块产品项作为栈的起点,判断放入新的产品项的长或宽是否等于栈的宽度。由于栈条是竖向摆放,若新产品项的长度等于栈的宽度,同时放在已有的栈的上方若不会导致栈的长度超过原片的长度,则按照不重叠的方式,将新的产品项放在已摆放栈条的上侧边上。若新产品项的长不等于栈的宽,同时宽等于栈的宽度,且顺时针旋转90度后放在已有栈的上方若不会导致栈的长度超过原片的长度,则按照不重叠的方式,将新的产品项顺时针旋转90度后放在已有的栈的上侧边上。每个簇构成一个栈,不同的簇构成若干个栈。
[0084]
在具体的实施例中,步骤s2中对栈进行排列组合生成条带,具体包括:
[0085]
根据每个栈的面积值确定每个栈对应的价值系数,栈的面积值为栈的长度乘以宽度;
[0086]
根据每个栈对应的价值系数按优先顺序对栈沿原片的宽度方向进行排列形成条带,在排列过程中判断加入新的栈后已有的栈的长度是否会超过原片的宽度,若是,则将新的栈放置在已有的条带上方,创立新的条带,否则将新的栈继续沿原片的宽度方向排列;
[0087]
判断加入的新的条带后已有的条带的宽度是否会超过原片的长度,若是则将新的条带放置在另一个原片上,否则将新的条带继续沿原片的长度方向排列。
[0088]
在具体的实施例中,根据每个栈的面积值确定每个栈对应的价值系数,具体包括:
[0089]
响应于确定栈的长度或宽度未超过原片长度或宽度的一半,将栈的长度乘以宽度计算出面积值,并作为价值系数;
[0090]
响应于确定栈的长度或宽度超过原片长度或宽度的一半,将栈的长度乘以宽度计算出面积值,将面积值乘以大于1的系数得到价值系数。
[0091]
具体的,到目前阶段,产品项已拼成栈。在排列组合栈生成条带的时候,对于每个栈通过面积值引入价值修正,赋予其相应的价值系数。栈的面积值等于栈的长度乘以宽度。同时对于栈的长度或宽度超过原片长度一半的栈赋予更大的价值系数,即可在面积值的基础上乘以一个大于1的系数,在组成条带时,通过价值系数进行排序,并依次进行处理。
[0092]
通过利用产品项的初始信息开展分类操作和价值计算,达到更充分地细节捕捉。经上述过程后,第一阶段的输出能够有效地生成初始可行的切割方案,同时有助于挖掘更深层次的内部特征。
[0093]
在具体的实施例中,步骤s2中对每个条带进行编码,并初始化种群,具体包括:
[0094]
采用序号编码对每个条带中的栈赋予相应的序号,得到若干个切割方案,一个切割方案对应一个编码信息;
[0095]
先取种群数量的1/3个切割方案,通过价值系数对切割方案中的栈进行排序;
[0096]
再取种群数量的1/3个切割方案,通过价值系数对切割方案中的栈进行排序后,通
过扰动算子修改栈的初始排序;
[0097]
最后取剩下的1/3个切割方案,对切割方案中的栈进行随机排序,种群内的个体对应为切割方案。
[0098]
具体的,首先对条带进行编码,其次采用随机优化和进化算法的思想不断筛选符合适应度要求的切割方案,并进一步迭代直至满足条件。本实施例中,编码方式为序号编码,对每个栈都赋予对应且唯一的序号,同时对每个条带赋予相应的序号,因此根据不同的编码信息获得不同的切割方案,编码信息中的每个序号代表每个栈,得到不同的切割方案,以每个切割方案作为个体进行基于遗传算法的排列优化。例如个体1的编码信息为532178946,个体2的编码信息为123456789。
[0099]
遗传算法通过模拟自然界淘汰生物的进化过程保留适应度高的种群。遗传算法具有较好的全局搜索能力,近年来被广泛成功应用于机器学习、组合优化、调度任务等领域。组合优化等相关技术的不断发展加快了工业场景下的应用,也使得下料优化逐渐走向了具有自适应特性的智能化发展。
[0100]
具体的,初始化种群操作采用三种方式,其中取种群数量的1/3个切割方案通过价值系数对切割方案中的栈进行排序,取种群数量的1/3个切割方案通过价值系数对切割方案中的栈排序后,通过扰动算子轻微修改初始排序,取剩下的1/3个切割方案进行随机排序。计算初始种群中的个体的适应度,个体的适应度通过板材利用率进行体现,通过产品项的面积之和比上使用原片面积之和代表板材利用率。针对每个切割方案计算使用的原片个数,对于一定个数和面积的产品项来说,若是原片使用数量越少,则代表利用率越高。记录程序开始时间,设定程序终止条件为固定的时间,即预设运行时间,如5分钟。
[0101]
s3,在未满足终止条件前,筛选出适应度超过阈值的个体,并进入进化过程,进化过程中采用交叉和/或变异操作,生成新一代种群。
[0102]
在具体的实施例中,步骤s3具体包括:
[0103]
判断运行时间是否超过预设运行时间,若未超过,则在种群内筛选出适应度在预设阈值内的个体进行交叉操作,适应度为板材利用率,板材利用率为产品项的面积之和与其使用的原片的面积之和的比值;
[0104]
任取其中两个个体作为父染色体和母染色体进行交叉,将父染色体和母染色体中的随机数区间范围内的编码信息进行交换,将父染色体和母染色体中的随机数区间范围外的编码信息根据序号唯一且保留对应父染色体和母染色体中序号排序的原则进行编码,得到交叉后的个体,判断交叉后的个体的适应度是否提高,若提高,则将其对应的父染色体或母染色体的编码信息替换为交叉后的个体的编码信息,若未提高,则不修改其对应的父染色体或母染色体的编码信息;
[0105]
任取其中一个个体采用n-opt操作进行变异,在个体中筛选n个序号,将n个序号两两进行交换位置,并针对每一次交换计算交换后得到的个体的适应度,选择交换后适应度最高的个体取代原来的个体,得到新一代种群。
[0106]
s4,重复步骤s3,直至满足终止条件,得到最终种群;在最终种群中筛选出适应度最高的个体,并作为最终结果输出。
[0107]
具体的,基于遗传算法的排列优化的具体过程如下:
[0108]
(1)判断程序当前系统时间和开始时间差值是否满足终止条件,即等于预设运行
时间,如5分钟。如果满足终止条件,则进入步骤2;如果不满足终止条件,进入步骤3继续进行优化过程。
[0109]
(2)在种群内筛选出适应度最高的个体并作为最终结果输出。
[0110]
(3)筛选出适应度较高的个体,如适应度排序在前1/3的个体,进入步骤4;
[0111]
(4)针对适应度较高的个体进行交叉操作。此处采用部分匹配交叉,每次取两个个体作为父染色体和母染色体进行交叉。生成两个随机数代表相应的范围区间,将父染色体和母染色体在相同范围区间内的编码信息进行交换并保证原有的序号唯一且顺序不变,判断适应度是否提高,如提高,则将父染色体或母染色体的编码信息替换为交叉后的个体的编码信息,同时进入步骤6。若适应度没有提高,则采用原有的编码信息,不进行修改,进入步骤6。作为示例,个体1的编码信息为532178946,个体2的编码信息为123456789,将个体1和个体2分别作为父染色体和母染色体进行交叉,选择其中的第3~5个位置的范围区间内的编码信息互换,即个体1中的217与个体2中的345互换,可得到533458946,由于345的存在导致序号不唯一,因此将345前后的编码去掉重复的序号并保留原先的编码顺序,就变为213457896,同理,交叉后个体2得到的编码信息为342175689,分别计算交叉后得到的两个个体的适应度,与其交叉前相比,若适应度提高,则采用交叉后的个体替代原先的个体,若适应度降低,则保留原先的个体。
[0112]
(5)个体以一定的概率进行变异,此处采用n-opt操作,n的取值范围为整数1~5。具体的操作为:生成小于等于5的随机整数n。若n为3,则在个体中随意筛选出3个序号,两两进行交换。即分别为位置1和位置2交换,位置2和位置3交换,位置1和位置3交换,针对每种情况计算适应度,选择适应度最高的个体取代原先的个体,生成新一代种群,返回步骤1。
[0113]
要保证两个待排样的方形件之间互不重叠。设(x
1i
,y
1j
)和(x
2i
,y
2j
)为方形件i放置在原片上的左下角坐标和右上角坐标。待排样的方形件也不可超过原片的边界。
[0114]
通过对于dataa1的计算处理,输出结果如表3输出表格所示:
[0115]
表3输出表格示例
[0116][0117]
每个产品id对应不同的原片序号,x、y坐标对应的坐标系原点位于板材最左下角。以坐标点作为原点,放置产品项,可视化图片如图5所示,除去黑色区域的彩色区域代表需要加工生成的产品项,黑色区域代表余料块。通过产品项的面积之和比上使用原片面积之和代表板材利用率。对应四个数据集的结果如表4所示:
[0118]
表4板材利用率
[0119]
[0120]
实验结果证明本方法具备针对性、简洁清晰、易于实现等优点,并证实了该方法的有效性。采用两阶段设计,引用启发式和遗传优化思想。在面临求解规模较大问题时,既能保证求解质量,同时保证求解过程所耗费的时间可被接受。板材利用率均达到了82%以上,具备一定商业价值和推广价值,能够有效地处理二维三阶段下料问题。
[0121]
进一步参考图6,作为对上述各图所示方法的实现,本技术提供了一种基于改进的遗传算法的方形件排样优化装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
[0122]
本技术实施例提供了一种基于改进的遗传算法的方形件排样优化装置,包括:
[0123]
聚类模块1,被配置为获取待排样的方形件的信息,根据待排样的方形件的信息进行筛选,得到长或宽相等的产品项,并聚类成簇;
[0124]
拼接模块2,被配置为根据摆放规则将簇中的产品项摆放在原片上并拼接成栈,对栈进行排列组合生成条带,对每个条带进行编码,并初始化种群,得到初始种群,计算初始种群中每个个体的适应度;
[0125]
进化模块3,被配置为在未满足终止条件前,筛选出适应度超过阈值的个体,并进入进化过程,进化过程中采用交叉和/或变异操作,生成新一代种群;
[0126]
输出模块4,被配置为重复执行进化模块,直至满足终止条件,得到最终种群;在最终种群中筛选出适应度最高的个体,并作为最终结果输出。
[0127]
下面参考图7,其示出了适于用来实现本技术实施例的电子设备(例如图1所示的服务器或终端设备)的计算机装置700的结构示意图。图7示出的电子设备仅仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。
[0128]
如图7所示,计算机装置700包括中央处理单元(cpu)701和图形处理器(gpu)702,其可以根据存储在只读存储器(rom)703中的程序或者从存储部分709加载到随机访问存储器(ram)704中的程序而执行各种适当的动作和处理。在ram 704中,还存储有装置700操作所需的各种程序和数据。cpu 701、gpu702、rom 703以及ram 704通过总线705彼此相连。输入/输出(i/o)接口706也连接至总线705。
[0129]
以下部件连接至i/o接口706:包括键盘、鼠标等的输入部分707;包括诸如、液晶显示器(lcd)等以及扬声器等的输出部分708;包括硬盘等的存储部分709;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分710。通信部分710经由诸如因特网的网络执行通信处理。驱动器711也可以根据需要连接至i/o接口706。可拆卸介质712,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器711上,以便于从其上读出的计算机程序根据需要被安装入存储部分709。
[0130]
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分710从网络上被下载和安装,和/或从可拆卸介质712被安装。在该计算机程序被中央处理单元(cpu)701和图形处理器(gpu)702执行时,执行本技术的方法中限定的上述功能。
[0131]
需要说明的是,本技术所述的计算机可读介质可以是计算机可读信号介质或者计算机可读介质或者是上述两者的任意组合。计算机可读介质例如可以是——但不限于——
电、磁、光、电磁、红外线或半导体的装置、装置或器件,或者任意以上的组合。计算机可读介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件或者上述的任意合适的组合。在本技术中,计算机可读介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行装置、装置或者器件使用或者与其结合使用。而在本技术中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行装置、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。
[0132]
可以以一种或多种程序设计语言或其组合来编写用于执行本技术的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,也可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0133]
附图中的流程图和框图,图示了按照本技术各种实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,该模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的装置来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0134]
描述于本技术实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中。
[0135]
作为另一方面,本技术还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:获取待排样的方形件的信息,根据待排样的方形件的信息进行筛选,得到长或宽相等的产品项,并聚类成簇;根据摆放规则将簇中的产品项摆放在原片上并拼接成栈,对栈进行排列组合生成条带,对每个条带进行编码,并初始化种群,得到初始种群,计算初始种群中每个个体的适应度;在未满足终止条件前,筛选出适应度超过阈值的个体,并进入进化过程,进化过程中采用交叉和/或变异操作,生成新一代种群;重复以上步
骤,直至满足终止条件,得到最终种群;在最终种群中筛选出适应度最高的个体,并作为最终结果输出。
[0136]
以上描述仅为本技术的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本技术中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本技术中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

技术特征:
1.一种基于改进的遗传算法的方形件排样优化方法,其特征在于,包括以下步骤:s1,获取待排样的方形件的信息,根据所述待排样的方形件的信息进行筛选,得到长或宽相等的产品项,并聚类成簇;s2,根据摆放规则将所述簇中的产品项摆放在原片上并拼接成栈,对栈进行排列组合生成条带,对每个条带进行编码,并初始化种群,得到初始种群,计算所述初始种群中每个个体的适应度;s3,在未满足终止条件前,筛选出适应度超过阈值的个体,并进入进化过程,所述进化过程中采用交叉和/或变异操作,生成新一代种群;s4,重复步骤s3,直至满足终止条件,得到最终种群;在所述最终种群中筛选出适应度最高的个体,并作为最终结果输出。2.根据权利要求1所述的基于改进的遗传算法的方形件排样优化方法,其特征在于,所述待排样的方形件的信息包括长和宽。3.根据权利要求1所述的基于改进的遗传算法的方形件排样优化方法,其特征在于,所述步骤s2中根据摆放规则将所述簇中的产品项摆放在原片上并拼接成栈,具体包括:s21,在所述簇中选择其中一个产品项作为栈的起点摆放在所述原片上,假设栈中的产品项为沿所述原片的长度方向排列,将所述其中一个产品项的长度作为栈的宽度;s22,在所述簇中选择另一个产品项,判断所述另一个产品项的长或宽是否等于栈的宽度,若所述另一个产品项的长度等于栈的宽度,同时摆放在已有的栈的上方不会导致栈的长度超过原片的长度,则按照不重叠的方式,将所述另一个产品项沿所述原片的长度方向摆放在已有的栈的上方;若所述另一个产品项的长度不等于栈的宽度,同时若所述另一个产品项的宽度等于栈的宽度,且顺时针旋转90度后放在已有的栈的上方不会导致栈的长度超过原片的长度,则按照不重叠的方式,将另一个产品项顺时针旋转90度后,放在已有的栈的上方;若会导致栈的长度超过原片的长度,则将该另一个产品项放在已有的栈的侧边,建立新的栈;s23,重复步骤s22,直至放入所述另一个产品项后会超过原片的长度,得到已拼接成的栈。4.根据权利要求1所述的基于改进的遗传算法的方形件排样优化方法,其特征在于,所述步骤s2中对栈进行排列组合生成条带,具体包括:根据每个栈的面积值确定每个栈对应的价值系数,栈的面积值为栈的长度乘以宽度;根据每个栈对应的价值系数按优先顺序对栈沿所述原片的宽度方向进行排列形成条带,在排列过程中判断加入新的栈后已有的栈的长度是否会超过所述原片的宽度,若是,则将新的栈放置在已有的条带上方,创立新的条带,否则将新的栈继续沿所述原片的宽度方向排列;判断加入的新的条带后已有的条带的宽度是否会超过所述原片的长度,若是则将新的条带放置在另一个原片上,否则将新的条带继续沿所述原片的长度方向排列。5.根据权利要求4所述的基于改进的遗传算法的方形件排样优化方法,其特征在于,所述根据每个栈的面积值确定每个栈对应的价值系数,具体包括:响应于确定所述栈的长度或宽度未超过原片长度或宽度的一半,将所述栈的长度乘以宽度计算出面积值,并作为价值系数;
响应于确定所述栈的长度或宽度超过原片长度或宽度的一半,将所述栈的长度乘以宽度计算出面积值,将面积值乘以大于1的系数得到价值系数。6.根据权利要求5所述的基于改进的遗传算法的方形件排样优化方法,其特征在于,所述步骤s2中对每个条带进行编码,并初始化种群,具体包括:采用序号编码对每个条带中的栈赋予相应的序号,得到若干个切割方案,一个切割方案对应一个编码信息;先取种群数量的1/3个切割方案,通过价值系数对切割方案中的栈进行排序;再取种群数量的1/3个切割方案,通过价值系数对切割方案中的栈进行排序后,通过扰动算子修改栈的初始排序;最后取剩下的1/3个切割方案,对切割方案中的栈进行随机排序,种群内的个体对应为切割方案。7.根据权利要求6所述的基于改进的遗传算法的方形件排样优化方法,其特征在于,所述步骤s3具体包括:判断运行时间是否超过预设运行时间,若未超过,则在种群内筛选出适应度在预设阈值内的个体进行交叉操作,所述适应度为板材利用率,所述板材利用率为产品项的面积之和与其使用的原片的面积之和的比值;任取其中两个个体作为父染色体和母染色体进行交叉,将所述父染色体和母染色体中的随机数区间范围内的编码信息进行交换,将所述父染色体和母染色体中的随机数区间范围外的编码信息根据序号唯一且保留对应父染色体和母染色体中序号排序的原则进行编码,得到交叉后的个体,判断交叉后的个体的适应度是否提高,若提高,则将其对应的所述父染色体或母染色体的编码信息替换为交叉后的个体的编码信息,若未提高,则不修改其对应的所述父染色体或母染色体的编码信息;任取其中一个个体采用n-opt操作进行变异,在个体中筛选n个序号,将n个序号两两进行交换位置,并针对每一次交换计算交换后得到的个体的适应度,选择交换后适应度最高的个体取代原来的个体,得到新一代种群。8.一种基于改进的遗传算法的方形件排样优化装置,其特征在于,包括:聚类模块,被配置为获取待排样的方形件的信息,根据所述待排样的方形件的信息进行筛选,得到长或宽相等的产品项,并聚类成簇;拼接模块,被配置为根据摆放规则将所述簇中的产品项摆放在原片上并拼接成栈,对栈进行排列组合生成条带,对每个条带进行编码,并初始化种群,得到初始种群,计算所述初始种群中每个个体的适应度;进化模块,被配置为在未满足终止条件前,筛选出适应度超过阈值的个体,并进入进化过程,所述进化过程中采用交叉和/或变异操作,生成新一代种群;输出模块,被配置为重复执行进化模块,直至满足终止条件,得到最终种群;在所述最终种群中筛选出适应度最高的个体,并作为最终结果输出。9.一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实
现如权利要求1-7中任一所述的方法。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的方法。

技术总结
本发明公开了一种基于改进的遗传算法的方形件排样优化方法及装置,通过获取待排样的方形件的信息,根据待排样的方形件的信息进行筛选,得到长或宽相等的产品项,并聚类成簇;根据摆放规则将簇中的产品项摆放在原片上并拼接成栈,对栈进行排列组合生成条带,对每个条带进行编码,并初始化种群,得到初始种群,计算初始种群中每个个体的适应度;在未满足终止条件前,筛选出适应度超过阈值的个体,并进入进化过程,进化过程中采用交叉和/或变异操作,生成新一代种群;重复以上步骤,直至满足终止条件,得到最终种群;在最终种群中筛选出适应度最高的个体,并作为最终结果输出,可减少下料过程中存在板材浪费,简化切割过程效果。简化切割过程效果。简化切割过程效果。


技术研发人员:张惠臻 叶铭 尤云付 刘畅 冯文娟 潘玉彪 王成
受保护的技术使用者:华侨大学
技术研发日:2023.05.09
技术公布日:2023/8/28
版权声明

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

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

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

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

分享:

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

相关推荐