掌桥专利:专业的专利平台
掌桥专利
首页

根子树纵横预调度的同设备工序排序综合调度方法

文献发布时间:2023-06-19 12:24:27



技术领域

本发明涉及一种根子树纵横预调度的同设备工序排序综合调度方法。

背景技术

目前车间综合调度方法大多针对工艺树的整体结构进行分析,而忽视了产品工艺树内部各子树的纵横结构特性,割裂了产品工艺树中各子树之间的并行关系,使得产品的加工过程不够紧凑;由于产品生产制造的总时间受工艺树的纵横两个方面限制:纵向是指关键路径上工序加工时间和,横向上是关键设备上工序加工时间和,而每个产品结构和生产工艺上的差异,导致产品工艺树自身及其内部的纵横特性各不相同。

本发明方法通过对根子树预调度策略挖掘根子树纵横特性,确定各根子树优先级并以设备序列为分组对所有根子树设备工序进行排序,解决根子树设备工序的横向冲突问题;在此基础上根据设备工序的动态开始加工时间策略确定所有根子树设备工序的开始加工时间并保存所有根子树设备工序调度结果,取回根节点产生实际的产品设备工序调度次序,解决根子树设备工序的纵向冲突问题,最终得到合理的调度方案,使得产品加工完成时间最小。

发明内容

本发明的目的是考虑工艺树内部纵横特性结构,又能照顾到产品工艺树本身的整体特性,深度挖掘内部特性对整体特性的影响,真正做到纵横兼并;为了能够充分体现出工艺树内部特性,减化工艺树分解难度,为此,提供一种根子树纵横预调度的同设备工序排序综合调度方法。

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

根子树纵横预调度的同设备工序排序综合调度方法,该方法主要包括如下步骤:将工艺树拆分融合处理,充分挖掘产品工艺树内部特性,使得每个工序都能够尽早加工,优化最小化最大完工时间目标,提高设备工序加工紧凑程度和求解效率。本发明方法操作大体可以分为三个步骤:第一步,将复杂产品工艺树拆分为若干个根子树;第二步,对每个根子树进行遍历求解根子树纵横比,分析每个根子树纵横特性,从而得到根子树优先级,解决根子树设备工序在融合过程中的横向竞争关系;第三步,利用根子树设备工序预启动时刻与设备工序的开始加工时间对根子树所有设备工序进行融合调度,从而完成一种考虑产品工艺树内部结构而非只考虑整体结构的、从整体→部分→整体执行过程的优化调度方法。

所述的根子树纵横预调度的同设备工序排序综合调度方法,所述的调度方法具体实施步骤如下:

步骤1:对复杂产品模型进行数据信息处理形成规范化的综合调度加工工艺树模型;建立可调度工序集,将产品工艺树中所有可调度工序加入到可调度工序集;

步骤2:根据简化预处理原则和工艺树分解方法,取出根节点保存到独立存储空间,将产品工艺树拆分为若干根子树,形成根子树;

步骤3:对根子树集中每个根子树进行求得纵向预调度完成时间和横向预调度完成时间,利用预调度结果求得根子树纵横比,通过纵横比分析每个根子树纵横特性,选择预调度完成时间小的调度方案,如果多个根子树预调度完成时间相同,则计算每个根子树的设备工序数并进行比较,设备工序数越多的根子树优先级越高;如果根子树设备工序数也相同,则将预调度完成时间和设备工序数都相同的根子树优先级按照根子树命名顺序设置;

步骤4:根据选定的预调度方案使用冒泡排序法确定根子树优先级,对所有根子树由高到低进行排序,同时得到所有设备工序的预启动时刻;如果存在多个根子树预调度完成时间相同,则遵守根子树设备工序数越多优先级越高原则;

步骤5:将所有设备工序根据对应的设备序列进行分组处理,根据设备工序预启动前后时刻排序求得同设备加工工序的调度次序,解决横向上同设备紧前紧后的工序冲突问题;

步骤6:根据设备序列设置对应加工设备栈,将同设备加工工序依照步骤5得到的调度次序由低到高依次入栈,即栈顶元素为排序最靠前的设备工序;设产品开始加工时间为0,此时栈顶工序的开始加工时间为0;

步骤7:判断所有栈是否为空,如果是,转向步骤11,否则转向步骤8;

步骤8:通过可调度工序集判断栈顶工序是否为可调度工序,如果不是,则不更新设备工序的开始加工时间,栈顶工序不出栈处于等待阶段,如果是,则通过设备工序的动态开始加工时间策略确定栈顶工序的开始加工时间和加工完毕时间,将栈顶工序出栈加载到相应加工设备上进行加工,解决纵向上工艺树紧前紧后的工序冲突问题;

步骤9:从可调度工序集中删除已调度工序,新的可调度工序加入可调度工序集;

步骤10:通过步骤8的设备工序加工完毕时间确定同设备当前栈顶工序初始的开始加工时间,转向步骤7;

步骤11:保存根子树工序集实质调度序列结果;

步骤12:在步骤11基础上,将步骤2取出的工艺树根节点加入到实质调度序列,最终形成整个产品工艺树的调度结果;

步骤13:根据步骤12整个产品工艺树的调度结果输出甘特图。

所述的同设备工序预启动前后时刻排序,对所有根子树最优纵横预调度方案的同设备工序按开始加工时间由小到大升序进行排序。

所述设备工序的动态开始加工时间策略,根据同设备已调度工序的最后加工完成时间确定栈顶工序初始的开始加工时间,若栈顶工序工艺树紧前工序的加工完成时间大于栈顶工序初始的开始加工时间,则更新栈顶工序的开始加工时间等于其工艺树紧前工序的加工完成时间,否则不更新栈顶工序的开始加工时间。

有益效果:

1. 本发明根据产品工艺树的分解原则将工艺树拆分为若干根子树,并且通过预调度方式挖掘各根子树的纵横特性,在此基础上利用设备工序预启动时刻排序策略以加工设备序列为分组对根子树工序集进行排序解决横向上同设备约束关系。

本发明利用设备工序的动态开始加工时间策略解决纵向上工艺树约束关系,从而完成一种考虑产品工艺树内部结构的优化调度过程。

附图说明:

附图1是本发明的根子树纵横预调度的同设备工序排序综合调度方法的算法流程图。

附图2是本发明的产品工艺树H示意图。

附图3是本发明的产品工艺树H拆分过程示意图。

附图4是本发明针对附图3所示工艺树的根子树rt1的纵横对比预调度甘特图。

附图5是本发明针对附图3所示工艺树的根子树rt2的纵横对比预调度甘特图。

附图6是设置产品H的根子树rt1和rt2优先级过程示意图。

附图7是本发明针对产品工艺树H的根子树设备工序排序表。

附图8是本发明针对产品H的根子树设备工序的开始加工时间表。

附图9是“动态关键路径,短用时”策略调度产品H的甘特图。

附图10是“层优先,短用时,长路径”策略调度产品H的甘特图。

附图11是本方法调度产品H的甘特图。

具体实施方式:

实施例1:

一种根子树纵横预调度的同设备工序排序综合调度方法,在实际应用中有较多应用;首先,将复杂产品工艺树拆分为若干个根子树;再对每个根子树进行遍历求解根子树纵横比,分析每个根子树纵横特性,从而得到根子树优先级,解决根子树设备工序在融合过程中的横向竞争关系;最后利用根子树设备工序预启动时刻与设备工序的开始加工时间对根子树所有设备工序进行融合调度。

实施例2:

上述的根子树纵横预调度的同设备工序排序综合调度方法,所述的调度方法具体实施步骤如下:

步骤1:对复杂产品模型进行数据信息处理形成规范化的综合调度加工工艺树模型;建立可调度工序集,将产品工艺树中所有可调度工序加入到可调度工序集;

步骤2:根据简化预处理原则和工艺树分解方法,取出根节点保存到独立存储空间,将产品工艺树拆分为若干根子树,形成根子树;

步骤3:对根子树集中每个根子树进行求得纵向预调度完成时间和横向预调度完成时间,利用预调度结果求得根子树纵横比,通过纵横比分析每个根子树纵横特性,选择预调度完成时间小的调度方案,如果多个根子树预调度完成时间相同,则计算每个根子树的设备工序数并进行比较,设备工序数越多的根子树优先级越高;如果根子树设备工序数也相同,则将预调度完成时间和设备工序数都相同的根子树优先级按照根子树命名顺序设置;

步骤4:根据选定的预调度方案使用冒泡排序法确定根子树优先级,对所有根子树由高到低进行排序,同时得到所有设备工序的预启动时刻;如果存在多个根子树预调度完成时间相同,则遵守根子树设备工序数越多优先级越高原则;

步骤5:将所有设备工序根据对应的设备序列进行分组处理,根据设备工序预启动前后时刻排序求得同设备加工工序的调度次序,解决横向上同设备紧前紧后的工序冲突问题;

步骤6:根据设备序列设置对应加工设备栈,将同设备加工工序依照步骤5得到的调度次序由低到高依次入栈,即栈顶元素为排序最靠前的设备工序;设产品开始加工时间为0,此时栈顶工序的开始加工时间为0;

步骤7:判断所有栈是否为空,如果是,转向步骤11,否则转向步骤8;

步骤8:通过可调度工序集判断栈顶工序是否为可调度工序,如果不是,则不更新设备工序的开始加工时间,栈顶工序不出栈处于等待阶段,如果是,则通过设备工序的动态开始加工时间策略确定栈顶工序的开始加工时间和加工完毕时间,将栈顶工序出栈加载到相应加工设备上进行加工,解决纵向上工艺树紧前紧后的工序冲突问题;

步骤9:从可调度工序集中删除已调度工序,新的可调度工序加入可调度工序集;

步骤10:通过步骤8的设备工序加工完毕时间确定同设备当前栈顶工序初始的开始加工时间,转向步骤7;

步骤11:保存根子树工序集实质调度序列结果;

步骤12:在步骤11基础上,将步骤2取出的工艺树根节点加入到实质调度序列,最终形成整个产品工艺树的调度结果;

步骤13:根据步骤12整个产品工艺树的调度结果输出甘特图。

实施例3:

所述的同设备工序预启动前后时刻排序,对所有根子树最优纵横预调度方案的同设备工序按开始加工时间由小到大升序进行排序。

所述设备工序的动态开始加工时间策略,根据同设备已调度工序的最后加工完成时间确定栈顶工序初始的开始加工时间,若栈顶工序工艺树紧前工序的加工完成时间大于栈顶工序初始的开始加工时间,则更新栈顶工序的开始加工时间等于其工艺树紧前工序的加工完成时间,否则不更新栈顶工序的开始加工时间。

实施例4:

上述的根子树纵横预调度的同设备工序排序综合调度方法,基于工艺树分解策略:

通过根子树预调度策略将工艺树拆分为若干个根子树,为每个根子树设置优先级,在此基础上,通过根子树工序集融合冲突调整策略以设备序列为分组为根子树工序集进行排序,调整设备工序的开始加工时间产生实质调度方案。

实施例5:

上述的根子树纵横预调度的同设备工序排序综合调度方法,利用树分解方法将加工工艺树有向图拆分为若干根子树,通过对根子树预调度策略挖掘根子树纵横特性,确定各根子树优先级并以设备序列为分组对所有根子树设备工序进行排序,解决根子树设备工序的横向冲突问题;在此基础上根据设备工序的动态开始加工时间策略,解决根子树设备工序的纵向冲突问题,最终得到合理的调度方案,使得产品加工完成时间最小。

实施例6:

上述的根子树纵横预调度的同设备工序排序综合调度方法,通过一个实例分析对比,设制造企业计划完成某一订单记为产品H,由22道工序组成,需要3台加工设备,每个节点包含工序名、加工设备名和工序加工时间三种数据信息,其中加工时间单位为工时,如附图2所示。

以下将结合附图2中的工艺树图例来对本方法的具体执行流程进行说明。

实施例7:

上述的根子树纵横预调度的同设备工序排序综合调度方法,下面将用本调度方法对附图2中的工艺树图例执行调度,方法具体操作步骤如下:

步骤1:根据产品H的工艺树结构特点,使用树分解方法将根节点Root取出存入独立空间,拆分工艺树形成2个根子树,即根子树rt1和rt2,完成产品工艺树拆分为若干根子树的操作;产品H的加工工艺树拆分示意图如图3所示。

步骤2:对产品H的每个根子树分别进行遍历预调度,继而得到根子树对应的纵向预调度完成时间和横向预调度完成时间,根子树rt1和rt2的纵横对比预调度甘特图如图4和图5所示,利用预调度结果计算根子树纵横比,通过纵横比结果选定预调度方案并设置根子树优先级,设置产品H的根子树rt1和rt2优先级过程如图6所示。

步骤3:通过图6选定的预调度方案确定所有根子树设备工序的设备工序预启动时刻,按照设备工序对应的加工设备序列M1,M2和M3进行分组,M1:{A11:0,A10:10,A2:100,A4:150,B9:0,B6:40,B1:145},M2:{A9:10,A8:0,A3:45,B10:0,B8:20,B4:75,B3:105},M3:{A7:100,A6:0,A5:50,A1:170,B7:0,B5:55,B2:105},利用根子树优先级策略和设备工序预启动时刻排序策略对所有根子树设备工序进行排序,解决同设备加工工序的冲突问题,以设备序列为分组的所有根子树设备工序排序过程,如图7所示。

步骤4:使用设备工序的动态开始加工时间策略直至确定所有根子树设备工序的开始加工时间并调度完毕为止,解决工艺树紧前紧后设备工序的冲突问题,完成根子树工序集融合操作,按照设备工序的动态开始加工时间策略确定产品H的根子树设备工序的开始加工时间,如图8所示。

步骤5:最后,取回根节点Root进入调度序列形成产品H的实质调度方案,完成产品生产调度任务;使用本发明方法调度产品H的甘特图如图11所示。

实施例8:

上述的根子树纵横预调度的同设备工序排序综合调度方法,实例对比:

附图9和10为采用“动态关键路径,短用时”方法和“层优先,短用时,长路径”方法调度对附图2所示的图例进行调度的结果甘特图,通过对比附图9、10和附图11可以看出,采用本文提出的方法产品加工完成时间是280工时,采用采用“动态关键路径,短用时”方法和“层优先,短用时,长路径”方法调度产品加工完成时间是290工时和315工时;之所以本文方法效果更好,是因为本文算法比传统的以整体性调度设备工序的综合调度算法更优,具有以下特点:1)拆分工艺树提高求解效率2)挖掘产品工艺树内部纵横特性,增强设备工序调度紧凑性,符合尽早加工尽早结束原则3)设备工序调度具有更好的灵活性,减少加工设备空闲时间段。

因此,本发明提出的调度方法可为不同结构特性的产品工艺树提供一个合理的调度方案,为深入研究综合调度问题扩展了新方向。

相关技术
  • 根子树纵横预调度的同设备工序排序综合调度方法
  • 一种动态保证关键路径工序调度的二车间综合调度方法
技术分类

06120113283332