变邻域搜索算法(Variable Neighborhood Search,VNS)
来源:互联网 发布:python 端口扫描 编辑:程序博客网 时间:2024/05/21 21:44
先说一下局部搜索:
更多内容访问omegaxyz.com
局部搜索是解决最优化问题的一种启发式算法。对于某些计算起来非常复杂的最优化问题,比如各种NP完全问题,要找到最优解需要的时间随问题规模呈指数增长,因此诞生了各种启发式算法来退而求其次寻找次优解,是一种近似算法(Approximate algorithms),以时间换精度的思想。局部搜索就是其中的一种方法。
变邻域搜索算法的主要思想是:采用多个不同的邻域进行系统搜索。首先采用最小的邻域搜索,当无法改进解时,则切换到稍大一点的邻域。如果能继续改进解,则退回到最小的邻域,否则继续切换到更大的邻域。
变邻域搜索的特点是利用不同的动作构成的邻域结构进行交替搜索,在集中性和疏散性之间达到很好的平衡。其思想可以概括为“变则通”。
过程描述如下:
每变换一次邻域,相对于切换了搜索的地形(landscape)。效果如下
下面提供两个版本的伪代码:
伪代码:
更多内容访问omegaxyz.com
阅读全文
0 0
- 变邻域搜索算法(Variable Neighborhood Search,VNS)
- Tubular neighborhood(管状邻域)
- 八邻域搜索算法,封闭区间检测算法源代码
- 查找(搜索)算法(**Search algorithm**)
- 搜索算法(Search)
- 函数变参(Variable arguments)
- 基于邻域的算法
- 束搜索算法 BEAM Search
- 禁忌搜索算法(Tabu Search)
- javascript 搜索算法(Search)说明
- POJ 1659.Frogs' Neighborhood(Havel-Hakimi算法应用)
- 广度优先搜索算法(Breadth-First-Search,BFS)
- 深度优先搜索算法(Depth first search)
- 广度优先搜索算法(Breadth-First-Search)
- 深度优先搜索算法(Depth-First-Search)
- sphinx中用的束搜索(Beam Search Algorithm)算法
- 束搜索算法(Andrew Jungwirth 初稿)BEAM Search
- 组合搜索(combinatorial search)在算法求解中的应用
- mt2503[PPP]PPP拨号速度慢如何解决?
- Redis pub/sub机制在实际运用场景的缺陷&&模拟JMS消息发布订阅的持久化特性
- <每日一题>动态规划入门:求最小硬币个数
- Java面试题全集(中)
- 基于蓝牙串口通信,实现实时脉象采集(项目总结与思路梳理)
- 变邻域搜索算法(Variable Neighborhood Search,VNS)
- Light-Head R-CNN解读
- 了解 CMS 垃圾回收日志
- python迭代器:next( ),__next__( ), iter()
- 推荐8款Vue.js管理台模板
- Java中Transient关键字解释
- 微信小程序:2个月收入超千万!揭秘自媒体为何都进驻小程序电商?
- ps和grep 的用法
- TextView属性大全