声明:本文为作者学习笔记,学习所得随手而记,部分材料来源于网上学习,若侵权请联系作者。
1.什么是启发式算法
启发式算法(heuristic algorithm)是相对于最优化算法提出的。一个问题的最优算法求得该问题每个实例的最优解。启发式算法可以这样定义:一个基于直观或经验构造的算法,在可接受的花费(指计算时间和空间)下给出待解决组合优化问题每一个实例的一个可行解,该可行解与最优解的偏离程度一般不能被预计。现阶段,启发式算法以仿自然体算法为主,主要有蚁群算法、模拟退火法、遗传算法、粒子群算法、神经网络等。
启发式算法一般用于解决NP-hard问题,其中NP是指非确定性多项式。
例如,著名的推销员旅行问题(Travel Saleman Problem or TSP):假设一个推销员需要从南京出发,经过广州,北京,上海,…,等 n 个城市ÿ