禁忌搜索算法课件_第1页
禁忌搜索算法课件_第2页
禁忌搜索算法课件_第3页
禁忌搜索算法课件_第4页
禁忌搜索算法课件_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

禁忌搜索算法

2.1局部搜索

2.1.1邻域的概念

2.1.2局部搜索算法

2.1.3局部搜索示例

2.2禁忌搜索

2.2.1算法的主要思路

2.2.2禁忌搜索示例2.3禁忌搜索的关键参数和操作

2.3.1变化因素

2.3.2禁忌表

2.3.3其他

2.4禁忌搜索的实现与应用

2.4.130城市TSP问题(d*=423.741byDBFogel)

2.4.2基于禁忌搜索算法的系统辨识函数优化问题中

在距离空间中,通常的邻域定义是以一点为中心的一个球体;组合优化问题中

禁忌搜索算法

邻域的概念

例:

TSP问题解的一种表示方法为D={x=(i1,i2,…,in)|i1,i2,…,in是1,2,…,n的排列},定义它的邻域映射为swap,即x中的两个元素进行对换,N(x)中共包含x的Cn2=n(n-1)/2个邻居和x本身。例如: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)}禁忌搜索算法

领域的概念

例:

TSP问题解的邻域映射可由swap,推广到k-opt。邻域概念的重要性

邻域的构造依赖于移动操作(move),邻域的结构在现代优化算法中起重要的作用。禁忌搜索算法

领域的概念

算法的提出禁忌搜索(Tabusearch)是局部邻域搜索算法的推广,FredGlover在1986年提出这个概念,进而形成一套完整算法。算法的特点禁忌——禁止重复前面的工作。跳出局部最优点。/~glover/禁忌搜索算法

算法的主要思路534685671Max-cutproblem:将一个图切成2个部分(子图),2个子图之间的边数最多.

禁忌搜索算法

禁忌搜索算法示例745632110203040506070112130405-16-271函数值变化:f=5禁忌表Move:one-flipStep1:flip1

禁忌搜索算法

禁忌搜索算法示例456321132030405060701-12-13040516-27-1函数值变化:f=6禁忌表Move:one-flip7Step2:flip5

禁忌搜索算法

禁忌搜索算法示例46321122030405360701-32-1324-25-16-27-1函数值变化:f=7禁忌表Move:one-flip75Step3:flip3

禁忌搜索算法

禁忌搜索算法示例4621112033405260701-32-33-2405-36-27-3函数值变化:f=9禁忌表Move:one-flip753Step4:flip4

禁忌搜索算法

禁忌搜索算法示例621102032435160701-32-33-4405-16-27-3函数值变化:f=9禁忌表Move:one-flip7534Step5:flip6

禁忌搜索算法

禁忌搜索算法示例21102031425063701-32-13-4405-1627-1函数值变化:f=7禁忌表Move:one-flip75346Step6:flip2

禁忌搜索算法

禁忌搜索算法示例1102330415062701-1213-2405-1607-1函数值变化:f=6禁忌表Move:one-flip753462Step7:flip1

禁忌搜索算法

禁忌搜索算法示例13223040506170112-13-240516071函数值变化:f=5禁忌表Move:one-flip7534621五个城市的对称TSP问题

初始解为x=(ABCDE),f(x)=45,定义邻域映射为对换两个城市位置的swap,选定A城市为起点。局部搜索算法

领域的概念

五个城市的对称TSP问题

N(x)={(ABCDE),(ACBDE),(ADCBE),(AECDB),(ABDCE),(ABEDC),(ABCED)},对应目标函数为f(x)={45,43,45,60,60,59,44}

ABCDE禁忌搜索算法

评估的概念

四城市非对称TSP问题

初始解x0=(ABCD),f(x0)=4,邻域映射为两个城市顺序对换的swap,始、终点都是A城市。禁忌搜索算法

禁忌搜索算法示例四城市非对称TSP问题

第1步解的形式禁忌对象及长度候选解(邻域)

f(x0)=4ABCDBCDABC对换评价值CD4.5BC7.5BD8☻禁忌搜索算法

禁忌搜索算法示例四城市非对称TSP问题

第2步解的形式禁忌对象及长度候选解(邻域)

f(x1)=4.5ABDCBCDABC3对换评价值CD4.5BC3.5BD4.5☻T禁忌搜索算法

禁忌搜索算法示例四城市非对称TSP问题

第3步解的形式禁忌对象及长度候选解

f(x2)=3.5ACDBBCDAB3C2对换评价值CD8BC4.5BD7.5☻TT禁忌搜索算法

禁忌搜索算法示例四城市非对称TSP问题

第4步解的形式禁忌对象及长度候选解

f(x3)=7.5

禁忌长度的选取ACBDBCDAB23C1对换评价值CD4.5BC4.5BD3.5TTT禁忌搜索算法

禁忌搜索算法示例四城市非对称TSP问题

第4步(如果减小禁忌长度)解的形式禁忌对象及长度候选解

f(x3)=7.5ACBDBCDAB12C0对换评价值CD4.5BC4.5BD3.5☻TT禁忌搜索算法

禁忌搜索算法示例四城市非对称TSP问题

第5步解的形式禁忌对象及长度候选解

f(x4)=4.5ADBCBCDAB01C2对换评价值CD7.5BC8BD4.5☻TT禁忌搜索算法

禁忌搜索算法示例四城市非对称TSP问题

第6步解的形式禁忌对象及长度候选解

f(x5)=8ADCBBCDAB20C1对换评价值CD3.5BC4.5BD4☻TT禁忌搜索算法

禁忌搜索算法示例禁忌表的主要指标(两项指标)禁忌对象:禁忌表中被禁的那些变化元素禁忌长度:禁忌的步数状态变化(三种变化)解的简单变化解向量分量的变化目标值变化

禁忌搜索算法

禁忌搜索的关键参数和操作解的简单变化

禁忌搜索算法

禁忌搜索的关键参数和操作向量分量的变化

设原有的解向量为(x1,…,xi-1,xi,xi+1,…,xn),向量分量的最基本变化为

(x1,…,xi-1,xi,xi+1,…,xn)→(x1,…,xi-1,yi,xi+1,…,xn)

即只有第i个分量发生变化。也包含多个分量变化的情形。禁忌搜索算法

禁忌搜索的关键参数和操作目标值的变化

目标值的变化隐含着解集合的变化。禁忌搜索算法

禁忌搜索的关键参数和操作禁忌对象的选取

情况1:禁忌对象为简单的解变化

禁忌长度为4,从swap邻域中选出最佳的5个解组成候选集Can_N(xnow),初始解xnow=x0=(ABCDE),f(x0)=45,H={(ABCDE;45)}。禁忌搜索算法

禁忌表禁忌对象的选取

情况1:禁忌对象为简单的解变化第1步——

xnow=(ABCDE),f(xnow)=45,H={(ABCDE;45)}Can_N(xnow)={(ACBDE;43),(ABCDE;45),(ADCBE;45),(ABEDC;59),(ABCED;44)}

xnext=(ACBDE)禁忌搜索算法

禁忌表禁忌对象的选取

情况1:禁忌对象为简单的解变化第2步——

xnow=(ACBDE),f(xnow)=43,H={(ABCDE;45),(ACBDE;43)}Can_N(xnow)={(ACBDE;43),(ACBED;43),(ADBCE;44),(ABCDE;45),(ACEDB;58)}。

xnext=(ACBED)禁忌搜索算法

禁忌表禁忌对象的选取

情况1:禁忌对象为简单的解变化第3步——

xnow=(ACBED),f(xnow)=43,H={(ABCDE;45),(ACBDE;43),(ACBED;43)}Can_N(xnow)={(ACBED;43),(ACBDE;43),(ABCED;44),(AEBCD;45),(ADBEC;58)}。

xnext=(ABCED)禁忌搜索算法

禁忌表禁忌对象的选取

情况1:禁忌对象为简单的解变化第4步——

xnow=(ABCED),f(xnow)=44,H={(ABCDE;45),(ACBDE;43),(ACBED;43),(ABCED;44)}Can_N(xnow)={(ACBED;43),(AECBD;44),(ABCDE;45),(ABCED;44),(ABDEC;58)}。

xnext=(AECBD)禁忌搜索算法

禁忌表禁忌对象的选取

情况1:禁忌对象为简单的解变化第5步——

xnow=(AECBD),f(xnow)=44,H={(ACBDE;43),(ACBED;43),(ABCED;44),(AECBD;44)}Can_N(xnow)={(AEDBC;43),(ABCED;44),(AECBD;44),(AECDB;44),(AEBCD;45)}。

xnext=(AEDBC)禁忌搜索算法

禁忌表禁忌对象的选取

解的简单变化比解的属性变化和目标值变化的受禁范围要小,可能造成计算时间的增加,但也给予了较大的搜索范围;属性的变化和目标值变化的禁忌范围大,减少了计算时间,可能错过很多质量很高的解。禁忌搜索算法

禁忌表禁忌长度的选取

(1)t可以为常数,易于实现;(2),t是可以变化的数,tmin和tmax是确定的。

tmin和tmax根据问题的规模确定,t的大小主要依据实际问题、实验和设计者的经验。(3)tmin和tmax的动态选择。禁忌搜索算法

禁忌表禁忌长度的选取禁忌长度过短,一旦陷入局部最优点,出现循环无法跳出;禁忌长度过长,造成很多质量很高的解禁止访问,也可能造成计算无法继续下去。禁忌搜索算法

禁忌表特赦(藐视)原则(1)基于评价值的规则,若出现一个解的目标值好于前面任何一个最佳候选解,可特赦;(2)基于最小错误的规则,若所有对象都被禁忌,特赦一个评价值最小的解;(3)基于影响力的规则,可以特赦对目标值影响大的对象。禁忌搜索算法

禁忌表评价函数(1)直接评价函数,通过目标函数的运算得到评价函数;(2)间接评价函数,构造其他评价函数替代目标函数,应反映目标函数的特性,减少计算复杂性。禁忌搜索算法

评价函数记忆频率信息根据记忆的频率信息(禁忌次数等)来控制禁忌参数(禁忌长度等)。例如:如果一个元素或序列重复出现或目标值变化很小,可增加禁忌长度以避开循环;如果一个最佳目标值出现频率很高,则可以终止计算认为已达到最优值。禁忌搜索算法

禁忌表终止规则(1)确定步数终止,无法保证解的效果,应记录当前最优解;(2)频率控制原则,当某一个解、目标值或元素序列的频率超过一个给定值时,终止计算;(3)目标控制原则,如果在一个给定步数内,当前最优值没有变化,可终止计算。禁忌搜索算法

终止规则TSPBenchmark问题

4194;3784;5467;2562;764;299;6858;7144;5462;8369;6460;1854;2260;8346;9138;2538;2442;5869;7171;7478;8776;1840;1340;827;6232;5835;4521;4126;4435;450禁忌搜索算法

30个城市TSP问题禁忌搜索算法

30个城市TSP问题-----算法流程初始条件禁忌长度为50

从swap邻域中选最好候选解来替代当前解终止步数2000禁忌搜索算法

30个城市TSP问题-----参数设置运行过程

禁忌搜索算法

30个城市TSP问题-----运行过程运行过程

禁忌搜索算法

30个城市TSP问题-----运行过程运行过程

禁忌搜索算法

30个城市TSP问题-----运行过程运行过程

禁忌搜索算法

30个城市TSP问题-----运行过程运行过程

禁忌搜索算法

30个城市TSP问题-----运行过程运行过程

禁忌搜索算法

30个城市TSP问题-----运行过程运行过程

禁忌搜索算法

30个城市TSP问题-----运

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论