文章目录
- Tabu search
- Tabu search算法
- 算例-旅行商TSP问题
Tabu search
-
从一个初始可行解出发,选择一系列的特定搜索方向(移动)作为试探,选择实现让特定的目标函数值变化最多的移动。
-
为了避免陷入局部最优解,TS搜索中采用了一种灵活的“记忆”技术,对已经进行的优化过程进行记录和选择,指导下一步的搜索方向,这就是Tabu表的建立。
-
标记已经解得的局部最优解或求解过程,并在进一步的迭代中避开这些局部最优解或求解过程。局部搜索的缺点在于,太过于对某一局部区域以及其邻域的搜索,导致一叶障目。为了找到全局最优解,禁忌搜索就是对于找到的一部分局部最优解,有意识地避开它,从而获得更多的搜索区域。
-
邻域:简单地说就是给定点附近其他点的集合。邻域就是指对当前解进行一个操作(这个操作可以称之为邻域动作)可以得到所有解的集合。
-
邻域动作:是一个函数,通过这个函数,对当前解s,产生其相应的邻居解的集合。例如,对于一个bool型问题,其当前解为: