说明:

1. 五种启发式算法包括:遗传算法,粒子群算法,蚁群算法,禁忌搜索,模拟退火
之前的博文中已经写了五种启发式算法的偏应用的总结,避开背景知识和代码,已经尝试从问题和解的角度去总结五种算法的流程和思路
其中:
遗传算法,粒子群算法,模拟退火 附带的示例是求解函数极值
蚁群算法,禁忌搜索 附带的示例是求解TSP

遗传算法(GA):      遗传算法(GA)总结:算法流程,实例,思路
粒子群算法(PSO):粒子群算法(PSO)总结:算法流程,实例,思路
蚁群算法(ACO):   蚁群算法(ACO)总结:算法流程,实例,思路
禁忌搜索(TS):      禁忌搜索(TS)总结:算法流程,实例,思路
模拟退火(SA):      模拟退火(SA)总结:算法流程,实例,思路

2. 不同的启发式算法原本就是针对不同的问题而发明的,各种方法有各自的适用范围,原则上应该是根据具体问题选择算法,脱离具体问题而单独对比算法不太合理。但是对比总结有助于理清各个算法的思路,所以本文还是给出简要对比

3. 各种启发式方法都存在各种改进版,都在不断的更新完善,这里只是根据个人的理解,总结基础版的五种启发式方法

以下是根据个人理解的对比总结

注意:各种算法里的每种操作都可以自由设计,而且设计方式不固定,所以对比总结里的某些方面不一定完全准确,这里仍然是尝试从问题和解的角度去总结

1.遗传算法

2.粒子群算法

3.蚁群算法

4.禁忌搜索

5.模拟退火

群体/单体

群体

群体

群体

单体

单体

使用问题范围

离散优化

连续优化

连续优化

离散优化

离散优化

离散优化

连续优化

新解的产生方式

(选择)

交叉

变异

速度更新公式产生增量,增量添加到当前解上

依据信息素和城市间距,以概率产生新解

构造邻域,邻域中选取

构造偏移量,偏移量加到当前解上

逐步靠近优解

(优解对于新解的产生过程的引导性)

选择过程中的轮盘赌,更优的解保留的几率更大

群体最优解、单体最优解都影响每个解的更新过程

信息素越浓、城市间距越短的路径被选中的概率越大

选用最优解产生领域

更优的解一定接受

劣解概率接受

(跳出局部最优)

交叉变异都会产生新解,种群更新时采用轮盘赌,劣解有几率保留

解的更新过程中产生的新解会覆盖群体最优解、单体最优解的周边解空间

信息素不浓、城市间距不短的路径也有概率被选中

只能取和禁忌表中保存的解不相同的解,有几率取到次优解或劣解

Metropolis准则,以概率接受劣解

算法中的随机性

1.初始解

2.选择环节

某个解是否保留

3.交叉环节

某个基因是否用于交叉,交叉位置

4.变异环节

某个基因是否变异,变异位置

1.初始解

2.初始速度

3.速度更新公式里的随机权重

蚂蚁在某城市选择下一个要去的城市的概率

初始解

1.初始解

2.产生的新解

3.接受劣解时概率

核心思路

(思想内涵)

(算法特色)

选择环节保留优解,交叉变异环节产生新解

解的更新同时利用全局最优解和局部最优解信息

反馈机制,且搜索机制深入到具体问题层面

通过禁忌表避开已经搜索到的最优解,迫使算法搜索新的最优解

搜索到的更好的解一定接受,搜索到的更差的解以概率接受

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐