当前位置: 首页 > 专利查询>安徽大学专利>正文

基于蚁群和模拟退火算法的流水车间调度方法及装置制造方法及图纸

技术编号:21951162 阅读:90 留言:0更新日期:2019-08-24 17:15
本发明专利技术公开了基于蚁群和模拟退火算法的流水车间调度方法及装置,方法包括:1)、根据当前全局信息素矩阵,利用蚁群算法对当前次迭代中的每一只蚂蚁进行待加工工件的批调度,得到蚂蚁对应的解;2)、针对当前次迭代中的每一只蚂蚁,利用模拟退火算法获取蚂蚁对应的最优解,并根据最优解更新当前全局非劣解集;3)、判断当前次迭代对应的迭代次数是否不小于最大迭代次数;4)、若是,将当前次迭代的非劣解集作为目标调度方案;5)、若否,更新频次矩阵,根据频次矩阵更新全局信息素矩阵,将当前次迭代的下一次迭代作为当前次迭代,并返回执行步骤1),直至获取目标调度方案。应用本发明专利技术实施例,可以提高解的质量。

Flow Shop Scheduling Method and Device Based on Ant Colony and Simulated Annealing Algorithms

【技术实现步骤摘要】
基于蚁群和模拟退火算法的流水车间调度方法及装置
本专利技术涉及一种调度方法及装置,更具体涉及基于蚁群和模拟退火算法的流水车间调度方法及装置。
技术介绍
近年来,生产制造中的环境和能源问题已经引起人们的重视,如何在不减少企业受益的条件下尽可能的节省能源降低成本是人们一直在研究的问题。目前,在调度领域有关能源效率的一个例子就是铝片的加工制造,在铝片的加工过程中,一般分为两步,预热和滚轧。在预热操作中,通常存在多台加热炉,每台加热炉可以放入多个铝片,但是这些加热炉的功率,容量可能不一样,同时放入的铝片的大小也可能不一样,分批调度方案的差异不仅会导致不同的完工时间(makespan)不同,而且还会造成不同的电能消耗。类似的在滚轧阶段也存在类似的问题。但是,现有技术中基于已有的基于蚁群算法的调度方法,存在搜索的解质量差的缺点。
技术实现思路
本专利技术所要解决的技术问题在于提供了基于蚁群和模拟退火算法的流水车间调度方法及装置,以解决现有技术中存在的解的质量不高的技术问题。本专利技术是通过以下技术方案解决上述技术问题的:本专利技术实施例提供了基于蚁群和模拟退火算法的流水车间调度方法,所述方法包括:1)、根据当前全局信息素矩阵,利用蚁群算法对当前次迭代中的每一只蚂蚁进行待加工工件的批调度,得到所述蚂蚁对应的解;2)、针对当前次迭代中的每一只蚂蚁,利用模拟退火算法获取所述蚂蚁对应的最优解,并根据所述最优解更新当前全局非劣解集,其中,所述最优解为针对能耗以及最大完工时长的最优解;3)、判断当前次迭代对应的迭代次数是否不小于最大迭代次数;4)、若是,将当前次迭代的非劣解集作为目标调度方案;5)、若否,更新频次矩阵,根据所述频次矩阵更新全局信息素矩阵,将当前次迭代的下一次迭代作为当前次迭代,并返回执行步骤1),直至获取目标调度方案。可选的,所述步骤1),包括:A:在当前次迭代中,针对每一只蚂蚁,判断当前加工阶段是否为第一加工阶段;B:若是,根据待加工工件集合中的各个工件的转移概率构建对应于第一加工阶段的各个加工机器的批,直至待加工工件都被调度C:若否,将当前加工阶段的前一加工阶段中最先加工完成的批调度至,当前加工阶段中的空闲机器,或者将当前加工阶段的前一加工阶段中最先加工完成的批调度至,当前加工阶段中最先加工完已具有批的加工机器,直至当前加工阶段的前一加工阶段中的各个批都被调度至当前加工阶段对应的加工机器;D:将当前加工阶段的下一加工阶段作为当前加工阶段,并返回执行A步骤,直至在最后一个加工阶段对所有的待加工工件进行了加工;E:将当前次迭代中对应于每只蚂蚁的、包含各个待加工工件的调度方案作为所述蚂蚁对应的解。可选的,所述根据待加工工件集合中的各个工件的转移概率构建对应于第一加工阶段的各个加工机器的批,包括:针对每一个加工机器,利用公式,计算待加工工件集合中的各个工件的转移概率,其中,P(n,p)为待加工工件集合中的各个工件的转移概率;vmk为用户对于最大完工时长的偏好;τmk(b,p)为将待加工工件p调度至批b中时,针对最大完工时长的期望值;η(b,p)为工件p调度至批b中时的启发式信息,且C为加工机器对应的批的总容量;S为加工机器对应的批中的已经容纳的工件的总尺寸;PTb加工机器对应的批的加工时长;pj为工件j的加工时长;vepc为用户对于能耗的偏好;τepc(b,p)为待加工将工件p调度至批b中时,针对能耗的期望值;α为第一影响因子;β为第二影响因子;τmk(b,l)为将待加工工件p调度至批b中时,针对最大完工时长的期望值;τepc(b,l)为待加工将工件p调度至批b中时,针对能耗的期望值;η(b,l)为待加工工件l调度至批b中时的启发式信息;∑为求和函数;List为加工机器对应的批中的工件列表;l为加工机器对应的批中的工件的序号;b为加工机器对应的批;p为待加工工件集合中除已经被调度的工件之外的其他工件;n为待加工工件集合中待加工工件的数量;将待加工工件集合中除已经被调度的工件之外的其他工件中转移概率最大的待调度工件调度至所述加工机器,并返回执行所述计算待加工工件集合中的各个工件的转移概率的步骤,直至所有的待加工工件都被调度至对应于第一加工阶段的各个加工机器。可选的,所述步骤2),包括:H:针对当前次迭代中的每一只蚂蚁,利用公式,t0=vmk*Cmax/bestCmax+vepc*EPC/bestEPC,计算当前只蚂蚁的初始温度,将当前只蚂蚁的初始温度作为当前只蚂蚁的当前温度,其中,t0为当前只蚂蚁的初始温度;vmk为用户针对最大完工时长的偏好;Cmax为当前只蚂蚁对应的最大完工时长;bestCmax为全局最大完工时长中的最小值;vepc为用户针对能耗的偏好;EPC为当前只蚂蚁对应的能耗;bestEPC为全局能耗最小值;I:利用公式,t>Tmin,判断当前只蚂蚁的当前温度是否大于预设的最低温度,其中,t为当前只蚂蚁的当前温度;Tmin预设的最低温度;J:若是,将当前只蚂蚁对应的解作为当前只蚂蚁的当前模拟退火所搜索到的最优解;将当前全局非劣解集中的一个解与所述最优解进行交叉处理,并对交叉处理后的当前只蚂蚁对应的解进行变异操作,得到变异后的解,获取所述变异后的解对应的最大完工时长以及能耗;K:若否,将当前只蚂蚁的对应的解作为当前模拟退火所搜索到的最优解,并根据所述最优解更新当前全局非劣解集;更新频次矩阵;L:判断所述变异后的解是否优于所述最优解;M:若是,将所述最优解更新为所述变异后的解;N:若否,在所述变异后的解与所述最优解为非劣关系时,分别获取所述变异后的解支配当前全局非劣解集中的解的第一数量,以及所述最优解支配当前全局非劣解集中的解的第二数量;在第一数量等于第二数量时,获取变异后的解与当前全局非劣解集中的解的夹角以及所述最优解与当前全局非劣解集中的解的夹角的集合中的最小值,将所述最小值对应的解作为当前只蚂蚁的当前模拟退火所搜索到的最优解;O:在所述变异后的解劣于所述最优解时,利用公式,计算改变数,其中,ΔF为改变数;s2为所述变异后的解;Cmax为当前只蚂蚁对应的最大完工时长;bestCmax为全局最大完工时长中的最小值;EPC为当前只蚂蚁对应的能耗;bestEPC为全局能耗最小值;P:利用公式,判断变异后的解的概率是否大于预设的概率阈值,其中,e为自然底数;t为当前只蚂蚁的当前温度;P为预设的概率阈值;Q:若是,将当前只蚂蚁的当前模拟退火所搜索到的最优解更新为变异后的解;R:利用公式,t=k*t,更新当前模拟退火的下一次退火时当前只蚂蚁的当前温度,并返回执行步骤I;直至达到最大退火次数,或者当前只蚂蚁的当前温度是不大于预设的最低温度,其中,k为预设的降温系数;S:根据当前只蚂蚁的当前模拟退火所搜索到的最优解,更新当前全局非劣解集。可选的,所述根据所述频次矩阵更新全局信息素矩阵,包括:U:利用公式,更新当前次迭代中的信息素的下界,其中,τmin为当前次迭代中的信息素的下界;n为待加工工件的数量;V:利用公式,更新当前次迭代中的信息素的上界,其中,τmax为当前次迭代中的信息素的上界;Cbest_so_far为截止到当前次迭代的全局最优解;W:根据更新后的频次矩阵,利用公式,更新全局信息素矩阵,其中,当前次迭代的下一次迭代本文档来自技高网...

【技术保护点】
1.基于蚁群和模拟退火算法的流水车间调度方法,其特征在于,所述方法包括:1)、根据当前全局信息素矩阵,利用蚁群算法对当前次迭代中的每一只蚂蚁进行待加工工件的批调度,得到所述蚂蚁对应的解;2)、针对当前次迭代中的每一只蚂蚁,利用模拟退火算法获取所述蚂蚁对应的最优解,并根据所述最优解更新当前全局非劣解集,其中,所述最优解为针对能耗以及最大完工时长的最优解;3)、判断当前次迭代对应的迭代次数是否不小于最大迭代次数;4)、若是,将当前次迭代的非劣解集作为目标调度方案;5)、若否,更新频次矩阵,根据所述频次矩阵更新全局信息素矩阵,将当前次迭代的下一次迭代作为当前次迭代,并返回执行步骤1),直至获取目标调度方案。

【技术特征摘要】
1.基于蚁群和模拟退火算法的流水车间调度方法,其特征在于,所述方法包括:1)、根据当前全局信息素矩阵,利用蚁群算法对当前次迭代中的每一只蚂蚁进行待加工工件的批调度,得到所述蚂蚁对应的解;2)、针对当前次迭代中的每一只蚂蚁,利用模拟退火算法获取所述蚂蚁对应的最优解,并根据所述最优解更新当前全局非劣解集,其中,所述最优解为针对能耗以及最大完工时长的最优解;3)、判断当前次迭代对应的迭代次数是否不小于最大迭代次数;4)、若是,将当前次迭代的非劣解集作为目标调度方案;5)、若否,更新频次矩阵,根据所述频次矩阵更新全局信息素矩阵,将当前次迭代的下一次迭代作为当前次迭代,并返回执行步骤1),直至获取目标调度方案。2.根据权利要求1所述的基于蚁群和模拟退火算法的流水车间调度方法,其特征在于,所述步骤1),包括:A:在当前次迭代中,针对每一只蚂蚁,判断当前加工阶段是否为第一加工阶段;B:若是,根据待加工工件集合中的各个工件的转移概率构建对应于第一加工阶段的各个加工机器的批,直至待加工工件都被调度;C:若否,将当前加工阶段的前一加工阶段中最先加工完成的批调度至,当前加工阶段中的空闲机器,或者将当前加工阶段的前一加工阶段中最先加工完成的批调度至,当前加工阶段中最先加工完已具有批的加工机器,直至当前加工阶段的前一加工阶段中的各个批都被调度至当前加工阶段对应的加工机器;D:将当前加工阶段的下一加工阶段作为当前加工阶段,并返回执行A步骤,直至在最后一个加工阶段对所有的待加工工件进行了加工;E:将当前次迭代中对应于每只蚂蚁的、包含各个待加工工件的调度方案作为所述蚂蚁对应的解。3.根据权利要求2所述的基于蚁群和模拟退火算法的流水车间调度方法,其特征在于,所述根据待加工工件集合中的各个工件的转移概率构建对应于第一加工阶段的各个加工机器的批,包括:针对每一个加工机器,利用公式,计算待加工工件集合中的各个工件的转移概率,其中,P(n,p)为待加工工件集合中的各个工件的转移概率;vmk为用户对于最大完工时长的偏好;τmk(b,p)为将待加工工件p调度至批b中时,针对最大完工时长的期望值;η(b,p)为工件p调度至批b中时的启发式信息,且C为加工机器对应的批的总容量;S为加工机器对应的批中的已经容纳的工件的总尺寸;PTb加工机器对应的批的加工时长;pj为工件j的加工时长;vepc为用户对于能耗的偏好;τepc(b,p)为待加工将工件p调度至批b中时,针对能耗的期望值;α为第一影响因子;β为第二影响因子;τmk(b,l)为将待加工工件p调度至批b中时,针对最大完工时长的期望值;τepc(b,l)为待加工将工件p调度至批b中时,针对能耗的期望值;η(b,l)为待加工工件l调度至批b中时的启发式信息;∑为求和函数;List为加工机器对应的批中的工件列表;l为加工机器对应的批中的工件的序号;b为加工机器对应的批;p为待加工工件集合中除已经被调度的工件之外的其他工件;n为待加工工件集合中待加工工件的数量;将待加工工件集合中除已经被调度的工件之外的其他工件中转移概率最大的待调度工件调度至所述加工机器,并返回执行所述计算待加工工件集合中的各个工件的转移概率的步骤,直至所有的待加工工件都被调度至对应于第一加工阶段的各个加工机器。4.根据权利要求1所述的基于蚁群和模拟退火算法的流水车间调度方法,其特征在于,所述步骤2),包括:H:针对当前次迭代中的每一只蚂蚁,利用公式,t0=vmk*Cmax/bestCmax+vepc*EPC/bestEPC,计算当前只蚂蚁的初始温度,将当前只蚂蚁的初始温度作为当前只蚂蚁的当前温度,其中,t0为当前只蚂蚁的初始温度;vmk为用户针对最大完工时长的偏好;Cmax为当前只蚂蚁对应的最大完工时长;bestCmax为全局最大完工时长中的最小值;vepc为用户针对能耗的偏好;EPC为当前只蚂蚁对应的能耗;bestEPC为全局能耗最小值;I:利用公式,t>Tmin,判断当前只蚂蚁的当前温度是否大于预设的最低温度,其中,t为当前只蚂蚁的当前温度;Tmin预设的最低温度;J:若是,将当前只蚂蚁对应的解作为当前只蚂蚁的当前模拟退火所搜索到的最优解;将当前全局非劣解集中的一个解与所述最优解进行交叉处理,并对交叉处理后的当前只蚂蚁对应的解进行变异操作,得到变异后的解,获取所述变异后的解对应的最大完工时长以及能耗;K:若否,将当前只蚂蚁的对应的解作为当前模拟退火所搜索到的最优解,并根据所述最优解更新当前全局非劣解集;更新频次矩阵;L:判断所述变异后的解是否优于所述最优解;M:若是,将所述最优解更新为所述变异后的解;N:若否,在所述变异后的解与所述最优解为非劣关系时,分别获取所述变异后的解支配当前全局非劣解集中的解的第一数量,以及所述最优解支配当前全局非劣解集中的解的第二数量;在第一数量等于第二数量时,获取变异后的解与当前全局非劣解集中的解的夹角以及所述最优解与当前全局非劣解集中的解的夹角的集合中的最小值,将所述最小值对应的解作为当前只蚂蚁的当前模拟退火所搜索到的最优解;O:在所述变异后的解劣于所述最优解时,利用公式,计算改变数,其中,ΔF为改变数;s2为所述变异后的解;Cmax为当前只蚂蚁对应的最大完工时长;bestCmax为全局最大完工时长中的最小值;EPC为当前只蚂蚁对应的能耗;bestEPC为全局能耗最小值;P:利用公式,判断变异后的解的概率是否大于预设的概率阈值,其中,e为自然底数;t为当前只蚂蚁的当前温度;P为预设的概率阈值;Q:若是,将当前只蚂蚁的当前模拟退火所搜索到的最优解更新为变异后的解;R:利用公式,t=k*t,更新当前模拟退火的下一次退火时当前只蚂蚁的当前温度,并返回执行步骤I;直至达到最大退火次数,或者当前只蚂蚁的当前温度是不大于预设的最低温度,其中,k为预设的降温系数;S:根据当前只蚂蚁的当前模拟退火所搜索到的最优解,更新当前全局非劣解集。5.根据权利要求1所述的基于蚁群和模拟退火算法的流水车间调度方法,其特征在于,所述根据所述频次矩阵更新全局信息素矩阵,包括:U:利用公式,更新当前次迭代中的信息素的下界,其中,τmin为当前次迭代中的信息素的下界;n为待加工工件的数量;V:利用公式,更新当前次迭代中的信息素的上界,其中,τmax为当前次迭代中的信息素的上界;Cbest_so_far为截止到当前次迭代的全局最优解;W:根据更新后的频次矩阵,利用公式,更新全局信息素矩阵,其中,当前次迭代的下一次迭代的全局信息素矩阵;ρ为信息素挥发速率;当前次迭代时,工件v与工件j被调度至同一批中的期望;Mvj为工件v与工件j被调度至同一批中的频次;为当前次迭代时,信息素矩阵v,j边的增量;且n为待加工工件的总数量;fx(t)为当前次迭代时的第x个目标函数的值;X:判断更新后的全局信息素矩阵的值大于或等于当前次迭代中的信息素的下限,且更新后的全局信息素矩阵的值小于或等于当前次迭代中的信息素的上限是否为真;Y:若否,将更新后的全局信息素矩阵的值更新为当前次迭代中的信息素的下限,或者当前次迭代中的信息素的上限...

【专利技术属性】
技术研发人员:贾兆红吕永杰王燕李学俊
申请(专利权)人:安徽大学
类型:发明
国别省市:安徽,34

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

1