基于大数据分析的计划调度优化方法
技术领域
本发明涉及工程应用领域,具体为一种基于大数据分析的计划调度优化方法。
背景技术
计划调度主要进行资源优化和计划编排,并为计划的执行和控制提供指导。调度优化过程即寻找合理调度方案的过程,即对生产对象在不同的生产主体进行生产时,如何合理安排生产的匹配关系,以优化生产进程,在满足现有生产条件下,使生产收益最大化,调度优化直接控制生产的稳定和有序执行。良好的生产调度能够预先解决生产及试验中的干扰,缩短产品或项目在车间的流动时间,减少在制品及在制项目数量,保证准时交工。
在工程应用中,广泛存在着计划调度优化的需求。例如,在试验检测领域,检测项目的合理调度也影响着试验检测项目的交工期,只有充分考虑试验检测过程中的瓶颈因素,如设备因素、人员因素、第三方要求因素等环节,才能更好的对试验检测计划进行调度优化,准时交工。再如,在批量生产企业中,生产任务具有批次多、批量大、不确定性大等特点,车间生产过程中容易出现资源瓶颈,例如发生设备使用冲突等情况。因此车间编制生产计划时必须对生产资源加以重点考虑,尽量避免产生资源的冲突,避免造成资源不足,从而提高计划可行性。对生产过程中的关键设备,车间更要做到计划使用合理、设备利用充分的目标。同时,车间接收的生产任务类型复杂:生产任务中包含的零件有重要零件和非重要零件。重要零件一般针对军用产品零件和加工工艺复杂的零件,非重要零件一般指民用产品零件和工艺简单的零件。企业在编排车间计划时,对以上不同种类的零件需要采用不同的优先级别加以生产。因此,一个好的计划调度优化方法对提高企业生产效率、增强企业竞争力具有很强的现实意义。
随着大数据技术的发展,影响计划调度及优化因素的挖掘又有了新的手段,不仅仅只局限于传统的产品或项目设计数据、制造数据等环节,其影响因素应当蕴含于包含传感器数据、控制器数据及设备系统的网络化数据等组成的大数据中。因此,计划调度优化与大数据分析有机融合就成了必然趋势,通过大数据的分析获取影响计划调度优化的影响因素,进而利用这些影响因素及相关的其它历史数据完成相对最优计划编制方案的制定。
对于工程应用领域及制造企业中的计划调度优化方法已有了很多研究,但到目前为止,尚无一种在大数据分析前提下对影响因素进行分析挖掘,进而进行计划调度优化的方法。
发明内容
针对现有技术中存在的问题,本发明提供一种分析准确,应用范围广,节省成本,提高企业运行效率的基于大数据分析的计划调度优化方法。
本发明是通过以下技术方案来实现:
基于大数据分析的计划调度优化方法,包括如下步骤,
S1、基于Hadoop分布式平台构建包括传感网络数据、控制器数据和制造信息系统数据的大数据分析平台;
S2、在MapReduce框架下运用Apriori关联规则挖掘算法对计划调度的约束因素进行挖掘,得到对应计划项目的工序顺序约束因素、资源约束因素、临时工序约束因素和计划时间约束因素;
S3、根据挖掘出的计划调度约束因素,依次得到计划项目周期和计划项目中各工序加工周期及工序开工、完工时间,最后得到计划项目的开工和完工时间,以该开工和完工时间对计划项目进行计划调度。
优选的,步骤S2中对约束因素进行挖掘时,具体挖掘时的方法如下,
2.1初始化设定迭代参数k及其最大值,在大数据分析平台中产生候选k项集;其中,k为正整数;
2.2在k项候选集中由Map函数产生<key,value>对;
2.3对产生的所有<key,value>对进行combiner整合;
2.4在整合后<key,value>对的基础上通过Reduce规约产生频繁k项集;
2.5根据设定k的最大值,判断k是否达到最大值K,如果否则进行合并,并使k=k+1,重复以上步骤,直到k达到最大值;如果是则结束,得到K项约束因素及其数据;
2.6将挖掘得到的K项约束因素及其数据写入NoSQL或Hbase或Mongdb或edis型数据库,并通过Web展示。
进一步,由大数据分析平台中的传感网络数据和控制器数据挖掘得到资源约束因素;由大数据分析平台中的制造信息系统数据挖掘得到工序顺序约束因素、临时工序约束因素和计划时间约束因素。
优选的,步骤S3中根据计划项目的要求和所需设备的加工能力得到计划项目周期;具体包括如下步骤,
设计划项目中工序的开工、完工时间分别为TS和TF,工序个数定义由{1,2,…,i,…,N}共N道工序依次组成,每道工序生产工时为Pi,根据资源约束因数得到使用的设备满负荷状态下的测试或加工能力为ESS,要求设定的完成周期为PT,则计划项目周期MS=TF-TS,计划项目取M=min(PT,MS)为最终加工周期;若PT>MS,则计划项目的周期为要求设定的完成周期,需要在加班或者超负荷的情况下完成任务;若PT<MS,则计划项目的周期按照设备能力安排。
进一步,步骤S3中根据计划项目周期得到计划项目中每个工序加工周期;具体包括如下步骤,
当PT<MS时,M=PT,则工序i加工周期按(1)式计算;
其中,加工时间为Ti_P,第i道工序的加工定额工时为SSi,使用的设备的加工能力为GGs;
当PT>MS时,M=MS,则按照要求设定的完成周期生产,工序i加工周期Oi为:
再进一步,步骤S3中根据每个工序的加工周期以及工序顺序约束因素、资源约束因素和临时计划约束因素得到该工序的开工和完工时间;具体包括如下步骤,
a)根据工序顺序约束因素,检索工序i上一道工序的开工、完工时间;
b)工序i上一道工序完工时间为工序i开工时间Ti_S,则工序i的加工时间为(Ti_S,Ti_S+Oi);
c)根据临时工序约束因素,判定是否有临时工序加入;
d)若无临时工序加入,则确定工序i按照(Ti_S,Ti_S+Oi)进行,转到步骤k);
e)若有临时工序增加,设增加为工序M,则工序M按照(Ti_S,Ti_S+Om)进行,并设定工序i的Ti_S=Tm_F;
f)根据资源约束因素,判定工序i按照(Ti_S,Ti_S+Oi)进行是否和其它工序产生资源冲突;
g)若无冲突,则确定工序i按照(Ti_S,Ti_S+Oi)进行,转到步骤k);
h)若有冲突,则根据工序顺序约束因素,比较此工序i与冲突工序的优先级,设冲突工序为工序J,若工序J优先级高,转到步骤(i),若工序i优先级高,转到步骤j);
i)工序i的开工时间Ti_S为工序J的完工时间Tj_F,工序i的完工时间Ti_F=Tj_F+Oi,跳转到步骤b);
j)确定工序i按照(Ti_S,Ti_S+Oi)生产;工序J接着工序i按照(Tj_F,Tj_F+Oj)进行,用工序J取代工序i,跳转到步骤b),直至所有工序不再资源冲突;
k)计算得到工序的开工、完工时间。
再进一步,步骤S3中根据全部工序的周期,以及工序的开工、完工时间,得到计划项目周期的执行时段;具体包括如下步骤,
整个计划由1,2,…,i,…,N共N道工序依次组成,各个工序的开工、完工时间分别为(T1_S,T1_F),(T2_S,T2_F),…,(Ti_S,Ti_F)…,(Tn_S,Tn_F),则整个计划件的执行时段为(T1_S,Tn_F),根据计划时间约束因素,保证执行时间段中的Tn_F不超出设定的截止时间。
优选的,步骤S1将传感网络数据、控制器数据和制造信息系统数据通过Sqoop上传至分布式文件系统HDFS,并存储至NoSQL数据库中。
与现有技术相比,本发明具有以下有益的技术效果:
本发明通过构建大数据分析平台,使得产品在设计、制造、试验、运维等阶段的数据通过传感器数据、控制器数据和设备网络化数据能够都融入到大数据分析平台,并通过运用并行化的关联规则算法挖掘出较为全面的影响因素,在全面考虑计划调度约束因素的情况下对计划进行编制,通过约束因素在整个执行时间段内对工序开工、完工时间的控制和约束,从而获得相对最优的计划调度方案,能够有效提高约束因素的准确度,有效节省成本,提高企业运行效率。采用本发明所述的通过大数据挖掘的方法可以更为准确的挖掘出计划调度的约束与影响因素,例如临时工序约束因素在未使用大数据挖掘方法时容易被忽略,从而使得计划调度的效果在完工时间上能够缩短10%左右。
附图说明
图1是本发明实例所述的计划调度优化方法的流程图。
图2是本发明实例所述的MapReduce计算框架并行化的Apriori关联规则算法对数据进行挖掘和分析的流程图。
图3是本发明实例所述的大数据分析及约束因素挖掘平台结构框图。
图4为本发明实例中所述的基于约束因素得到工序开工、完工时间的流程图。
图5为本发明实例中所述的某企业测试计划大数据分析平台结构框图。
图6为本发明实例中所述的某企业测试计划的甘特图。
具体实施方式
下面结合具体的实施例对本发明做进一步的详细说明,所述是对本发明的解释而不是限定。
本发明所述的基于大数据分析的计划调度优化方法,如图1所示,首先,基于Hadoop构建大数据分析挖掘平台,运用关联规则算法对计划调度的约束因素进行分析和挖掘,计算得到计划中每道工序的加工或测试周期,计算每道工序的开工和完工时间,完成对其的优化,从而能够计算整个计划的开工完工时间,并在最后进行可视化的展示。
具体的,如图1所示,包括如下步骤。
STEP1:基于Hadoop分布式平台构建包括传感网络数据、控制器数据和制造信息系统数据的大数据分析平台,其结构如图3所示;
STEP2:在STEP1的基础上挖掘约束因素,步骤和方法如下:
(1)如图3所示,将传感网络数据、控制器数据和制造信息系统数据通过Sqoop上传至分布式文件系统HDFS,由HDFS对数据进行管理,存储至NoSQL或Hbase或者MongDB或者redis数据库中。
(2)利用MapReduce计算框架对数据进行挖掘分析;对约束因素进行挖掘时,由传感网络数据和控制器数据挖掘得到资源约束因素;由制造信息系统数据挖掘得到工序顺序约束因素、临时工序约束因素和计划时间约束因素;如图2所示。
2.1初始化设定迭代参数k及其最大值,在大数据分析平台中产生候选k项集;其中,k为正整数;
2.2在k项候选集中由Map函数产生<key,value>对;
2.3对产生的所有<key,value>对进行combiner整合;
2.4在整合后<key,value>对的基础上通过Reduce规约产生频繁k项集;
2.5根据设定k的最大值,判断k是否达到最大值K,如果否则进行合并,并使k=k+1,重复以上步骤,直到k达到最大值;如果是则结束,得到K项约束因素及其数据;
2.6将挖掘得到的K项约束因素及其数据写入NoSQL或Hbase或Mongdb或edis型数据库,并通过Web展示。
(3)将分析好的数据写入HDFS或Hbase或Mongdb或edis。
STEP3:根据挖掘出的计划调度约束因素,依次得到计划项目周期和计划项目中各工序加工周期及工序开工、完工时间,最后得到计划项目的开工和完工时间,以该开工和完工时间对计划项目进行计划调度。
在挖掘约束因素时,由大数据分析平台中的传感网络数据和控制器数据挖掘得到资源约束因素;由大数据分析平台中的制造信息系统数据挖掘得到工序顺序约束因素、临时工序约束因素和计划时间约束因素。
在根据计划项目的要求和所需设备的加工能力得到计划项目周期;具体包括如下步骤,
设计划项目中工序的开工、完工时间分别为TS和TF,工序个数定义由{1,2,…,i,…,N}共N道工序依次组成,每道工序生产工时为Pi,根据资源约束因数得到使用的设备满负荷状态下的测试或加工能力为ESS,要求设定的完成周期为PT,则计划项目周期MS=TF-TS,计划项目取M=min(PT,MS)为最终加工周期;若PT>MS,则计划项目的周期为要求设定的完成周期,需要在加班或者超负荷的情况下完成任务;若PT<MS,则计划项目的周期按照设备能力安排。
在根据计划项目周期得到计划项目中每个工序加工周期;具体包括如下步骤,
当PT<MS时,M=PT,则工序i加工周期按(1)式计算;
其中,加工时间为Ti_P,第i道工序的加工定额工时为SSi,使用的设备的加工能力为GGs;
当PT>MS时,M=MS,则按照要求设定的完成周期生产,工序i加工周期Oi为:
在根据每个工序的加工周期以及工序顺序约束因素、资源约束因素和临时计划约束因素得到该工序的开工和完工时间;具体包括如下步骤,
a)根据工序顺序约束因素,检索工序i上一道工序的开工、完工时间;
b)工序i上一道工序完工时间为工序i开工时间Ti_S,则工序i的加工时间为(Ti_S,Ti_S+Oi);
c)根据临时工序约束因素,判定是否有临时工序加入;
d)若无临时工序加入,则确定工序i按照(Ti_S,Ti_S+Oi)进行,转到步骤k);
e)若有临时工序增加,设增加为工序M,则工序M按照(Ti_S,Ti_S+Om)进行,并设定工序i的Ti_S=Tm_F;
f)根据资源约束因素,判定工序i按照(Ti_S,Ti_S+Oi)进行是否和其它工序产生资源冲突;
g)若无冲突,则确定工序i按照(Ti_S,Ti_S+Oi)进行,转到步骤k);
h)若有冲突,则根据工序顺序约束因素,比较此工序i与冲突工序的优先级,设冲突工序为工序J,若工序J优先级高,转到步骤(i),若工序i优先级高,转到步骤j);
i)工序i的开工时间Ti_S为工序J的完工时间Tj_F,工序i的完工时间Ti_F=Tj_F+Oi,跳转到步骤b);
j)确定工序i按照(Ti_S,Ti_S+Oi)生产;工序J接着工序i按照(Tj_F,Tj_F+Oj)进行,用工序J取代工序i,跳转到步骤b),直至所有工序不再资源冲突;
k)计算得到工序的开工、完工时间。
在实际应用当中,随着设计、工艺、制造、测试、维修中数据量的急剧增加以及大数据技术的出现,运用基于大数据分析的计划调度优化方法进行计划编制是很有必要的,它对提高企业生产效率、增强企业竞争力有很强的现实意义。下面利用某制造企业试验检测计划的调度优化为例说明实施过程。
STEP1和STEP2:大数据平台的建立与约束因素挖掘;
根据图5所示,建立所需要的工业大数据分析平台。底层数据包括设备转速、设备加工工时、生产/测试计划数据、试验项目数据、作业记录数据、工单数据、设备维修数据、试验成/废品数据、试验工位负荷、试验次数数据等,在MapReduce编程框架运用Apriori算法并行挖掘约束因素。再结合车间调度的实际,即尽可能地保证任务流动线和资源流动线的顺畅流动,任务流动线是指测试项目或零件任务内各工序的工艺顺序,而资源流动线是指各加工或测试设备上的加工或测试工序的排序队列,我们得到计划编制需要考虑的约束限制条件有:
(1)工序顺序约束因素,测试工序约束表现为同测试子项目内各道测试工序的先后顺序,也就是任务流动线的约束。
(2)资源约束因素,资源约束主要考虑测试设备或测试工位的能力约束。即一台测试设备或测试工位在某一时刻只能承担一个操作的测试任务。
(3)临时工序约束因素,即临时增加的工序在所有计划项目中对其他工序的影响。
(4)计划的时间约束,时间约束主要体现在测试工序交货期的约束。对于某个测试工序,设置它的开工日期和完工日期分别是SSD和FFD。在时间区间[SSD,FFD]内应尽可能完成该测试操作。
STEP3:得到各工序开工时间和完工时间;
以一种测试产品的两个测试项目“测试任务1”和“测试任务2”为例,运用图4和图5中的调度优化方法计算得到的开工时间和完工时间如表1所示:
表1 测试计划开工和完工时间
测试项目名称 |
编号 |
开工时间 |
完工时间 |
测试任务1 |
T1 |
2014-7-2 |
2014-7-3 |
|
T2 |
2014-7-2 |
2014-7-4 |
|
T3 |
2014-7-4 |
2014-7-7 |
|
T4 |
2014-7-7 |
2014-7-9 |
|
T5 |
2014-7-8 |
2014-7-10 |
测试任务2 |
C1 |
2014-7-10 |
2014-7-14 |
|
CC2 |
2014-7-14 |
2014-7-15 |
|
C3 |
2014-7-15 |
2014-7-16 |
|
C4 |
2014-7-16 |
2014-7-17 |
STEP4:得到计划项目执行时间段,以此执行时间段调度结果展示。
如图6所示,为整个测试计划的甘特图显示,可以看出,测试计划的调度已达到相对最优,设备或工位得到充分利用,且无超负荷状态出现。
本发明通过采用大数据分析技术对计划调度的约束因素进行挖掘,约束因素的准确度比传统获取方式有效提升;首先通过大数据分析技术将影响计划调度的各项关键因素挖掘出来,再采用组合优先级方法计算每项任务的加工先后次序及合理分配,实现计划编制的相对最优,在考虑影响因素的情况下对计划进行编制,获得相对最优的计划方案,节省成本,提高企业运行效率。
本领域的技术人员可以对本发明实施例进行各种修改和变型,倘若这些修改和变型在本发明权利要求及其等同技术的范围之内,则这些修改和变型也在本发明的保护范围之内。说明书中未详细描述的内容为本领域技术人员公知的现有技术。