没有合适的资源?快使用搜索试试~ 我知道了~
首页遗传算法解决TSP问题(C++版)
遗传算法解决TSP问题(C++版)
需积分: 50 1.8k 浏览量
更新于2023-05-27
评论 6
收藏 23KB DOCX 举报
遗传算法解决TSP问题(C++版),内容详细,可以很好地帮助初学者学习遗传算法
资源详情
资源评论
资源推荐

遗传算法解决 TSP 问题(C++版)
遗传算法流程:
交叉,编译,计算适应度,保存最优个体。
其中交叉过程是选择最优的两个染色体进行交叉操作,本文采用
的是轮盘赌算法。
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
#define population 200//种群数量
#define pc 0.9//交叉的概率
#define pm 0.1//变异的概率
#define count 200//迭代的次数
#define num 10//城市的数量
int** city;//存放每个个体的访问顺序
int path[10][10] = {
//0, 1, 2, 3, 4, 5, 6, 7, 8, 9
{ 0, 23, 93, 18, 40, 34, 13, 75, 50, 35 },//0
{ 23, 0, 75, 4, 72, 74, 36, 57, 36, 22 },//1
{ 93, 75, 0, 64, 21, 73, 51, 25, 74, 89 },//2
{ 18, 4, 64, 0, 55, 52, 8, 10, 67, 1 }, //3
{ 40, 72, 21, 55, 0, 43, 64, 6, 99, 74 }, //4
{ 34, 74, 73, 52, 43, 0, 43, 66, 52, 39 },//5
{ 13, 36, 51, 8, 64, 43, 0, 16, 57, 94 },//6
{ 75, 57, 25, 10, 6, 66, 16, 0, 23, 11 }, //7
{ 50, 36, 74, 67, 99, 52, 57, 23, 0, 42 },//8
{ 35, 22, 89, 1, 74, 39, 94, 11, 42, 0 }//9
};
int* dis;//存放每个个体的访问顺序下的路径长度
double* fitness;//存放灭个个体的适应度
int min_dis = 1000000;
int min_index = -1;


















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0