利索能及
我要发布
收藏
专利号: 2020101002141
申请人: 吉林师范大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-04-09
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于Dijkstra算法的综合调度方法,其特征在于,所述方法包括:Step1,根据复杂产品工序的自然属性,提取各个工序自身加工用时为所有工序进行路径赋值;

Step2,计算各个工序的层优先级、设备优先级和工序约束度;

Step3,根据Dijkstra算法分别计算从根节点工序到其他所有工序的路径值;

Step4,路径值判断策略:判断Step3计算的路径值,如果路径值相同,转Step5;如果路径值不同,则转Step7;

Step5,层优先级判断策略:如果工序层优先级相同,转Step6;如果工序层优先级不同,则按照层优先的原则排列工序后转Step7;

Step6,叶节点工序判断策略:如果工序为叶节点工序,则按照叶节点工序优先原则排列工序后转Step7;如果不是叶节点工序,直接转Step7;

Step7,按照最短路径原则逆序调度各个工序;

所述Step3具体为:复杂产品工艺树结构为有向图,各加工工序作为工艺树节点具有工序序号、对应加工设备序号和自身加工用时的自然属性;将各工序紧前约束关系作为有向图的逆向方向,将工序自身加工用时作为Dijkstra算法中各顶点的有向路径值构建Dijkstra算法模型,计算从复杂工艺树根节点工序到各个工序的路径值,最后按照路径值逆序输出工序序列;

所述Dijkstra算法具体为:

假设复杂工艺树根节点工序p1至各个加工工序pk的最短路径为L1k=p1p2…pk,其长度记为(p1pk)=d1k;如果L1k为根节点工序p1至各个加工工序pk的最短路径,则子路径p1p2…pi和pipi+1…pk分别为根节点工序p1至工序pi和工序pi至工序pk的最短路径;

步骤1、初始化,将根节点工序存放到已经确定路径值的工序序列A中,此时序列A中只有根节点工序;将未确定路径值的工序存放到序列 中,序列 的初始状态包括除根节点工序以外的其他所有工序;

步骤2、在未确定路径值的工序序列 中,计算根节点工序到紧前工序的路径值,分别计算根节点工序到紧后工序的路径值,求出最短路径上的工序继续存放到序列A中,同时从序列 中剔除;

步骤3、如果d(p1,p)=+∞,复杂产品工艺树的有向图中p1至序列 的节点路径不存在,算法结束;

步骤4、如果i=n,则复杂工艺树的所有工序节点全部遍历完成,算法结束,否则转步骤

2;其中n为工序总数;

步骤5、逆序输出上述每一步中先后添加到序列A中的工序p,算法结束;

在步骤1中:

设i=1,则有:

L1(p1)=0,d(p1,p1)=0;      (1)L1(pj)=+∞(j=2,3,…,n);     (3)取

A={p1};     (5)

式(1)代表根节点工序为始点;式(2)代表由各个工序自身加工用时构成的相邻路径值的序列Pt;式(3)代表从根节点工序开始遍历复杂工艺树的各个工序节点路径;式(4)代表根节点工序到第j个工序的最短路径;式(5)代表已经遍历的工序序列;式(6)代表尚未遍历的工序序列,其中V表示所有工序;

在步骤2中:

对于 则

i=i+1;       (7)

令Li(pj)=min{Li-1(pj),Li-1(p)+d(p,pj)};    (8)取

A=A∪{p};    (10)

d(p1p)=Li(p);  (12)

式(8)代表从第i个工序到第j个工序的最短路径;式(9)代表第i个工序的最短路径;式(10)代表将最短路径上的节点工序添加到已确定路径值的工序序列;式(11)代表在未确定路径值的工序序列 中剔除相应工序;式(12)代表从根节点工序到第i个工序路径值;

所述层优先的原则具体为:设复杂产品加工工艺树有n层,则将根节点工序的优先级定义为1,根节点工序的所有后裔节点工序的优先级定义为2,以此类推,直到第n层的所有节点的优先级定义为n,定义根节点工序的优先级最低,第n层上工序的优先级最高;

所述叶节点工序优先原则具体为:从叶节点工序对应的加工设备始点开始,查找是否具有大于等于叶节点加工时间的空闲时间段,是,则插入此叶节点优先进行调度;否,则在对应设备上无缝连接此叶节点进行调度。