禁忌搜索算法

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

tabusearch*禁忌搜索算法测控二班高钊政201424080217禁忌搜索禁忌搜索概述禁忌搜索的主要思路禁忌搜索的流程栗子禁忌搜索算法概述禁忌——禁止重复前面的操作禁忌搜索(TabuSearch)算法是一种亚启发式(meta-heuristic)随机搜索算法,它从一个初始可行解出发,选择一系列的特定搜索方向(移动)作为试探,选择实现让特定的目标函数值变化最多的移动。为了避免陷入局部最优解,TS搜索中采用了一种灵活的“记忆”技术,对已经进行的优化过程进行记录和选择,指导下一步的搜索方向,这就是Tabu表的建立为了找到“全局最优解”,就不应该执着于某一个特定的区域。局部搜索的缺点就是太贪婪地对某一个局部区域以及其邻域搜索,导致一叶障目,不见泰山。禁忌搜索就是对于找到的一部分局部最优解,有意识地避开它(但不是完全隔绝),从而获得更多的搜索区间。禁忌搜索算法的主要思路1、在搜索中,构造一个短期循环记忆表-禁忌表,禁忌表中存放刚刚进行过的|T|(T称为禁忌表)个邻居的移动,这种移动即解的简单变化。2、禁忌表中的移动称为禁忌移动。对于进入禁忌表中的移动,在以后的|T|次循环内是禁止的,以避免回到原来的解,从而避免陷入循环。|T|次循环后禁忌解除。3、禁忌表是一个循环表,在搜索过程中被循环的修改,使禁忌表始终保持|T|个移动。4、即使引入了禁忌表,禁忌搜索仍可能出现循环。因此,必须给定停止准则以避免出现循环。当迭代内所发现的最好解无法改进或无法离开它时,算法停止。兔子们找到了泰山,它们之中的一只就会留守在这里,其他的再去别的地方寻找。就这样,一大圈后,把找到的几个山峰一比较,珠穆朗玛峰脱颖而出。当兔子们再寻找的时候,一般地会有意识地避开泰山,因为他们知道,这里已经找过,并且有一只兔子在那里看着了。这就是禁忌搜索中“禁忌表(tabulist)”的含义。那只留在泰山的兔子一般不会就安家在那里了,它会在一定时间后重新回到找最高峰的大军,因为这个时候已经有了许多新的消息,泰山毕竟也有一个不错的高度,需要重新考虑,这个归队时间,在禁忌搜索里面叫做“禁忌长度(tabulength)”;如果在搜索的过程中,留守泰山的兔子还没有归队,但是找到的地方全是华北平原等比较低的地方,兔子们就不得不再次考虑选中泰山,也就是说,当一个有兔子留守的地方优越性太突出,超过了“bestsofar”的状态,就可以不顾及有没有兔子留守,都把这个地方考虑进来,这就叫“特赦准则(aspirationcriterion)”。。在邻域中找到最好的解搜索陷入循环加入禁忌表,避免进入循环禁忌表长度为T:{}规则:不得接受与禁忌表中相同的解禁忌表的变化:第一步搜索时:{}第二步搜索时:{①}第三步搜索时:{①,②}第四步搜索时:{①,②,③}.....避免陷入循环原理:当解为④时,邻域最优解为①,下一步原本应该为①,但禁忌表中存在①,所以选择次好的⑤,从而避免循环特赦(藐视)准则(aspirationcriterion)1)基于评价的规则,若出现一个解的目标值好于前面任何一个最佳候选解,可特赦。2)基于最小错误的规则,若所有对象都被禁忌,则特设一个评价最优的解3)基于影响力的大小,可特赦一个对目标值影响大的对象停止规则:算法在何种条件下停止1)把最大迭代数作为停止算法的标准2)在给定数目的迭代内所发现的最好解无法改进或者无法离开时,算法停止3)最优解的目标函数小于指定误差4)最优解的禁忌频率达到指定值禁忌搜索算法的步骤例子:四城市非对称TSP问题,始,终点都为A第一步,假设禁忌长度为3例子:四城市非对称TSP问题,始,终点都为A第二步例子:四城市非对称TSP问题,始,终点都为A第三步例子:四城市非对称TSP问题,始,终点都为A第四步例子:四城市非对称TSP问题,始,终点都为A若禁忌长度减少1,第四步例子:四城市非对称TSP问题,始,终点都为A第五步例子:四城市非对称TSP问题,始,终点都为A第六步谢谢thanks

1 / 19
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功