随笔分类 -  算法

算法合集啦
摘要:01 前言 经过小编这几天冒着挂科的风险,日日修炼,终于赶在考试周中又给大家更新了一篇干货文章。关于用变邻域搜索解决0 1背包问题的代码。怎样,大家有没有很感动? 02 什么是0 1背包问题? 0 1 背包问题:给定 n 种物品和一个容量为 C 的背包,物品 i 的重量是 w_i,其价值为 v_i 阅读全文
posted @ 2019-05-12 17:25 短短的路走走停停 阅读(2106) 评论(0) 推荐(0)
摘要:00 前言 上次变邻域搜索的推文发出来以后,看过的小伙伴纷纷叫好。小编大受鼓舞,连夜赶工,总算是完成了手头上的一份关于变邻域搜索算法解TSP问题的代码。今天,就在此给大家双手奉上啦,希望大家能ENJOY哦! 01 代码说明 本次代码还是基于 求解TSP旅行商 问题的。至于什么是TSP问题,小编这实在 阅读全文
posted @ 2019-05-12 17:25 短短的路走走停停 阅读(3793) 评论(0) 推荐(0)
摘要:更多精彩尽在微信公众号【程序猿声】 变邻域搜索算法(Variable Neighborhood Search,VNS)一看就懂的解析 00 目录 局部搜索再次科普 变邻域搜索 造轮子写代码 01 局部搜索科普三连 虽然之前做的很多篇启发式的算法都有跟大家提过局部搜索这个概念,为了加深大家的印象,在变 阅读全文
posted @ 2019-05-12 13:51 短短的路走走停停 阅读(11082) 评论(0) 推荐(0)
摘要:写在前面 前面好多篇文章,我们总算是把整个ALNS的代码框架给大家说明白了。不知道大家对整个框架了解了没有。不过打铁要趁热,心急了要吃热豆腐。今天就来实战一下,教大家怎么用ALNS的代码框架,求解一个老生常谈的TSP问题,so,get ready? 01 文件说明 整个项目由多个文件组成,为了大家更 阅读全文
posted @ 2019-05-10 20:27 短短的路走走停停 阅读(1195) 评论(0) 推荐(0)
摘要:前言 好了小伙伴们我们又见面了,咳咳没错还是我。不知道你萌接连被这么多篇代码文章刷屏是什么感受,不过,酸爽归酸爽。今天咱们依然讲代码哈~不过今天讲的依然很简单,关于局部搜索LocalSearch的代码。 01 总体概述 其实,LocalSearch在本算法中不是必须使用的,用户可以根据需要来选择是否 阅读全文
posted @ 2019-05-10 20:26 短短的路走走停停 阅读(1488) 评论(0) 推荐(0)
摘要:前言 上一篇推文说了,后面的代码难度直线下降,各位小伙伴可以放去n的100次方心了。今天讲讲一些细枝末节,就是前面一直有提到的参数和一些状态的记录代码。这个简单啦,小编也不作过多解释了。大家直接看代码都能看懂,不过小编还是会把逻辑结构给大家梳理出来的。好了,开始干活。 01 ALNS_Iterati 阅读全文
posted @ 2019-05-10 20:25 短短的路走走停停 阅读(457) 评论(0) 推荐(0)
摘要:前言 前面三篇文章对大家来说应该很简单吧?不过轻松了这么久,今天再来看点刺激的。关于判断接受准则的代码。其实,判断接受准则有很多种,效果也因代码而异。今天介绍的是模拟退火的判断接受准则。那么,相关的原理之前的推文有讲过,不懂的同学回去翻翻这个文章 复习一下哈,小编也回去看看,咳咳~。好了,废话不多说 阅读全文
posted @ 2019-05-10 20:25 短短的路走走停停 阅读(593) 评论(0) 推荐(0)
摘要:前言 上一篇文章中我们具体解剖了ALNS类的具体代码实现过程,不过也留下了很多大坑。接下来的文章基本都是“填坑”了,把各个模块一一展现解析给大家。不过碍于文章篇幅等原因呢,也不会每一行代码都进行讲解,那些简单的代码就跳过了,相信大家也能一眼就看懂。好了,废话不多说,开始干活吧。 01 照旧总体概述 阅读全文
posted @ 2019-03-23 19:04 短短的路走走停停 阅读(1158) 评论(0) 推荐(0)
摘要:前言 上一篇讲解了destroy和repair方法的具体实现代码,好多读者都在喊酸爽和得劲儿……今天这篇就讲点简单的,关于solution的定义和管理的代码实现,让大家回回神吧……哈哈。 01 总体概述 总所周知的是,每一个算法的最终目标都是求解出一个合理的满足心意的solution。因此对solu 阅读全文
posted @ 2019-03-23 19:04 短短的路走走停停 阅读(598) 评论(0) 推荐(0)
摘要:前言 上次出了邻域搜索的各种概念科普,尤其是LNS和ALNS的具体过程更是描述得一清二楚。不知道你萌都懂了吗?小编相信大家早就get到啦。不过有个别不愿意透露姓名的热心网友表示上次没有代码,遂不过瘾啊~哎,大家先别急,代码有得你们酸爽的…… 不过由于ALNS的代码量实在太大,小编打算把这个做成一个系 阅读全文
posted @ 2019-03-23 19:03 短短的路走走停停 阅读(1632) 评论(0) 推荐(0)
摘要:00 前言 在上一篇推文中,教大家利用了ALNS的lib库求解了一个TSP问题作为实例。不知道你萌把代码跑起来了没有。那么,今天咱们再接再厉。跑完代码以后,小编再给大家深入讲解具体的代码内容。大家快去搬个小板凳一起过来围观学习吧~ 01 总体概述 前排高能预警,在下面的讲解中,会涉及很多C++语言的 阅读全文
posted @ 2019-03-23 19:03 短短的路走走停停 阅读(2171) 评论(0) 推荐(0)
摘要:01 前言 本着学习的心态,还是想把这个算法写一写,给大家科普一下的吧。 02 人工鱼群算法 2.1 定义 人工鱼群算法为山东大学副教授李晓磊2002年从鱼找寻食物的现象中表现的种种移动寻觅特点中得到启发而阐述的仿生学优化方案。在一片水域中,鱼往往能自行或尾随其他鱼找到营养物质多的地方,因而鱼生存数 阅读全文
posted @ 2019-03-23 19:02 短短的路走走停停 阅读(2141) 评论(1) 推荐(0)
摘要:01 首先来区分几个概念 关于neighborhood serach,这里有好多种衍生和变种出来的胡里花俏的算法。大家在上网搜索的过程中可能看到什么Large Neighborhood Serach,也可能看到Very Large Scale Neighborhood Search或者今天介绍的Ad 阅读全文
posted @ 2019-03-23 18:41 短短的路走走停停 阅读(5924) 评论(0) 推荐(1)
摘要:前言 最近小编学了运筹学中的单纯形法。于是,很快便按奈不住跳动的心。这不得不让我拿起纸和笔思考着,一个至关重要的问题:如何用单纯形法装一个完备的13? 恰巧,在我坐在图书馆陷入沉思的时候,一位漂亮的小姐姐靠过来,说:“同学,你是在看线性规划吗?你能帮我看看这道题该怎么解好吗?” 纳尼?还真是瞌睡来了 阅读全文
posted @ 2018-11-28 23:29 短短的路走走停停 阅读(15831) 评论(1) 推荐(0)
摘要:问题描述 给定一张迷宫地图和一个迷宫入口,然后进入迷宫探索找到一个出口。如下图所示: 该图是一个矩形区域,有一个入口和出口。迷宫内部包含不能穿越的墙壁或者障碍物。这些障碍物沿着行和列放置,与迷宫的边界平行。迷宫的入口在左上角,出口在右下角。 问题分析 首先要有一张迷宫地图,地图由两部分组成: (1) 阅读全文
posted @ 2018-10-25 23:11 短短的路走走停停 阅读(3932) 评论(2) 推荐(0)
摘要:01 什么是禁忌搜索算法? 1.1 先从爬山算法说起 爬山算法从当前的节点开始,和周围的邻居节点的值进行比较。 如果当前节点是最大的,那么返回当前节点,作为最大值 (既山峰最高点);反之就用最高的邻居节点来,替换当前节点,从而实现向山峰的高处攀爬的目的。如此循环直到达到最高点。因为不是全面搜索,所以 阅读全文
posted @ 2018-10-02 17:27 短短的路走走停停 阅读(28465) 评论(2) 推荐(3)
摘要:01 箱子排序 1.1 什么是分配排序? 分配排序的基本思想:排序过程无须比较关键字,而是通过"分配"和"收集"过程来实现排序.它们的时间复杂度可达到线性阶:O(n)。 1.2 什么是箱子排序? 箱子排序是分配排序的一种,箱子排序也称桶排序(Bucket Sort),其基本思想是:设置若干个箱子,依 阅读全文
posted @ 2018-09-13 22:35 短短的路走走停停 阅读(1668) 评论(0) 推荐(1)
摘要:本节纲要 什么是图(network) 什么是最小生成树 (minimum spanning tree) 最小生成树的算法 什么是图(network)? 这里的图当然不是我们日常说的图片或者地图。通常情况下,我们把图看成是一种由“顶点”和“边”组成的抽象网络。在各个“顶点“间可以由”边“连接起来,使两 阅读全文
posted @ 2018-06-29 23:29 短短的路走走停停 阅读(22785) 评论(0) 推荐(2)