通用局部搜索算法之tabu搜索(转)

通用局部搜索算法之tabu搜索

设施区位及算法 2009-08-28 20:28:34 阅读49 评论0 字号:

tabu搜索算法由爬山法演变而来,又名禁忌搜索算法

禁忌搜索最重要的思想是标记对应已搜索的局部最优解的一些对象,并在进一步的

迭代搜索中尽量避开这些对象(注意不是绝对禁止循环),从而保证对不同的有效

搜索途径的探索。

关于tabu搜索的比喻——来自百度百科

兔子们找到了泰山,它们之中的一只就会留守在这里,其他的再去别的地方寻找。

就这样,一大圈后,把 找到的几个山峰一比较,珠穆朗玛峰脱颖而出。当兔子们

再寻找的时候,一般地会有意识地避开泰山,因为他们知道,这里已经找过,并

且有一只兔子 在那里看着了,这就是禁忌搜索中“禁忌表(tabu list)”的含义。

那只留在泰山的兔子一般不会就安家在那里了,它会在一定时间后重新回到找最高峰

的大军中,因为那个时候应该已经有了许多新的消息,泰山毕竟也有一个不错的高度,

需要重新考虑,这个归队时间,在禁忌搜索里面叫做“禁忌长度(tabu length)”;

如果在搜索的过程中,留守泰山的兔子还没有归队,但是找到的地方全是华北平原等

比较低的地方,兔子们就不得不再次考虑选中泰山,也就是说,当一个有兔子留守的

地方优越性太突出,超过了“best to far”的状态,就可以不顾及有没有兔子留守,都把

这个地方考虑进来,这就叫“特赦准则(aspiration criterion)”。

上述三个概念是禁忌搜索和一般搜索准则不同的地方,算法的优化也关键在这里。

简单TS算法的基本思想描述如下:

(1)给定算法参数,随机产生初始解x,置禁忌表为空。

(2)判断算法终止条件是否满足?若是,则结束算法并输出优化结果;否则,继续以下步骤。

(3)利用当前解的邻域函数产生其所有(或若干)邻域解,并从中确定若干候选解。

(4)对候选解判断特赦准则是否满足?若成立,则用满足特赦准则的最佳状态y替代x成为新的当前解,即x=y,并用与y对应的禁忌对象替换最早进入禁忌表的禁忌对象,同时用y替换“best so far”状态,然后转步骤6;否则,继续以下步骤。

(5)判断候选解对应的各对象的禁忌属性,选择候选解集中非禁忌对象对应的最佳状态为新的当前解,同时用与之对应的禁忌对象替换最早进入禁忌表的禁忌对象元素。

(6)转步骤(2)。

 

转自:

http://blog.163.com/highway_xxw/blog/static/26754625200972882834278/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值