700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 数学建模常用算法:启发式优化算法合辑(内含多种智能优化算法 使用java实现算法 详

数学建模常用算法:启发式优化算法合辑(内含多种智能优化算法 使用java实现算法 详

时间:2020-06-11 11:42:08

相关推荐

数学建模常用算法:启发式优化算法合辑(内含多种智能优化算法 使用java实现算法 详

一、启发式算法介绍

启发式算法(heuristic algorithm)是相对于最优化算法提出的。一个问题的最优算法求得该问题每个实例的最优解。启发式算法可以这样定义:一个基于直观或经验构造的算法,在可接受的花费(指计算时间和空间)下给出待解决组合优化问题每一个实例的一个可行解,由于算法存在一定的随机性,每次求得的可行解往往不同。

二、常用启发式算法

本文主要将多种启发式算法用于TSP问题求解。TSP问题被定义为:给定n个城市的坐标,需要从其中一个城市出发(起点城市),然后去往每个城市(每个城市只去一次),最终回到起点城市,目标是整个旅行路线最短。如1->2->3->5->4->1是其中一条路线(1->2->3->5->4可称为一条序列),即TSP的根本问题是找出一条较优的序列。这里的启发式算法主要在解决如下几个问题:

如何根据当前序列产生新的序列?如何评估新的序列?对哪些序列进行保留?

说明:本文不会对每个算法的原理进行详细解释,但是对每个算法的实现代码都进行了详细注释,读者很容易理解。如果看到算法有什么错误的地方或者其他问题,可以在评论区留言或者加小编微信(a1752663772)进行交流。

1、模拟退火算法

模拟退火算法求解TSP问题详细Java代码实现

2、禁忌搜索算法

禁忌搜索求解TSP问题详细Java代码实现

3、蚁群算法

蚁群算法求解TSP问题详细Java代码实现

4、遗传算法

遗传算法求解TSP问题详细Java代码实现

5、迭代局部搜索算法

迭代局部搜索求解TSP问题详细Java代码实现

6、变邻域搜索算法

变邻域搜索算法求解TSP问题详细Java代码实现

7、粒子群算法

粒子群算法(PSO)求解二元函数最小值+限定x,y范围测试

8、人工鱼群算法

人工鱼群算法(AFAS)求解二元函数最小值+限定x,y范围测试

三、结果可视化

Tsp问题结果可视化(JavaFx实现)

四、数据

1、att48

将下列数据复制粘贴到att48.txt文件中即可,在使用小编代码的时候,记得修改数据的读取路径

1 6734 14532 2233 103 5530 14244 401 8415 3082 16446 7608 44587 7573 37168 7265 12689 6898 188510 1112 204911 5468 260612 5989 287313 4706 267414 4612 203515 6347 268316 6107 66917 7611 518418 7462 359019 7732 472320 5900 356121 4483 336922 6101 111023 5199 218224 1633 280925 4307 232226 675 100627 7555 481928 7541 398129 3177 75630 7352 450631 7545 280132 3245 330533 6426 317334 4608 119835 23 221636 7248 377937 7762 459538 7392 224439 3484 282940 6271 213541 4985 14042 1916 156943 7280 489944 7509 323945 10 267646 6807 299347 5185 325848 3023 1942

数学建模常用算法:启发式优化算法合辑(内含多种智能优化算法 使用java实现算法 详细注释 并进行结果可视化)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。