遗传算法(GA)、模拟退火算法(SAA)、蚁群算法(ACO)、粒子群算法(PSO)优缺点汇总

遗传算法

优点:

  1. 与问题领域无关且快速随机的搜索能力,不会陷入局部最优解
  2. 搜索从群体出发,具有潜在的并行性,提高运行速度,鲁棒性高;
  3. 搜索使用评价函数启发,过程简单;
  4. 使用概率机制进行迭代,具有随机性;
  5. 具有可扩展性,容易与其他算法结合。
    缺点:
    1.遗传算法的编程实现比较复杂,首先需要对问题进行编码,找到最优解之后还需要对问题进行解码;
    2.另外三个算子的实现也有许多参数,如交叉率和变异率,并且这些参数的选择严重影响解的品质,而目前这些参数的选择大部分是依靠经验;
    3.没有能够及时利用网络的反馈信息,故算法的搜索速度比较慢,要得要较精确的解需要较多的训练时间
    4.算法对初始种群的选择有一定的依赖性,能够结合一些启发算法进行改进;
    5.在实际应用中,遗传算法容易产生早熟收敛的问题,在选择方法既要使优良个体得以保留,又要维持群体的多样性。

演化策略(实变量/一个新个体)与遗传算法的区别

(染色体编码/两个新个体):

  1. 前者直接作用于实变量,后者使用优化变量的染色体编码
  2. 前者使用的杂交算子是从两个个体产生一个个体,后者产生两个新的个体
    进化程序:只利用变异算子,没有引用杂交机制。

遗传算法(GA)、模拟退火算法(SAA)、蚁群算法(ACO)、粒子群算法(PSO)优缺点汇总_第1张图片

模拟退火算法

优点:

  1. 具有摆脱局部最优解的能力,能够以随机搜索技术从概率的意义上找出目标函数的全局最小点,已被证明有渐进收敛性;
  2. 简单、通用、易实现;
  3. 具有并行性。
    缺点:
    1.对参数(如初始温度)的依赖性较强;
    2.优化过程长,效率不高。

遗传算法(GA)、模拟退火算法(SAA)、蚁群算法(ACO)、粒子群算法(PSO)优缺点汇总_第2张图片

蚁群算法

优点:

  1. 在求解性能上,具有很强的鲁棒性(对基本蚁群算法模型稍加修改,便可以应用于其他问题)和搜索较好解的能力;
  2. 蚁群算法是一种基于种群的进化算法,具有并行性;
  3. 蚁群算法很容易与多种启发式算法结合,以改善算法性能。
    缺点:
    1.蚁群算法中初始信息素匮乏;
    2.收敛速度慢、易陷入局部最优;
    3.蚁群算法一般需要较长的搜索时间,其复杂度可以反映这一点;
    4.容易出现停滞现象,即搜索进行到一定程度后,所有个体发现的解完全一致,不能对解空间进一步进行搜索,不利于发现更好的解。

遗传算法(GA)、模拟退火算法(SAA)、蚁群算法(ACO)、粒子群算法(PSO)优缺点汇总_第3张图片

粒子群算法

优点:

  1. 优化具有相当快的逼近最优解的速度,可以有效的对系统的参数进行优化;
  2. 其个体充分利用自身经验和群体经验调整自身的状态;
  3. 无集中约束控制,不会因个体的故障影响整个问题的求解,确保了具备很强的鲁棒性。
  4. 对种群大小不十分敏感
    缺点:
    1.数学基础薄弱,不能严格证明它在全局最优点上的收敛性;
    2.容易产生早熟收敛,陷入局部最优,主要归咎于种群在搜索空间中多样性的丢失;
    3.由于缺乏精密搜索方法的配合 ,最优往往得不到最优解。
    4.对离散数据不佳

遗传算法(GA)、模拟退火算法(SAA)、蚁群算法(ACO)、粒子群算法(PSO)优缺点汇总_第4张图片

你可能感兴趣的:(算法,模拟退火算法,机器学习,遗传算法,启发式算法)