CN111369036B - 一种基于Dijkstra算法的综合调度方法 - Google Patents
一种基于Dijkstra算法的综合调度方法 Download PDFInfo
- Publication number
- CN111369036B CN111369036B CN202010100214.1A CN202010100214A CN111369036B CN 111369036 B CN111369036 B CN 111369036B CN 202010100214 A CN202010100214 A CN 202010100214A CN 111369036 B CN111369036 B CN 111369036B
- Authority
- CN
- China
- Prior art keywords
- path
- sequence
- root node
- priority
- processes
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 414
- 238000003754 machining Methods 0.000 description 13
- 238000004519 manufacturing process Methods 0.000 description 6
- 238000005457 optimization Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000010835 comparative analysis Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- WGODGFXCRIJNLS-UHFFFAOYSA-N 2-amino-6-methyl-5-pyridin-4-ylpyridine-3-carbonitrile Chemical compound CC1=NC(N)=C(C#N)C=C1C1=CC=NC=C1 WGODGFXCRIJNLS-UHFFFAOYSA-N 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 238000011451 sequencing strategy Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
- G06Q10/047—Optimisation of routes or paths, e.g. travelling salesman problem
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06316—Sequencing of tasks or work
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/04—Manufacturing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Game Theory and Decision Science (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Development Economics (AREA)
- Manufacturing & Machinery (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Educational Administration (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提出一种基于Dijkstra算法的综合调度方法,所述方法包括根据复杂产品工序的自然属性,提取各个工序自身加工用时为所有工序进行路径赋值;计算各个工序的层优先级、设备优先级和工序约束度;根据Dijkstra算法分别计算从根节点工序到其他所有工序的路径值;根据路径值判断策略、层优先级判断策略和叶节点工序判断策略按照最短路径原则逆序调度各个工序。本发明所述方法为解决一般复杂产品的综合调度提供了一种新的方法,并为进一步深入研究综合调度拓展了思路,具有一定的理论和实际意义。
Description
技术领域
本发明涉及计算机集成制造技术领域,特别是涉及一种基于Dijkstra算法的综合调度方法。具体的说是将复杂产品加工工序的自身加工用时作为改进Dijkstra算法的路径值,构建以层和叶节点优先调度策略的综合调度方法。
背景技术
产品制造的调度问题是影响制造业生产效率的重要因素,在企业设备、资源等条件固定的前提下,调度的效率直接决定了企业的生产效率。为了更好的解决小批量、多品种生产的调度问题,有专家学者提出了将产品的加工和装配一同处理的综合调度,并开展了一系列的研究,产生了诸多调度算法,也拓展出很多新的研究领域。
虽然现有的综合调度算法已经取得了较好的研究成果,但是仍然存在横纵优化中顾此失彼的问题。例如,基于ACMP和BFSM的动态Job-Shop方法提出了以纵向加工工序为主拟关键路径算法,但是忽略了设备的并行处理能力;紧密衔接工序组联动的方法提出了以工序数量总量确定调度路径和次序的算法,但是忽略了叶节点工序的调度对整体调度效果的影响;考虑串行工序紧密度的择时方法提出了以串行工序数量为排序策略的算法,但是忽略了工序自身加工用时对整体调度效果的影响。
针对综合调度众多方法中普遍存在加工设备利用率较低、存在较多空闲时间段的问题,提出了一种将工序自身加工用时作为路径赋值的改进Dijkstra算法,构建以层和叶节点优先调度策略的综合调度方法。
发明内容
本发明的目的是为了解决现有技术中的问题,提出了一种基于Dijkstra算法的综合调度方法。本发明所述方法将复杂产品工艺树自身的结构特点和工序属性值作为影响综合调度整体优化结果的关键因素,利用Dijkstra算法逆序输出各工序加工序列,从而优化复杂产品综合调度加工总用时。
本发明是通过以下技术方案实现的,本发明提出一种基于Dijkstra算法的综合调度方法,所述方法包括:
Step1,根据复杂产品工序的自然属性,提取各个工序自身加工用时为所有工序进行路径赋值;
Step2,计算各个工序的层优先级、设备优先级和工序约束度;
Step3,根据Dijkstra算法分别计算从根节点工序到其他所有工序的路径值;
Step4,路径值判断策略:判断Step3计算的路径值,如果路径值相同,转Step5;如果路径值不同,则转Step7;
Step5,层优先级判断策略:如果工序层优先级相同,转Step6;如果工序层优先级不同,则按照层优先的原则排列工序后转Step7;
Step6,叶节点工序判断策略:如果工序为叶节点工序,则按照叶节点工序优先原则排列工序后转Step7;如果不是叶节点工序,直接转Step7;
Step7,按照最短路径原则逆序调度各个工序。
进一步地,所述Step3具体为:复杂产品工艺树结构为有向图,各加工工序作为工艺树节点具有工序序号、对应加工设备序号和自身加工用时的自然属性;将各工序紧前约束关系作为有向图的逆向方向,将工序自身加工用时作为Dijkstra算法中各顶点的有向路径值构建Dijkstra算法模型,计算从复杂工艺树根节点工序到各个工序的路径值,最后按照路径值逆序输出工序序列。
进一步地,所述Diikstra算法具体为:
假设复杂工艺树根节点工序p1至各个加工工序pk的最短路径为L1k=p1p2…pk,其长度记为(p1pk)=d1k;如果L1k为根节点工序p1至各个加工工序pk的最短路径,则子路径p1p2…pi和pipi+1…pk分别为根节点工序p1至工序pi和工序pi至工序pk的最短路径;
步骤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个工序路径值。
本发明所述方法通过改进Dijkstra算法按照工序路径值由大到小调度各个工序,其实质是“纵向优化”,使得纵向路径较长的工序优先调度,进而缩短整体加工用时;在此基础上,利用层优先策略进行“横向优化”,缩短各个工序加工的间隔时间,而叶节点优先策略则是“空闲优化”,充分利用了设备上的空闲时间段,因而从三个角度减少了复杂产品调度总体加工用时。因此本发明所述方法为解决一般复杂产品的综合调度提供了一种新的方法,并为进一步深入研究综合调度拓展了思路,具有一定的理论和实际意义。
附图说明
图1为本发明基于Dijkstra算法的综合调度方法的流程图;
图2为产品A加工工艺图;
图3为复杂产品加工工艺树有向路径图;
图4为本发明所述方法复杂产品加工甘特图;
图5为紧密衔接工序组联动的综合调度算法甘特图;
图6为考虑串行工序紧密度的择时综合调度算法甘特图。
具体实施方式
下面将结合本发明实施例中的附图对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
设复杂产品共有n个工序,在m个设备上加工,综合调度要求:
(1)同一时刻同一设备只能加工一道工序;
(2)每道工序只能在一台设备上加工;
(3)不存在相同设备;
(4)除了叶节点工序具有紧后工序、根节点工序具有紧前工序外,其他所有工序节点均存在紧前紧后工序约束关系,其中每个工序自身加工用时已知,在一道工序连续加工完成后,其后序约束工序才可以开始加工。
结合图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中:
设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个工序路径值。
步骤4、如果i=n,则复杂工艺树的所有工序节点全部遍历完成,算法结束,否则转步骤2;其中n为工序总数;
步骤5、逆序输出上述每一步中先后添加到序列A中的工序p,算法结束。
相关定义
定义1:路径值
将复杂产品工艺树中各个工序的自身加工用时定义为紧前紧后工序之间的路径值,非紧前紧后工序的路径值可以按照最短路径算法累计。
定义2:工序层优先级
设复杂产品加工工艺树有n层,则将根节点工序的优先级定义为1,根节点工序的所有后裔节点工序的优先级定义为2,以此类推,直到第n层的所有节点的优先级定义为n。定义根节点工序的优先级最低,第n层上工序的优先级最高。
定义3:叶节点工序优先
从叶节点工序对应的加工设备始点开始,查找是否具有大于等于叶节点加工时间的空闲时间段,是,则***此叶节点优先进行调度;否,则在对应设备上无缝连接此叶节点进行调度。
实施例
为进一步阐述本发明所述方法,设计复杂产品工艺树如图2所示,共有11层、27个加工工序。需要说明的是,此算例不特指某一类产品,本发明所述方法对于其他小批量多品种的复杂产品亦适用。
将如图2所示的复杂产品工艺树转化为以工序自身加工用时为路径值的有向图如图3所示。
1.各个工序的路径和路径值
根据改进的Dijkstra算法计算如图3所示的复杂产品工艺树有向图根节点工序到各个节点工序的路径和路径值如表1所示。
表1根节点工序到各个节点工序的路径和路径值统计表
按照最短路径原则逆序排列各个工序为:{A21,A22,A27,A20,A8,A7,A19,A25,A10,A17,A18,A26,A6,A16,A24,A15,A23,A5,A14,A13,A12,A4,A9,A11,A3,A2,A1}。其中{A19,A25,A7}序列工序路径值相等为16,但是工序A19位于第9层、工序A25位于第8层、工序A7位于第7层,则按照层优先原则依次调度A19,A25,A7;{A10,A17,A18,A26}序列工序路径值相等为15且均为叶节点,工序A17位于第9层且、工序A18和工序A26位于第8层、工序A10位于第7层,则按照层优先原则依次调度A17,A18,A26,A10;{A6,A16,A24}序列工序路径值相等为14,但是工序A16位于第8层、工序A24位于第7层、工序A6位于第6层,则按照层优先原则依次调度A16,A24,A6;{A15,A23}序列工序路径值相等为12,但是工序A15位于第5层、工序A23位于第6层,则按照层优先原则依次调度A23,A15;{A5,A14}序列工序路径值相等为11,但是工序A5位于第5层、工序A14位于第6层,则按照层优先原则依次调度A14,A5;{A4,A9}序列工序路径值相等为7,虽然工序A4和工序A9都位于第4层,但是工序A9为叶节点,则按照层优先原则和叶节点工序优先依次调度A9,A4。
综上,依据本发明所述方法所得加工工序序列为{A21,A22,A27,A20,A8,A19,A25,A7,A17,A18,A26,A10,A16,A24,A6,A23,A15,A14,A5,A13,A12,A9,A4,A11,A3,A2,A1}。
2.复杂产品加工甘特图
根据上述分析,得到复杂产品加工甘特图如图4所示。在设备M2上从始点开始在t=2时刻具有2个工时的空闲时间段,而叶节点工序A26加工用时为1工时,符合叶节点工序优先加工原则,因此在t=2时刻在设备M2上***工序A26;同理在t=12时刻***工序A9,加工总用时为25工时。
3.算法对比分析
3.1紧密衔接工序组联动的综合调度算法对比
紧密衔接工序组联动的算法优先调度紧密衔接工序组中的工序及工序组的紧前工序,使用首次适应调度算法进行统一联动;对于没有紧密衔接约束的标准工序按拟关键路径法调度,其工序调度顺序为{A27、A26、A21、A22、A20、A19、A17、A18、A16、A15、A14、A25、A24、A23、A13、A8、A10、A7、A6、A5、A4、A9、A3、A12、A11、A2、A1},如图5所示,总用时28工时。
对比分析本发明所述方法和紧密衔接工序组联动的综合调度算法对应的加工甘特图图4和图5,在设备M3上本发明算法因工序A4从t=16时刻开始加工,其紧后工序A3从图5的t=23时刻提前到图4中的t=19时刻开始加工,工序A3开始加工时间提前了4个工时;在设备M2上本发明算法因工序A25从t=6时刻开始加工,较图5中的t=8时刻提前了2个工时;在设备M1上本发明算法因工序A7从t=4时刻开始加工,较图5中的t=12时刻提前了8个工时开始加工,其后序工序A5提前了5个工时开始加工,工序A3提前了4个工时开始加工,工序A2提前了3个工时开始加工。对比分析表明本发明所述方法能够从纵向上提高各设备上加工工序的紧凑度,进而缩短了复杂产品整体加工用时。
3.2考虑串行工序紧密度的择时综合调度算法对比
该算法基于先整后分的原则,在工艺树的整体结构的基础上,将工艺树按照排序策略划分为只具有串行关系的工序序列;再根据择时策略,从调度方案集合中依次选择加工总用时最小和最早的方案进行调度。
针对图2的加工工艺树,采用考虑串行工序紧密度的择时算法形成初始调度方案为{A1、A2、A11、A12、A13、A14、A15、A16、A19、A20、A21},在此基础上按照{A3、A4、A6、A7、A8、A23、A24、A25、A27、A9、A18、A22、A26、A10、A17、A21}的顺序进行调整,结果甘特图如图6所示,总加工用时为31工时。
对比分析图4和图6,本发明算法所有设备均从t=0时刻的始点开始加工,整体上比考虑串行工序紧密度的择时算法中的各工序衔接度要高。
在设备M4上,图4在t=19时刻完成了对应所有工序的加工,而图6中在设备M4上所有工序加工结束前在t=0至t=6时刻、t=9至t=10时刻、t=11至t=14时刻、t=20至t=21时刻出现共计12个工时的设备空闲时间段,明显多于图4中t=5至t=12时刻和t=15至t=16时刻共计8个工时的空闲时间段,设备利用率提高50%。
在设备M3上,图4在t=23时刻完成了对应所有工序的加工,而图6中在设备M3上所有工序加工结束前在t=0至t=2时刻、t=10至t=14时刻、t=16至t=26时刻、t=27至t=28时刻出现共计17个工时的设备空闲时间段,明显多于图4中t=4至t=6时刻和t=8至t=15时刻共计7个工时的空闲时间段,设备利用率提高12.5%。
在设备M2上,图4在t=20时刻完成了对应所有工序的加工,而图6中在设备M2上所有工序加工结束前在t=0至t=3时刻、t=7至t=11时刻、t=12至t=16时刻、t=23至t=26时刻出现共计14个工时的设备空闲时间段,明显多于图4中t=3至t=4时刻、t=15至t=19时刻共计5个工时的空闲时间段,设备利用率提高21.4%。
在设备M1上,图4在t=25时刻完成了对应所有工序的加工,而图6中在设备M1上所有工序加工结束前在t=2至t=12时刻出现共计10个工时的设备空闲时间段,明显多于图4中t=6至t=8时刻、t=16至t=23时刻共计9个工时的空闲时间段,设备利用率提高20.4%。
综上,从各设备上设备利用率角度分析,本发明方法根据工序路径值由大到小的调度,是在纵向上较少工序间的调度间隔时间,而叶节点的优先***,进一步减少了加工设备上的空闲时间段,因而从工序和设备两个角度,较好的提高了设备的利用率权。
3.3三种算法调度结果对比分析
本发明改进Dijkstra算法各个设备、各个时刻、各个工序加工情况如表2所示,三种算法的调度过程时间对比如表3所示。
表2本发明算法调度过程
表3三种算法的调度过程时间对比
紧密衔接工序组联动算法对图2所示的复杂产品A的总加工用时为28工时、考虑串行工序紧密度的择时算法总加工用时为31工时、本发明所述方法总加工用时为25工时。之所以本发明所述方法更优,主要是因为:
紧密衔接工序组联动的算法优先调度紧密衔接工序组中的工序,忽略了工艺树中紧前紧后约束度不高的其他工序的相对位置等因素对调度结果的整体影响。例如在设备M2在t=17至t=23时刻、设备M3在t=8至t=14时刻和设备M4在t=5至t=11时刻出现较长时间的空闲。
考虑后续工序的择时调度算法只注重用择时调度策略确定工序加工开始时间点时仍然没有充分考虑到设备的利用率。例如设备M1在t=2至t=12时刻一直处于空闲状态,设备M3在t=16至t=26的这段时间里也没有加工工序,因而导致了对复杂产品加工过程的整体影响。
相对于紧密衔接工序组联动算法、考虑串行工序紧密度的择时算法,本发明所述方法的设备利用率分别提高了7.3%、16.3%,实验表明本发明所述方法在复杂产品的综合调度中效果更优,不仅为解决一般复杂产品的综合调度提供了一种新的方法,而且为进一步深入研究综合调度拓展了思路,具有一定的理论和实际意义。
以上对本发明所提出的一种基于Dijkstra算法的综合调度方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (1)
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的最短路径;
步骤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层上工序的优先级最高;
所述叶节点工序优先原则具体为:从叶节点工序对应的加工设备始点开始,查找是否具有大于等于叶节点加工时间的空闲时间段,是,则***此叶节点优先进行调度;否,则在对应设备上无缝连接此叶节点进行调度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010100214.1A CN111369036B (zh) | 2020-02-18 | 2020-02-18 | 一种基于Dijkstra算法的综合调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010100214.1A CN111369036B (zh) | 2020-02-18 | 2020-02-18 | 一种基于Dijkstra算法的综合调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111369036A CN111369036A (zh) | 2020-07-03 |
CN111369036B true CN111369036B (zh) | 2020-11-24 |
Family
ID=71208070
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010100214.1A Active CN111369036B (zh) | 2020-02-18 | 2020-02-18 | 一种基于Dijkstra算法的综合调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111369036B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112346427A (zh) * | 2020-11-23 | 2021-02-09 | 哈尔滨理工大学 | 调整甘特图中同设备工序调度次序的综合调度方法 |
CN112766811B (zh) * | 2021-02-04 | 2022-06-28 | 吉林师范大学 | 一种动态调整叶节点工序的综合调度方法 |
CN114611885B (zh) * | 2022-02-22 | 2022-10-14 | 吉林师范大学 | 一种基于特殊设备的综合调度方法 |
CN115719108B (zh) * | 2022-11-03 | 2023-07-25 | 吉林师范大学 | 资源对称型分布式车间综合调度方法 |
CN116560312B (zh) * | 2023-04-21 | 2024-04-30 | 吉林师范大学 | 动态调整设备优先级的柔性综合调度方法 |
CN116259806B (zh) * | 2023-05-09 | 2023-09-22 | 浙江韵量氢能科技有限公司 | 一种能去除气体杂质的燃料电堆及去除气体杂质的方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105223904A (zh) * | 2015-05-19 | 2016-01-06 | 哈尔滨理工大学 | 存在单组多工序同时结束的逆序综合调度方法 |
CN107392497A (zh) * | 2017-08-08 | 2017-11-24 | 大连交通大学 | 一种基于改进遗传算法的车间调度***及调度方法 |
CN108537456A (zh) * | 2018-04-17 | 2018-09-14 | 哈尔滨理工大学 | 网络柔性设备的综合调度方法 |
CN109902403A (zh) * | 2019-03-06 | 2019-06-18 | 哈尔滨理工大学 | 一种基于Petri网和启发式值的综合调度方法 |
CN109978365A (zh) * | 2019-03-20 | 2019-07-05 | 吉林师范大学 | 一种基于动态工序偏序关系表的复杂产品综合调度方法 |
CN110717674A (zh) * | 2019-10-10 | 2020-01-21 | 哈尔滨理工大学 | 基于图的树分解和启发式的综合调度方法 |
CN110737984A (zh) * | 2019-10-15 | 2020-01-31 | 山东科技大学 | 云制造环境下的机械产品服务优选方法 |
-
2020
- 2020-02-18 CN CN202010100214.1A patent/CN111369036B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105223904A (zh) * | 2015-05-19 | 2016-01-06 | 哈尔滨理工大学 | 存在单组多工序同时结束的逆序综合调度方法 |
CN107392497A (zh) * | 2017-08-08 | 2017-11-24 | 大连交通大学 | 一种基于改进遗传算法的车间调度***及调度方法 |
CN108537456A (zh) * | 2018-04-17 | 2018-09-14 | 哈尔滨理工大学 | 网络柔性设备的综合调度方法 |
CN109902403A (zh) * | 2019-03-06 | 2019-06-18 | 哈尔滨理工大学 | 一种基于Petri网和启发式值的综合调度方法 |
CN109978365A (zh) * | 2019-03-20 | 2019-07-05 | 吉林师范大学 | 一种基于动态工序偏序关系表的复杂产品综合调度方法 |
CN110717674A (zh) * | 2019-10-10 | 2020-01-21 | 哈尔滨理工大学 | 基于图的树分解和启发式的综合调度方法 |
CN110737984A (zh) * | 2019-10-15 | 2020-01-31 | 山东科技大学 | 云制造环境下的机械产品服务优选方法 |
Non-Patent Citations (4)
Title |
---|
On the Shortest and Conflict-Free Path Planning of Multi-AGV System Based on Dijkstra Algorithm and the Dynamic Time-Window Method;Tian Jian Chen等;《Advanced Materials Research》;20130131;第645卷;第267-271页 * |
Petri网结合Dijkstra算法的并行测试任务调度方法研究;周强 等;《电子测量与仪器学报》;20150630;第29卷(第6期);第920-925页 * |
基于Dijkstra算法柔性作业车间调度的研究;刘坤华 等;《机床与液压》;20171231;第45卷(第23期);第105-109页 * |
基于Dijkstra算法的航空兵器自动生产线动态调度算法的研究;刘震宇 等;《航空兵器》;20190630;第26卷(第3期);第94-98页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111369036A (zh) | 2020-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111369036B (zh) | 一种基于Dijkstra算法的综合调度方法 | |
CN107544251B (zh) | 一种基于分布式鲁棒模型的最小化总拖期的单机调度方法 | |
CN114186791B (zh) | 一种面向多型号小批量的复杂装备产品装调生产动态调度方法 | |
CN102866912A (zh) | 一种单指令集异构多核***静态任务调度方法 | |
CN112686428B (zh) | 基于地铁线网站点相似性的地铁客流预测方法及装置 | |
CN109934393A (zh) | 一种需求不确定下生产计划与调度的集成优化方法 | |
CN113516429B (zh) | 一种基于网络拥堵模型的多agv全局规划方法 | |
CN114611885B (zh) | 一种基于特殊设备的综合调度方法 | |
CN103942108A (zh) | Hadoop同构集群下的资源参数优化方法 | |
CN117331700B (zh) | 一种算力网络资源调度***及方法 | |
CN116166381A (zh) | 一种多云管理平台中基于iaco算法的资源调度 | |
CN116540659A (zh) | 一种大型复杂产品车间调度方法、***、设备及介质 | |
CN106610655A (zh) | 一种改进的粒子群算法求解作业车间调度问题 | |
CN112766811B (zh) | 一种动态调整叶节点工序的综合调度方法 | |
CN117647960A (zh) | 一种基于深度强化学习的车间调度方法、装置和*** | |
Udomkesmalee et al. | Impact of parallel processing on job sequences in flexible assembly systems | |
CN116579570A (zh) | 产品生产排产方法、装置、设备及介质 | |
CN110826909B (zh) | 一种基于规则集的工作流执行方法 | |
CN116562584A (zh) | 一种基于Conv-Dueling与泛化表征的动态车间调度方法 | |
CN116431326A (zh) | 一种基于边缘计算和深度强化学习的多用户依赖性任务卸载方法 | |
US10073444B2 (en) | Petri net-based optimal one-wafer cyclic scheduling of treelike hybrid multi-cluster tools | |
Wei et al. | Composite rules selection using reinforcement learning for dynamic job-shop scheduling | |
Yuan et al. | Efficient scheduling of DAG tasks on multi-core processor based parallel systems | |
CN112799812A (zh) | 一种多智能设备协同优化*** | |
CN111582664A (zh) | 一种基于toc关键链的项目管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |