[发明专利]基于蚁群和模拟退火算法的流水车间调度方法及装置有效
| 申请号: | 201910505977.1 | 申请日: | 2019-06-12 |
| 公开(公告)号: | CN110161997B | 公开(公告)日: | 2021-11-05 |
| 发明(设计)人: | 贾兆红;吕永杰;王燕;李学俊 | 申请(专利权)人: | 安徽大学 |
| 主分类号: | G05B19/418 | 分类号: | G05B19/418;G06N3/00 |
| 代理公司: | 合肥市浩智运专利代理事务所(普通合伙) 34124 | 代理人: | 丁瑞瑞 |
| 地址: | 230000 *** | 国省代码: | 安徽;34 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 模拟 退火 算法 流水 车间 调度 方法 装置 | ||
1.基于蚁群和模拟退火算法的流水车间调度方法,其特征在于,所述方法包括以下步骤:
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:利用公式,tTmin,判断当前只蚂蚁的当前温度是否大于预设的最低温度,其中,
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:根据更新后的频次矩阵,利用公式,更新全局信息素矩阵,其中,
当前次迭代的下一次迭代的全局信息素矩阵;ρ为信息素挥发速率;当前次迭代时,工件v与工件j被调度至同一批中的期望;Mvj为工件v与工件j被调度至同一批中的频次;为当前次迭代时,信息素矩阵v,j边的增量;且n为待加工工件的总数量;fx(t)为当前次迭代时的第x个目标函数的值;
X:判断更新后的全局信息素矩阵的值大于或等于当前次迭代中的信息素的下限,且更新后的全局信息素矩阵的值小于或等于当前次迭代中的信息素的上限是否为真;
Y:若否,将更新后的全局信息素矩阵的值更新为当前次迭代中的信息素的下限,或者当前次迭代中的信息素的上限。
2.基于蚁群和模拟退火算法的流水车间调度装置,其特征在于,所述装置包括:
调度模块,用于根据当前全局信息素矩阵,利用蚁群算法对当前次迭代中的每一只蚂蚁进行待加工工件的批调度,得到所述蚂蚁对应的解;
第一更新模块,用于针对当前次迭代中的每一只蚂蚁,利用模拟退火算法获取所述蚂蚁对应的最优解,并根据所述最优解更新当前全局非劣解集,其中,所述最优解为针对能耗以及最大完工时长的最优解;
判断模块,用于判断当前次迭代对应的迭代次数是否不小于最大迭代次数;若是,触发设置模块;若否,触发更新模块;
所述设置模块,用于将当前次迭代的非劣解集作为目标调度方案;
第二更新模块,用于更新频次矩阵,根据所述频次矩阵更新全局信息素矩阵,将当前次迭代的下一次迭代作为当前次迭代,并返回执行调度模块,直至获取目标调度方案;
所述调度模块,用于:
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为待加工工件集合中待加工工件的数量;
将待加工工件集合中除已经被调度的工件之外的其他工件中转移概率最大的待调度工件调度至所述加工机器,并返回执行所述计算待加工工件集合中的各个工件的转移概率的步骤,直至所有的待加工工件都被调度至对应于第一加工阶段的各个加工机器;
所述第一更新模块,还用于:
H:针对当前次迭代中的每一只蚂蚁,利用公式,
t0=vmk*Cmax/bestCmax+vepc*EPC/bestEPC,计算当前只蚂蚁的初始温度,将当前只蚂蚁的初始温度作为当前只蚂蚁的当前温度,其中,
t0为当前只蚂蚁的初始温度;vmk为用户针对最大完工时长的偏好;Cmax为当前只蚂蚁对应的最大完工时长;bestCmax为全局最大完工时长中的最小值;vepc为用户针对能耗的偏好;EPC为当前只蚂蚁对应的能耗;bestEPC为全局能耗最小值;
I:利用公式,tTmin,判断当前只蚂蚁的当前温度是否大于预设的最低温度,其中,
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:根据更新后的频次矩阵,利用公式,更新全局信息素矩阵,其中,
当前次迭代的下一次迭代的全局信息素矩阵;ρ为信息素挥发速率;当前次迭代时,工件v与工件j被调度至同一批中的期望;Mvj为工件v与工件j被调度至同一批中的频次;为当前次迭代时,信息素矩阵v,j边的增量;且n为待加工工件的总数量;fx(t)为当前次迭代时的第x个目标函数的值;
X:判断更新后的全局信息素矩阵的值大于或等于当前次迭代中的信息素的下限,且更新后的全局信息素矩阵的值小于或等于当前次迭代中的信息素的上限是否为真;
Y:若否,将更新后的全局信息素矩阵的值更新为当前次迭代中的信息素的下限,或者当前次迭代中的信息素的上限。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于安徽大学,未经安徽大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910505977.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:用于发电厂机组能耗分析的方法及系统
- 下一篇:净化设备集中控制式信号处理模块





