异同点 模拟退火 遗传算法 邻域搜索_干货 | 自适应大邻域搜索入门到精通超详细解析-概念篇...

本文详细介绍了大邻域搜索算法,包括其概念、分类以及与模拟退火、遗传算法的关系。重点阐述了Large Neighborhood Search (LNS) 和Adaptive Large Neighborhood Search (ALNS) 的工作原理,强调了ALNS的动态调整策略,以寻找更优解。此外,还探讨了destroy和repair方法在LNS和ALNS中的作用。
摘要由CSDN通过智能技术生成

30050634b36e7c84796d42820ece2d67.png
本文发布于公众号【数据魔术师】同名文章。欢迎给我们留言、私信进行交流

01前言

我们的标题相信大家已经看到了,至于这是什么东西呢?咳咳,这可不是一起去你邻居家找茬的啊……

言归正传,关于大邻域搜索这一块的启发式算法,国内还算比较少的了。那么,今天我们一起来一步一个脚印来了解这个神秘的算法吧。

9cd63701fd7307aec7e5f5fffe4e127b.gif

01 概念科普篇

关于neighborhood serach,这里有好多种衍生和变种出来的胡里花俏的算法。大家在上网搜索的过程中可能看到什么Large Neighborhood Serach,也可能看到Very Large Scale Neighborhood Search或者今天介绍的Adaptive Large Neighborhood Search。

对于这种名字相近,实则大有不同的概念,很是让新手头疼。不过为了防止大家混淆这些相近的概念,今天这里一并介绍了吧。

总体关系可以看下图

03b18278e323b25699d9c6538afeb32e.png

当一个邻域搜索算法搜索的邻域规模随着算例规模的增大而呈指数增长,或者邻域太大而不能在实际中明确搜索时,我们把这类邻域搜索算法归类为Very Large-Scale Neighborhood Search(VLSN)。

VLSN又可以分为三类:[1]

  • Variable-depth methods
  • Network-flows based improvement algorithms
  • Efficiently solvable special cases

而Large Neighborhood Search(LNS) 则不属于以上三种类型,但它确实是属于VLSN这种类型的,因为它搜索的是一个非常大的邻域。

最后呢,是Adaptive Large Neighborhood Search(ALNS),它是根据Large Neighborhood Search(LNS) 算法扩展和延伸而来(嗯,相当于爸爸和儿子的关系……)。

由于文章篇幅呢,这里就不给大家一一介绍了。具体内容可以看文章后面给出的参考文献。下面给大家科普几个必要的概念。

1.0 什么是Neighborhood Search(NS)

邻域搜索算法(或称为局部搜索算法)是一类非常常见的改进算法其在每次迭代时通过搜索当前解的“邻域”找到更优的解。 邻域搜索算法设计中的关键是邻域结构的选择,即邻域定义的方式。 根据以往的经验,邻域越大,局部最优解就越好,这样获得的全局最优解就越好。 但是,与此同时,邻域越大,每次迭代搜索邻域所需的时间也越长。出于这个原因,除非能够以非常有效的方式搜索较大的邻域,否则启发式搜索也得不到很好的效果。[2]

什么又是邻域呢?

623e14fb71734c2e7daaffc908f3ef39.png

这里不得不再次带大家回顾一下以前的知识:

官方

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值