[数据结构 & 算法] 遗传算法解决旅行商问题(TSP)(实验课)

本文探讨了使用遗传算法解决旅行商问题的实例,详细介绍了问题描述,即寻找最低成本的全城遍历路径。尽管遗传算法得出的解可能不是全局最优,但通常能接近最优解。文章提供了代码实现,并展示了结果的不确定性。
摘要由CSDN通过智能技术生成

#问题描述
在旅行商问题中,给定一组城市及每座城市与其他城市之间的旅行成本,目标是找出一条经过所有城市的路径,要求该路径只经过每座城市一次并且旅行总成本最低。从任意一座城市出发,经过每一座城市之后,再回到出发城市结束旅行。
距离矩阵
课上给的距离矩阵,可能是疏忽9到3和3到9的距离不一致,但这不妨碍程序设计
#代码部分

#include<iostream>
#include<algorithm>
#include<ctime>

#define num_c 10//城市个数
#define Max_t 100//种群数量
#define rate 0.6//选择率
#define generation 1000//迭代次数
#define v_rate 10//变异率百分比
using namespace std;
//城市距离矩阵
int distance_t[10][10] = {
   
	{
    0,118,1272,2567,1653,2097,1425,1177,3947,1574 },
	{
    118,0,1253,2511,1633,2077,1369,1157,3961,1518 },
	{
    1272,1253,0,1462,380,1490,821,856,3660,385 },
	{
    2567,2511,1462,0,922,2335,1562,2165,3995,933 },
	{
    1653,1633,380,922,0,1700,1041,1135,3870,456 },
	{
    2097,2077,1490,2335,1700,0,2311,920,2170,1920 },
	{
    1425,1369,821,1562,1041,2311,0
  • 3
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值