一种多设备工序间存在紧密衔接约束的综合调度方法与流程

文档序号:16901223发布日期:2019-02-19 18:01阅读:214来源:国知局
一种多设备工序间存在紧密衔接约束的综合调度方法与流程

本发明涉及一种多设备工序间存在紧密衔接约束的综合调度方法。



背景技术:

多设备工序综合调度定义为:加工工艺图具有树形结构特征的复杂单产品,其工序节点需要设备资源中的一台或多台设备协同加工。目前多设备综合调度方法分为两大类,一类是先确定工序调度顺序,然后确定工序开始时间;另一类是工序调度和加工同时进行。

目前多设备工序综合调度方法只考虑一般多设备工序的调度和加工;多设备工序间存在紧密衔接约束关系,使多设备工序调度问题的复杂度进一步加大,用一般多设备工序综合调度方法必然会增加产品加工成本。



技术实现要素:

本发明的目的是为了解决目前多设备工序综合调度方法只考虑一般多设备工序调度问题,导致产品生产成本过高的问题,提供一种考虑存在紧密衔接的多设备协同分流综合调度方法。

上述的目的通过以下的技术方案实现:

一种多设备工序间存在紧密衔接约束的综合调度方法,采用多设备动态虚拟优化模型,首先通过协同分流策略降低工序间约束和时间复杂度;其次,根据特殊工序的层优先级和约束复杂度确定其调度顺序,根据特殊工序调度顺序确定相关工序调度顺序;然后根据动态调整思想,进行动态调整,确定工序的开始时间。

根据权利要求1所述的考虑多设备工序间存在紧密衔接约束的综合调度方法,所述的调度方法的具体实施步骤如下:

步骤1:根据产品加工信息构造加工工艺树,将工艺树中多设备工序设计为虚拟工序,使加工工艺树变为虚拟加工工艺树;

步骤2:对虚拟加工工艺树进行深度优先遍历,对工艺树中多设备工序中的设备进行标记,对紧前多设备工序所需相关设备中完全包含紧后多设备工序所需相关设备的虚拟工序组,进行转化,把具有紧密衔接约束关系的虚拟工序组变为协同分流工序,使虚拟加工工艺树变为协同分流加工工艺树;

步骤3:从产品协同分流加工工艺树根节点开始按层从左到右遍历,如果遍历到一个协同分流工序或虚拟工序组根据其所在工艺树层数设置优先级,直到产品协同分流加工工艺树中的协同分流工序和虚拟工序组全部被遍历为止;

步骤4:对步骤3得到的协同分流工序和虚拟工序组按优先级进行从大到小进行排序;当优先级相同时,优先调度约束条件多的工序;当优先级与约束条件复杂度都相同时,根据长路径策略,优先排序路径长度最长的工序;其他情况,优先排序特殊工序相关工序少的工序;

步骤5:按步骤4得到的协同分流工序和虚拟工序组的调度次序,取出一个协同分流工序或虚拟工序组的相关工序;

步骤6:对调度协同分流工序或虚拟工序组的相关工序,按动态关键路径策略确定其相关工序中的标准工序调度顺序;

步骤7:判断是否存在其他没有确定包含标准工序调度顺序的相关工序,若存在则转步骤5;

步骤8:当确定完所有协同分流工序、虚拟工序组及相关工序中的标准工序的调度顺序后,按动态关键路径策略确定剩余标准工序的调度顺序;将所有工序按调度顺序加入队列;

步骤9:从队列中取出一个工序,首先判断该工序是否为特殊工序,如果不是,对该工序采取首次适应调度策略尽早开始加工,转步骤17;否则转步骤10;

步骤10:判断特殊工序是否为协同分流工序,如果是,转步骤11;否则转步骤14;

步骤11:对协同分流工序采用首次适应调度策略确定多设备工序的开始加工时间,判断协同分流工序中的多设备工序的开始加工时间是否相同,如果所有多设备工序的开始加工时间都相同,转步骤17;否则转步骤12;

步骤12:在多设备工序中,以最晚开始加工的工序时间sik为标准,判断其他相关设备在sin时刻开始加工的空闲时间段是否满足tx≥sin+tin:

多设备工序的所有相关设备的空闲时间段满足tx≥sin+tin,则该多设备工序在sin时刻开始加工;转步骤13;

多设备工序的其他相关设备在sin时刻开始加工的空闲时间段存在不满足tx≥sin+tin,则sik后移,在该设备空闲时间段上继续向后寻找下一个满足sik+tik条件的时间段;转步骤12;

步骤13:判断特殊工序是否为协同分流工序,如果是,转步骤(17);否则转步骤(14);

步骤14:对虚拟工序组采用首次适应调度策略确定多设备工序的开始加工时间,判断虚拟工序组中的多设备工序的开始时间是否相同,如果所有多设备工序的开始加工时间都相同,转步骤15;否则转步骤12;

步骤15:判断虚拟工序组中的多设备工序是否满足工艺紧前和紧密衔接的约束关系,如果满足,转步骤17;否则转步骤16;

步骤16:对虚拟工序组中的多设备工序,以sin+tin时刻为起点,执行步骤14;

步骤17:判断队列是否为空,如果不为空,转步骤2;

步骤18:调度结束;

步骤19:输出调度结果甘特图。

所述产品加工工艺树是将产品工序拓展到加工工艺树,工艺树中的每一节点代表一个工序,节点中信息包括工序名称、加工设备、加工时间;工艺树中根节点与叶子的关系代表工序在工艺上紧前紧后约束关系;多设备工序在相关设备上满足同时开始和同时结束的约束关系。

所述的多设备协同分流策略是根据具有紧密衔接的多设备工序组相关设备间的关系,把多设备工序组虚拟为协同分流工序和虚拟工序组;在调度过程中将虚拟工序组设计为一个复杂工序,进行整体调度;通过整体调度,减少调度次数,降低时间复杂度。

所述的优先考虑特殊工序,为特殊工序设置优先级,优先调度约束条件复杂的特殊工序,然后根据特殊工序来确定标准工序的调度顺序。

所述的确定工序开始加工时间,采用特殊工序动态调整策略实现多设备同时结束约束条件;采用动态联动策略,对虚拟工序组进行局部动态联动调整,实现多设备工序同时开始和工序间紧密衔接约束。

有益效果:

1.本发明同时考虑了多设备工序同时开始和工序间存在紧密衔接约束的问题:以往多设备工序综合调度算法只考虑多设备工序同时开始的约束条件。本发明采用多设备动态虚拟优化模型。①根据具有紧密衔接的多设备工序组相关设备间的关系,把多设备工序组虚拟为协同分流工序和虚拟工序组;②根据层优先级策略和约束复杂的策略确定协同分流工序和虚拟工序组的调度顺序;根据协同分流工序和虚拟工序组的调度顺序确定其相关标准工序的顺序;采用动态调整思想,使工序在开始加工时满足产品加工的约束条件。

本发明首次在多设备工序综合调度中增加引入协同分流工序和虚拟工序组:协同分流工序能够降低多设备工序间紧密衔接约束复杂度,减少多设备工序的调度次序,降低算法时间复杂度;虚拟工序组进行整体调度,增加调度优先级,确定虚拟工序组开始加工时间时能避免二次调度,进一步降低算法时间复杂度。

附图说明:

附图1是本发明的结构示意图。

附图2是附图1中确定工序调度顺序流程图。

附图3是附图1中确定工序开始时间流程图。

附图4是本发明的加工任务图示例。

附图5是通过本发明对加工任务图的转化图。

附图6是本发明针对附图5所示任务图示例的调度结果甘特图。

附图7是现有技术对附图4所示任务图示例的调度结果甘特图。

附图8是现有技术对附图4所示任务图示例的调度结果甘特图。

具体实施方式:

实施例1:

一种考虑多设备工序间存在紧密衔接约束的综合调度方法,该方法包括如下步骤:

一种多设备工序间存在紧密衔接约束的综合调度方法,采用多设备动态虚拟优化模型,首先通过协同分流策略降低工序间约束和时间复杂度;其次,根据特殊工序的层优先级和约束复杂度确定其调度顺序,根据特殊工序调度顺序确定相关工序调度顺序;然后根据动态调整思想,进行动态调整,确定工序的开始时间。

实施例2:

考虑多设备工序间存在紧密衔接约束的综合调度方法,所述的调度方法具体实施步骤如下:

步骤1:根据产品加工信息构造加工工艺树,将工艺树中多设备工序设计为虚拟工序,使加工工艺树变为虚拟加工工艺树;

步骤2:对虚拟加工工艺树进行深度优先遍历,对工艺树中多设备工序中的设备进行标记,对紧前多设备工序所需相关设备中完全包含紧后多设备工序所需相关设备的虚拟工序组,进行转化,把具有紧密衔接约束关系的虚拟工序组变为协同分流工序,使虚拟加工工艺树变为协同分流加工工艺树;

步骤3:从产品协同分流加工工艺树根节点开始按层从左到右遍历,如果遍历到一个协同分流工序或虚拟工序组根据其所在工艺树层数设置优先级,直到产品协同分流加工工艺树中的协同分流工序和虚拟工序组全部被遍历为止;

步骤4:对步骤3得到的协同分流工序和虚拟工序组按优先级进行从大到小进行排序;当优先级相同时,优先调度约束条件多的工序;当优先级与约束条件复杂度都相同时,根据长路径策略,优先排序路径长度最长的工序;其他情况,优先排序特殊工序相关工序少的工序;

步骤5:按步骤4得到的协同分流工序和虚拟工序组的调度次序,取出一个协同分流工序或虚拟工序组的相关工序;

步骤6:对调度协同分流工序或虚拟工序组的相关工序,按动态关键路径策略确定其相关工序中的标准工序调度顺序;

步骤7:判断是否存在其他没有确定包含标准工序调度顺序的相关工序,若存在则转步骤5;

步骤8:当确定完所有协同分流工序、虚拟工序组及相关工序中的标准工序的调度顺序后,按动态关键路径策略确定剩余标准工序的调度顺序;将所有工序按调度顺序加入队列;

步骤9:从队列中取出一个工序,首先判断该工序是否为特殊工序,如果不是,对该工序采取首次适应调度策略尽早开始加工,转步骤17;否则转步骤10;

步骤10:判断特殊工序是否为协同分流工序,如果是,转步骤11;否则转步骤14;

步骤11:对协同分流工序采用首次适应调度策略确定多设备工序的开始加工时间,判断协同分流工序中的多设备工序的开始加工时间是否相同,如果所有多设备工序的开始加工时间都相同,转步骤17;否则转步骤12;

步骤12:在多设备工序中,以最晚开始加工的工序时间sik为标准,判断其他相关设备在sin时刻开始加工的空闲时间段是否满足tx≥sin+tin:

多设备工序的所有相关设备的空闲时间段满足tx≥sin+tin,则该多设备工序在sin时刻开始加工;转步骤13;

多设备工序的其他相关设备在sin时刻开始加工的空闲时间段存在不满足tx≥sin+tin,则sik后移,在该设备空闲时间段上继续向后寻找下一个满足sik+tik条件的时间段;转步骤12;

步骤13:判断特殊工序是否为协同分流工序,如果是,转步骤(17);否则转步骤(14);

步骤14:对虚拟工序组采用首次适应调度策略确定多设备工序的开始加工时间,判断虚拟工序组中的多设备工序的开始时间是否相同,如果所有多设备工序的开始加工时间都相同,转步骤15;否则转步骤12;

步骤15:判断虚拟工序组中的多设备工序是否满足工艺紧前和紧密衔接的约束关系,如果满足,转步骤17;否则转步骤16;

步骤16:对虚拟工序组中的多设备工序,以sin+tin时刻为起点,执行步骤14;

步骤17:判断队列是否为空,如果不为空,转步骤2;

步骤18:调度结束;

步骤19:输出调度结果甘特图。

实施例3:

上述的考虑多设备工序间存在紧密衔接约束的综合调度方法,所述产品加工工艺树是将产品工序拓展到加工工艺树,工艺树中的每一节点代表一个工序,节点中信息包括工序名称、加工设备、加工时间;工艺树中根节点与叶子的关系代表工序在工艺上紧前紧后约束关系;多设备工序在相关设备上满足同时开始和同时结束的约束关系。

所述的多设备协同分流策略是根据具有紧密衔接的多设备工序组相关设备间的关系,把多设备工序组虚拟为协同分流工序和虚拟工序组;在调度过程中将虚拟工序组设计为一个复杂工序,进行整体调度;通过整体调度,减少调度次数,降低时间复杂度。

所述的优先考虑特殊工序,为特殊工序设置优先级,优先调度约束条件复杂的特殊工序,然后根据特殊工序来确定标准工序的调度顺序。

所述的确定工序开始加工时间,采用特殊工序动态调整策略实现多设备同时结束约束条件;采用动态联动策略,对虚拟工序组进行局部动态联动调整,实现多设备工序同时开始和工序间紧密衔接约束。

实施例4:

上述的考虑多设备工序间存在紧密衔接约束的综合调度方法,减少约束复杂度,降低算饭时间复杂度:

工序在满足紧密衔接约束条件的同时会带来工序的移动,从而产生移动工序后的连锁反应,引起较高算法复杂度。针对此问题可以对紧密衔接的多设备工序进行一个转化,把多设备工序在紧密衔接的约束关系下转化为一个协同分流工序,转化之前需要确认两个工序所需的设备。紧密衔接的多设备工序a、b,工序a是工序b的紧前工序,只有当加工工序b所需设备是加工工序a所需设备的子集时,可以进行转化;对于其他情况的紧密衔接多设备工序,把其转化为虚拟工序组进行整体考虑,进行动态联动调度,避免了二次调度。

实施例5:

上述的考虑多设备工序间存在紧密衔接约束的综合调度方法,确定工序调度:

通过设备协同分流策略对工序约束条件进行优化,使传统产品工艺树转化为协同分流工艺树,当对协同分流工艺树中工序进行调度时,不但要满足工艺紧前和设备紧前约束条件,还需要保证协同分流工序及虚拟工序组中的多个相关设备同时开始加工,所以工序集中的特殊工序对加工设备的要求比较高。为了避免标准工序提前加工占用特殊工序设备的时间,优先考虑特殊工序,为特殊工序设置优先级,优先调度约束条件复杂的特殊工序,然后根据特殊工序来确定标准工序的调度顺序。考虑到虚拟工序组中的多设备工序在同时开始加工的条件下,还要满足虚拟工序组中多设备工序的紧密衔接约束关系,因此,当协同分流工序与虚拟工序组优先级相同时,优先调度虚拟工序组。

实施例6:

上述的考虑多设备工序间存在紧密衔接约束的综合调度方法,确定工序开始时间:

确定工序的调度顺序后,在进行调度时,存在设备资源少导致的设备占用情况,导致协同分流工序和虚拟工序组中的多设备工序不能同时开始加工或不满足虚拟工序组中紧密衔接约束条件,因此,对标准工序和特殊工序采用首次适应调度算法,为了满足特殊工序中的多设备同时开始加工,提出了特殊工序动态调整策略;为了满足虚拟工序组中的紧密衔接约束关系,提出了动态联动调整策略。

实施例7:

上述的考虑多设备工序间存在紧密衔接约束的综合调度方法,本技术主要针对加工工艺图具有树形结构的复杂产品的综合调度任务,通常采用加工工艺树图来表示,调度目标是在满足约束条件的情况下为工序在甘特图中确定位置。如附图5所示,每个节点表示工序节点的编号;每个节点包含加工设备、加工时长;存在紧密衔接的工序组用虚线圈出。加工工艺树图能够清晰明了地表示加工任务节点之间的关系。

整个任务图由根节点和根节点的子孙节点构成。在综合调度中,加工树边的指向意义:被指向节点是出发节点的紧后工序,也叫父节点工序;反之可以认为出发节点是被指向节点的紧前工序,也叫孩子节点。

实施例8:

上述的考虑多设备工序间存在紧密衔接约束的综合调度方法,如附图4所示,产品a由30个工序组成,其中特殊工序有15个,在4台设备上加工,例如a4表示工序4需要在设备m1、m2协同加工20工时。通过协同分流策略对加工工艺树进行转化为协同分流工艺树,如附图5。转化的协同分流工艺树与加工工艺树表示含义一样,没有改变工序在工艺上的约束关系,如协同分流工序a4.8表示工序4.8需要设备m1、m2、m3先协同加工10工时,然后设备m1、m2继续协同加工20工时,协同分流工序a4.8与加工工艺树中具有紧密衔接约束关系的a4、a8表示的含义一样。

根据附表2确定工序的调度顺序,根据附表3确定工序开始时间,然后绘制甘特图,如附图5所示任务完工时间210工时,即如附图6所示每个工序的加工时间和总工时为210。调度过程结束。

实施例9:

上述的多设备工序间存在紧密衔接约束的综合调度方法,实例对比:

由于现有多设备综合调度算法还没有考虑紧密衔接约束关系,不能对附图4所示的任务示例直接进行调度,因此只能将附图4中的任务示例去除紧密衔接约束条件再采用现有较为优秀算法(如,存在多设备工序的综合调度算法)进行调度,得250工时,得甘特图如附图8所示。

因此,本发明是全新的方法,用于加工工艺图具有树形结构特征的复杂产品考虑多设备工序间存在紧密衔接约束的综合调度任务。

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