Upload
alvaro
View
277
Download
4
Embed Size (px)
DESCRIPTION
Tabu Search. 基于 Tabu Search 的特征选择 -- 卢俊. Outline. Tabu Search 简介 Tabu Search 流程图 Tabu Search 范例 Demo Conclusion. Tabu Search. Tabu Search( 禁忌算法 ) 是一种启发式的寻优算法。由 Glover 提出,运用 Tabu List 这种记忆结构表,来避免搜索过程的重复,在搜索了较小的解空间后获得较优的解。 Tabu Search 有一个隐含的假设:一个解的邻域往往存在性能更好的解. Tabu Search 六大要素. - PowerPoint PPT Presentation
Citation preview
1
Tabu Search
基于 Tabu Search的特征选择 -- 卢俊
2
Outline
Tabu Search 简介 Tabu Search 流程图 Tabu Search 范例 Demo Conclusion
3
Tabu Search
Tabu Search(禁忌算法 ) 是一种启发式的寻优算法。由 Glover提出,运用Tabu List这种记忆结构表,来避免搜索过程的重复,在搜索了较小的解空间后获得较优的解。
Tabu Search有一个隐含的假设:一个解的邻域往往存在性能更好的解
4
Tabu Search 六大要素 起始解( Starting Solution) 禁忌列表 (Tabu List)
表越长搜索的范围就越广泛,获得较好解的概率就大,不过增加了存储的空间,和计算量 激活规则( Aspiration Criterion) 用来激活 Tabu List中的移步,当这个移步在禁忌限制中,但是优越于目前的最佳解的时候,激活规制会直接探索此解。
5
候选名单 (Candidate list) 为通过领域生成的所有合法的移步,扣除了所有的 Tabu List中的移步,加上了由激活规则释放的移步的集合 其中邻域的生成会影响到算法的性能 候选解的数量会影响到算法的性能
6
移步( move) 搜索停止规则
运算次数达到所设定的最大迭代次数 无法优于现在的最优解的运算次数达到设定的最大失败次数 预设可接受的目标值
7
Tabu 流程图开始
设定初始解为最优解
候选名单:通过领域构造选出候次最
佳解
是否存在在tabulist?
进行移步
是否符合激活规则
更新tabulist
是否优于现在的最佳解?
更新现在的最佳解
是否符合终止条件?
输出结果
结束
否
是
否
否
是
否
是
激活
8
X1=1
X5=5
X3=3
X4=1
X6=6
X7=1
X8=3
X9=4
X11=5
X12=4
X2=2
X10=2
X13=7
令迭代步数i=1, Tabulist=NULL,终止条件为 i=10
初始设置 Xg=X=x9X 插入 Tabulist
X9
Tabulist
X 的邻域候选集合N=(x6,x8)
迭代次数 i=1,最优解 Xg=4
9
X1=1
X5=5
X3=3
X4=1
X6=6
X7=1
X8=3
X9=4
X11=5
X12=4
X2=2
X10=2
X13=7
从 N 中选出了最优解xn=x6
而且 xn不属于Tabulist, X=xn,并且 X 的性能比 Xg好, Xg=X,把 X 添加入Tabulist
X9
X6
Tabulist
N=(x5,x3,x9,x11)
迭代次数 i=2, Xg=6
10
X1=1
X5=5
X3=3
X4=1
X6=6
X7=1
X8=3
X9=4
X11=5
X12=4
X2=2
X10=2
X13=7
从 N 中选出了最优解xn=x11 , x11不属于Tabulist , X=x11,把 X 加入 Tabulist
x9
x6
x11
N=(x10,x6,x13)
迭代次数 i=3,最优解Xg=6
11
X1=1
X5=5
X3=3
X4=1
X6=6
X7=1
X8=3
X9=4
X11=5
X12=4
X2=2
X10=2
X13=7
从 N 中选出最优解xn=x13, xn不属于Tabulist,令 X=xn,并且X 的性能比 Xg好,更新 Xg=X,X 加入 Tabulist
x9
x6
x11
x13
Tabulist
N=(x12,x7,x11)
迭代次数 i=4,最优解Xg=7
12
X1=1
X5=5
X3=3
X4=1
X6=6
X7=1
X8=3
X9=4
X11=5
X12=4
X2=2
X10=2
X13=7
从 N 中选出了最优解Xn=x11,并且 xn属于Tabulist,但是不满足激活条件的时候,更新 N
N=(x12,x7)
x9
x6
x11
x13
Tabulist
迭代次数 i=5,最优解Xg=7
13
X1=1
X5=5
X3=3
X4=1
X6=6
X7=1
X8=3
X9=4
X11=5
X12=4
X2=2
X10=2
X13=7
从 N 中选择最优解xn=x12,并且 xn不属于 Tabulist, X=xn,把 X 加入 Tabulist中
X9
x6
x11
x13
x12
N=( x13, x10)
迭代次数 i=6,最优解Xg=7
14
X1=1
X5=5
X3=3
X4=1
X6=6
X7=1
X8=3
X9=4
X11=5
X12=4
X2=2
X10=2
X13=7
从 N 中选择出最优解 xn=x13,但是 xn属于 Tabulsit,不过不满足激活条件,更新 N
N=( x10)X9
x6
x11
x13
x12
迭代次数 i=7,最优解Xg=7
15
X1=1
X5=5
X3=3
X4=1
X6=6
X7=1
X8=3
X9=4
X11=5
X12=4
X2=2
X10=2
X13=7
从 N 中选出最优解x10,xn=x10,并且 xn不属于 Tabulist,不过Tabulist也满了,释放最早进入的 x9,更新Tabulist
x6
x11
x13
x12
x10
Tabulist
N=( x13, x8, x12 )
迭代次数 i=8,最优解Xg=7
16
X1=1
X5=5
X3=3
X4=1
X6=6
X7=1
X8=3
X9=4
X11=5
X12=4
X2=2
X10=2
X13=7
从 N 中选出最优解 xn=x13,不过xn属于 Tabulist,更新 N=N-xn=( x8, x12)从 N 中选出最优解 xn=x12,不过xn属于 Tabulist,更新 N=N-xn=( x8)从 N 选择出最优解 xn=x8, xn不属于 Tabulist, X=xn,插入Tabulist
x11
x13
x12
x10
x8
Tabulist
N=(x4,x9,x10)
迭代次数 i=9,最优解Xg=7
17
x11
x13
x10
x8
x9
Tabulist
从 N 中选择最优解 xn=x9
xn不属于 Tabulist,更新 Tabulist, X=xn
X1=1
X5=5
X3=3
X4=1
X6=6
X7=1
X8=3
X9=4
X11=5
X12=4
X2=2
X10=2
X13=7
迭代次数 i=10, Xg=7
18
此时,迭代次数 i=10等于终止条件,打印出结果 Xg=7,退出
19
Conclusion
为了找到“全局最优解”,就不应该执着于某一个特定的区域。局部搜索的缺点就是太贪婪地对某一个局部区域以及其邻域搜索,导致一叶障目,不见泰山。禁忌搜索就是对于找到的一部分局部最优解,有意识地避开它(但不是完全隔绝),从而获得更多的搜索区间