第4期 刘宏达,等:均匀粒子群算法 ·339· 3.1关键代次种群生成的基本步骤 当被优化问题需要的种群规模较大时,均匀设 算法实现的关键在于:根据问题选择合适的种 计的表中的水平也要增大,此时为了选择均匀使用 群粒子数n,并确定待优化问题维数D,按照表1的 表的计算量将很大.例如种群规模为60,需设计 对应关系,设计一个U.(n”)均匀设计表 U0(60),即使采用方幂生成向量法也需要比较几 表1均匀设计表和PS0算法种群的关系 十组可能列来选出生成向量.为了便于应用,降低计 Table 1 Relationship of uniform design table and parame- 算复杂性,希望应用目前现有的生成向量表.但由于 ters of PSO 目前常用的修正好格子点法生成向量表最多只有 均匀设计均匀设计表 PSO算法 31水平,即只能得到31个个体,这显然不能满足大 n 水平 行数 群中的粒子数 种群规模的要求, D因素 列数 待优化变量维数 那么,是否可以利用低水平均匀设计表近似代 以构建初始种群为例,给出关键代次种群生成 替30以上的高水平均匀设计表呢?通过分析和查 的基本步骤: 找资料,提出以下2种方案. 1)根据给定的n,生成等水平均匀表Un(nm), 3)是利用中心化偏差对坐标系旋转有不变 得到对应的均匀设计矩阵Un×m; 性2],将n/2水平的均匀设计表中的任2列交换 2)根据待优化问题的维数D,求得CD偏差最 便得到另一均匀性等价的n/2水平均匀设计表,利 小的矩阵U.xD,其中UnxD=(g),i∈I jelp 用它们共同组成n个个体的均匀表.当种群规模大 3)按照g=(2vg-1)/2n,将v转化为[0,1]中 于30时,如种群规模为40,则种群可由u20(203)的 的点山; 20个个体和其均匀性等价的u0(203)的20个个体 4)转换为X={xgI儿≤xg≤h}中的初始点: 共同构成.由于每一个体都是其所处水平上的均匀 设计个体即都具有均匀性.同时,这2组个体又是均 5)得出初始种群=+(,亿-),iel,jelm n. 匀性等价的,不存在各区域的相互作用组合问题,所 在具体应用时,可以利用提前算好的U.xD,例 以,较大限度地在简化计算的同时,尽可能地保特了 如利用文献[13]可以直接获得推荐的CD2偏差最 种群的均匀性, 小的矩阵U.x0·这样直接可以进入基本步骤的4), 4)是将取值区域l,≤x≤h分割成s份,在每份 所以算法复杂度并未增加多少. 中采用一个均匀表.例如,如种群规模为40,则种群 3.2不同种群规模的种群生成方法 可由U0(20)的20个个体分别在分割区域1和分 文献[13]只提供了中心化L2偏差最小的均匀使 割区域2产生一个U0x5的矩阵 用表的最大因素数29.也就是说,如直接利用文献[13] 4实验的设置与测试 进行均匀粒子群设计,粒子数最大只能选到29, 3.2.1小种群规模的算法实现 4.1测试环境和对象 一般情况下,粒子群算法的粒子数取20~ 对F:Sphere函数,F2:Schaffer's函数,F3: 309),这里将其称为小种群规模.这时可以通过均 Ackley函数,F4:Griewank函数,Fs:Rastrigin函数, 匀设计表直接产生初始种群(或关键代次种群).由 F6:Rosenbrock函数分别就进行了测试,变量域统 于一般问题只需取粒子数为30即可,所以只要利用 取为,问题维数统一取30(Schaffer为2维). 等水平均匀表U(30°)设计即可.但是目前直接可 在对方案1和2的测试中,测试分别基于LDW- 以使用的均匀表最多只能进行30个因素的试验,而 PS0和GLDW-PS021进行.以此对比均匀设计法和 具有中心化L2偏差最小的均匀使用表的最大因素 随机法产生初始种群时,算法表现出来的搜索性能 数29,所以尝试用2种方案来解决.1)随机生成一 PS0种群规模为m=30,学习因子c1=c2=2,惯性 个粒子补充进入.2)利用均匀等价准则0](均匀设 权重w随在迭代过程中线性递减,变化范围是 计方案阵的任2列交换所得新方案与原方案在均匀 0.9~0.4,T=0.5.均匀设计表选择U0(309). 性相同意义下是等价的),将均匀阵UxD任意一些 在对方案3和4的测试中,基本表(均匀设计表 列互调位置,然后随机抽取一列,作为第30列: 和使用表)使用方案1所用的表.测试都是基于 3.2.2大种群规模的算法实现 LDW-PS0进行,其中学习因子c,=c2=2,惯性权重