正在加载图片...
·620 工程科学学报,第39卷,第4期 调整视野和步长,较好地平衡全局搜索和局部搜索 的方法进行了详细阐述,通过优化寻优参数提高了算 仿真结果表明,改进人工鱼群算法在大多数寻优问题 法的收敛速度和计算精度,其表达式为 中具有更高的寻优精度和更快的收敛速度. Visual Visual xA Visual 在系统控制领域,使用实验数据获取精准控制模 Step=Step×A+Stepi' (3) 型是该领域的重要课题之一.经典的模式辨识方法有 LA=exp (-30 (/T)) 最小二乘法、极大似然估计和预报误差估计等.近几 式中:Visual=0.001,Step=0.0002,t为当前迭代 年来,随着智能算法的兴起和发展,智能算法已被应用 次数,T为最大迭代次数.由于该方法需要进行参数 到系统辨识中,例如粒子群算法(particle swarm optimi-- 设定,且该方法由于与迭代次数密切相关,导致收敛速 zation,PSO)和遗传算法(genetic algorithm,GA) 度慢和寻优精度低,因此本文提出了一种新的动态调 等-0.本文利用改进鱼群算法对时滞系统进行仿真 整视野和步长的方法,即设定人工鱼群的中心位置为 辨识,并对叠加白噪声的时滞系统进行仿真辨识,辨识 Xm,则该人工鱼的视野和步长由公式(4)计算得到. 结果表明该算法能够获取辨识对象的精准数学模型, a×Visual=b×Step=‖X,-Xul. (4) 也证明了改进鱼群算法的有效性 式中:a和b是系数,取值均大于0. 1改进的人工鱼群算法(IAFSA) 1.6算法流程 (1)初始化人工鱼群,其内容包括设定规模N、尝 1.1相关定义 试次数Try_number、拥挤因子8和最大的迭代次数 人工鱼的状态可用向量表示为X=(X,X,,“, T等: X),其中X(i=1,2,…,W)为被寻优的变量,N为人 (2)按照公式(4)对视野和步长进行设定和更新: 工鱼数量.Y=∫(X)为人工鱼当前位置的食物浓度. (3)计算人工鱼的当前食物浓度,并与公告板上 Visual表示人工鱼的视野,Slep表示人工鱼的移动步 的最优值进行对比,若优于最优值,则更新公告板: 长,8表示拥挤因子,d,=‖X:-X‖为人工鱼之间的 (4)执行聚群行为、追尾行为和觅食行为等,并选 距离,i和j表示人工鱼的编号 择最优人工鱼与公告板上的最优值进行对比,若优于 1.2觅食行为 最优值,则更新公告板: 设定当前人工鱼的状态为X,在其视野范围内, (5)迭代次数和寻优精度是计算终止的判定依 按照公式(1)随机选择一个状态X·在求极大值问题 据,若满足其一则停止迭代计算,否则转到(2) 中,即Y,<Y(在极小值问题中,Y,>Y·因为极大值和 1.7仿真实验 极小值问题可以相互转化,以下以极大值问题讨论), 本文使用的测试平台为Matlab.2014a和Win- 则X直接移动到X:否则,重新选择一个随机状态X; dows7,其机器主频为2.3GHz,内存4GB,并使用6个 反复尝试后(大于最大尝试次数),若仍不能满足移动 基准函数作为测试函数.如表1中的6个基准函数都 条件,则使用引导行为按照公式(2)向全局最优位置 是优化难度较大的复杂优化问题,可全面地检验改进 X移动 算法的性能。 X=X:(2 x rand -1)x Visual, (1) 为对比人工鱼群算法和改进人工鱼群算法的性 X-X =X rand xStep (2) 能,利用这两种算法分别对4种二维函数进行50次独 立寻优测试,并使用最优值、最差值、平均值和标准差 式中:i,j=1,2,3,…,N,rand是01]之间的随机数. 等作为性能评价指标.测试时鱼群规模统一设置成 1.3聚群行为 50:AFSA算法中设置Easom、Schaffer和Squmsquares 设定人工鱼的当前状态为X,m是X,的视野范围 函数的尝试次数Try_number=25,Visual=25,Step=4; 内人工鱼数量,X是人工鱼当前视野中所有人工鱼的 设置Booth,Eggcrate和Rastrigin函数的尝试次数Ty_ 中心.若Y<Y且Y./m>8Y,X,向X移动一步,否则 number=25,Visual=1,Sep=0.5;本文改进人工鱼群 执行觅食行为四 算法中设置尝试次数Try_number=25,a=0.5,b=2. 1.4追尾行为 对Easom、Booth、Eggcrate和Schaffer函数进行了 设定人工鱼的当前状态为X,X是X的当前视野 寻优测试,设置迭代次数为300次,并给出了相应的最 中的最优人工鱼位置.若Y<y,且y/m>Y,则向X 优值、最差值、平均值、标准差和平均时间,如表2所 的方向移动一步,否则执行觅食行为四 示.寻优终止条件如公式(5)所示,其中F”为理论值, 1.5动态视野和步长 F为寻优值 文献2]中已对动态调整视野Visual和步长Step IF°-F1<10-6 (5)工程科学学报,第 39 卷,第 4 期 调整视野和步长,较好地平衡全局搜索和局部搜索. 仿真结果表明,改进人工鱼群算法在大多数寻优问题 中具有更高的寻优精度和更快的收敛速度. 在系统控制领域,使用实验数据获取精准控制模 型是该领域的重要课题之一. 经典的模式辨识方法有 最小二乘法、极大似然估计和预报误差估计等. 近几 年来,随着智能算法的兴起和发展,智能算法已被应用 到系统辨识中,例如粒子群算法( particle swarm optimi￾zation,PSO ) 和 遗 传 算 法 ( genetic algorithm,GA ) 等[6--10]. 本文利用改进鱼群算法对时滞系统进行仿真 辨识,并对叠加白噪声的时滞系统进行仿真辨识,辨识 结果表明该算法能够获取辨识对象的精准数学模型, 也证明了改进鱼群算法的有效性. 1 改进的人工鱼群算法( IAFSA) 1. 1 相关定义 人工鱼的状态可用向量表示为 X = ( X1,X2,…, XN) ,其中 Xi ( i = 1,2,…,N) 为被寻优的变量,N 为人 工鱼数量. Y = f( X) 为人工鱼当前位置的食物浓度. Visual 表示人工鱼的视野,Step 表示人工鱼的移动步 长,δ 表示拥挤因子,dij = ‖Xi - Xj‖为人工鱼之间的 距离,i 和 j 表示人工鱼的编号. 1. 2 觅食行为 设定当前人工鱼的状态为 Xi,在其视野范围内, 按照公式( 1) 随机选择一个状态 Xj . 在求极大值问题 中,即 Yi < Yj ( 在极小值问题中,Yi > Yj . 因为极大值和 极小值问题可以相互转化,以下以极大值问题讨论) , 则 Xi直接移动到 Xj ; 否则,重新选择一个随机状态 Xj ; 反复尝试后( 大于最大尝试次数) ,若仍不能满足移动 条件,则使用引导行为按照公式( 2) 向全局最优位置 Xg移动. Xj = Xi + ( 2 × rand - 1) × Visual, ( 1) Xj = Xi + rand × Step Xg - Xi ‖Xg - Xi‖. ( 2) 式中: i,j = 1,2,3,…,N,rand 是[0 1]之间的随机数. 1. 3 聚群行为 设定人工鱼的当前状态为 Xi,m 是 Xi的视野范围 内人工鱼数量,Xc是人工鱼当前视野中所有人工鱼的 中心. 若 Yi < Yc且 Yc /m > δYi,Xi向 Xc移动一步,否则 执行觅食行为[11]. 1. 4 追尾行为 设定人工鱼的当前状态为 Xi,Xj是 Xi的当前视野 中的最优人工鱼位置. 若 Yi < Yj且 Yj /m > δYi,则向 Xj 的方向移动一步,否则执行觅食行为[11]. 1. 5 动态视野和步长 文献[12]中已对动态调整视野 Visual 和步长 Step 的方法进行了详细阐述,通过优化寻优参数提高了算 法的收敛速度和计算精度,其表达式为 Visual = Visual × A + Visualmin, Step = Step × A + Stepmin, A = exp ( - 30 ( t / Tmax ) s ) { . ( 3) 式中: Visualmin = 0. 001,Stepmin = 0. 0002,t 为当前迭代 次数,Tmax为最大迭代次数. 由于该方法需要进行参数 设定,且该方法由于与迭代次数密切相关,导致收敛速 度慢和寻优精度低,因此本文提出了一种新的动态调 整视野和步长的方法,即设定人工鱼群的中心位置为 Xall,则该人工鱼的视野和步长由公式( 4) 计算得到. a × Visual = b × Step = ‖Xi - Xall‖. ( 4) 式中: a 和 b 是系数,取值均大于 0. 1. 6 算法流程 ( 1) 初始化人工鱼群,其内容包括设定规模 N、尝 试次数 Try _ number、拥挤因子 δ 和最大的 迭 代 次 数 T 等; ( 2) 按照公式( 4) 对视野和步长进行设定和更新; ( 3) 计算人工鱼的当前食物浓度,并与公告板上 的最优值进行对比,若优于最优值,则更新公告板; ( 4) 执行聚群行为、追尾行为和觅食行为等,并选 择最优人工鱼与公告板上的最优值进行对比,若优于 最优值,则更新公告板; ( 5) 迭代次数和寻优精度是计算终止的判定依 据,若满足其一则停止迭代计算,否则转到( 2) . 1. 7 仿真实验 本文使用的测试平台为 Matlab2014a 和 Win￾dows7,其机器主频为 2. 3 GHz,内存 4 GB,并使用 6 个 基准函数作为测试函数. 如表 1 中的 6 个基准函数都 是优化难度较大的复杂优化问题,可全面地检验改进 算法的性能. 为对比人工鱼群算法和改进人工鱼群算法的性 能,利用这两种算法分别对 4 种二维函数进行 50 次独 立寻优测试,并使用最优值、最差值、平均值和标准差 等作为性能评价指标. 测试时鱼群规模统一设置成 50; AFSA 算 法 中 设 置 Easom、Schaffer 和 Squmsquares 函数的尝试次数 Try_number = 25,Visual = 25,Step = 4; 设置 Booth,Eggcrate 和 Rastrigin 函数的尝试次数 Try _ number = 25,Visual = 1,Step = 0. 5; 本文改进人工鱼群 算法中设置尝试次数 Try_number = 25,a = 0. 5,b = 2. 对 Easom、Booth、Eggcrate 和 Schaffer 函数进行了 寻优测试,设置迭代次数为 300 次,并给出了相应的最 优值、最差值、平均值、标准差和平均时间,如表 2 所 示. 寻优终止条件如公式( 5) 所示,其中 F* 为理论值, F 为寻优值. | F* - F| < 10 - 6 . ( 5) · 026 ·
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有