正在加载图片...
闫祺等:基于改进差分进化算法的加热炉调度方法 427 为避免差分进化算法的种群在迭代过程中易 式中,CR为个体i所对应的交叉概率,其计算流 出现的早熟现象,减轻算法参数调试的工作量, 程如下: Ghosh等2在差分进化算法(DE)的基础上开发 比较变异向量V,和原始向量X的适应度函 了FiADE(Fitness-adaptive DE)算法,它可根据每代 数值,如果V)<Xe),执行(40)式,否则执行 种群个体的适应度函数值变化,对DE算法的缩放 (41)式 因子、交叉概率动态调整,平衡算法的开发和探索 CRi=CRconst (40) 能力P阿本文以FiADE算法作为主体求解算法,同 CRmax-CRmin 时为提高算法寻优效率,对种群中表现较优的个 CRj=CRmin+1+lf(V)-f(Xbes)l (41) 体进一步执行禁忌搜索.算法整体流程如图4所 示.其主要步骤如下: 式中,CRconst,CRmins,CRmax为设定的参数 (4)选择操作. (1)初始化种群 种群采用实数编码,随机产生Np个D维解向 比较原始个体XE和经变异,交叉操作后所得 量X={x,…xP,i=l,…,Np,D为决策变量个数, 新个体UE的适应度函数值,以(42)式进行选择, Np为种群数.各决策变量分布在其上边界Xmm= 优者进入下一轮循环,弱者淘汰出局 {xa,…ax}和下边界Xma={ax…hax}构成的 「Ui.Eiff(Ui.E)≤f(X.E) XiE+1= (42) 解空间中,计算公式如(34)所示: XiE otherwise min +rand(0.1)(max-min) (34) (5)禁忌搜索 选择操作结束后,对新生成的子代个体,按照 rand(0,1)指[0,1]之间服从均匀分布的随机数, 适应度函数值由小到大进行排序,并选择前10% xd中的0指此时种群处于初始代 的优良个体执行禁忌搜索.具体步骤如下: (2)变异操作. 步骤1:设定算法运行的各输入参数,即候选 对种群中的每个目标向量X,E(E表示算法运 解个数、禁忌表长度、迭代次数、初始解等,初始 行至第E代)执行差分变异操作(35),生成的变异 禁忌表为空,同时将初始解设为历史最优解 向量记为'c呢c] 步骤2:对当前解进行局部搜索生成候选解, ViE=XAE+F:(X4E-XAE)+F:(XAE-XAE) 并计算每个候选解的适应度函数值 (35) 步骤3:判断每个候选解是否属于禁忌且选出 式中,下标r,r2,r,r4,rs为随机抽取的位于[1, 适应度函数值最优的候选解 Np]之间的不同于i的个体序号,F,为个体i所对应 步骤4:比较最优候选解与历史最优解的适应 的缩放因子,其计算流程如下 值大小,若优于历史最优解则执行步骤5,否则执 Stepl:计算F,对于每个个体X, 行步骤6. F1=Fmax △fi (36) 步骤5:忽略最优候选解的禁忌状态,将其作 dcon+△f 为新的历史最优解和当前解,加入禁忌表中,并更 式中,△X)-Xe儿,X,s为当前种群中适应度 新禁忌表的状态,执行步骤7 最低的个体,on=0.l△+l04,Fmax为给定的参数. 步骤6:在候选解中选择非禁忌的最优适应度 Step2:计算F2,对于每个个体X 函数值的解,将其作为当前解并加入禁忌表中,更 F2=Fmax(1-eaf) (37) 新禁忌表的状态,执行步骤7. Step3:计算F; 步骤7:判断是否达到最大迭代次数,若达到 执行步骤8,否则迭代次数加一并返回步骤2 Fi=max (F1,F2) (38) (3)交叉操作 步骤8:输出历史最优解 将目标向量X,E和其对应的变异向量VE执行 4算例验证及讨论 交叉策略,新生成的个体记为U={uE,e鼎E, 4.1模型及算法参数设置 个体i中第j个点计算公式为 为验证本文所提方法在降低加热炉生产能耗 if rand(O,l)≤CR .G= (39) 方面的效果,以国内某热轧厂生产线实际数据建 otherwise 立数学模型,该模型包含3台并行布置且容量相为避免差分进化算法的种群在迭代过程中易 出现的早熟现象,减轻算法参数调试的工作量, Ghosh 等[25] 在差分进化算法(DE)的基础上开发 了 FiADE(Fitness-adaptive DE)算法,它可根据每代 种群个体的适应度函数值变化,对 DE 算法的缩放 因子、交叉概率动态调整,平衡算法的开发和探索 能力[26] . 本文以 FiADE 算法作为主体求解算法,同 时为提高算法寻优效率,对种群中表现较优的个 体进一步执行禁忌搜索. 算法整体流程如图 4 所 示. 其主要步骤如下: (1)初始化种群. ,··· ,··· x 1 max,···x D max x 1 max,··· x D max 种群采用实数编码,随机产生 NP 个 D 维解向 量 Xi={xi 1 xi D },i = 1 ,NP,D 为决策变量个数, NP 为种群数. 各决策变量分布在其上边界 Xmin= { }和下边界 Xmax={ }构成的 解空间中,计算公式如(34)所示: x j i,0 = x j min +rand(0,1)· ( x j max − x j min) (34) rand(0, 1) 指 [0, 1] 之间服从均匀分布的随机数, xi,0 j 中的 0 指此时种群处于初始代. (2)变异操作. v 1 i,G ,···v D i,G 对种群中的每个目标向量 Xi,E(E 表示算法运 行至第 E 代)执行差分变异操作(35),生成的变异 向量记为 Vi,E=[ ] Vi,E = Xr i 1 ,E + Fi · ( Xr i 2 ,E − Xr i 3 ,E ) + Fi · ( Xr i 4 ,E − Xr i 5 ,E ) (35) 式中,下标 r1 i ,r2 i ,r3 i ,r4 i ,r5 i 为随机抽取的位于 [1, NP ] 之间的不同于 i 的个体序号,Fi 为个体 i 所对应 的缩放因子,其计算流程如下 Step1:计算 F1,对于每个个体 Xi, F1 = Fmax · ( ∆fi λcon + ∆fi ) (36) 式中,∆f i=|f(Xi )‒f(Xbest)|,Xbest 为当前种群中适应度 最低的个体,λcon = 0.1·∆f i + 10−14 ,Fmax 为给定的参数. Step2:计算 F2 ,对于每个个体 Xi F2 = Fmax · ( 1−e −∆fi ) (37) Step3:计算 Fi Fi = max(F1,F2) (38) (3)交叉操作. u 1 i,E u 2 i,E ,··· u D i,E u j i,E 将目标向量 Xi,E 和其对应的变异向量 Vi,E 执行 交叉策略,新生成的个体记为 Ui,E={ , , }, 个体 i 中第 j 个点 计算公式为 u j i,G =    v j i,E if rand(0,1) ⩽ CRi x j i,E otherwise (39) 式中,CRi 为个体 i 所对应的交叉概率,其计算流 程如下: 比较变异向量 Vi 和原始向量 Xbest 的适应度函 数值,如果 f(Vi ) < f(Xbest),执行(40)式,否则执行 (41)式. CRi = CRconst (40) CRi = CRmin + CRmax −CRmin 1+| f (Vi)− f (Xbest)| (41) 式中,CRconst,CRmin,CRmax 为设定的参数. (4)选择操作. 比较原始个体 Xi,E 和经变异,交叉操作后所得 新个体 Ui,E 的适应度函数值,以(42)式进行选择, 优者进入下一轮循环,弱者淘汰出局. Xi,E+1 = { Ui,E if f ( Ui,E ) ⩽ f ( Xi,E ) Xi,E otherwise (42) (5)禁忌搜索. 选择操作结束后,对新生成的子代个体,按照 适应度函数值由小到大进行排序,并选择前 10% 的优良个体执行禁忌搜索. 具体步骤如下: 步骤 1:设定算法运行的各输入参数,即候选 解个数、禁忌表长度、迭代次数、初始解等,初始 禁忌表为空,同时将初始解设为历史最优解. 步骤 2:对当前解进行局部搜索生成候选解, 并计算每个候选解的适应度函数值. 步骤 3:判断每个候选解是否属于禁忌且选出 适应度函数值最优的候选解. 步骤 4:比较最优候选解与历史最优解的适应 值大小,若优于历史最优解则执行步骤 5,否则执 行步骤 6. 步骤 5:忽略最优候选解的禁忌状态,将其作 为新的历史最优解和当前解,加入禁忌表中,并更 新禁忌表的状态,执行步骤 7. 步骤 6:在候选解中选择非禁忌的最优适应度 函数值的解,将其作为当前解并加入禁忌表中,更 新禁忌表的状态,执行步骤 7. 步骤 7:判断是否达到最大迭代次数,若达到 执行步骤 8,否则迭代次数加一并返回步骤 2. 步骤 8:输出历史最优解. 4    算例验证及讨论 4.1    模型及算法参数设置 为验证本文所提方法在降低加热炉生产能耗 方面的效果,以国内某热轧厂生产线实际数据建 立数学模型,该模型包含 3 台并行布置且容量相 闫    祺等: 基于改进差分进化算法的加热炉调度方法 · 427 ·
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有