设为首页 - 加入收藏
广告 1000x90
您的当前位置:二四六天天好彩308K文字资料 > 博弈树搜索 > 正文

【算法】变邻域搜索算法(Variable Neighborhood SearchVNS)超详

来源:未知 编辑:admin 时间:2019-07-01

  虽然之前做的很多篇启发式的算法都有跟大家提过局部搜索这个概念,为了加深大家的印象,在变邻域主角登场之前还是给大家科普一下相关概念。热热身嘛~

  官方一点:局部搜索是解决最优化问题的一种启发式算法。对于某些计算起来非常复杂的最优化问题,比如各种NP完全问题,要找到最优解需要的时间随问题规模呈指数增长,因此诞生了各种启发式算法来退而求其次寻找次优解,是一种近似算法(Approximate algorithms),以时间换精度的思想。局部搜索就是其中的一种方法。

  通俗一点:局部搜索算法是对一类算法的统称,符合其框架的算法很多,比如之前公众号推文中介绍的爬山法、模拟退火法和禁忌搜索算法都属于局部搜索算法。尽管各个算法在优化过程中的细节存在差异,但在优化流程上呈现出很大的共性。

  其中前两个要素的定义和算法要解决的特定问题有关,而且不同的人对同一问题可能有完全不同的定义。后三个要素定义的不同则会产生各种不同的局部搜索算法,而它们的效率和最终解的质量也会有很大的差异。

  对上面的局部搜索有一定的印象以后,理解变邻域搜索也不难了。其实说白了,变邻域搜索算法(VNS)就是一种改进型的局部搜索算法。它利用不同的动作构成的邻域结构进行交替搜索,在集中性和疏散性之间达到很好的平衡。其思想可以概括为“变则通”。

  大家别急,下面我们将会对这两个部分进行分析。然后,before that……

  官方一点:所谓邻域,简单的说即是给定点附近其他点的集合。在距离空间中,邻域一般被定义为以给定点为圆心的一个圆;而在组合优化问题中,邻域一般定义为由给定转化规则对给定的问题域上每结点进行转化所得到的问题域上结点的集合。

  通俗一点:邻域就是指对当前解进行一个操作(这个操作可以称之为邻域动作)可以得到的所有解的集合。那么邻域的本质区别就在于邻域动作的不同了。

  邻域动作是一个函数,通过这个函数,对当前解s,产生其相应的邻居解集合。例如:对于一个bool型问题,其当前解为:s = 1001,当将邻域动作定义为翻转其中一个bit时,得到的邻居解的集合N(s)={0001,1101,1011,1000},其中N(s) ∈ S。同理,当将邻域动作定义为互换相邻bit时,得到的邻居解的集合N(s)={0101,1001,1010}。

  之前我们把局部搜索比喻作爬山的过程,那么每变换一次邻域,也可以理解为切换了搜索的地形(landscape)。效果如下 :

  其实呀,这玩意儿。说白了就是一个扰动算子,类似于邻域动作的这么一个东西。通过这个算子,可以产生不同的邻居解。虽然名词很多看起来很高大上,扰动、抖动、邻域动作这几个本质上还是没有什么区别的。都是通过一定的规则,将一个解变换到另一个解而已。这里读者还是抓其本质,不要被表象所迷惑了就好。

  在综合了前面这么多的知识以后,VNS的过程其实非常简单。可以描述为以下几步:

  欲获取代码,请关注我们的微信公众号【程序猿声】,在后台回复:VNS代码。即可获取。

  00前言上次变邻域搜索的推文发出来以后,看过的小伙伴纷纷叫好。小编大受鼓舞,连夜赶工,总算是完成了手头上的一份关于变邻域搜索算法解TSP问题的代码。今天,就在此给大家双手奉上啦,希望大家能ENJOY哦...博文来自:infinitor的博客

  1VariableNeighborhoodSearch(VNS)介绍  变邻域搜索算法(VNS)就是一种改进型的局部搜索算法。它利用不同的动作构成的邻域结构进行交替搜索,在集中性和疏散性之间达到很好的...博文来自:weixin_34302561的博客

  粒子群算法基本思想   正如简介所描述的那样,粒子群算法是模拟群体智能所建立起来的一种优化算法,像后面我向大家介绍的蚁群算法也属于这类算法,粒子群算法可以用鸟类在一个空间内随机觅食为例,所有的鸟都不知...博文来自:E_ROAD_BY_U的博客

  先说一下局部搜索:局部搜索是解决最优化问题的一种启发式算法。对于某些计算起来非常复杂的最优化问题,比如各种NP完全问题,要找到最优解需要的时间随问题规模呈指数增长,因此诞生了各种启发式算法来退而求其次...博文来自:徐奕的专栏

  #13; 喜欢的话可以扫码关注我们的公众号哦,更多精彩尽在微信公众号【程序猿声】00目录局部搜索再次科普变邻域搜索造轮子写代码01局部搜索科普三连虽然之前做的很多篇启发式的算法都有跟大家...博文来自:infinitor的博客

  禁忌搜索算法简介禁忌搜索(TabuSearch,TS)是一种现代启发式算法,由美国科罗拉多大学教授FredGlover在1986年左右提出的,是一个用来跳脱局部最优解的搜索方法。算法基于局部搜索算法改...博文来自:NULL的博客

  一、语言是最重要的基本功无论侧重于什么方面,只要是通过计算机程序去最终实现的竞赛,语言都是大家要过的第一道关。亚洲赛区的比赛支持的语言包括C/C++与JAVA。笔者首先说说JAVA,众所周知,作为面向...博文来自:蓦然回首

  01首先来区分几个概念关于neighborhoodserach,这里有好多种衍生和变种出来的胡里花俏的算法。大家在上网搜索的过程中可能看到什么LargeNeighborhoodSerach,也可能看到...博文来自:weixin_33738982的博客

  原文来源:局部搜索算法-JiePro-博客园局部搜索算法目录:1、数学定义2、过程描述3、算...博文来自:luolang_103的博客

  仅基于用户行为数据的推荐算法是协同过滤算法,应用最广的是基于邻域的算法。是基于统计的方法。大体分为两种,一是基于用户的协同过滤算法,二是基于物品的协同过滤算法。一、基于用户的协同过滤算法(已被应用于邮...博文来自:Anomynous的博客

  搜索算法(篇二)1.局部搜索算法的统一框架​局部搜索算法是对一类算法的统称,符合其框架的算法很多,比如搜索算法(篇一)中提到的爬山法、模拟退火法和禁忌搜索算法都属于局部搜索算法。尽管各个算法在优化过程...博文来自:zt_xcyk的专栏

  上一次我们说了人脸识别算法-特征脸方法(Eigenface)及python实现,在这一次,我们来看一看LBP算法。相比于特征脸方法,LBP的识别率已经有了很大的提升。在这里,我们用的数据库和上次一样,...博文来自:不要说话的博客

  对于一个n*n的矩阵,相邻两个数字相同称他们为相通(不包括斜线方向),现在随机选择一点,请设计一个算法来搜索所有与此点直接和间接相通的点序列。 1 1 1 1 1 1 1 1 1 1 1 1 2 2论坛

  代码自适应大邻域搜索系列之(7)-局部搜索LocalSearch的代码解析 前言好了小伙伴们我们又见面了,咳咳没错还是我。不知道你萌接连被这么多篇代码文章刷屏是什么感受,不过,酸爽归...博文来自:infinitor的博客

  有趣的描述:“袋鼠蹦跳”既然我们把函数曲线理解成一个一个山峰和山谷组成的山脉。那么我们可以设想所得到的每一个解就是一只袋鼠,我们希望它们不断的向着更高处跳去,直到跳到最高的山峰。所以求最大值的过程就转...博文来自:weixin_39306971的博客

  本文的最新版本位于:转载请注明出处:参...博文来自:weixin_33994444的博客

  禁忌搜索算法(Tabusearch)对禁忌搜索算法TS的思想做一个归纳总结。一、禁忌搜索算法的基础:局部领域搜索  局部领域搜索,又称爬山启发式算法。从当前的节点开始,和周围的邻居节点的值进行比较。如...博文来自:Tatianas SA

  基于贪心策略、邻域搜索和遗传算法的设施分配优化问题算法概论期末项目文章目录基于贪心策略、邻域搜索和遗传算法的设施分配优化问题摘要1.导言问题重述贪心算法邻域搜索遗传算法2.实验过程问题编码代价函数数据...博文来自:zhangshanfeng_的博客

  禁忌搜索(TabuSearch)算法解决及python实现禁忌搜索(TabuSearch,TS,又称禁忌搜寻法)是一种现代启发式算法,由美国科罗拉多大学教授FredGlover在1986年左右提出的,...博文来自:adkjb的博客

  GRASP,这个算法的名字取得真好。GRASP在许多组合优化问题中都有应用。GRASP是一个多起点的迭代过程,每一次迭代由两个阶段组成:一是产生可行解的构造阶段;二是寻找局部最优解的局部搜索阶段。如果...博文来自:-绿色小屋

  周六花了一天的时间把这本书看完了,对宋朝的历史有了一个基本的了解。感觉宋朝的战争史就是一部屈辱史,貌似是石敬瑭割让给辽燕云十六州之后,中原再无险可守,一直处于少数民族的铁蹄之下,从北宋太祖建国,到徽,...博文来自:weixin_33885253的博客

  上一篇降维算法的相关论文为LPP算法,也是何小飞老师的论文问题导入2.算法出处3...博文来自:此生不换的博客

  文中关于一些概念说了可能三到四边,或者更多,希望是加深大家的印象,希望理解,重要的概念说三遍,只要你能理解,我啰嗦五次都愿意。构造函数创建对象==========咱们先来一个栗子=======func...博文来自:一个前端小学生的博客

  01首先来区分几个概念关于neighborhoodserach,这里有好多种衍生和变种出来的胡里花俏的算法。大家在上网搜索的过程中可能看到什么LargeNeighborhoodSerach,也可能看到...博文来自:infinitor的博客

  现象/现在的问题大多数理财书、杂志和网站都像这位宠物医生:给读者开出一长串单子,列满各种选项,反倒让读者更加茫然不知所措。难怪我的朋友放弃了制订理财计划:他根本不知道该从何入手个人问题当然,人们迟迟没...博文来自:weixin_33862188的博客

  #13; 迭代局部搜索(IteratedLocalSearch,ILS)源代码下载请关注微信公众号【程序猿声】,在后台回复:【ILS】,不包括【】即可下载。00目录局部搜索算法简单局部搜...博文来自:infinitor的博客

  局部搜索算法简介​局部搜索算法是一类可以有效解决优化问题的通用算法。它的基本原理是在临近解中迭代,使目标函数逐步优化,直至不能再优化为止。​...博文来自:zt_xcyk的专栏

  声明:本文为博主原创,只是个人理解,如有理解错误的地方,欢迎指正。代码部分有参考导师提供的部分代码,来源不详。参考文献:Super-ResolutionthroughNeighborEmbedding...博文来自:wenwenbalala的博客

  目录1前言2SelectiveSearch算法3Python源码分析 1前言 在目标检测时,为了定位到目标的具体位置,通常会把图像分成许多子块(sub-regions/patches),然后把子块作为...博文来自:Tomxiaodai的博客

  一、   问题介绍中国邮递员问题tsp输入:中国144个城市数据输出:最短路径序列及路径长度1.      采用局部搜索算法实现2.      采用模拟退化算法实现二、   程序设计与算法分析1.  ...博文来自:方品

  最近打算把常用的排序和搜索算法都用python实现一下,但是发现网上的大多数程序实际运行的时候都有问题,要么是陷入循环出不来要么是列表中有的元素查找失败。所以自己实现了一下,经过实际运行,都可以正常工...博文来自:zxd131248的博客

  原文链接:布谷鸟搜索算法布谷鸟搜索(CuckooSearch,CS)是由Xin-SheYang和SuashDeb于2009年开发的自然启发式算法。CS基于布谷鸟的寄生性育雏(broodparasiti...博文来自:荷叶田田

  1.局部搜索通常考察一个算法的性能通常用局部搜索能力和全局收敛能力这两个指标。局部搜索是指能够无穷接近最优解的能力,而全局收敛能力是指找到全局最优解所在大致位置的能力。局部搜索能力和全局搜索能力,缺一...博文来自:zt_xcyk的专栏

  相信学习编程的同学,或多或少都接触到算法的时间复杂度和空间复杂度了,那我来讲讲怎么计算。        常用的算法的时间复杂度和空间复杂度 一,求解算法的时间复杂度,其具体步骤是: ⑴ 找出算法...博文来自:杨威的博客

  本帖只谈技术实现,首先我们自己来编译一个比特币客户端吧, 技术讨论,欢迎大家入伙(注明:csdn)。...博文来自:开心乐源的专栏

  帐号相关流程注册范围 企业 政府 媒体 其他组织换句话讲就是不让个人开发者注册。 :)填写企业信息不能使用和之前的公众号账户相同的邮箱,也就是说小程序是和微信公众号一个层级的。填写公司机构信息,对公账...博文来自:小雨同学的技术博客

  最近在做一个每天定点从FTP自动下载节目.xml并更新到数据库的功能。首先想到用 FileSystemWatcher来监控下载到某个目录中的文件是否发生改变,如果改变就执行相应的操作,然后用timer...博文来自:kongwei521的专栏

  扫二维码关注,获取更多技术分享 本文承接之前发布的博客《 微信支付V3微信公众号支付PHP教程/thinkPHP5公众号支付》必须阅读上篇文章后才可以阅读这篇文章。由于最近一段时间工作比较忙,...博文来自:Marswill

  本篇文章是根据我的上篇博客,给出的改进版,由于时间有限,仅做了一个简单的优化。相关文章:将excel导入数据库2018年4月1日,新增下载地址链接:点击打开源码下载地址十分抱歉,这个链接地址没有在这篇...博文来自:Lynn_Blog

  mybatis简单小巧易于上手,方便浏览修改sql语句博文来自:努力+坚持,而且还很年轻

  jquery/js实现一个网页同时调用多个倒计时(最新的) 最近需要网页添加多个倒计时. 查阅网络,基本上都是千遍一律的不好用. 自己按需写了个.希望对大家有用. 有用请赞一个哦! //js ...博文来自:Websites

  Java 中的堆是 JVM 所管理的最大的一块内存空间,主要用于存放各种类的实例对象。   在 Java 中,堆被划分成两个不同的区域:新生代 ( Young )、老年代 ( Old )。新生代 (...博文来自:朱小厮的博客

  我们在做项目的时候有时候需要给图片添加水印,水寒今天就遇到了这样的问题,所以搞了一个工具类,贴出来大家直接调用就行。/** * 图片工具类 * @author 水寒 * 欢迎访问水寒的个人博客:...博文来自:水寒

  强连通分量: 简言之 就是找环(每条边只走一次,两两可达) 孤立的一个点也是一个连通分量   使用tarjan算法 在嵌套的多个环中优先得到最大环( 最小环就是每个孤立点)   定义: int Ti...博文来自:九野的博客

  1. 规则引擎面临的问题:业务规则的实现大部分是由开发人员来实现的 业务规则需要业务分析人员能够阅读和理解 业务规则的可读性和用户的友好性都不太好2. DSL领域特殊语言DSL == Domain...博文来自:哎幽的成长

  nginx 是个轻量级的Web服务器,比Apache不差博文来自:老徐2014

  若是研究区在中国,则在地理空间数据云有中国区合成好的数据,直接下载用即可。数据格式为TIF。坐标为WGS84,不用再转换投影。下载网址为:博文来自:hengcall的博客

本文链接:http://mzi-ads.com/boyishusousuo/620.html

相关推荐:

网友评论:

栏目分类

现金彩票 联系QQ:24498872301 邮箱:24498872301@qq.com

Copyright © 2002-2011 DEDECMS. 现金彩票 版权所有 Power by DedeCms

Top