禁忌搜索(TS——Tabu Search)与邻域搜索基础知识

54 篇文章 7 订阅
订阅专栏
22 篇文章 30 订阅
订阅专栏

禁忌搜索,也是一种常见的邻域搜索算法。其实我觉得很多智能算法本质都是邻域搜索(本质是局部搜索)算法。只不过邻域的应用方式不同,是全局式的邻域搜索算法。比如,局部搜索中最经典的是“爬山算法”。但是会陷入局部最优。

禁忌搜索,比较适合解决大规模问题。本质思想是,在极值附近设置禁忌(暂时不许进入)的标识,以达到多多的遍历可行域,保证种群多样性的目的。由美国科罗拉多大学教授Fred Glover在1986年左右提出的,是一个用来跳脱局部最优解的搜索方法。其先创立一个初始化的方案;基于此,算法“移动”到一相邻的方案。经过许多连续的移动过程,提高解的质量。

主要特点:(1)基本思想——避免在搜索过程中的循环;(2)只进不退的原则,通过禁忌表实现;(3)不以局部最优作为停止准则;(4)邻域选优的规则模拟了人类的记忆功能。

禁忌搜索算法的特点是采用了禁忌技术。所谓禁忌就是禁止重复前面的工作。禁忌搜索算法用一个禁忌表记录下已经到达过的局部最优点,在下一次搜索中,利用禁忌表中的信息不再或有选择地搜索这些点。 禁忌搜索算法实现的技术问题是算法的关键。禁忌搜索算法涉及侯选集合、禁忌 对象、评价函数、特赦规则、记忆频率信息等概念。

下面这幅图比较形象:

在这里插入图片描述

1.邻域即我们常规理解的邻域;邻域移动又被称为“算子”。

2.候选解:即通过邻域生成一定数量的解,也就是一部分邻域,可以是选择最优的邻域,也可以是随机选择邻域;

3.评价函数:一般是目标函数

4.特赦/破禁规则(Aspiration Criterion):为了避免陷入局部最优而特有的。迭代的某一步会出现候选集的某一个元素被禁止搜索,但是若解禁该元素,则会使评价函数有所改善,因此我们需要设置一个特赦规则,当满足该条件时该元素从禁忌表中跳出。

破禁准则是对于禁忌表的适度放松。当某个被禁忌的移动可得到优于未被禁忌的移动得到的最优邻域解和历史所得到的最优解时,算法应接受该移动,不受禁忌表的限制

5.最最重要的:禁忌表,tabu_list,防止搜索出现循环。一般情况下是其过一段时间(禁忌长度)后自动消失,这里我们可以理解为“折旧“。

禁忌表的主要指标(两项指标)

(1)禁忌对象:禁忌表中被禁的对象/元素

(2)禁忌长度:禁忌的步数(对象的禁忌在多少次迭代后失效)。

禁忌表是禁忌搜索算法的核心,禁忌表的对象、步长及更新策略在很大程度上影响着搜索速度和解的质量。若禁忌对象不准确或者步长过小,算法避免陷入局部最优的能力会大打折扣;若禁忌表步长过大,搜索区域将会限制,好的解就可能被跳过。

6.邻居选择策略(Neighbor Selection Strategy):选择最佳邻域移动的规则。

目前最广泛采用的是“最好解优先策略”及“第一个改进解优先策略”。前者需比较所有邻域,耗时较久,但解的收敛更有效;后者在发现第一个改进解就进行转移,耗时较少,但收敛效率弱于前者,对于邻域解空间较大的问题往往比较适合。

备注:

1.邻域的相关知识

邻域生成

邻域其实就是在邻域结构定义下的解的集合,比如在图2中s1-s6等构成的集合就是s的邻域。它是一个相对的概念,即邻域肯定是基于某个解(通常是初始解)产生的,比如当前解s的邻域,最优解s_b的邻域等。

邻居解是邻域内某个解的称呼。比如在图2中,解s1-s6及其该邻域中任意一个解都可以称为解s的邻居解。很好理解对吧~

邻域结构定义了一个解的邻域,就像图1中血缘关系定义了你的家人集合一样。可能大家对生活中的例子都有一个比较感性的认识,但对于启发式中的就觉得比较抽象。

启发式算法中常见的邻域结构是交换swap,插入insert...

邻域结构的设计在启发式算法中非常重要,它直接决定了搜索的范围,对最终的搜索结构有着重要的影响。邻域结构的设计直接决定了最终结果质量的好坏。

2.搜索过程

STEP1:初始解生成

因为邻域是基于一个解生成的,要想进行邻域搜索,得先有一个解。所以首先要做的,当然是生成初始解。

一般初始解都采用构造法进行生成,比如随机构造,之前讲的贪心构造等。

STEP2:邻域生成
有了初始解,接下来就可以根据所定义的邻域结构生成邻域。

STEP3:评价
有了邻域,即要搜索的局部已经确定下来,我们是就要开始进去寻找自己想要的东西了。

评价就是在解的邻域范围内对邻居解进行评价,然后选出需要的邻居解进行“移动”。一般而言,有两种评价的模式:

(1)first improve:首次提升原则,即在邻域内对解一一进行评价,一旦发现比当前解更优的邻居解立马进行“移动”。

(2)best improve:最优提升原则,遍历整个邻域,找出最好的邻居解进行“移动”。

STEP4:移动
移动就是当前解变换到刚刚评价选择的邻居解的过程。初始解在其邻域内找到了一个更好的邻居解,然后移动过去了,如下图所示:

STEP5:记录全局最优解
如果当前解比全局最优解还要优,那么更新全局最优解。

接下来就是不断重复STEP2-STEP5,直到满足终止条件,最后输出全局最优解。

(1)如果算法足够优秀加上运气好的话,最后找到全局最优是没有问题的。

(2)假如设计有问题,或者是问题结构原因,就会导致陷入局部最优。

3.假如已经是邻域最优

上述搜索过程中:STEP3:评价。当我们以first improve或者best improve对当前解的邻居进行评价时,通常的做法是找到比当前解要好的邻居解进行移动。

但往往出现的情况是当前解的邻域中并不存在更优的邻居解,如下图:

初始解即生成在了一个局部最优上面,这时候我们通常选择邻域中一个最好的邻居解进行移动(尽管它比当前解还要差),如果不这样做那就彻底陷入局部最优了。

但是这样做还有可能发生一个问题,它在兜兜转转移来移去结果又给移回去了:

这种情况也可以认为是陷入了局部最优,通常的判断条件就是经过多次邻域搜索依旧没有得到很好的improve。这种情况怎么办呢?当然是“跳一跳”(shake),如下:

这种“跳一跳”在启发式中被称为shake或者perturbation,中文称之为扰动。是跳出局部最优一个非常有效的做法。

通常的实现方式是利用随机或者其他方式,对当前解进行重组,使其结构发生较大的改变。或者直接抛弃当前解,重新生成一个解进行后续的邻域搜索。

4.随机因素

随机因素是启发式算法的一大特色。因为无法判断搜索“区域”的好坏,我们一般会随机进行选择搜索,比如初始解的生成就有很多种可能性。

每一个初始解对应的邻域不同,搜索的路径就不同。但通常经过优化,各个初始解基本都能收敛到一个比较接近的水平。

同时,shake也是一个随机过程:

5.基于邻域的局部搜索算法伪代码

禁忌搜索算法
talkAC的博客
11-20 3350
禁忌搜索算法(Tabu Search or Taboo Search,TS)是一种迭代搜索算法,靠记忆来引导算法搜索过程。 1 算法原理 主要包含2个方面:局部领域搜索禁忌搜索,在领域搜索的基础上,通过禁忌准则来避免重复搜索,通过藐视准则来赦免一些被禁忌的优良状态,以实现全局优化。 1.1 局部领域搜索 局部领域搜索是基于贪婪准则持续在当前的领域中进行搜索,找到局部最优解。大致方法是选定一个可行解,并产生领域解集,逐一比较和的目标值,选出最优解更新,直到找不到更优为止,记为。 1.2 禁忌搜索
Tabu Search》 扫描版
02-23
禁忌搜索算法发明者Glover于1997年写的书,大力推荐!
禁忌搜索TS
03-02
禁忌搜索是对局部领域搜索的一种扩展,是一种全局逐步寻优算法搜索过程可以接受劣解,有较强的爬山能力。
提高邻域搜索效率
qq_39289735的博客
11-28 778
分享学术大牛vidal在解决CVRP(Capacitated vehicle routing problem)问题时通过改进解的表示以及搜索框架两个方面提升邻域搜索效率的方法。
LNS 大规模邻域搜索解决VRPTW问题
最新发布
m0_62281625的博客
03-13 1064
LNS(Large Neighborhood Search)是一种启发式算法,用于解决组合优化问题。它是基于局部搜索的思想,但与传统的局部搜索算法不同,LNS通过在搜索过程中采用大规模变动来跳出局部最优解,并在此基础上进行小规模搜索以逐步改进当前解。LNS算法通过动态调整搜索策略和操作选择来逐步改进当前解,以便在搜索空间中寻找更好的解决方案。它灵活适用于各种组合优化问题,并且通常能够在合理的时间内找到较好的解决方案。LNS实质上是通过交替使用两个方法逐步改善初始解。
邻域搜索(Neighborhood Search ,NS)、大邻域搜索(Large NS , LNS)和自适应大邻域搜索(Adaptive LNS, ALNS)算法的联系与区别
再来一下!
10-10 1957
邻域搜索算法、大邻域搜索算法和自适应大邻域搜索算法是一类用于求解组合优化问题的算法,它们在搜索问题解空间时有一些联系和区别。这些算法使用不同的策略来生成邻域解,并选择改进的解进行移动。自适应大邻域搜索算法结合了邻域搜索和大邻域搜索的思想,并具备自适应性,即根据问题的特性动态地调整搜索策略。自适应大邻域搜索算法试图在不同阶段充分利用大邻域的优势,同时避免因搜索空间过大而导致搜索难度增加的问题。大邻域搜索算法邻域搜索算法类似,但它更加聚焦于探索更大规模的邻域,通常会涉及到更多的解的改变。
禁忌搜索算法TS
太可惹的博客
08-03 3104
禁忌搜索是著名的启发式搜索算法。所谓禁忌,就是禁止重复前面的操作。为了改进局部邻域搜索容易陷入局部最优点的不足,禁忌搜索算法引入一个禁忌表,记录下已经搜索过的局部最优点,在下一次搜索中,对禁忌表中的信息不再搜索或有选择地搜索,以此来跳出局部最优点,从而最终实现全局优化。禁忌搜索算法是对局部邻域搜索的一种扩展,是一种全局邻域搜索、逐步寻优的算法。另外,为了尽可能不错过产生最优解的“移动”,禁忌搜索还采用“特赦准则”的策略。
禁忌搜索算法(Tabu Search)的基本原理与算法流程总结
热门推荐
Chauncy的博客
03-30 4万+
1、禁忌搜索的基本原理 1、TS的要素构成 禁忌表(Tabu List) 渴望水平函数 移动准则——邻域选优 选优准则——保持历史上的最优解 停止准则——与GA类似 2、禁忌搜索的特点 禁忌搜索适用于离散优化,不适合实优化 局部邻域搜索:贪婪、持续在当前的邻域搜索,直至领域中没有更好的解 3、关键步骤 邻域搜索:就是从一个解移动到另外一个解 邻域的概念:x的邻域移动为s=x+uds=x...
禁忌搜索算法详解(含算法示例)
freeline的博客
11-04 2万+
禁忌搜索算法,含有算法示例,可以更好的理解该算法的过程
禁忌搜索(Tabu Search)原理梳理和应用细节-附求解VRPTW问题C++代码
dragon Fly的博客
07-26 1798
文章目录1、禁忌搜索(TS)的相关概念1.1 搜索空间(search space)1.2 邻域结构(neighborhood structure)1.3 禁忌表(tabu)1.4 解禁标准(Aspiration criteria)2、禁忌搜索(TS)的算法框架2.1 终止准则3、禁忌搜索(TS)的分散搜索机制(Diversification)3.1 重启分散法(Restart diversification)3.2 连续分散法(Continuous diversification)3.3 战略震荡(Stra
禁忌搜索Tabu Search算法及matlab实现(非旅行商(TSP)例子)
JXC_chenxi的博客
07-02 5870
最近在自学智能算法,学到禁忌搜索算法时,发现无论是寻找到的相关教材还是CSDN博客中,对于禁忌搜索问题大多是以旅行商城市旅行路径最短为例来讲述的,就产生一种禁忌搜索算法只能对TSP类型的问题进行优化,显而易见,这是一种粗浅的认识。 任何智能算法都是一种寻找目标最优的独特思想,也就是说任何一种智能算法在适当设置参数和编写代码后都可以解决各类问题,只是存在这种算法解决这类问题的难易罢了。 当你读到这篇文章时,如果你还完全不了解禁忌搜索算法,可以先看看相关禁忌搜索文献或者CSDN里其他博主关于禁忌搜索的博客,
禁忌搜索算法Tabu Search代码复现【Python
12-13
禁忌搜索(Tabu Search, TS)是属于模拟人类智能的一种优化算法。 基本流程:禁忌搜索算法在初始化的时候,在搜索空间随机生成一个初始解 i,禁忌表H置空,当前解i记为历史最优解 s,然后进入迭代的搜索过程。在每一...
禁忌搜索算法(禁忌算法)+蚁群算法
04-27
禁忌搜索算法+蚁群算法,两种算法的融合解决矩形排样
TS.rar_tabu search_禁忌搜索_禁忌搜索法_禁忌搜索算法
09-23
法禁忌(Tabu Search算法是一种亚启发式(meta-heuristic)随机搜索算法,用于求最优解
禁忌搜索Tabu Search.rar
06-18
禁忌搜索Tabu SearchTS,又称禁忌搜寻法)是一种现代启发式算法,由美国科罗拉多大学教授Fred Glover在1986年左右提出的,是一个用来跳脱局部最优解的搜索方法。其先创立一个初始化的方案;基于此,算法“移动”...
myTabuSearch.rar_tabu search tsp _tsp 禁忌搜索
07-15
使用禁忌搜索法求解大规模TSP问题 点数达到500以上,内涵2分测试数据,供大家使用。还支持TSPLIB95国际标准测试数据。不足之处恳请广大网友批评者正
TS.rar_local search _tabu search_ts算法_搜索_算法代码
09-21
禁忌搜索算法源代码,对局部邻域搜索的一种扩展,搜索过程中采用禁忌准则,即不考虑处于禁忌状态的解,标记对应已搜索的局部最优解的一些对象,在进一步迭代搜索中尽量避开这些对象,避免迂回搜索,从而保证对不同的...
禁忌搜索算法总结
NULL的博客
02-04 1万+
禁忌搜索算法简介 禁忌搜索Tabu SearchTS)是一种现代启发式算法,由美国科罗拉多大学教授Fred Glover在1986年左右提出的,是一个用来跳脱局部最优解的搜索方法。 算法基于局部搜索算法改进而来,通过引入禁忌表来克服局部搜索算法容易陷入局部最优的缺点,具有全局寻优能力。 局部搜索算法 局部搜索算法从一个初始解开始,通过邻域动作,产生其邻居解,判断邻居解的质量,根据某种策略,来选...
禁忌搜索算法-关键操作与原则
Zachery的博客
04-09 1199
在函数优化问题中:在解空间中,通常的邻域定义是以一点为中心的一个球体; 禁忌搜索Tabu search)是局部搜索算法的推广,禁忌是禁止重复前面的工作,有助于跳出局部最优点。
Tabu Search禁忌搜索
04-04
Tabu Search禁忌搜索)是一种启发式搜索算法,用于在大型搜索空间中优化目标函数。该算法通过维护一个“禁忌表”来避免在搜索过程中重复探索已经访问过的解。禁忌表记录了已经访问过的解以及它们的一些特征,例如它们的位置、价值和操作等。在搜索过程中,算法会优先考虑未被禁忌的解,但如果没有未被禁忌的解,则会考虑禁忌表中的解。在每次搜索迭代中,算法会对当前解进行一系列禁忌操作,例如交换两个元素的位置或者添加/删除一个元素等,以生成新的解。然后,算法会选择一个最优的新解,并将其添加到禁忌表中。禁忌搜索可以应用于许多优化问题,例如旅行商问题、装载问题和调度问题等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
88
原创
341
点赞
1766
收藏
300
粉丝
关注
私信
写文章

热门文章

  • matlab将数据写入到excel中 31889
  • latex排版参考文献引用,bibtex引用不出来的解决方法 19546
  • 分支定界方法(branch and cut,branch and price的基础) 15309
  • 线性规划LP和混合整数规划MIP基础知识 12982
  • gurobi与python应用之模型编写,注意点,及调试技巧 10980

分类专栏

  • 运筹优化理论 33篇
  • 优化算法 22篇
  • 学习思考总结 54篇
  • 备忘边角料 60篇
  • 感悟 4篇
  • 生产与运输调度 4篇
  • 数据处理及画图 9篇

最新评论

  • 逻辑benders分解

    qq_34072768: 要引用来源,说明正文中内容原创是谁

  • 两个连续变量乘积线性化——McCormick envelope近似

    又笨又懒的小菜鸡: 作者,请问推导KKT条件时,会存在连续变量相乘的约束和增广目标函数,而且对应等式的拉格朗日乘子无解,对应不等式的拉格朗日乘子只有下界,这种没有办法线性化吗

  • latex排版参考文献引用,bibtex引用不出来的解决方法

    2301_80288159: 博主,使用bibitem引用编译出来正文中出现的是[?],这是咋回事呢

  • 线性规划和对偶规划学习总结

    云湖在成长: matlab可以调用gurobi获得极值射线。我记得以前看到过类似的文章,您可以在网上找找看。

  • 线性规划和对偶规划学习总结

    hryxk: 请问可以使用matlab调用gurobi获得极值射线吗?一直没有找到相关的接口

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • 数据实验部分结果展示的角度
  • 逻辑benders分解
  • gurobi不同版本切换
2024年6篇
2023年24篇
2022年33篇
2021年21篇
2020年4篇
2019年5篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

深圳SEO优化公司昆明外贸网站设计霍邱阿里店铺运营价格张家界企业网站制作哪家好滁州网站优化衡阳营销型网站建设价格安庆百度竞价哪家好舟山企业网站设计推荐潍坊网站优化按天扣费多少钱昭通推广网站公司上饶网络营销价格衡阳英文网站建设价格咸阳SEO按效果付费多少钱固原网站优化推广公司清徐百搜标王信阳网站制作哪家好无锡设计网站萍乡百度seo绥化网站优化按天收费推荐开封网络营销报价海北网站制作价格和县seo网站优化报价广安百度竞价阿里网站制作公司林芝网站优化按天扣费推荐吉祥网站优化按天计费多少钱固原百度网站优化报价张北网站推广推荐海北建网站公司鹰潭如何制作网站价格萍乡关键词排名包年推广歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化