禁忌搜索算法(Tabu Search,TS)是一种元启发式(meta-heuristic)随机搜索算法,由美国科罗拉多大学教授Fred Glover在1986年左右提出。它主要用于解决优化问题,特别是那些具有大规模搜索空间的问题。禁忌搜索算法的核心思想是通过引入一种灵活的“记忆”技术,即禁忌表(Tabu List),在搜索过程中避免循环,来避免陷入局部最优解,并保持种群多样性,以跳出局部最优解,寻找全局最优解。
一、算法原理
禁忌搜索算法从一个初始可行解出发,选择一系列的特定搜索方向(移动)作为试探,选择实现让特定的目标函数值变化最多的移动。为了避免陷入局部最优解,禁忌搜索采用禁忌表对已经进行的优化过程进行记录和选择,指导下一步的搜索方向。
二、算法的基本概念
(1)禁忌表(Tabu List):用来存放(记忆)禁忌对象的表,对存放禁忌对象的个数有影响,会影响算法的性能。
(2)禁忌对象(Tabu Object):指禁忌表中被禁的那些变化元素,选择可以根据具体问题而制定。
(3)禁忌期限(Tabu Tenure):也称禁忌长度,指的是禁忌对象不能被选取的周期,对算法性能有重要影响。
(4)渴望准则(Aspiration Criterion):也称特赦