当前位置:文档之家› 禁忌搜索算法教程

禁忌搜索算法教程

1. 短期表-T表
T表的主要指标: 禁忌对象:T表中被禁忌的那些变化元素 禁忌长度:T表的长度,禁忌对象的最大值
35
四.TS中短、中、长期表的使用
1. 短期表-T表
T表的主要指标: 禁忌对象:T表中被禁忌的那些变化元素 禁忌长度:T表的长度,禁忌对象的最大值
变化因素
解 的 变 化 解 分 量 的 变 化 函 数 值 的 变 化
9
一.导言
2. 局域搜索
示例 例:五个城市的对称TSP问题
初始解为xbest=(ABCDE),f(xbest)=45,定义邻域映射 为对换两个城市位置的2-opt,选定A城市为起点。
10
一.导言
2. 局域搜索
示例 方法:全邻域搜索 第 1步 N(xbest)={(ABCDE),(ACBDE),(ADCBE),(AECDB) ,(ABDCE),(ABEDC),(ABCED)},
T表
1 2 3 4,5 2,4 1,3
……
结论:交换7和1
……
33
三.TS举例

迭代5 编码:5-2-1-7-4-6-3
C ( x) 20
T表
1
2 3
1 ,7
4 ,5 2 ,4
结论:迭代已到5次,得到最优解 5-2-7-1-4-6-3和5-2-1-7-4-6-3
C ( x* ) 20
34
四.TS中短、中、长期表的使用
2. 构成要素
禁忌表 禁忌表(T表)的作用:防止搜索出现循环 ① 将移动、移动分量或适值作为禁忌对象 ② 表的长度称为Tabu-Size,可以用来控制局域 搜索和广域搜索 ③ 表是动态更新的——把最新的解记.禁忌搜索
2. 构成要素
选择策略 选择策略的作用:保证TS具有跳出局优的能力 当前解x每一步总是移动到邻域N(x)中未被禁忌的最优 解,即若
第三章 禁忌搜索
1
第三章 禁忌搜索
一.导言 二.禁忌搜索 三. TS举例 四. TS中短、中、长期表的使用 五.学习TS的几点体会
2
一.导言
1. 问题描述
min f ( x)
s.t. g ( x) 0
目标函数 约束条件 定义域
x X
注:X为离散点的集合,TS排斥实优化
3
一.导言
2. 局域搜索
2. 构成要素
邻域及邻域移动 ① 定义邻域移动s,例如,在函数优化问题中邻 域移动可以定义为给定步长和移动方向;在 组合优化问题中邻域移动可以定义为某种排 练序列置换。 ② 邻域是由当前解x及其通过定义的邻域移动能 够达到的所有解构成的集合。
注意:移动的意义是灵活的,目的是便于搜索。
17
二.禁忌搜索
对应目标函数为f(x)={45, 43, 45, 60, 60, 59, 44} xbest:=xnow=(ACBDE)
A B C
D E
11
一.导言
2. 局域搜索
示例 方法:全邻域搜索 第 2步 N(xbest)={(ACBDE),(ABCDE),(ADBCE),(AEBDC) ,(ACDBE),(ACEDB),(ACBED)},
为了得到好的解,可以采用的策略有(1)扩大 邻域结构,(2)变邻域结构,(3)多初始点。
14
二.禁忌搜索
1. TS的提出
人类在选择过程中局优记忆功能,比如走迷宫 时,当发现有可能又回到某个地点的时候总会 有意识地避开先前选择的方向而选择其他的可 能性,这样就可以确定性的避开迂回搜索。 借鉴人类的智能思考特性,采用禁忌策略尽量 避免迂回搜索就构成了TS算法。 Glover在1977年提出TS。相对于LS,TS的优点 是能够通过接受劣解来逃离局优,在90年代初 开始受到广泛的关注。
对应目标函数为f(x)={43, 45, 44, 59, 59, 58, 43} xbest:=xnow=(ACBDE)
12
一.导言
2. 局域搜索
优劣性 ① 通用易实现,易于理解 ② 搜索结果依赖于初始点和邻域结构,容易陷 入局优
x0
x0
13
一.导言
2. 局域搜索
优劣性 ① 通用易实现,易于理解 ② 搜索结果依赖于初始点和邻域结构,容易陷 入局优
/~glover/
15
二.禁忌搜索
2. 构成要素
解的表达 ① 编码方法:用数学的形式来表示问题的解。 ② 初始解的产生:随机产生或者采用启发式方 法产生一个可行解。 ③ 适值函数C(x)的构造:往往直接将目标函数 f(x)作为适值函数。
16
二.禁忌搜索
5;




注:Step 3的作用破禁检查
Step 4 若 C sK x Opt C s x , s x N x , \T 令 x sK ( x); 注:Step 4的作用邻域选优


23
二.禁忌搜索
3. 算法步骤
Step 5 若 C x C x ,令 x x , C x C x , A s , x C x ; 注:Step 5的作用选优并记录历史最好点, 更新渴望水平 Step 6 更新T表,转Step 2 ;
若选择这项 C(x)=16,渴望水平 不能发生作用
T表
1
2 3
1,3
4,5

……
……
31
结论:因交换1和3已在禁忌表中,故只能交换2和4
三.TS举例

迭代3 编码:4-2-7-1-5-6-3 C x 14 A(s, x) C ( x* ) 18 移动 S x C x 6 4,5 2 5 ,3 0 7 ,1 -3 1 ,3 -6 2 ,6
30
T表
1
2 3
4,5

结论:交换1和3
三.TS举例

迭代2 编码:2-4-7-1-5-6-3 C x 18 x* x A(s, x) C ( x* ) 18 移动 S x C x -2 1 ,3 -4 2 ,4 -6 7 ,6 -7 4 ,5 -9 5 ,3



25
二.禁忌搜索
4. TS克服局优分析
从选优规则看 始终保持历史上的最优解,不以当前解为最优 从停止规则上看 不以最优判据为停止规则,而是指定最大迭代 步数为停止条件,这样不能保证最优性。
26
三.TS举例
1. 问题提出
由7层不同的绝缘材料构成的一种绝缘体,应如何排 列顺序,可获得最好的绝缘性能?
27
三.TS举例
2. 算法设计
编码方式:顺序编码 初始解的产生:随机产生,如2-5-7-3-4-6-1 适值函数:极大化目标值 邻域移动方式:2-OPT,即两两交换 其他参数:禁忌对象为邻域移动方式,T表长度 设为3,NG设为5
28
三.TS举例
初始表 初始编码:2-5-7-3-4-6-1 C x 10 x* x A(s, x) C ( x* ) 10 T
在智能优化算法中起重要的作用。
6
练 习
定义邻域移动为:位值加1或减1 对整数编码[ 2 2 3 5 3],下列编码是否在其邻 域内:
[2 3 3 5 3] [2 3 2 5 3] [2 2 3 5 5]
是 是 否 是 否 否
7
[2 2 3 4 3] [2 2 2 5 3] [2 2 3 4 4]
练 习
C(sk x ) Opt C(s x ), s x N x \ T
则令 x sk ( x) ,本次移动到邻域N(x)中未被禁忌的最 优解 sk ( x)
19
二.禁忌搜索
2. 构成要素
渴望水平 渴望水平A(s,x)是一个取决于s和x的值,若有 C s x A s, x 成立,则s(x)不受T表限制。也就是说即使存在
定义邻域移动为:2-Opt 对顺序编码[ 4 2 3 5 1],下列编码是否在其邻 域内:
[4 3 2 5 1] [4 3 5 1 2] [4 3 3 5 1]
是 是 否 是 否 否
8
[5 2 3 4 1] [1 2 3 5 4] [3 4 2 5 1]
一.导言
2. 局域搜索 局域搜索算法过程


注:x存入T表中的第一个位置
24
二.禁忌搜索
4. TS克服局优分析
从邻域搜索的方法看
sK x Opt s x , s x N x \ T
移向N(x)\T中最好的解,而不于当前解比较, sK x 是 N(x)\T中的最好点,但 C sK x * C x 可能劣于
注:N x \ T 表示非正常终止,造成的原因: 邻域小,T表长。正常设置为(T表长度<邻域大小)。 Step 2的作用是设置循环体出口。
22
二.禁忌搜索
3. 算法步骤
Step 3 若 C sL x Opt C s x , s x N x 若 C sL x A(s, x) ,令 x sL ( x) ,转Step
则C42=6,N(x)={(1,2,3,4), (2,1,3,4), (3,2,1,4),
(4,2,3,1), (1,3,2,4), (1,4,3,2), (1,2,4,3)}
5
一.导言
2. 局域搜索
邻域的概念 例:
解的邻域映射可由2-opt,推广到k-opt,即对k个元 素按一定规则互换。
邻域的构造依赖于解的表示,邻域的结构

STEP 1
选定一个初始可行解x0,记录当前最优解xbest:=x0, T=N(xbest);
相关主题