面向航天发动机研制过程的智能协同调度方法和系统转让专利

申请号 : CN201811514859.9

文献号 : CN109491344B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 裴军严平宋庆儒刘心报范雯娟廖宝玉钱晓飞周志平王兴明

申请人 : 合肥工业大学

摘要 :

本发明提供一种面向航天发动机研制过程的智能协同调度方法,该方法包括:S100、设置算法参数;S200、根据各个工件的交货期,生成初始的萤火虫种群;S300、计算当前萤火虫种群中每一个体的适应度,并将适应度最低的个体作为第一个体,将所述第一个体对应的解作为本次迭代过程的最优解,并根据该最优解更新全局最优解;S400、判断当前迭代次数是否达到所述最大迭代次数:若是,则输出当前的全局最优解;否则,根据预设的个体更新策略,对当前萤火虫种群中每一个个体进行更新,得到更新后的萤火虫种群,并返回步骤S300。本发明能够提高航天发动机的制造装配效率。

权利要求 :

1.一种面向航天发动机研制过程的智能协同调度方法,其特征在于,包括:S100、设置算法参数;所述算法参数至少包括航天发动机制造装配中所需工件的数量、所需工序的道数、每道工序上机器的数量、每一工件的交货期、最大迭代次数和萤火虫种群中的个体数量;

S200、根据各个工件的交货期,生成初始的萤火虫种群;所述萤火虫种群中的每一个个体对应一个解,每一个解包括各个工件分别在各道工序上进行处理的机器;

S300、计算当前萤火虫种群中每一个体的适应度,并将适应度最低的个体作为第一个体,将所述第一个体对应的解作为本次迭代过程的最优解,并根据该最优解更新全局最优解;

S400、判断当前迭代次数是否达到所述最大迭代次数:

若是,则输出当前的全局最优解;

否则,根据预设的个体更新策略,对当前萤火虫种群中每一个个体进行更新,得到更新后的萤火虫种群,并返回步骤S300;

其中,所述计算当前萤火虫种群中每一个体的适应度,包括:

S301、对该个体对应的解进行可行性变换,以使该解的所有维度的值均处于[1,M]范围内,变换过程包括:判断该个体对应的解中每一位元素是否处于区间[1,M]范围内,若是,则该元素保持不变,否则把该元素取值为M;

S302、根据该个体对应的解,确定在各道工序上各个机器各自所处理的工件,并计算最后一道工序上各个机器分别进行工件处理的最终完成时间,并将最后一道工序上各个机器分别进行工件处理的最终完成时间中的最大值作为航天发动机制造装配所需的时间;

S303、根据各个工件分别在最后一道工序的对应机器上的最终完工时间和各个工件各自的交货期,确定在最后一道工序的对应机器上的完工时间晚于交货期的工件的数量,并将该数量记为未在交货期之前完成处理任务的工件数量;

S304、根据所述航天发动机制造装配所需的时间和所述未在交货期之前完成处理任务的工件数量,计算该个体对应的适应度值。

2.根据权利要求1所述的方法,其特征在于,所述生成初始的萤火虫种群,包括:S201、将所有工件按照交货期非递减的方式进行排序,得到工件集合;

S202、按照排列顺序逐个对所述工件集合中的各个工件进行机器分配,得到一个个体;

S203、随机生成Q-1个个体;Q为种群中的个体数量。

3.根据权利要求1所述的方法,其特征在于,所述根据预设的个体更新策略,对当前萤火虫种群中每一个个体进行更新,得到更新后的萤火虫种群,包括:S401、计算当前萤火虫种群中各个个体分别与所述第一个体之间的欧式距离;

S402、将当前萤火虫种群中所述欧式距离小于预设距离且大于0的个体构成第一个体集合,将当前萤火虫种群中所述欧式距离大于或等于所述预设距离的个体构成第二个体集合;

S403、采用第一更新策略对所述第一个体集合中的每一个体进行更新,采用第二更新策略对所述第二个体集合中的每一个体进行更新,采用第三更新策略对所述第一个体进行更新;

其中,采用第一更新策略对所述第一个体集合中的每一个体进行更新所述采用第一更新策略对所述第一个体集合中的每一个体进行更新,包括:针对所述第一个体集合中的每一个体执行以下步骤:

S4031a、将所述第一个体集合中该个体赋值给第一个体变量;

S4032a、根据所述第一个体变量的每一维元素、所述第一个体的每一维元素和每道工序中机器的数量,采用第一公式计算所述第一个体集合中该个体在更新后的每一维元素,所述第一公式包括:式中, 为所述第一个体集合Stop中第k个个体 在更新后的第l维元素, 为所述第一个体的第l维元素, 为所述第一个体变量Xtemp的第l维元素,M为每道工序中机器的数量, 表示对x向上取整,x%y表示x取y的余数;

所述采用第二更新策略对所述第二个体集合中的每一个体进行更新,包括:针对所述第二个体集合中每一个体执行以下步骤:

S4031b、根据当前萤火虫种群中各个个体的适应度值,计算当前萤火虫种群的平均适应度值;并根据所述第一个体的适应度值和所述平均适应度值,采用第二公式计算第一参数,所述第二公式包括:式中,P为第一参数,Favg为所述平均适应度值,Ftop为所述第一个体的适应度值;

S4032b、生成第一随机数,并判断所述第一随机数是否小于或等于所述第一参数:若是,则执行S4033b;

否则,跳到S4035b;

S4033b、根据所述第一个体的适应度值和所述第二个体集合中该个体的适应度值,采用第三公式计算第二参数;所述第三公式包括:式中,CR为第二参数, 为所述第二个体集合Sleast中第k个个体的适应度值;

S4034b、针对所述第二个体集合中该个体的每一维元素,执行步骤:生成第二随机数,并判断所述第二随机数是否小于或等于所述第二参数:若是,则将所述第二个体集合中该个体的该维元素替换为所述第一个体的对应维元素;否则,所述第二个体集合中该个体的该维元素保持不变;

S4035b、随机产生两个索引下标,所述两个索引下标包括第一下标和第二下标,将所述第二个体集合中该个体在所述第一下标和所述第二下标之间的元素进行对称交换;

所述采用第三更新策略对所述第一个体进行更新,包括:

S4031c、对所述第一个体进行替换变异,得到第一变异个体;

S4032c、对所述第一个体进行M次交换变异,得到M个第二变异个体;

S4033c、对所述第一个体进行M次元素移动变异,得到M个第三变异个体;

S4034c、分别计算各个变异个体的适应度值,并判断最高的适应度值是否大于所述第一个体的适应度值:若是,则将所述第一个体替换为所述适应度值最高的变异个体,并执行S4035c;

否则,执行S4035c;

S4035c、从更新后的第一个体集合和更新后的第二个体集合中选择出荧光亮度最高的个体,并将所述荧光亮度最高的个体与所述第一个体进行交叉处理,得到更新处理后的第一个体。

4.根据权利要求1所述的方法,其特征在于,采用第四公式计算该个体对应的适应度值;所述第四公式包括:式中,F为该个体对应的适应度值,W1和W2为权重系数且W1+W2=1,Cmax为航天发动机制造装配所需的时间,Jd为未在交货期前完成处理任务的工件集合,|Jd|为未在交货期之前完成处理任务的工件数量,df为第f个工件的交货期,Pf为第f个工件在最后一道工序上对应机器上的最终完成时间。

5.一种面向航天发动机研制过程的智能协同调度系统,其特征在于,包括:参数设置模块,用于执行S100、设置算法参数;所述算法参数至少包括航天发动机制造装配中所需工件的数量、所需工序的道数、每道工序上机器的数量、每一工件的交货期、最大迭代次数和萤火虫种群中的个体数量;

种群生成模块,用于执行S200、根据各个工件的交货期,生成初始的萤火虫种群;所述萤火虫种群中的每一个个体对应一个解,每一个解包括各个工件分别在各道工序上进行处理的机器;

最优解计算模块,用于执行S300、计算当前萤火虫种群中每一个体的适应度,并将适应度最低的个体作为第一个体,将所述第一个体对应的解作为本次迭代过程的最优解,并根据该最优解更新全局最优解;

次数判断模块,用于执行S400、判断当前迭代次数是否达到所述最大迭代次数:若是,则输出当前的全局最优解;否则,根据预设的个体更新策略,对当前萤火虫种群中每一个个体进行更新,得到更新后的萤火虫种群,并返回所述最优解计算模块中执行步骤S300;

所述计算当前萤火虫种群中每一个体的适应度,包括:

S301、对该个体对应的解进行可行性变换,以使该解的所有维度的值均处于[1,M]范围内,变换过程包括:判断该个体对应的解中每一位元素是否处于区间[1,M]范围内,若是,则该元素保持不变,否则把该元素取值为M;

S302、根据该个体对应的解,确定在各道工序上各个机器各自所处理的工件,并计算最后一道工序上各个机器分别进行工件处理的最终完成时间,并将最后一道工序上各个机器分别进行工件处理的最终完成时间中的最大值作为航天发动机制造装配所需的时间;

S303、根据各个工件分别在最后一道工序的对应机器上的最终完工时间和各个工件各自的交货期,确定在最后一道工序的对应机器上的完工时间晚于交货期的工件的数量,并将该数量记为未在交货期之前完成处理任务的工件数量;

S304、根据所述航天发动机制造装配所需的时间和所述未在交货期之前完成处理任务的工件数量,计算该个体对应的适应度值。

6.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时可实现权利要求1~4任一项所述的方法。

说明书 :

面向航天发动机研制过程的智能协同调度方法和系统

技术领域

[0001] 本发明涉及工业调度技术领域,具体涉及一种面向航天发动机研制过程的智能协同调度方法、系统和存储介质。

背景技术

[0002] 在航天、船舶、军事等领域,装备的制造工艺复杂,产业链长。在其研制过程中,普遍存在流水作业调度的生产工艺路线。其中航天发动机的生产工艺路线主要包括:合金材料锻造形成零部件,零部件装配和产品测试等多道生产制造工序。航天发动机的研制周期长、资金投入巨大,且是国之重器、航天装备的尖端,故优化航天发动机的研制过程,对国防的建设和提升综合国力具有重要的意义。

发明内容

[0003] (一)解决的技术问题
[0004] 本发明提供了一种面向航天发动机研制过程的智能协同调度方法、系统和存储介质,能够提高航天发动机的制造装配效率。
[0005] (二)技术方案
[0006] 为实现以上目的,本发明通过以下技术方案予以实现:
[0007] 第一方面,本发明提供一种面向航天发动机研制过程的智能协同调度方法,包括:
[0008] S100、设置算法参数;所述算法参数至少包括航天发动机制造装配中所需工件的数量、所需工序的道数、每道工序上机器的数量、每一工件的交货期、最大迭代次数和萤火虫种群中的个体数量;
[0009] S200、根据各个工件的交货期,生成初始的萤火虫种群;所述萤火虫种群中的每一个个体对应一个解,每一个解包括各个工件分别在各道工序上进行处理的机器;
[0010] S300、计算当前萤火虫种群中每一个体的适应度,并将适应度最低的个体作为第一个体,将所述第一个体对应的解作为本次迭代过程的最优解,并根据该最优解更新全局最优解;
[0011] S400、判断当前迭代次数是否达到所述最大迭代次数:
[0012] 若是,则输出当前的全局最优解;
[0013] 否则,根据预设的个体更新策略,对当前萤火虫种群中每一个个体进行更新,得到更新后的萤火虫种群,并返回步骤S300。
[0014] 第二方面,本发明提供一种面向航天发动机研制过程的智能协同调度系统,包括:
[0015] 参数设置模块,用于执行S100、设置算法参数;所述算法参数至少包括航天发动机制造装配中所需工件的数量、所需工序的道数、每道工序上机器的数量、每一工件的交货期、最大迭代次数和萤火虫种群中的个体数量;
[0016] 种群生成模块,用于执行S200、根据各个工件的交货期,生成初始的萤火虫种群;所述萤火虫种群中的每一个个体对应一个解,每一个解包括各个工件分别在各道工序上进行处理的机器;
[0017] 最优解计算模块,用于执行S300、计算当前萤火虫种群中每一个体的适应度,并将适应度最低的个体作为第一个体,将所述第一个体对应的解作为本次迭代过程的最优解,并根据该最优解更新全局最优解;
[0018] 次数判断模块,用于执行S400、判断当前迭代次数是否达到所述最大迭代次数:若是,则输出当前的全局最优解;否则,根据预设的个体更新策略,对当前萤火虫种群中每一个个体进行更新,得到更新后的萤火虫种群,并返回所述最优解计算模块中执行步骤S300。
[0019] 第三方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时可实现以上机器调度方法。
[0020] (三)有益效果
[0021] 本发明提供的方法、系统和存储介质,实际上是针对航天高端装备研制过程的flow shop问题,首先在考虑交货期的基础上生成初始的萤火虫种群,然后选择出适应度值最低的个体作为第一个体,再对种群中的个体进行更新,经过多次迭代过程,使得第一个体逐渐接近解决调度问题的最优解,进而将其作为全局最优解输出,本发明使得在生产其高端装备的过程中能最大限度上充分利用其生产资源,降低生产成本,提高制造装配效率,并提高装备制造管理水平和制造能力。本发明采用的是改进的萤火虫算法,该算法在收敛速度和搜索的解质量方面表现出了良好的性能,解决了多机情形下的flow shop调度问题,提升装备制造企业的装备制造生产管理水平。

附图说明

[0022] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0023] 图1示出了本发明一实施例中面向航天发动机研制过程的智能协同调度方法的流程示意图。

具体实施方式

[0024] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0025] 第一方面,本发明提供一种面向航天发动机研制过程的智能协同调度方法,该机器调度方法包括:
[0026] S100、设置算法参数;所述算法参数至少包括航天发动机制造装配中所需工件的数量n、所需工序的道数O、每道工序上机器的数量M、每一工件的交货期、最大迭代次数Imax和萤火虫种群中的个体数量Q;
[0027] 当然,还会设置当前迭代次数I=1、预设的欧式距离等。
[0028] S200、根据各个工件的交货期,生成初始的萤火虫种群;所述萤火虫种群中的每一个个体对应一个解,每一个解包括各个工件分别在各道工序上进行处理的机器;
[0029] 可理解的是,由于每一次迭代过程都会对萤火虫种群进行更新,因此第I个迭代过程对应第I代萤火虫种群。
[0030] 举例来说,第I代萤火虫种群的第j个个体对应一个解,一个解即一种机器调度方案,具体可以表示为:
[0031]
[0032] 其中,1≤I≤Imax,j=1,2,...,Q,i=1,2,...,n,o=1,2,...,O。
[0033] 其中, 表示第I代萤火虫种群的第j个个体XIj中第i个工件在第o道工序上处理的加工机器。
[0034] 在实际应用中,生成初始的萤火虫种群的过程可以包括:
[0035] S201、将所有工件按照交货期非递减的方式进行排序,得到工件集合;
[0036] 可理解的是,在排序后,工件集合中排在前面的工件的交货期较早,而排在后面的工件的交货期较晚。
[0037] S202、按照排列顺序逐个对所述工件集合中的各个工件进行机器分配,得到一个个体;
[0038] 具体分配过程包括:将每一个工件在每一道工序分配到对应的机器上,若存在多个处于空闲状态的机器,则分配到处理速度最快的空闲机器上。当然,如果所有机器都处于处理状态,则可以将工件分配到已接收待处理工件的数量最少的机器上,但如果待处理工件的数量相同,则选择处理速度最快的机器进行加工该工件。
[0039] 可理解的是,按照排列顺序对工件集合中的工件逐个分配机器,是先对交货期较早的工件分配机器,后对交货期较晚的工件分配交货期,可见在生成初始种群时考虑了交货期这个因素,进而在初始种群中选择出的第一个体也比较符合实际情况。
[0040] 例如,当为第i个工件分配第o道工序的机器时,此时在第o道工序上的M个机器上有a个机器是空闲的,这a台机器包括新机器和旧机器,新机器的处理速度比较快,旧机器的处理速度较慢,此时可以为第i个工件分配第o道工序中空闲机器中的新机器。
[0041] S203、随机生成Q-1个个体;Q为种群中个体的数量。
[0042] 这里,采用启发的方式生成萤火虫种群中的一个个体,其余个体随机生成,这样可以提高初始的萤火虫种群的质量,进而选择出质量好的第一个体。
[0043] 可理解的是,每道工序中的M台机器的功能均相同,即加工处理效果相同,并且在同一时刻最多只能处理一个工件。
[0044] S300、计算当前萤火虫种群中每一个体的适应度,并将适应度最低的个体作为第一个体,并将所述第一个体对应的解作为本次迭代过程的最优解,并根据该最优解更新全局最优解;
[0045] 其中,第一个体为当前萤火虫种群中质量最好的个体,可以作为本次迭代过程的最优解。
[0046] 在实际应用中,种群中每一个体的适应度值的计算过程可以包括:
[0047] S301、对该个体对应的解进行可行性变换,以使该解的所有维度的值均处于[1,M]范围内,变换过程包括:判断该个体对应的解中每一位元素是否处于区间[1,M]范围内,若是,则该元素保持不变,否则把该元素取值为M;
[0048] 可理解的是,向上取整,可以保证可行性变换后最优解的各维元素均为整数,而取整后超出[1,M],则在该范围内随机选择一个整数进行替换,这样可以保证最优解的所有维元素均在[1,M]范围内。这样处理的原因是在每一道工序上仅有M个机器,故每一维元素的值均在[1,M]范围内。
[0049] S302、根据该个体对应的解,确定在各道工序上各个机器各自所处理的工件,并计算最后一道工序上各个机器分别进行工件处理的最终完成时间,并将最后一道工序上各个机器分别进行工件处理的最终完成时间中的最大值作为航天发动机制造装配所需的时间;
[0050] 例如,第o道工序上的第m个机器所处理工件的集合为 将集合 中的工件按其交货期非递减的方式进行排序,从而形成经过排序后的工件集合。若 为空集,则把第o道工序上各个机器对应的各个集合中工件数量最多的集合中随机选择一个工件由第m个机器进行处理,从而减少第m个机器的空闲时间。
[0051] 接着, 表示第o道工序上的第m个机器所处理的第k个工件,若k=1,则第k个工件在第o道工序的第m个机器上的处理完成时间为: 若k大于1,则第k个工件在第o道工序的第m个机器上的处理完成时间为 其中,pom为第o
道工序的第m个机器进行工件处理所需的时间, 为第o道工序上第m台机器的第k-1个工件的处理完成时间, 为第o道工序上第m台机器的第k个工件的处理完成时间,为第k个工件在第o-1道工序的机器上的处理完成时间。通过计算出第o道工序上第m台机器的各个工件各自的处理完成时间,从而得到第o道工序上第m台机器的最终完成时间,该最终完成时间可以用 表示, 的公式如下:
[0052]
[0053] 其中, 表示集合 中工件的数量, 为第o道工序上第m台机器的最终完成时间。
[0054] 进一步,根据各道工序上各个机器各自对应的最终完成时间,可以确定最后一道工序上各个机器分别进行工件处理的最终完成时间中的最大值,该最大值可以用Cmax表示,Cmax的公式如下:
[0055]
[0056] 可理解的是,该最大值为航天发动机制造装配所需的时间,即为第一道工序上第一个工件开始加工至最后一道工序的最后一个工件加工处理完毕所需的时间跨度,该值越小,代表航天发动机制造装配的效率越高。
[0057] S303、根据各个工件分别在最后一道工序的对应机器上的最终完工时间和各个工件各自的交货期,确定在最后一道工序的对应机器上的完工时间晚于交货期的工件的数量,并将该数量记为未在交货期之前完成处理任务的工件数量;
[0058] 例如,工件集合J={J1,...,Ji,...,Jn}中对每一个工件在最后一道工序的对应机器上的最终完成时间和该工件的交货期进行比较,若工件的最终完成时间晚于交货期,则说明该工件不能在交货期之前处理完成,将所有不能在交货期之前完成的工件构成集合Jd,|Jd|表示该集合中工件的数量,即未在交货期之前完成处理任务的工件数量。
[0059] S304、根据所述航天发动机制造装配所需的时间和所述未在交货期之前完成处理任务的工件数量,计算该个体对应的适应度值。
[0060] 实际应用中,可以采用第四公式计算该个体对应的适应度值;所述第四公式包括:
[0061]
[0062] 式中,F为该个体对应的适应度值,W1和W2为权重系数且W1+W2=1,Cmax为航天发动机制造装配所需的时间,Jd为未在交货期之前完成完成处理任务的工件集合,|Jd|为未在交货期之前完成处理任务的工件数量,df为第f个工件的交货期,Pf为第f个工件在最后一道工序上对应机器上的最终完成时间。
[0063] 可理解的是,由上述公式可知,适应度值的计算考虑航天发动机制造装配所需的时间和所述未在交货期之前完成处理任务的工件数量这两个因素,因此适应度值是这两个因素的综合体现,适应度值越低,对应的解的质量越高,因此将其中适应度值最低的个体对应的解作为最优解。
[0064] 通过上述第四公式可知,本发明有两个优化目标,其中第一个优化目标是将第一道工序中的第一个工件开始加工至最后一道工序的最后一个工件加工处理完毕所需的时间跨度缩短,另一个优化目标是将无法在交货期之前完成处理任务的工件数量减少。
[0065] 在实际环境中,由于生产机器的寿命不一,在生产线上同时混合新旧不同的生产设备,生产环境较为复杂,如果仅考虑单一问题,不符合实际情况,而本发明提供的方法实际有两个优化目标,一个是把时间跨度缩短,一个是减少无法在交货期之前完成处理的工件数量,也考虑到不同的设备具有不同的处理时间,因此制定的调度方案适用于实际情况中的多机调度问题。
[0066] 在实际应用中,上述根据该最优解更新全局最优解的过程具体可以包括:将该最优解即第一个体与当前全局最优解的适应度值进行比较,若该最优解即第一个体的适应度值低于当前全局最优解的适应度值,则将全局最优解更新为该最优解即第一个体,否则,全局最优解保持不变。
[0067] S400、判断当前迭代次数是否达到所述最大迭代次数:
[0068] 若是,则输出当前的全局最优解;
[0069] 否则,根据预设的个体更新策略,对当前萤火虫种群中每一个个体进行更新,得到更新后的萤火虫种群,并返回步骤S300。
[0070] 可理解的是,通过迭代过程,在解空间内不断搜索,最终求得全局最优解。在实际应用中,当输出全局最优解时,还可以输出全局最优解的适应度值,这样可以了解该全局最优解的优劣。
[0071] 这里,设定个体更新策略,进行局部搜索,搜索种群可以通过交叉和保留等操作,不断提高种群的质量。
[0072] 在实际应用中,可以针对当前萤火虫种群中不同的个体采用不同的方式进行更新,例如,对当前萤火虫种群中每一个个体进行更新的过程可以包括如下步骤:
[0073] S401、计算当前萤火虫种群中各个个体分别与所述第一个体之间的欧式距离;
[0074] S402、将当前萤火虫种群中所述欧式距离小于预设距离且大于0的个体构成第一个体集合,将当前萤火虫种群中所述欧式距离大于或等于所述预设距离的个体构成第二个体集合;
[0075] 可理解的是,两个个体之间的欧式距离可以作为两个个体之间相似度的判断依据。
[0076] 预设距离为R,对于种群中0R和r=R的个least体构成第二个体集合S 。
[0077] S403、采用第一更新策略对所述第一个体集合中的每一个体进行更新,采用第二更新策略对所述第二个体集合中的每一个体进行更新,采用第三更新策略对所述第一个体进行更新。
[0078] 其中,S403中采用第一更新策略对所述第一个体集合中的每一个体进行更新的过程包括:
[0079] 针对所述第一个体集合中的每一个体执行以下步骤:
[0080] S4031a、将所述第一个体集合中该个体赋值给第一个体变量Xtemp;
[0081] 可理解的是,将第一个体集合中该个体赋值给第一个体变量Xtemp,因此第一个体变量Xtemp记录的是第一个体集合中该个体在更新之前的各维元素。
[0082] S4032a、根据所述第一个体变量的每一维元素、所述第一个体的每一维元素和每道工序中机器的数量,采用第一公式计算所述第一个体集合中该个体在更新后的每一维元素。其中,所述第一公式包括:
[0083]
[0084] 式中, 为所述第一个体集合Stop中第k个个体 在更新后的第l维元素, 为所述第一个体的第l维元素, 为所述第一个体变量Xtemp的第l维元素,M为每道工序中机器的数量, 表示对x向上取整,x%y表示x取y的余数。
[0085] 可理解的是,上述下标l为小于或等于个体总维数的正整数。
[0086] 针对第一个体集合中一个个体的所有维元素,均分别采用第一公式进行更新,从而实现对第一个体集合中该个体的更新。针对第一个体集合中所有个体均分别采用上述方式进行更新,从而实现对第一个体集合的更新。
[0087] 其中,S403中采用第二更新策略对所述第二个体集合中的每一个体进行更新的过程可以包括:
[0088] 针对所述第二个体集合中每一个体执行以下步骤:
[0089] S4031b、根据当前萤火虫种群中各个个体的适应度值,计算当前萤火虫种群的平均适应度值;并根据所述第一个体的适应度值和所述平均适应度值,采用第二公式计算第一参数,所述第二公式包括:
[0090]
[0091] 式中,P为第一参数,Favg为所述平均适应度值,Ftop为所述第一个体的适应度值;
[0092] 可理解的是,在当前萤火虫种群不变的情况下,其平均适应度值不变,而第一个体的适应度值也是定值,因此第一参数也是个定值。当种群更新变化之后,第一参数也会随之变化。
[0093] S4032b、生成第一随机数random1,并判断所述第一随机数random1是否小于或等于所述第一参数P:
[0094] 若是,则执行S4033b;
[0095] 否则,跳到S4035b;
[0096] S4033b、根据所述第一个体的适应度值和所述第二个体集合中该个体的适应度值,采用第三公式计算第二参数;所述第三公式包括:
[0097]
[0098] 式中,CR为第二参数, 为所述第二个体集合Sleast中第k个个体的适应度值;
[0099] 上述第二参数可以称为交叉概率参数。
[0100] 其中k为小于或等于第二个体集合Sleast中个体总数的正整数。
[0101] 针对第二个体集合Sleast中的每一个个体采用第三公式计算第二参数,不同的个体,第二参数不同。
[0102] S4034b、针对所述第二个体集合中该个体的每一维元素,执行步骤:生成第二随机数random2,并判断所述第二随机数random2是否小于或等于所述第二参数CR:若是,则将所述第二个体集合中该个体的该维元素替换为所述第一个体的对应维元素;否则,所述第二个体集合中该个体的该维元素保持不变;
[0103] 可理解的是,针对第二个体集合中一个个体的所有元素执行步骤S4034b,可以实现对第二个体集合中的该个体的替代变换。
[0104] S4035b、随机产生两个索引下标,所述两个索引下标包括第一下标和第二下标,将所述第二个体集合中该个体在所述第一下标和所述第二下标之间的元素进行对称交换,以实现对该个体的更新。
[0105] 例如,生成的两个下标为1和7,则对个体在第1维和第7维之间的各个元素之间的进行对称变换:第1维和第7维元素变换,第2维和第6维元素变换,第3维和第5维元素变换,第4维元素不变。
[0106] 针对第二个体集合中每一个体执行上述步骤,可以实现对第二个体集合的更新。
[0107] 这里,对第一个体集合和/或第二个体集合进行交换、变异等操作,可以提高种群的多样性,保证个体的质量,同时又有利于提高算法的局部搜索能力,有效地避免算法过早收敛。
[0108] 其中,S403中采用第三更新策略对第一个体进行更新的过程可以包括:
[0109] S4031c、对所述第一个体进行替换变异,得到第一变异个体;
[0110] 替换变异的具体过程可以包括:定义第一变异个体X1,随机产生三个互不相同的索引下标,并把第一个体上前两个下标之间的元素移动到后两个索引下标之间的位置上,得到一个第一变异个体X1。
[0111] 例如,第一个体有5个元素,三个索引下标分别为1、3、4,1和3之间的元素为2,则将第一个体上第2维元素移动到第3维元素和第4维元素之间,这样虽然失去了第2维元素,但在第3维和第4维之间增加了一个元素,因此第一个体的维数不变。
[0112] S4032c、对所述第一个体进行M次交换变异,得到M个第二变异个体;
[0113] 交换变异的具体过程可以包括:定义第二变异个体X2,随机产生两个个互不相同的索引下标,将第一个体在两个索引下标位置上的元素进行相互交换,得到一个第二变异个体X2。重复该步骤M次,可以得到M个第二变异个体X2。
[0114] S4033c、对所述第一个体进行M次元素移动变异,得到M个第三变异个体;
[0115] 元素移动变异的具体过程可以包括:定义第三变异个体X3,随机产生两个互不相同的索引下标,将第一个体上一个索引下标位置上的元素移动到另一个索引下标位置上,得到一个第三变异个体X3。重复该步骤M次,可以得到M个第三变异个体X3。
[0116] 例如,两个索引下标为1和3,则将第一个体第1维元素移动到第3维上,原来的第3维以及以后的元素的位置均向后移动一个位置,这种方式也不会改变第一个体的总维数。
[0117] S4034c、分别计算各个变异个体的适应度值,并判断最高的适应度值是否大于所述第一个体的适应度值:
[0118] 若是,则将所述第一个体替换为所述适应度值最高的变异个体,并执行S4035c;
[0119] 否则,执行S4035c;
[0120] S4035c、从更新后的第一个体集合和更新后的第二个体集合中选择出荧光亮度最高的个体,并将所述荧光亮度最高的个体与所述第一个体进行交叉处理,得到更新处理后的第一个体。
[0121] 在实际应用中,交叉处理的具体过程可以包括:
[0122] 1、定义一个位置变量rand,且rand满足条件1≤rand≤n,rand∈Z+;
[0123] 2、在满足位置变量rand条件范围内随机产生一个值,并把该值赋给变量rand;
[0124] 3、分别把两个个体中处于rand后面的所有元素按照原来的相对位置进行交换,从而得到两个新的个体。
[0125] 通过以上替换、交换和插入等变异方式,实现对第一个体的移动,从而实现对第一个体的更新。
[0126] 这里,通过对原始第一个体进行多种变异操作而实现第一个体的移动,这样有利于提高算法的全局搜索能力,有效地避免算法陷入局部最优解。
[0127] 本发明提供的方法,实际上是针对航天高端装备研制过程的flowshop问题,首先在考虑交货期的基础上生成初始的萤火虫种群,然后选择出适应度值最低的个体作为第一个体,再对种群中的个体进行更新,经过多次迭代过程,使得第一个体逐渐接近解决调度问题的最优解,进而将其作为全局最优解输出,本发明使得在生产其高端装备的过程中能最大限度上充分利用其生产资源,降低生产成本,并提高装备制造管理水平和制造能力。本发明采用的是改进的萤火虫算法,该算法在收敛速度和搜索的解质量方面表现出了良好的性能,解决了多机情形下的flow shop调度问题,提升装备制造企业的装备制造生产管理水平。
[0128] 第二方面,本发明提供一种面向航天发动机研制过程的智能协同调度系统,该系统包括:
[0129] 参数设置模块,用于执行S100、设置算法参数;所述算法参数至少包括航天发动机制造装配中所需工件的数量、所需工序的道数、每道工序上机器的数量、每一工件的交货期、最大迭代次数和萤火虫种群中的个体数量;
[0130] 种群生成模块,用于执行S200、根据各个工件的交货期,生成初始的萤火虫种群;所述萤火虫种群中的每一个个体对应一个解,每一个解包括各个工件分别在各道工序上进行处理的机器;
[0131] 最优解计算模块,用于执行S300、计算当前萤火虫种群中每一个体的适应度,并将适应度最低的个体作为第一个体,将所述第一个体对应的解作为本次迭代过程的最优解,并根据该最优解更新全局最优解;
[0132] 次数判断模块,用于执行S400、判断当前迭代次数是否达到所述最大迭代次数:若是,则输出当前的全局最优解;否则,根据预设的个体更新策略,对当前萤火虫种群中每一个个体进行更新,得到更新后的萤火虫种群,并返回所述最优解计算模块中执行步骤S300。
[0133] 第三方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时可上述调度方法。
[0134] 可理解的是,第二方面提供的系统和第三方面提供的存储介质,与第一方面提供的方法相对应,其有关内容的解释、举例、实施方式等内容可以参考第一方面中的相应部分,此处不再赘述。
[0135] 需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0136] 以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。