当前位置:首页 > 网络技术 > 遗传算法matlab程序源代码(遗传算法经典实例)(遗传算法代码 matlab)

遗传算法matlab程序源代码(遗传算法经典实例)(遗传算法代码 matlab)

longge@20222022-03-24 01:48:16网络技术69

旅行商问题(Traveling Salesman Problem,简称TSP问题),即为求解最优化的城市线路组合,要求每个城市都要走且只走一遍,终点城市同出发城市为同一个,最终所走路程需最短。本文在传统遗传算法基础上,对其进行改进优化,提出了精英保留的协同进化遗传算法,并分别以30、50和75个城市为例,对二者进行对比。该算法的运行流程如图1所示。

图1 协同进化遗传算法运行流程

产生初始种群后(设种群数量为POP),便按照适应度值(即总路程倒数)高低将其分为三个子种群,其中,子种群1的适应度值最大,子种群3的适应度值最小。接着,在各个子种群内部进行交叉变异操作,依次产生新子种群1、新子种群2、新子种群3。同时,三个子种群两两之间,也进行交叉变异操作,依次产生新子种群4、新子种群5、新子种群6。最后便将这6个新子种群进行组合,然后从中随机挑选出POP-1个个体,并根据精英保留策略,将其与父代最优个体相合并,从而得到新种群、开始下一代的操作。

以30、50、75个城市为例,分别进行10次重复试验,取各次试验两种算法最优解的平均值进行对比,结果如图2所示。

图2 两种算法的寻优结果对比

显然,同传统遗传算法相比,协同进化遗传算法具备更强大的最优解搜索能力,尤其当城市数量较多时(如此例中的75),其能更有效地避免陷入局部最优,从而找到全局最优的解、使得总路程更小。以75个城市数量为例,两种算法所确定的最优路径分别如图3(a)与3(b)所示。

(a) 传统遗传算法

(b) 协同进化遗传算法

图3 两种算法所确定的最优路径对比

图3中,横轴纵轴分别为每个城市的横纵坐标,图中的数字即为每个城市的编号。显然,协同进化遗传算法所确定的最优路径更为规整,这表明其同传统遗传算法相比,具有更强的全局寻优能力,且具备更好的鲁棒性。

免责声明
本站部分资源来源于互联网 如有侵权 请联系站长删除
龙哥网是优质的互联网科技创业资源_行业项目分享_网络知识引流变现方法的平台为广大网友提供学习互联网相关知识_内容变现的方法。

“遗传算法matlab程序源代码(遗传算法经典实例)(遗传算法代码 matlab)” 的相关文章

自定义HTML5 video标签视频播放器的皮肤样式

自定义HTML5 video标签视频播放器的皮肤样式

HTML5 视频标签 video 在不同浏览器会有不同的控件样式,想要统一 video 视频控件的样式,可以利用 HTML5 Video 的 Api,用 JavaScript 访问 html vid...

Javascript调用新浪股票数据接口返回的股票价格代码(普通版)(新浪股票历史数据接口)

Javascript调用新浪股票数据接口返回的股票价格代码(普通版)(新浪股票历史数据接口)

通过调用新浪实时股票数据接口返回的数据实现指定股票数据的调用,以下代码非实时更新,刷新页面才会更新股票数据。 步骤: 1、以中国平安的股票代码为例,调用新浪股票数据接口: &...

如何进行权重词的挖掘和布局(新站易上排名及权重的SEO技巧分析)(关键词整站排名优化)

如何进行权重词的挖掘和布局(新站易上排名及权重的SEO技巧分析)(关键词整站排名优化)

  亚马逊关键词这么布局,流量权重通通抓在手  作为一个新手运营,就知道关键词对listing搜索权重很高,但怎么去布局关键词却没一套系统的方法或者步骤。  今天分享关键字布局,让你的产品不错过每一个...

网站添加“友情链接”有什么作用?(友情链接对网站的作用)

网站添加“友情链接”有什么作用?(友情链接对网站的作用)

    说到“友情链接”,很多做SEO的朋友并不陌生,但是真正把友情链接当回事的人并不多,鉴于此,今天给大家讲一讲友情链接的作用,带大家重新认识友情链接的重要性,做SEO...

Mybatis无法获取带有下划线前缀的字段的值问题_java

Mybatis无法获取带有下划线前缀的字段的值问题_java

目录 Mybatis无法获取带有下划线前缀的字段的值 打了断点,发现真相在这里 解决办法 Mybatis无法给带有下划线属性赋值 1、配置问题...

Java图片批量压缩像素的实现方法_java(java 图片压缩)

Java图片批量压缩像素的实现方法_java(java 图片压缩)

目录 图片压缩大法 压缩前大小: 压缩后大小: 具体代码实现: 附:利用Graphics类如何进行压缩图像 总结 图片压缩大法 为了防止用户流量的丢失,...