1.本发明属于车间调度管理领域,涉及随机森林技术,具体是基于随机森林算法的车间优化调度管理方法。
背景技术:2.随着产品需求不断向个性化转变,制造工艺更加多样,实际调度问题也变得更加复杂,制造企业对车间调度问题的解决方法在实际可操作性、计算效率以及对车间扰动的实时响应能力等方面都提出了更高的要求。为满足实际作业车间调度的需求,可以从生产调度历史数据中,挖掘关于调度规则的相应数据,结合已有的优先调度规则,进行综合评判;
3.在以往关于调度规则挖掘的研究中,决策树是一种被广泛采用的挖掘方法,但决策树的泛化能力弱,不适合大规模、高维度且存在噪声的调度相关历史数据集的调度规则挖掘。
4.为此,提出基于随机森林算法的车间优化调度管理方法。
技术实现要素:5.本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明提出基于随机森林算法的车间优化调度管理方法,该基于随机森林算法的车间优化调度管理方法预先获取历史调度方案产生的调度数据集合,再对调度数据集合设置清洗规则,并进行整合;随后根据调度数据集合与传统调度方案的对比,将劣于传统调度方案的调度数据集合予以淘汰;对应剩余的调度数据集合,通过抽取训练实例,并从每个训练实例中随机选择若干特征属性的方式,构建若干决策树;并使用未选中的训练实例对决策树进行测试,分析分类表现;再经过相似度分析淘汰以及贝叶斯投票机制,获得最高权值的随机森林调度规则;解决了车间机器及工件最优调度的问题。
6.为实现上述目的,根据本发明的第一方面的实施例提出基于随机森林算法的车间优化调度管理方法,包括以下步骤:
7.步骤一:从数据库或文件系统中获取调度数据集合;
8.步骤二:设定过滤规则对调度数据集合中的数据进行清洗;
9.步骤三:数据整合,即将过滤后的调度数据集合中的数据以调度方案为单元进行划分,并将其转化为数据挖掘技术适用的表达形式;
10.步骤四:根据预设指标从所有历史调度方案中,筛选出合适的历史调度方案所产生的调度数据集合;
11.步骤五:调度规则数据挖掘,即将筛选后的调度数据集合作为改进的随机森林算法的输入,获得最终表现最好的工件的机器选择问题以及空闲机器的工件选择问题的调度方案;
12.其中,所述调度数据集合内容包括调度方案执行时机器、工件以及人员等信息;考
虑到柔性作业车间动态调度问题是在有扰动的环境下解决工件的机器选择问题和空闲机器的工件选择问题,因此采集的调度相关每次调度所产生的历史数据集合dh可以表达为dh={d1,d2,d3};其中,dh即为调度数据集合;d1为调度方案制定时与扰动相关的系统扰动信息,如车间中机器故障数量、返工工件数量等;d2为工件的某道工序选择加工机器时,当前可以加工这道工序的机器集合中每台机器的状态信息,如机器前在制品数量、机器加工这道工序的时间等;d3为空闲机器需要在等待队列中选择工件进行加工时,当前队列中每个工件的状态信息,如工件在该机器上加工的时间、工件是否为返工工件等;
13.调度数据清洗根据实际经验建立过滤规则库和数据清洗规则,定义每种生产属性需要使用的过滤规则以及过滤规则内部的数据处理逻辑,对采集得到的多源调度历史相关数据进行清洗工作;基于过滤规则库与数据清洗规则,每一条采集的数据会根据自身属于调度数据集合中的类型,查询数据清洗规则中的数据清洗方法,从规则库中选择相应的过滤规则进行组合,并通过大数据处理系统判断是否符合规则完成清洗工作;
14.所述数据整合包括以下步骤:
15.步骤s1:通过数据仓库工具使用数据库查询语句对hdfs文件系统中的调度数据集合dh以调度方案为单元进行划分,即将一次调度方案在执行中产生的调度相关历史数据划分到一起;所述仓库工具可以为hive;
16.步骤s2:使用大数据处理系统将划分后的数据中的d2与d3部分转化为训练实例,用于调度规则挖掘;
17.筛选合适的历史调度方案所产生的调度数据集合包括以下步骤:
18.步骤p1:对于每个历史调度方案,判断其最大完工时间是否比只使用平均流程规则的完工时间小,若不符合,淘汰此历史调度方案;否则,执行步骤p2;
19.步骤p2:对于剩余的每个历史调度方案,判断其总拖期是否比使用平均流程规则与优先选择完工期限最紧工作规则相结合的规则的总拖期小,若不符合,淘汰此历史调度方案;否则,执行步骤p3;
20.步骤p3:对于剩余的每个历史调度方案,判断其机器总负载是否比使用设备最长等待时间调度规则与平均流程规则相结合的规则的机器总负载小,若不符合,淘汰此历史调度方案;否则将剩余的历史调度方案作为筛选后的合适历史调度方案;
21.所述调度规则数据挖掘包括以下步骤:
22.步骤q1:将调度数据集合dh中的d2数据作为解决工件的机器选择问题的输入数据;将调度数据集合dh中的d3数据作为解决空闲机器的工件选择问题的输入数据;将d2数据与d3数据构建随机森林,并分别生成随机森林调度规则1以及随机森林调度规则2;
23.其中,随机森林调度规则1与随机森林调度规则2的生成包括以下步骤:
24.步骤x1:从d2/d3数据中有放回的抽取训练实例,形成k个新训练实例集合,用于构建k棵决策树;其中,k为根据实际经验设置的决策树数量;
25.步骤x2:每个训练实例集合随机从d2/d3数据中,随机选择m个特征属性,并计算最佳分裂方式,获得k棵决策树;其中,m为根据实际经验设置的特征属性数量;
26.步骤x3:使用d2/d3数据中未被选择的训练实例,测试并记录随机森林中每棵决策树的分类表现;
27.步骤x4:计算每棵决策树之间的相似度,若两棵决策树之间的相似度大于60%,则
认为是相似的,淘汰其中在测试表现中较差的一课;
28.步骤x5:使用贝叶斯投票机制计算经淘汰后剩余的最终随机森林中每棵决策树的权值;
29.步骤x6:选择其中权值最高的决策树作为随机森林调度规则1/随机森林调度规则2;
30.步骤q2:将随机森林调度规则1以及随机森林调度规则2作为后续选择合适工件进行加工以及选择合适的机器执行加工的方案。
31.与现有技术相比,本发明的有益效果是:
32.预先获取历史调度方案产生的调度数据集合,再对调度数据集合设置清洗规则,并进行整合;随后根据调度数据集合与传统调度方案的对比,将劣于传统调度方案的调度数据集合予以淘汰;对应剩余的调度数据集合,通过抽取训练实例,并从每个训练实例中随机选择若干特征属性的方式,构建若干决策树;并使用未选中的训练实例对决策树进行测试,分析分类表现;再经过相似度分析淘汰以及贝叶斯投票机制,获得最高权值的随机森林调度规则;解决了车间机器及工件最优调度的问题。
附图说明
33.图1为本发明的流程图。
具体实施方式
34.下面将结合实施例对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
35.如图1所示,基于随机森林算法的车间优化调度管理方法,包括以下步骤:
36.步骤一:从数据库或文件系统中获取调度数据集合;
37.步骤二:设定过滤规则对调度数据集合中的数据进行清洗;
38.步骤三:数据整合,即将过滤后的调度数据集合中的数据以调度方案为单元进行划分,并将其转化为数据挖掘技术适用的表达形式;
39.步骤四:根据预设指标从所有历史调度方案中,筛选出合适的历史调度方案所产生的调度数据集合;
40.步骤五:调度规则数据挖掘,即将筛选后的调度数据集合作为改进的随机森林算法的输入,获得最终表现最好的工件的机器选择问题以及空闲机器的工件选择问题的调度方案;
41.其中,所述调度数据集合内容包括调度方案执行时机器、工件以及人员等信息;考虑到柔性作业车间动态调度问题是在有扰动的环境下解决工件的机器选择问题和空闲机器的工件选择问题,因此采集的调度相关每次调度所产生的历史数据集合dh可以表达为dh={d1,d2,d3};其中,dh即为调度数据集合;d1为调度方案制定时与扰动相关的系统扰动信息,如车间中机器故障数量、返工工件数量等;d2为工件的某道工序选择加工机器时,当前可以加工这道工序的机器集合中每台机器的状态信息,如机器前在制品数量、机器加工这
道工序的时间等;d3为空闲机器需要在等待队列中选择工件进行加工时,当前队列中每个工件的状态信息,如工件在该机器上加工的时间、工件是否为返工工件等;
42.可以理解的是,调度历史数据势必存在多次重复的记录,导致从多个业务系统中采集的调度数据集合dh中存在数据冲突与数据重复等情况,只有对复杂多样的调度数据进行数据清洗才能为后续的调度规则挖掘奠定基础;
43.在一个优选的实施例中,调度数据清洗根据实际经验建立过滤规则库和数据清洗规则,定义每种生产属性需要使用的过滤规则以及过滤规则内部的数据处理逻辑,对采集得到的多源调度历史相关数据进行清洗工作;基于过滤规则库与数据清洗规则,每一条采集的数据会根据自身属于调度数据集合中的类型,查询数据清洗规则中的数据清洗方法,从规则库中选择相应的过滤规则进行组合,并通过大数据处理系统判断是否符合规则完成清洗工作;所述大数据处理系统可以为spark;
44.可以理解的是,调度数据集合中的数据形式混乱,无法直接用于接下来的数据筛选、聚类以及调度规则挖掘工作,需要通过数据整合整理调度数据集合的数据形式;
45.在一个优选的实施例中,所述数据整合包括以下步骤:
46.步骤s1:通过数据仓库工具使用数据库查询语句对hdfs文件系统中的调度数据集合dh以调度方案为单元进行划分,即将一次调度方案在执行中产生的调度相关历史数据划分到一起;所述仓库工具可以为hive;
47.步骤s2:使用大数据处理系统将划分后的数据中的d2与d3部分转化为训练实例,用于调度规则挖掘;
48.在调度数据集合dh中隐含了反映实际调度环境特点及调度知识的大量有效信息,也伴随着许多无用的或错误的规律或模式;同时,调度方案的优劣将影响调度方案执行时所产生的调度数据中有多少有价值的调度知识可以提取;因此需要从所有历史调度方案中,筛选出合适的有效的调度方案产生的调度数据集合;
49.在一个优选的实施例中,筛选合适的历史调度方案所产生的调度数据集合包括以下步骤:
50.步骤p1:对于每个历史调度方案,判断其最大完工时间是否比只使用平均流程规则的完工时间小,若不符合,淘汰此历史调度方案;否则,执行步骤p2;
51.步骤p2:对于剩余的每个历史调度方案,判断其总拖期是否比使用平均流程规则与优先选择完工期限最紧工作规则相结合的规则的总拖期小,若不符合,淘汰此历史调度方案;否则,执行步骤p3;
52.步骤p3:对于剩余的每个历史调度方案,判断其机器总负载是否比使用设备最长等待时间调度规则与平均流程规则相结合的规则的机器总负载小,若不符合,淘汰此历史调度方案;否则将剩余的历史调度方案作为筛选后的合适历史调度方案;
53.在一个优选的实施例中,所述调度规则数据挖掘包括以下步骤:
54.步骤q1:将调度数据集合dh中的d2数据作为解决工件的机器选择问题的输入数据;将调度数据集合dh中的d3数据作为解决空闲机器的工件选择问题的输入数据;将d2数据与d3数据构建随机森林,并分别生成随机森林调度规则1以及随机森林调度规则2;
55.其中,随机森林调度规则1与随机森林调度规则2的生成包括以下步骤:
56.步骤x1:从d2/d3数据中有放回的抽取训练实例,形成k个新训练实例集合,用于构
建k棵决策树;其中,k为根据实际经验设置的决策树数量;
57.步骤x2:每个训练实例集合随机从d2/d3数据中,随机选择m个特征属性,并计算最佳分裂方式,获得k棵决策树;其中,m为根据实际经验设置的特征属性数量;
58.步骤x3:使用d2/d3数据中未被选择的训练实例,测试并记录随机森林中每棵决策树的分类表现;
59.步骤x4:计算每棵决策树之间的相似度,若两棵决策树之间的相似度大于60%,则认为是相似的,淘汰其中在测试表现中较差的一课;
60.步骤x5:使用贝叶斯投票机制计算经淘汰后剩余的最终随机森林中每棵决策树的权值;
61.步骤x6:选择其中权值最高的决策树作为随机森林调度规则1/随机森林调度规则2;
62.步骤q2:将随机森林调度规则1以及随机森林调度规则2作为后续选择合适工件进行加工以及选择合适的机器执行加工的方案。
63.以上实施例仅用以说明本发明的技术方法而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方法进行修改或等同替换,而不脱离本发明技术方法的精神和范围。