一种基于机器学习与回溯法结合的模具组合分配方法与流程

文档序号:21730304发布日期:2020-08-05 01:24阅读:257来源:国知局
一种基于机器学习与回溯法结合的模具组合分配方法与流程

本发明属于装配式建筑预制构件生产信息技术领域,具体涉及一种基于机器学习与回溯法结合的模具组合分配方法。

技术背景

装配式建筑预制构件,生产过程具有多品种,小批量,生产订单随建筑工程变化而动态变化多等特点,装配式建筑预制构件形状都是长方形,在生产过程中,预制构件通过对应的模具进行生产,在具有流水线特征的生产线中模台承载模具顺序经过各工序的加工单元来完成全部生产过程。在支模工序中将生产预制构件所需的模具固定在模台的台面上,不同类型的预制构件所对应的模具的尺寸也不同,固定尺寸的模台上可以承载多个模具,由于模台在生产线上的流转时间较为固定,如果在模台上能够摆放更多的模具,则可以更充分的使用模台的台面面积,从而提高生产线整体的生产效率,因此模台台面利用率会对预制构件生产线的生产产能具有直接的影响。同时,由于投产的预制构件所需的模台数量大于实际生产线上已有的模台数量,因此模台存在重复使用的问题,不同类型的预制构件所对应的模具的尺寸也不同,如果再次在模台上分配的预制构件所使用的模具不同于之前模台上摆放的预制构件所使用的模具时,则需要更换模台上的模具,由此产生了换模问题,换模过程中清理和打磨模台的台面需要花费一定的时间成本,因此产生了一个换模时间,这既提高作业人员的工作强度,也增加了预制构件生产过程的时间成本。如果能够使得再次在模台上分配的预制构件所使用的模具与之前模台上摆放的预制构件所使用的模具相同,就会减少换模次数,节省换模时间,从而降低预制构件生产的时间成本,也会提高生产线整体的生产效率。因此,给出有效的模具在模台上的组合分配方法可以提高模台的台面利用率,减少换模时间,充分发挥企业现有资源的产能。

现有的相关工作中,主要采用群体进化算法对模具组合分配问题进行优化,因此不能快速的得到决策目标,并且无法利用企业的历史生产数据。本发明充分利用历史生产数据,从历史生产数据中得到关于模具组合分配的强关联规则,用于指导新一天的生产任务,能够快速的对生产现场做出决策。



技术实现要素:

本发明的目的是提供一种基于机器学习与回溯法结合的模具组合分配方法,用以解决换模次数多,模台利用率低等问题。

本发明技术方案:

一种基于机器学习与回溯法结合的模具组合分配方法,首先依据预制构件生产企业的历史日生产订单数据,对单日的生产订单按照构件类型的生产件数进行分组,运用0-1背包思想对每个分组构建组合分配模型,并通过回溯法找到充分利用模台面积的理论最佳适配组合结果,运用改进的bl定位算法模拟模具在模台上的摆放过程,如果该组合分配结果中包含的模具不能完全的摆放在模台台面上,则将该理论上的最佳适配组合分配结果标注为无效解,再将整组重新进行回溯;如果改进的bl定位算法模拟摆放过程有效,则记录该最佳适配组合分配结果,通过回溯法寻找剩下的构件中的最佳适配组合结果,得到该单日的生产订单中的最佳适配组合集合。将所有的订单进行训练,得到一个最佳适配集合库,运用apriori算法对得到的数据集进行训练,设置最小支持度,搜索得到频繁项集,设置最小置信度,得到频繁项集里所包含的关联规则。企业再次投产新的生产订单时,按照关联规则组合预制构件进行生产,并不断训练强化关联规则。

一种基于机器学习与回溯法结合的模具组合分配方法,包括以下步骤:

步骤1.获取预制构件生产企业的历史日订单数据,包括预制构件的型号,各个型号的面积和生产件数,以及预制构件的形状。

步骤2.对单日的生产订单按照构件类型的生产件数进行分组,当天生产件数相同的几种构件分为一组,但是也会出现单独型号的构件组成的组,把他们划为一组,对其进行特殊化处理。

步骤3.运用0-1背包思想和回溯法找到充分利用模台面积的最佳适配组合集合,具体步骤如下:

步骤3.1.运用0-1背包思想对每个分组构建组合分配模型,将摆放问题转化为0-1背包思想问题,

步骤3.2.定义单组模具在模台上组合分配问题的解空间,构建解空间树,用二叉树来表示。

步骤3.3.运用剪枝函数对解空间树进行剪枝,将不满足约束条件的解减去。

步骤3.4.使用回溯法回溯整个解空间,找到充分利用模台面积的理论最佳适配组合结果。

步骤3.5.运用改进的bl定位算法模拟模具在模台上的摆放过程。如果该组合分配结果中包含的模具不能完全的摆放在模台台面上,转步骤3.6,如果该组合分配结果中包含的模具能完全的摆放在模台台面上,转步骤3.7。

步骤3.6.则将该理论上的最佳适配组合分配结果标注为无效解,转步骤3.4。

步骤3.7.记录最佳适配组合集合,转步骤3.8

步骤3.8.判断分组中剩余构件是否完成回溯,如果完成,转步骤4,否则,转步骤3.9;

步骤3.9.选择该分组中的剩余构件重新使用回溯法,转步骤3.4;

步骤4.判断训练的预制构件生产企业的历史日订单数量是否达到要求,如果达到,转步骤5,如果没有达到,转步骤2.

步骤5.将所有的最佳适配组合集合聚合,得到一个较为庞大的数据库。

步骤6.运用apriori算法对得到的数据集进行训练,得到关联规则和频繁项集。具体步骤如下:

步骤6.1设置最小支持度,对每一个最优项集,搜索最优组合里的每一个构件,搜索出对于单个构件来说支持度不小于最小支持度的项集,将这些项集聚合成一个集合称之为频繁1-项集l1。(lk表示k-项频繁集,l表示频繁集)

步骤6.2将这些构件进行两两组合,通过自身计算统计连接生成候选项集,将不满足最小支持度的候选项集删去,得到频繁2-项集l2。

步骤6.3将保留下来的候选项集与单个构件再次组合,形成新的候选项集,将不满足最小支持度的候选项集删去,得到频繁3-项集l3。

步骤6.4设置最小置信度,对于上面得到每个频繁项集l3,生成其所有非空真子集;对于每个非空真子集s计算如果就表明l3里剩下的构件和s子集里构件一起出现的概率大于最小置信度,说明这条规则是可以信任的,是准确的,输出得到强关联规则。

步骤7.预制构件生产企业再次得到生产订单,在对生产订单分组后,如果发现组内存在有关联规则的构件,直接将这些构件按照关联规则组合在一起,组内按照关联规则的强弱顺序摆放在模台上生产。

步骤8.将组合内存在关联规则的构件组合后,将剩余构件运用回溯法,得到最佳适配组合,将最佳适配组合摆放在模台上进行生产。

步骤9.把最佳适配组合加入数据库,运用apriori算法训练。不断强化关联规则。

1.对于日生产订单进行分组

在获得大量日生产订单数据之后,先取出其中一日的生产订单,对生产构件进行分组,按照当天的生产件数分成数组,当天生产件数相同的几种构件分为一组,将当日生产件数只包含一种构件的编成一组,例如某型号构件那日单独生产5件,另外有某型号构件那日单独生产7件,将这两组进行合并,把他们划为一组,对其进行特殊化处理。

2.运用0-1背包思想和回溯法找到充分利用模台面积的最佳适配组合集合

2.1.将摆放问题转化为0-1背包思想问题

分组后,考虑如何将每组的构件合理的分配到相应的模台上,为了解决这一问题,采用0-1背包思想构建模具在模台上的分配问题的描述,将分组后每组的j个构件分配在相应的x(虚拟模台数)个模台上,每一个模台的最大面积记为s,其中模具i的面积为si,且有上述的每一个分组中模具在模台上的组合分配问题要求确定,找出分配方案。分配方案如下:

首先将待摆放构件对应的模具在第一个模台上尽可能摆满,使模台的利用率最大,然后在剩余的待摆放的构件的模具选择摆放在接下来的模台上,使模台的利用率达到最大,剩下的构件以此类推,直到将此组中的构件摆放完毕。

由此可知,构件在模台上的组合分配问题等价于以下的0-1背包问题:

δi∈{0,1},1≤i≤j

δi表示模具是否能够摆上,δi=1表示该模具被摆放在此模台上,δi=0表示该模具不能被摆放在此模台上。

在这样转换完成后,摆放问题就成了0-1背包思想问题,因为回溯法在实现模具在模台上的组合分配问题中最大的价值就是充分利用模台面积的大小,因此回溯法参数设置中将构件的面积参数weight和价值参数value设置成相同的值,就是面积。

2.2运用回溯法搜索解空间得到理论上的最佳适配组合

想要运用回溯法解决问题,首先要准确的得到整个组合的解空间,一组里有n个可供选择的构件,那么它的额解空间长度由长度为n的0-1向量组成,向量个数有2n个。假设一个分组中有4个构件,选择这些构件将其摆放到模台上,那么这一组的解空间为{(0,0,0,0),(0,0,1,0),(0,1,0,0),(1,0,0,0),(0,0,0,1),(0,0,1,1),(0,1,0,1),(1,0,0,1),(0,1,1,0),(1,0,1,0),(1,1,0,0),(1,1,1,0),(1,0,1,1),(1,1,0,1),(0,1,1,1),(1,1,1,1)},在得到了这组的解空间后,通过回溯法来搜索整个解空间。模具在模台上组合分配问题的解空间可以通过一棵二叉树来进行表示,如图2。

这些构件在解空间树里是随机排序的,并不需要安排某个构件固定比某个构件先摆放,通过随机数来选取就行。解空间树里从第二层开始每层表示一个构件的面积,第一层不是代表构件的面积,而是代表这次的所有组合已经罗列完成了,解空间树的第i层到第i+1层的路径表示是否摆放这个构件,表示数值1代表摆放这个构件,数值0表示不摆放这个构件,这样就可以回溯整个解空间,来得到组合结果。

回溯法在搜索上述解空间的过程中,如果每一个结点不管能否出现最优值都搜索一遍,会大大提高算法的时间复杂度,所以回溯法搜索解空间树时,为了对一些不可能产生最优值的结点进行剪枝操作,通常采用两种策略避免无效搜索。第一种是用限界函数剪去得不到最优解的子树。;第二种是用约束函数在扩展结点处减去不满足约束的子树。这两种函数统称为剪枝函数

由于我们是先把所有的解空间全部列出,会出现一些不符合现实情况的解,需要进剪枝操作,减小解空间树,便于搜索,每个模台最多放三个模具,所以解空间树里有一些摆放情况大于三个构件的路径需要全部减去,运用约束函数在已经摆放三个构件的节点处剪去其下面的所有子树。这样在运用回溯法在进行搜索时就会跳过这些注定不会出现的结果,节约了大量的搜索时间,避免了无效搜索,加快了训练的速度,能够快速的得到这组的充分利用模台面积的最佳适配组合集合。

在进行完剪枝操作之后,开始真正的搜素整个解空间树,以i个构件为例,在回溯时,我们从先选前三个构件这条路径开始检测,计算这三个构件模具加起来的面积,与模台的面积相比较,如果这三个模具的面积之和小于模台的面积,则表示这三个模具在不考虑构件形状的情况下上可以摆放在模台山上,把这三个构件组成的组合以及他们的面积之和记录下来,暂时列为这组构件组合分配的最适配解。如果这三个模具的面积之和大于模台的面积,则表示这三个模具不能一起摆放到模台上,这个组合方案不行。

此时在第四层进行回溯,回溯到第三层,计算第一和第二个构件的面积之和,与模台的面积进行对比,如果第一和第二个构件的面积之和小于模台的面积,则表示这子树里有可能有解,根据深度优先的抉择,选择第一个第二个第四个构件组合这条路径,计算这三个构件的面积之和,与模台的面积对比,如果这三个模具的面积之和小于模台的面积,则表示这三个模具在不考虑构件形状的情况下上可以摆放在模台山上,如果前面没有得到一个最适配组合,把这三个构件组成的组合以及他们的面积之和记录下来,暂时列为这组构件组合分配的最适配解,如果前面有得到一个最适配组合,将这此得到的面积之和和之前的进行比较,面积比之前的大就取代它成为暂时的最优组合,面积小就被淘汰,保留之前的组合记录,如果这三个模具的面积之和大于模台的面积,则表示这三个模具不能一起摆放到模台上,这个组合方案不行。

再次回溯,然后再次计算构件面积之和,比较判断组合是否是最适配解,不断地比较迭代,直至搜索完整个子树。

如果第一第二个构件的面积之和大于模台的面积之和,这就表示这子树里没有解,无需对子树搜索。回溯到第二层,由于单独的构件面积一定小于模台的面积,否则无法生产,所以可以子树里一定有解,重复上面的步骤,得到暂时的最适配解。回溯到根结点,对另一条途径进行搜索,重复上面的搜索步骤,不断迭代,输出一个最适配解,以下是将回溯法应用在模具分配在模台上问题的伪代码。

2.3运用改进的bl定位算法检测理论最佳适配组合是否能摆放在模台上

改进的规则是根据模台上摆放的第一个模具的摆放方向来判断后序模具的摆放顺序和位置。具体的摆放方法如下所示:

首先判断摆放在模台上第一个模具的摆放方向,其不同的摆放结果决定之后模具的摆放顺序和位置。如果第一个模具横向摆放:

1)第二个待摆放模具选择放置的位置首先是第一个摆放模具的右侧,若右侧区域不满足摆放条件,则选择第一个模具的上侧进行摆放,如果上侧区域不满足摆放条件,则选择下一个模台进行摆放。

2)若第二个模具满足摆放在第一个模具的右侧,则第三个模具选择放置的位置是第一个模具的上侧,如果上侧区域不满足摆放条件,则选择下一个模台进行摆放。

如果第一个模具纵向摆放:

1)第二个待摆放模具选择摆放的位置首先是第一个摆放模具的右侧,如果右侧区域不满足摆放条件,则选择下一个模台进行摆放。

2)如果第二个模具满足摆放在第一个模具的右侧,第三个模具选择放置的位置是第二个摆放模具的上侧,如果不能满足摆放条件,则选择下一个模台进行摆放。

根据bl定位算法对回溯法得到的理论上的最佳适配组合进行检测,如果不能在模台上摆放,那么就对这组组合进行标注,表示其不可用,将这组组合加入一个不可选取的集合里,把这一整组构件重新进行回溯,在回溯过程中一旦发现我们搜索得到最优解属于这个不可取的集合,就立即删除这组结果,寻找除了这组之外的最优解,这样的话就会通过回溯法搜索到一个新的组合结果,再来通过bl定位算法进行判断。

如果能满足摆放条件的话就将最优组合结果加入到最优组合集合里,将这组中的剩余构件重新组成一组,进行新一轮的回溯,重复回溯法和bl定位算法判断的步骤,直至这组中的所有构件都回溯完成,相互组合完毕,得到一组对于这组来说的最优组合集合。

在这一组构件回溯完成之后,将另外几组构件也通过回溯法进行搜索,得到各自的组合集合。将这些组合集合全部组合到一起形成一个新的组合集合。

拿出另外的日生产订单,进行分组,通过回溯法进行搜索,得到最优组合集合,直到训练的日生产订单数量达到了要求,组合集合达到了一定量的规模,这样就得到了一个大的数据集。

3.运用apriori算法对得到的数据集进行数据挖掘,得到关联规则和频繁项集

设置完最小支持度和置信度后,对数据集进行搜索。对每一个最优项集,搜索最优组合里的每一个构件,搜索出对于单个构件来说支持度不小于最小支持度的项集,将这些项集聚合成一个集合称之为频繁1-项集l1。(lk表示k-项频繁集,l表示频繁集)

将这些构件进行两两组合,通过自身计算统计连接生成候选项集,但是这些候选项集,有些是不满足组合条件的,例如有的组合因为面积之和大于模台面积或者小于模台面积但是不满足bl定位算法无法在摆放在模台上,需要将这些组合删去。有些是不满足最小支持度的组合,它们两两组合后在数据集里出现的次数比重小于最小支持度,需要将这些组合删去。运用剪枝函数将不满足组合条件的候选项集减去,将既满足摆放条件又满足最小支持度的组合保留下来,这些保留下来的候选集所在的项集就是频繁2-项集l2。

在保留下来的候选项集的基础上再加一个构件,组成新的候选项集,也会出现上一个步骤里候选项集不满足条件的情况,再次运用剪枝方法将不满足组合条件和最小支持度的候选项集减去,将既满足摆放条件又满足最小支持度的组合保留下来,这些保留下来的候选集所在的项集就是频繁3-项集l3。每个组合里至多有三个构件,所有到这已经无法再继续生成新的频繁项集了。频繁3-项集就是最终的频繁项集。

在得到最终的频繁项集之后,可以通过人工设置的最小置信度来获取强关联规则。关联规则是形如x→y的蕴涵式,表示通过x可以推导“得到”y,其中x和y分别称为关联规则的先导(antecedent或left-hand-side,lhs)和后继(consequent或right-hand-side,rhs)。

关联规则产生步骤如下:对于上面得到每个频繁项集l,生成其所有非空真子集;对于每个非空真子集s计算如果就表明l里剩下的构件和s子集里构件一起出现的概率大于最小置信度,说明这条规则是可以信任的,是准确的,输出得到最终企业所需要的强关联规则。

企业得到新一日的生产订单,再次对生产订单进行分组,如果发现组内存在有关联规则的构件,直接将这些构件按照关联规则组合在一起,按照关联规则的强弱顺序摆放在模台上进行生产。直至组内不存在关联规则,将剩余构件运用回溯法,得到最佳适配组合,摆放到模台上进行生产,并将最佳适配组合加入数据库,运用apriori算法训练。不断强化关联规则。最大化的减少了换模时间,并且减少了生产轮次,增加了模台的利用率,尽量让所有模台都处于工作状态。

附图说明

图1是本发明的流程示意图。

图2是本发明的模具在模台上组合分配问题示意图。

具体实施方式

实施例1

由于回溯法在实现模具在模台上的组合分配问题中最大的价值就是充分利用模台面积的大小,因此回溯法参数设置中将构件的面积参数weight和价值参数value设置成相同的值,模台的最大容量设置为固定值,即c=24(m2),apriori算法在对回溯法得到的最优组合结果进行先验数据挖掘的过程中,数据规模设置为5000条,将最小支持度设置为0.02,即min_support=0.02,最小置信度设置为0.6,min_confidence=0.6。

下表是一组叠合板生产清单

在得到一日的订单之后对其数据进行分组,生产件数为一件的构件划分为g1={yb3-4,yzb4,ydb7,yb7-1f,yb7-2,yb9,yzb-4,ydb5-1,yb2f,yb7},共有10种类型的构件;生产件数为2件的构件划分为g2={yb3-5,ydb1,yb12,yb2,yb5f,yb6,yzb-5,yzb5},共有8种类型的构件;生产件数为3件的构件划分为g3={yb1,yzb-4,yb6f,ydb8,ydb6f,yzb-3,yb7f},共有7种类型的构件;生产件数为4件的构件划分为g4={ydb9,yzb-2,yb8f,yb10f,yzb7f,yzb2f,yb5,yb14},共有8种类型的构件;生产件数为6件的构件为g6={yb1-2,yb8,yzb8,yb11,yzb3,ydb3f},共有6种类型的构件;无法划分分组的构件统一分为gd={yb12f,ydb4},共有两种类型的构件。

将分组后的第一组数据进行算法测试,有一个自己回溯法实现模台模具分配的程序界面,输入相应的构件个数,对应的构件编号名称、构件的面积大小以及整个模台最大的面积即可得出最优的分配结果。该组的预制构件个数为10个,将它们的编号和面积大小以及价值(面积)输入程序设计界面,同时输入整个模台的面积,得到第一个模台的利用面积为22.59,组合的构件型号分别为yb3-4、yb7-1f和yb7-2,通过bl定位算法判断组合结果是否满足摆放关系,如果不满足,对这组组合关系进行标注,重新对这组构件进行算法测试,如果满足摆放关系,将这组组合结果加入最优组合集合,然后判断剩下的构件是否完成回溯,没有完成的情况下,输入剩下的预制构件的值,得到第二个的模台利用面积为22.6,组合的构件型号分别为ydb7和yzb-4;以此重复上述的步骤,得到第三个的模台利用面为21.0,组合的构件型号分别为yzb4和yb9,第四个的模台利用面积为20.4,组合的构件型号为yb7;第五个模台利用面积为16.1,组合的构件型号分别为ydb5_1和yb2f。在这组构件全部完成回溯时,输出组合集合。

将其他组的构件同样采用上述程序运行,得到每组的构件分配组合结果,将订单分组得到的数据进行统计。分别记录每组中每一个模台上模具占用面积大小、模具满足摆放条件占用面积大小、模台台面利用率、加工件数以及相应的构件组合结果说明等信息。

从上表分析可知,将不同分组的构件组合结果显示出来,第六组是由于每组实现最优组合之后剩余构件不足以分配一个模台的构件集合;模具占用面积的条件是采用回溯法直接对构件在模台上的摆放进行优化,评价的标准只有面积,而模具满足摆放条件占用面积这一列表示的是在满足采用回溯法获得组合的同时,模具也要满足摆放条件,因此,模具满足摆放条件占用面积基本都比模具占用面积小;同时观察模台利用率数据可知,每一个分组中的模台平均利用率差距较大,是因为不同分组中构件面积大小区别较大导致,这也证明了不同的构件组合会产生差异较大的模台台面利用率;构件组合结果是经过分组后产生的构件组合结果,为后面apriori算法优化的项集做准备。

通过采用20组日上产订单数据不断训练上述算法,获得了一组最优构件组合集合,对这些最优组合集合结果进行记录,形成了一个企业生产情况的数据库,数据库规模为5000条,采用apriori算法对上述数据集进行搜索,得出强关联规则。

(2)apriori算法搜索性能测试结果分析

对上述最优组合集合进行迭代,通过设置不同的最小支持度和最小置信度,构件组合的获得频繁项集不同,从而导致最优解集不同,得出关联规则也是不同,如下表所示,为在不同支持度和不同置信度条件下,产生的最大频繁集和关联规则。

通过对表格数据分析可知,在整个数据集训练后,发现最大的频繁项集为ydb6fyb12yb14ydb6fyb2ydb1yb1ydb6fydb5-1ydb1;通过观察设置不同的最小支持度和最小置信度,发现构件yb14和ydb6f的置信度是最高的,也就是说当构件ydb1需要的组合分配时,yb2和它组合在一起的概率为76.10%,yb2和ydb1的置信度其次,构件ydb1需要分配时,yb2和它组合在一起的概率为61.69%;当最小支持度为0.04,最小置信度为0.5时,关联规则增加了ydb1和ydb6,置信度大小为0.5402;当最小支持度为0.05,最小置信度为0.5时,关联规则增加了yb2和ydb1。从上述分析可知,通过训练一定数量的模具之间的最优组合集合,可以得出模具组合之间的关联规则,通过该关联规则为接下来的生产任务提供指导和参考。

某装配式建筑预制构件生产公司某条生产线于某日得到今日的生产订单,模台的面积为24m2,每个模台至多摆放3个模具。

公司以前通过本申请提供的方法,对历史订单进行训练和数据挖掘,得到一定量的关联规则,人员通过查询得到了yb3-4,yb7-1f,yb7-2之间存在强关联规则,yzb4,yb9之间也存在关联规则,将这五个构件按照强关联规则组合在一起,先在模台上摆放模具准备生产,然后对剩下的5个构件通过回溯法进行组合分配,得到ydb7,yzb-4两个组合在一起,ydb5-1,yb2f这两个组合在一起,yb7单独一个模台,按照组合分配摆放到模台上进行生产,因此今日的生产订单需要5个模台,将新得到的组合加入数据库,完善数据规模,进化强关联规则。

按目前技术,工作人员在得到生产订单后按照订单从上到下的上线序进行生产投产,首先yb3-4,yb2f这两个组合在第一个模台上,yb7-1f,ydb7,yb7-2这3个组合在第二个模台上,yb9在第三个模台上,yzb-4在第四个模台上,ydb5-1,yzb4这两个组合在第五个模台上,yb7摆放在第六个模台上,因此今日的生产订单需要6个模台。

综上,本技术可以减少一个模台,通过对比不难发现,由于每个模台在预制构件生产线上经过的时间是固定的,那么拥有本专利的公司会节约一个模台生产所带来的生产时间和资源损耗,充分发挥企业现有资源的产能。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1