MATLAB实战系列(九)-遗传算法(GA)求解旅行商问题(TSP)思路解析

举报
格图洛书 发表于 2021/11/19 00:47:23 2021/11/19
【摘要】 本次博文所编写的代码使用如下进化操作: 1、二元锦标赛选择操作; 2、OX交叉操作; 3、交换、逆转和插入相结合的变异操作。   一 | 旅行商(TSP)问题 假设有一个旅行商人要拜访n个城市,他必须选择所要走的路径,路径的限制是每个城市只能拜访一次,而且最后要回到原来出发的城市。路径的选择目标是要求得的...

本次博文所编写的代码使用如下进化操作:

1、二元锦标赛选择操作;

2、OX交叉操作;

3、交换、逆转和插入相结合的变异操作。

 


一 | 旅行商(TSP)问题

假设有一个旅行商人要拜访n个城市,他必须选择所要走的路径,路径的限制是每个城市只能拜访一次,而且最后要回到原来出发的城市。路径的选择目标是要求得的路径路程为所有路径之中的最小值。

 


二 | 算法设计


01 | 编码

编码采用常规的整数编码,如果城市数目为N,那么解就可以表达为1~N的随机排列,用MATLAB中的randperm(N)进行表示。


02 | 种群初始化

设种群数目为NIND,则初始化种群为NIND个1~N的随机排列。


03 | 目标函数值

一个个体的目标函数值就是该个体的总距离,比如说一个个体为213,那么这个个体的总距离=21之间的距离+13之间的距离+32之间的距离(从3出发还需要返回起始点2)。


04 | 适应度值

一个个体的适应度值是其目标函数值的倒数。因为总距离越小说

文章来源: wenyusuran.blog.csdn.net,作者:文宇肃然,版权归原作者所有,如需转载,请联系作者。

原文链接:wenyusuran.blog.csdn.net/article/details/108398308

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。