#问题描述
在旅行商问题中,给定一组城市及每座城市与其他城市之间的旅行成本,目标是找出一条经过所有城市的路径,要求该路径只经过每座城市一次并且旅行总成本最低。从任意一座城市出发,经过每一座城市之后,再回到出发城市结束旅行。
课上给的距离矩阵,可能是疏忽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