几种优化(求最优解)算法的比较

原文:《几种优化(求最优解)算法的比较 》

  1. 遗传算法
    优点是能很好的处理约束,能很好的跳出局部最优,最终得到全局最优解,全局搜索能力强;缺点是收敛较慢,局部搜索能力较弱,运行时间长,且容易受参数的影响。遗传算法适合求解离散问题,具备数学理论支持,但是存在着汉明悬崖等问题。

    1. 模拟退火
      优点是局部搜索能力强,运行时间较短;缺点是全局搜索能力差,容易受参数的影响。

    2. 爬山算法
      显然爬山算法较简单,效率高,但是处理多约束大规模问题时力不从心,往往不能得到较好的解。

    3. 粒子群算法
      适合求解实数问题,算法简单,计算方便,求解速度快,但是存在着陷入局部最优等问题。

    4. 蚁群算法
      适合在图上搜索路径问题,计算开销会大。

*汉明悬崖(Hamming Cliff)是二进制编码的一个缺点,就是在某些相邻整数的二进制代码之间有很大的汉明距离,使得遗传算法的交叉和突变都难以跨越。
格雷码(Gray Code)可以克服这个问题,在相邻整数之间汉明距离都为1,但是汉明距离在整数之间的差并非单调增加,引入了另一层次的隐悬崖。
在信息论中,两个等长字符串之间的汉明距离是两个字符串对应位置的不同字符的个数。换句话说,它就是将一个字符串变换成另外一个字符串所需要替换的字符个数。 例如:
  * 1011101 与 1001001 之间的汉明距离是 2。
  * 2143896 与 2233796 之间的汉明距离是 3。
  * “toned” 与 “roses” 之间的汉明距离是 3。

你可能感兴趣的:(优化算法)