禁忌搜索算法教程

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

-----精品文档------
3
一.导言
2. 局域搜索
➢ 邻域的概念 ① 函数优化问题: 邻域(N(x))通常定义为在给定距离空间内,以一点 (x)为中心的一个球体 ② 组合优化问题:
N:xX N (x) 2X 且 x N(x),称为一个邻域映射,其中2 X 表示X
所有子集组成的集合。
N(x)称为x的邻域, yN(x)称为x的一个邻居。
➢ 人类在选择过程中局优记忆功能,比如走迷宫 时,当发现有可能又回到某个地点的时候总会 有意识地避开先前选择的方向而选择其他的可 能性,这样就可以确定性的避开迂回搜索。
➢ 借鉴人类的智能思考特性,采用禁忌策略尽量 避免迂回搜索就构成了TS算法。
➢ Glover在1977年提出TS。相对于LS,TS的优点 是能够通过接受劣解来逃离局优,在90年代初 开始受到广泛的关注。
-----精品文档------
17
二.禁忌搜索
2. 构成要素
➢ 禁忌表 禁忌表(T表)的作用:防止搜索出现循环
① 将移动、移动分量或适值作为禁忌对象 ② 表的长度称为Tabu-Size,可以用来控制局域
x0 x0
-----精品文档------
13
一.导言
2. 局域搜索
➢ 优劣性 ① 通用易实现,易于理解 ② 搜索结果依赖于初始点和邻域结构,容易陷 入局优
为了得到好的解,可以采用的策略有(1)扩大 邻域结构,(2)变邻域结构,(3)多初始点。
-----精品文档------
14
二.禁忌搜索
1. TS的提出
http://spot.colorado.edu/~glover/
-----精品文档------
15
二.禁忌搜索
2. 构成要素
➢ 解的表达 ① 编码方法:用数学的形式来表示问题的解。 ② 初始解的产生:随机产生或者采用启发式方 法产生一个可行解。 ③ 适值函数C(x)的构造:往往直接将目标函数 f(x)作为适值函数。

-----精品文档------
8
一.导言
2. 局域搜索 ➢ 局域搜索算法过程
➢ STEP 1
选定一个初始可行解x0,记录当前最优解xbest:=x0, T=N(xbest);
➢ STEP 2 当T\{xbest}=Φ时,或满足其他停止运算准则时,输出 计算结果,停止运算;否则,从T中选一集合S,得 到S中的最好解xnow;若f (xnow)<f(xbest),则xbest := xnow ,T=N(xbest);否则T:=T\S;重复STEP 2。
-----精品文档------
16
二.禁忌搜索
2. 构成要素
➢ 邻域及邻域移动 ① 定义邻域移动s,例如,在函数优化问题中邻 域移动可以定义为给定步长和移动方向;在 组合优化问题中邻域移动可以定义为某种排 练序列置换。 ② 邻域是由当前解x及其通过定义的邻域移动能 够达到的所有解构成的集合。
注意:移动的意义是灵活的,目的是便于搜索。
素按一定规则互换。
邻域的构造依赖于解的表示,邻域的结构 在智能优化算法中起重要的作用。
-----精品文档------
6
练习
定义邻域移动为:位值加1或减1 对整数编码[ 2 2 3 5 3],下列编码是否在其邻 域内:
[2 3 3 5 3]

[2 2 3 4 3]

[2 3 2 5 3]

[2 2 2 5 3]
,(ABDCE),(ABEDC),(ABCED)}, 对应目标函数为f(x)={45, 43, 45, 60, 60, 59, 44}
xbest:=xnow=(ACBDE)
ABCDE
-----精品文档------
11
一.导言
2. 局域搜索
➢ 示例 方法:全邻域搜索 第2步 N(xbest)={(ACBDE),(ABCDE),(ADBCE),(AEBDC)
第三章 禁忌搜索
-----精品文档------
1
第三章 禁忌搜索
一.导言 二.禁忌搜索 三. TS举例 四. TS中短、中、长期表的使用 五.学习TS的几点体会
-----精品文档------
2
1. 问题描述
一.导言
min f (x) s .t . g(x) 0
xX
目标函数 约束条件 定义域
注:X为离散点的集合,TS排斥实优化
例如:x=(1,2,3,4),
来自百度文库
则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个元

[2 2 3 5 5]

[2 2 3 4 4]

-----精品文档------
7
练习
定义邻域移动为:2-Opt 对顺序编码[ 4 2 3 5 1],下列编码是否在其邻 域内:
[4 3 2 5 1]

[5 2 3 4 1]

[4 3 5 1 2]

[1 2 3 5 4]

[4 3 3 5 1]

[3 4 2 5 1]
-----精品文档------
4
一.导言
2. 局域搜索
➢ 邻域的概念 例:TSP问题解的一种表示方法为D={x=(i1,i2,…,in)|
i1,i2,…,in是1,2,…,n的排列},定义它的邻域映射为 2-opt,即x中的两个元素进行对换,N(x)中共包含x 的Cn2=n(n-1)/2个邻居和x本身。
,(ACDBE),(ACEDB),(ACBED)}, 对应目标函数为f(x)={43, 45, 44, 59, 59, 58, 43}
xbest:=xnow=(ACBDE)
-----精品文档------
12
一.导言
2. 局域搜索
➢ 优劣性 ① 通用易实现,易于理解 ② 搜索结果依赖于初始点和邻域结构,容易陷 入局优
-----精品文档------
9
一.导言
2. 局域搜索
➢ 示例 例:五个城市的对称TSP问题
初始解为xbest=(ABCDE),f(xbest)=45,定义邻域映射
为对换两个城市位置的2-opt,选定A城市为起点。
-----精品文档------
10
一.导言
2. 局域搜索
➢ 示例 方法:全邻域搜索 第1步 N(xbest)={(ABCDE),(ACBDE),(ADCBE),(AECDB)
相关文档
最新文档