一、蚁群算法 1.基本原理 蚁群算法(Ant Colony Optimization,ACO)是一种基于种群寻优的启发式搜索算法,有意大利学者M.Dorigo等人于1991年首先提出。该算法受到自然界真实蚁群集体在觅食过程中行为的启发,利用真实蚁群通过个体间的信息传递、搜索从蚁穴到食物间的最短路径等 ...
分类:
编程语言 时间:
2021-04-09 13:23:26
阅读次数:
0
算法流程: 实现: base.py from abc import ABCMeta, abstractmethod import types class SkoBase(metaclass=ABCMeta): def register(self, operator_name, operator, * ...
分类:
编程语言 时间:
2020-07-12 01:05:49
阅读次数:
95
题目链接 #解题思路 状压dp入门题,也是经典的tsp问题。因为tsp问题是np完全问题,所以我们只能考虑通过大量枚举来做。需要注意的一点是,如果走过了1->2->3这样一条路径,要到达第4个点的话,并不一定需要从3出发,只要从前面走过的点出发即可,所以我们并不需要把所以的点按前后顺序走出来的情况全 ...
基于蚁群算法的10个城市TSP问题的最短路径研究 1 蚁群算法 1.1 蚁群算法的流程步骤 这里以TSP问题为例,算法设计的流程如下: 步骤1:对相关参数进行初始化,包括蚁群规模、信息素因子、启发函数因子、信息素挥发因子、信息素常数、最大迭代次数等,以及将数据读入程序,并进行预处理:比如将城市的坐标 ...
分类:
编程语言 时间:
2020-04-18 10:09:34
阅读次数:
78
题目链接: "P1433 吃奶酪" 我感觉可以改成: 【模板】TSP问题(商旅问题) 了。 爆搜$T$一个点,考虑状压$dp$(~~还是爆搜~~)。 我们用$dp[i][j]$表示现在是$i$状态,站在了$j$点。 那什么是状态呢? 我们用一个零一串表示每一点有无被走过($0$是没走过,$1$是已走 ...
分类:
其他好文 时间:
2020-02-22 09:25:31
阅读次数:
54
巡回旅行商问题(Traveling Salesman Problem,TSP),也称为货郎担问题。该问题可简单描述为走遍n个城市的最短路。几十年来,出现了很多近似优化算法。如近邻法、贪心算法、最近插入法、最远插入法、模拟退火算法以及遗传算法。 问题1 设有一个售货员从10个城市中的某一个城市的出发, ...
分类:
其他好文 时间:
2020-02-01 19:29:17
阅读次数:
156
对于小规模数据的TSP问题,我们可以使用动态规划快速的求解。 对于大规模数据的TSP问题,可以使用蚁群算法,模拟退火等近似算法进行求解。 蚁群算法是一种用来在图中寻找优化路径的机率型算法,最早Marco Dorigo提出。 它的灵感来源于蚁群寻找食物的过程,因为往往一只蚂蚁并没有太多“智能”的表现, ...
分类:
编程语言 时间:
2019-12-25 01:08:30
阅读次数:
89
模拟退火算法(Simulate Anneal,SA)是一种通用概率演算法,用来在一个大的搜寻空间内找寻命题的最优解。模拟退火是由S.Kirkpatrick, C.D.Gelatt和M.P.Vecchi在1983年所发明的。V.?erný在1985年也独立发明此演算法。模拟退火算法是解决TSP问题的有 ...
分类:
编程语言 时间:
2019-10-30 20:03:55
阅读次数:
98
00 前言 前面我们已经搭建好cplex的java环境了,相信大家已经跃跃欲试,想动手写几个模型了。今天就来拿一个TSP的问题模型来给大家演示一下吧~ CPLEX系列教程可以关注我们的公众号哦!获取更多精彩消息! 01 TSP建模 关于TSP建模,就不多解释了。以及什么是TSP问题,也不要问我了。直 ...
分类:
编程语言 时间:
2019-07-10 10:51:36
阅读次数:
90