原文连接:遗传算法与粒子群算法比较,欢迎关注微信公众号:“二层楼实验室”
问题描述
这是一个典型的多峰多谷、具有多个局部极小/极大值问题。
直观来看,梯度类、直接搜索类算法显然不适合。
下面分别使用粒子群算法和遗传算法来求解。
像粒子群、遗传这类启发式算法,其初始解是随机的,无需选择或指定。
粒子群算法求解过程及探索区域如下:
其中:粒子个数10.评估点数500.
搜索区域较大,最优解附近搜索密度较大,兼具搜索范围和精度需求。
求解结果:[0.008,0.065,8.51],解具有很高的精度。
遗传算法求解过程及探索区域如下:
其中:粒子个数20.评估点数500.
搜索区域较大,在局部最优解附近搜索密度较大(陷入局部最优),此次求解未能找到全局最优解。
求解结果:[1.06,2.03,13.84],接近全局最优解,但缺乏精度。
由以上求解过程及最终结果可知,PSO算法及遗传算法探索区域较大,大部分情况下能够有效避免陷入局部极小值,同时在最小值附近能够集中搜索,得到较高的精度,但是所需求解步数较大,求解时间消耗较长。
在实际工程应用中需结合经验,综合考虑,选取合适的优化算法,以期以较小的时间和资源开销得到较优的结果。