一种基于动态工序偏序关系表的复杂产品综合调度方法技术

技术编号:21549058 阅读:24 留言:0更新日期:2019-07-06 22:07
本发明专利技术提出一种基于动态工序偏序关系表的复杂产品综合调度方法,所述方法设计了调度复杂产品的智能方法,主要分为四个部分。其中,编码部分设计了动态工序偏序关系表,便于后续遗传算子的设计;交叉部分设计了两点交叉法和多点交叉法;变异部分设计了基于动态工序偏序关系表的插入式变异法和混乱式变异法,并且都能保证所生成子代染色体的合法性;解码部分设计了基于插入的贪婪式解码方法。本发明专利技术所述方法可行性与优越性通过实验得以验证。

A Comprehensive Scheduling Method for Complex Products Based on Dynamic Process Partial Order Relation Table

【技术实现步骤摘要】
一种基于动态工序偏序关系表的复杂产品综合调度方法
本专利技术属于综合调度
,特别是涉及一种基于动态工序偏序关系表的复杂产品综合调度方法。
技术介绍
复杂产品的生产调度问题是一类典型的NP问题,到目前为止没有有效的算法能够终生获得最优解。随着社会经济的发展,人们对个性化定制型产品的需求逐渐增多。传统的车间调度算法出现了不足,特别是在调度树状复杂结构产品时,现有的元启发式算法、粒子群优化算法、遗传算法、人工蜂群算法、蛙跳算法、水草算法等虽然解决了大批量生产的流水车间调度问题以及多品种小批量生产的车间调度问题,但是针对解决存在约束条件的产品调度问题时,不仅割裂了产品内在生产与装配间的并行关系,而且还存在以下问题:1.因生产调度规模的不断增大而导致的求解时间有效性易受限的问题;2.因编码方法和进化算子的易失效性,导致的算法在综合调度中应用受限的问题;3.因不可行染色体的检测与修复工作,导致的计算量增加、算法运行效率降低的问题;4.编码方式多存在缺陷,容易遗漏最优解的问题。
技术实现思路
本专利技术目的是为了解决现有的技术问题,提出了一种基于动态工序偏序关系表的复杂产品综合调度方法。本专利技术是通过以下技术方案实现的,本专利技术提出一种基于动态工序偏序关系表的复杂产品综合调度方法,S1:建立动态工序偏序关系表根据工艺加工树生成描述产品工艺加工树中各工序节点之间优先顺序关系的工序偏序关系图,根据工序偏序关系图建立动态工序偏序关系表,所述动态工序偏序关系表行为加工工序,列为偏序关系;所述动态工序偏序关系表中第i行第j列的元素值mij取值为0、1或-1;其中,0表示在工序偏序关系图中工序和偏序关系不相关,1表示在工序偏序关系图中工序是偏序关系的终点,-1表示在工序偏序关系图中工序是偏序关系的起点;S2:基于动态工序偏序关系表进行染色体编码采用基于工序的编码方式,通过识别动态工序偏序关系表,获取当前时刻的待调度工序集,随机确定某一可调度工序进行加工,即编码后染色体中基因位上的数字表示复杂产品的工序编号;S3:交叉操作采用两点交叉法或多点交叉法进行交叉操作,使得子代个体工序间满足顺序约束关系,并且子代个体能继承父代优良性状;S4:变异操作采用基于动态工序偏序关系表的插入式变异法或基于动态工序偏序关系表的混乱式变异法进行变异操作;经变异后所产生的子代不包含不可行解;S5:解码操作基于插入的贪婪式解码规则进行解码操作。进一步地,所述动态工序偏序关系表建立的规则为:(1)工序偏序关系图中每一条边关联两个工序节点,动态工序偏序关系表中的每一行只有两个非0元素,即-1和1,分别指明边的起点工序和终点工序;(2)每一列中元素值为1的个数为工序偏序关系图中该列对应工序节点的入度,元素值为-1的个数为该列对应工序节点的初度;每个工序节点的初度为0或1,动态工序偏序关系表中每列中元素值-1最多只能出现一次;(3)若在调度过程中,某一列中元素值全为0,则该列对应的工序已调度加工,即该工序处于已调度工序集;(4)针对同一件复杂产品,当产品所对应的工序偏序关系图中结点或边的编号不同时,其对应的动态工序偏序关系表仅有行序或列序的差别。进一步地,所述基于动态工序偏序关系表进行染色体编码,具体步骤为:步骤21:对产品动态工序偏序关系表进行识别,得到当前时刻待调度工序集S;步骤22:任选待调度工序集中的可调度工序Oi作为此刻的调度工序,同时更新动态工序偏序关系表;步骤23:重复步骤21,判断此刻所得的待调度工序集是否为空,若为空集,则染色体编码过程结束,产品调度加工完成,否则,跳转至步骤22。进一步地,所述步骤21具体为:根据动态工序偏序关系表的建立规则可知,若表中第j列的所有元素值m.j的非零元素仅为-1,则此刻没有边指向结点工序Oj,即当前时刻没有其他任何工序偏序于工序Oj,也就是说没有工序需要先于工序Oj加工,因此,工序Oj为当前时刻的可调度工序,遍历表中的每一列,找出所有m.j非零元素仅为-1的列元素所对应的工序,便可以得到当前时刻的待调度工序集。进一步地,所述步骤22具体为:若当前所选择的工序为Oi,则调度加工该工序,并将工序Oi从待调度工序集中删除,将其加入到已调度工序集;同时令动态工序偏序关系表中第i行的所有元素值mi.中非零元素所对应行的所有元素值置0,即解除工序Oi对其紧后工序的优先约束关系。进一步地,所述两点交叉法具体为:步骤31:在配对的父染色体V1和V2中,随机确定重组基因串的起止位置,两条父染色体中被选位置相同,并且保证重组基因串中基因数大于1且不等于整条染色体的长度;步骤32:生成子染色体V1’,根据步骤31中重组基因串的起止位置确定子染色体的重组位置,该重组位置由父染色体V1所确定的重组基因串中的基因进行填充,其排列顺序由基因在父染色体V2中出现的顺序决定,剩余基因与父染色体V1中剩余基因完全相同;步骤33:生成子染色体V2’,根据步骤31中重组基因串的起止位置确定子染色体的重组位置,该重组位置由父染色体V2所确定的重组基因串中的基因进行填充,其排列顺序由基因在父染色体V1中出现的顺序决定,剩余基因与父染色体V2中剩余基因完全相同。进一步地,所述多点交叉法具体为:步骤34:在配对的父染色体V1和V2中,随机确定若干个重组基因,位置可不连续,但两条父染色体中被选位置相同;步骤35:生成子染色体V1’,根据步骤34确定的重组基因位置,获取父染色体V1中首个连续重组基因子串的起止位置,并由该起止位置确定子染色体的重组位置,该重组位置上的基因由上述连续重组基因子串中的基因进行填充,排列顺序由其在父染色体V2中出现的顺序决定,获取下一个连续重组基因子串,并按上述填充方式对子染色体相应的基因位置进行填充,直到父染色体V1中所有连续重组基因子串重组完毕,剩余基因与父染色体V1中剩余基因完全相同;步骤36:生成子染色体V2’,根据步骤34确定的重组基因位置,获取父染色体V2中首个连续重组基因子串的起止位置,并由该起止位置确定子染色体的重组位置,该重组位置上的基因由上述连续重组基因子串中的基因进行填充,排列顺序由其在父染色体V1中出现的顺序决定,获取下一个连续重组基因子串,并按上述填充方式对子染色体相应的基因位置进行填充,直到父染色体V2中所有连续重组基因子串重组完毕,剩余基因与父染色体V2中剩余基因完全相同。进一步地,所述基于动态工序偏序关系表的插入式变异法具体步骤为:步骤41:随机确定变异父染色体中的某一变异基因;步骤42:识别产品动态工序偏序关系表,获取该变异基因工序的紧前工序和紧后工序,并获取其在变异父染色体中的位置;步骤43:将该变异基因插入至其紧后工序之前,且最靠近该变异基因工序的紧前工序之后的任意位置;若该变异基因工序无紧前工序,即该变异基因工序为叶节点工序,则随机将其插入至其紧后工序之前的任意位置;若该变异基因工序为根节点工序或该变异基因工序与其紧前工序和紧后工序紧密相连,则随机重新选择另一个变异基因。进一步地,所述基于动态工序偏序关系表的混乱式变异法具体步骤为:步骤44:在变异父染色体V中,随机确定变异基因串的起止位置,并且保证变异基因串中基因数大于1且不等于整条染色体的长度;步骤45:将变异基因串中各基因加入基因栈,使得本文档来自技高网...

【技术保护点】
1.一种基于动态工序偏序关系表的复杂产品综合调度方法,其特征在于:S1:建立动态工序偏序关系表根据工艺加工树生成描述产品工艺加工树中各工序节点之间优先顺序关系的工序偏序关系图,根据工序偏序关系图建立动态工序偏序关系表,所述动态工序偏序关系表行为加工工序,列为偏序关系;所述动态工序偏序关系表中第i行第j列的元素值mij取值为0、1或‑1;其中,0表示在工序偏序关系图中工序和偏序关系不相关,1表示在工序偏序关系图中工序是偏序关系的终点,‑1表示在工序偏序关系图中工序是偏序关系的起点;S2:基于动态工序偏序关系表进行染色体编码采用基于工序的编码方式,通过识别动态工序偏序关系表,获取当前时刻的待调度工序集,随机确定某一可调度工序进行加工,即编码后染色体中基因位上的数字表示复杂产品的工序编号;S3:交叉操作采用两点交叉法或多点交叉法进行交叉操作,使得子代个体工序间满足顺序约束关系,并且子代个体能继承父代优良性状;S4:变异操作采用基于动态工序偏序关系表的插入式变异法或基于动态工序偏序关系表的混乱式变异法进行变异操作;经变异后所产生的子代不包含不可行解;S5:解码操作基于插入的贪婪式解码规则进行解码操作。...

【技术特征摘要】
1.一种基于动态工序偏序关系表的复杂产品综合调度方法,其特征在于:S1:建立动态工序偏序关系表根据工艺加工树生成描述产品工艺加工树中各工序节点之间优先顺序关系的工序偏序关系图,根据工序偏序关系图建立动态工序偏序关系表,所述动态工序偏序关系表行为加工工序,列为偏序关系;所述动态工序偏序关系表中第i行第j列的元素值mij取值为0、1或-1;其中,0表示在工序偏序关系图中工序和偏序关系不相关,1表示在工序偏序关系图中工序是偏序关系的终点,-1表示在工序偏序关系图中工序是偏序关系的起点;S2:基于动态工序偏序关系表进行染色体编码采用基于工序的编码方式,通过识别动态工序偏序关系表,获取当前时刻的待调度工序集,随机确定某一可调度工序进行加工,即编码后染色体中基因位上的数字表示复杂产品的工序编号;S3:交叉操作采用两点交叉法或多点交叉法进行交叉操作,使得子代个体工序间满足顺序约束关系,并且子代个体能继承父代优良性状;S4:变异操作采用基于动态工序偏序关系表的插入式变异法或基于动态工序偏序关系表的混乱式变异法进行变异操作;经变异后所产生的子代不包含不可行解;S5:解码操作基于插入的贪婪式解码规则进行解码操作。2.根据权利要求1所述的方法,其特征在于:所述动态工序偏序关系表建立的规则为:(1)工序偏序关系图中每一条边关联两个工序节点,动态工序偏序关系表中的每一行只有两个非0元素,即-1和1,分别指明边的起点工序和终点工序;(2)每一列中元素值为1的个数为工序偏序关系图中该列对应工序节点的入度,元素值为-1的个数为该列对应工序节点的初度;每个工序节点的初度为0或1,动态工序偏序关系表中每列中元素值-1最多只能出现一次;(3)若在调度过程中,某一列中元素值全为0,则该列对应的工序已调度加工,即该工序处于已调度工序集;(4)针对同一件复杂产品,当产品所对应的工序偏序关系图中结点或边的编号不同时,其对应的动态工序偏序关系表仅有行序或列序的差别。3.根据权利要求2所述的方法,其特征在于:所述基于动态工序偏序关系表进行染色体编码,具体步骤为:步骤21:对产品动态工序偏序关系表进行识别,得到当前时刻待调度工序集S;步骤22:任选待调度工序集中的可调度工序Oi作为此刻的调度工序,同时更新动态工序偏序关系表;步骤23:重复步骤21,判断此刻所得的待调度工序集是否为空,若为空集,则染色体编码过程结束,产品调度加工完成,否则,跳转至步骤22。4.根据权利要求3所述的方法,其特征在于:所述步骤21具体为:根据动态工序偏序关系表的建立规则可知,若表中第j列的所有元素值m.j的非零元素仅为-1,则此刻没有边指向结点工序Oj,即当前时刻没有其他任何工序偏序于工序Oj,也就是说没有工序需要先于工序Oj加工,因此,工序Oj为当前时刻的可调度工序,遍历表中的每一列,找出所有m.j非零元素仅为-1的列元素所对应的工序,便可以得到当前时刻的待调度工序集。5.根据权利要求3所述的方法,其特征在于:所述步骤22具体为:若当前所选择的工序为Oi,则调度加工该工序,并将工序Oi从待调度工序集中删除,将其加入到已调度工序集;同时令动态工序偏序关系表中第i行的所有元素值mi.中非零元素所对应行的所有元素值置0,即解除工序Oi对其紧后工序的优先约束关系。6.根据权利要求1-5中任一项所述的方法,其特征在于:所述两点交叉法具体为:步骤31:在配对的父染色体V1和V2中,随机确定重组基因串的起止位置,两条父染色体中被选位置相同,并且保证重组基因串中基因数大于1且不等于整条染色体的长度;步骤32:生成子染色体V1’,根据步骤31中重组基因串的起止位置确定子染色体的重组位置,该重组位置由父染色体V1所确定的重组基因串中的基因进行填充,其排列顺序由基因在父染色体V2中出现的顺序决定,剩余基因与父染色体V1中剩余基因完全相同;步骤33:生成子染色体V2’,根据步骤31中重组基因串的起止位置确定子染色体的重组位置,该重组位置由父染色体V2所确定的重组基因串中的基因进行填充,其排列顺序由基因在父染色体V1中出现的顺序决定,剩余基因与父染色体V2中剩余基因完全相同。7.根据权利要求1-5中任一项所述的方法,其特征在于:所述多点交叉法具体为:步骤34:在配对的父染色体V1和V2中,随机确定若干个重组基因,位置可不连续,但两条父染色体中被选位置相同;步骤35:生成子染色体...

【专利技术属性】
技术研发人员:周伟孙宏宇高一龙赵靖华王晓宇
申请(专利权)人:吉林师范大学
类型:发明
国别省市:吉林,22

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1