多目标粒子群算法 java 多目标粒子群算法步骤
转载
- 粒子群算法
- 算法流程:
- 初始化粒子群,随机产生所有粒子的位置和速度并确定粒子的pbest和gbest。
- 对每个粒子,将它的当前位置与它经历过的最好位置pbest进行比较,如果当前位置更好,则将其作为当前的最好位置pbest;否则,pbest保持不变;
- 对每个粒子,将它的当前位置和群体中所有粒子所经历的最好位置gbest进行比较,如果这个粒子的位置更好,则将其设置为当前gbest;否则,gbest保持不变;
- 更新粒子的速度和位置,更新公式如下所示:
- 终止条件判断
- 多目标基本概念
- 多目标粒子群
- 参考论文:
(MOPSO)Coello C , Pulido G T , Lechuga M S . Handling multiple objectives with particle swarm optimization[J]. IEEE Transactions on Evolutionary Computation, 2004, 8(3):256-279.
(Adaptive grid) J. D. Knowles and D. W. Corne, “Approximating the nondominated front using the Pareto archived evolution strategy,” Evol. Comput., vol. 8, pp. 149–172, 2000. - 概述:算法(论文《MOPSO》)主要工作:①基于PSO处理多目标优化问题;②基于自适应网格管理外部档案中的非支配解;③引入变异操作增强全局寻优能力,拓展算法的多样性(注:该操作是PSO已有的改进之一)
- MOPSO算法流程图:
- 流程说明
- 外部档案REP用于存储非劣解,根据非劣解在目标空间中的值划分网格。网格操作类似于小生境 (相比于小生境,该策略的计算开销更小),如果网格内粒子数过多,粒子被选择作为领导粒子的可能性越小。
- 对于新解是否插入REP中,有如下几种情况(
①:如果当前archive是空的,则直接将新解插入archive中,如图case1;
②:如果新解受archive中某一个解所支配,则不插入archive,如图case2;
③:如果新解支配archive中的某些解,则移除archive中这些解,并将新解插入archive,如图case4;
④:如果archive达到预设的规格,新解是否插入,则根据自适应网格进行插入判定(自适应网格用于获取分布均匀的Pareto前沿);
): - 下图为新解在已有网格边界内以及在边界外两种情况:
- 变异操作伪代码:
- 【其他相关说明】:用到的对比算法(NSGA-II、microGA、PAES)和指标(SP、ER(错误率)、GD(世代距离)、time(算法时间));
本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。