发明名称 一种基于环形拓扑高斯动态粒子群优化算法的船舶电网重构方法
摘要 本发明公开了一种基于环形拓扑高斯动态粒子群优化算法的船舶电网重构方法,属于群体智能计算领域。舰船电网重构问题本质上属于一种多目标多变量的离散优化组合问题,现有技术在处理舰船电网重构问题时存在计算时间长、易搜索到非满意解的缺点,难以满足舰船对安全性及实时性的特殊要求。本发明通过在离散化的GDPS优化算法中引入环形拓扑,使粒子之间的信息交流相对较慢,当其中几个粒子陷入局部极值时,其它粒子受到的影响小,因此更有利于搜索到全局最优解。同时此环形拓扑相对比较简单,计算时间也会明显缩短。该方法可以在整个搜索过程中保持种群的多样性,获得了更快速更好的全局寻优效果。
申请公布号 CN104657780A 申请公布日期 2015.05.27
申请号 CN201310590361.1 申请日期 2013.11.20
申请人 大连佑嘉软件科技有限公司 发明人 盖丽;林叶锦;郭昊昊;艾莉莉;程鹏;周国顺
分类号 G06Q10/04(2012.01)I;G06Q50/06(2012.01)I;G06N3/00(2006.01)I 主分类号 G06Q10/04(2012.01)I
代理机构 代理人
主权项 一种基于环形拓扑高斯动态粒子群优化算法的船舶电网重构方法,包括以下步骤:步骤1:设置GDPS优化算法主要参数,在问题解空间内随机初始化种群,参数包括:执行动态邻域策略的代数N<sub>1</sub>=50,执行定期种群更新的代数N<sub>2</sub>=5,W<sub>1</sub>=0.729,W<sub>2</sub>=2.187,种群规模pop_Size=20,问题解的维度dim=8,最大迭代代数iter_max=100;在问题解空间内随机初始化种群:生成pop_Size行dim列矩阵X,矩阵中的每一个元素X<sub>ij</sub>∈[0,1],i为矩阵行数,j为矩阵列数,其具体公式如下:X=rand();X=round(X);其中X为粒子的位置,rand()为[0,1]之间的随机数,round(X)函数将X中的每一个元素进行四舍五入取整,这样就保证了初始解都是0或1;步骤2:判断种群迭代过程是否小于N1,如果是采用<img file="FDA0000418431480000011.GIF" wi="254" he="152" />作为目标函数对种群进行评价;反之则挑选M个最优粒子采用<img file="FDA0000418431480000012.GIF" wi="252" he="153" />作为目标函数进行评价;在进行迭代搜索的过程中,如果当前迭代步数iter小于N<sub>1</sub>,按<img file="FDA0000418431480000013.GIF" wi="258" he="153" />目标函数评价粒子群,计算适应度值,公式为:fitness=sum(X.*load_pri),式中fitness为适应度值,load_pri为负荷优先级行向量,即表1中负荷优先级向量:[1105103556],sum(X.*load_pri)为位置向量中每一个元素与负荷优先级向量中每一个元素相乘再求和;如果当前迭代步数iter大于等于N<sub>1</sub>则按<img file="FDA0000418431480000014.GIF" wi="252" he="153" />目标函数评价粒子群,计算适应度值,其具体公式如下:fitness=sum(X.*load_magnit),load_magnit为负荷容量行向量,即表1中的负荷容量向量:[20 1 4 1 20 4 4 2],sum(X.*load_magnit)为位置向量中每一个元素与负荷容量向量中每一个元素相乘再求和;步骤3:根据记录的每个粒子搜索过的最优位置p<sub>ibest</sub>,与当前迭代步数k的粒子的位置<img file="FDA0000418431480000021.GIF" wi="66" he="78" />进行比较,如果当前粒子的适应度值比该粒子历史最优位置更优,则更新该粒子历史最优位置,令<img file="FDA0000418431480000022.GIF" wi="242" he="78" />反之则保留该粒子的历史最优位置,并进入步骤4;步骤4:按采用环形拓扑的GDPS优化算法的位置计算公式更新当前种群中所有粒子的位置矢量,其具体方式如下:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msub><mi>X</mi><mi>id</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>=</mo><msub><mi>X</mi><mi>id</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>+</mo><msub><mi>W</mi><mn>1</mn></msub><mrow><mo>(</mo><msub><mi>X</mi><mi>id</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>-</mo><msub><mi>X</mi><mi>id</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>)</mo></mrow><mo>+</mo><msub><mi>W</mi><mn>2</mn></msub><mrow><mo>(</mo><mi>avgp</mi><mo>-</mo><msub><mi>X</mi><mi>id</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>)</mo></mrow><mo>+</mo><mi>G</mi><mrow><mo>(</mo><mn>0,1</mn><mo>)</mo></mrow><mfrac><mi>frange</mi><mn>2</mn></mfrac></mrow>]]></math><img file="FDA0000418431480000023.GIF" wi="1584" he="129" /></maths>其中,X<sub>ij</sub>按照下式进行越限处理<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msub><mi>X</mi><mi>ij</mi></msub><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mn>1</mn><mo>,</mo><msub><mi>X</mi><mi>ij</mi></msub><mo>></mo><mn>1</mn></mtd></mtr><mtr><mtd><mn>0</mn><mo>,</mo><msub><mi>X</mi><mi>ij</mi></msub><mo>&lt;</mo><mn>0</mn></mtd></mtr></mtable></mfenced><mo>,</mo></mrow>]]></math><img file="FDA0000418431480000024.GIF" wi="369" he="163" /></maths>上述位置更新公式中,X<sub>id</sub>(t+1)代表第t+1次迭代的位置矢量,X<sub>id</sub>(t)代表第t次迭代的位置矢量,X<sub>id</sub>(t–1)代表第t–1次迭代的位置矢量,W<sub>1</sub>、W<sub>2</sub>分别代表权值,G(0,1)是一个服从正态分布的随机数发生函数,<img file="FDA0000418431480000025.GIF" wi="392" he="141" /><img file="FDA0000418431480000026.GIF" wi="552" he="141" />下标k代表粒子i的邻域粒子的标号,K表示粒子i邻域粒子的个数;步骤5:判断是否达到每N<sub>2</sub>个迭代代数,如果是重新初始化所有粒子但保留全局最优与个体最优的适应度值与位置矢量,按如下公式更新:X=rand();X=round(X);反之则进入步骤6;步骤6:判断算法是否达到最大迭代次数或满足终止条件,如果是则终止搜索,输出最终结果;反之则返回步骤2。
地址 116011 辽宁省大连市西岗区北京街72号西岗宾馆501室