• 大小: 0.01M
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-02-01
  • 标签: C/C++  TSP  c++  问题  

资源简介

/*
 *遗传算法(GA) 解决TSP 问题
 *案例参考自《MATLAB 智能算法30个案例分析》
 *本例以14个城市为例,14个城市的位置坐标如下(括号内第一个元素为X坐标,第二个为纵坐标):1:(16.47,96.10)  2:(16.47,94.44)  3:(20.09,92.54)
 *4:(22.39,93.37) 5:(25.23,97.24)  6:(22.00,96.05) 7:(20.47,97.02)  8:(17.20,96.29) 9:(16.30,97.38) 10:(14.05,98.12) 11:(16.53,97.38)
 *12:(21.52,95.59)  13:(19.41,97.13)  14:(20.09,92.55)
 *遗传算法实现的步骤为:(1)编码 (2) 种群初始化 (3) 构造适应度函数 (4) 选择操作 (5) 交叉操作 (6) 变异操作 (7) 进化逆转操作
 * 具体实现的步骤这里不详细说,参考《MATLAB 智能算法30个案例分析》P38 - P40
 * update in 16/12/4
 * author:Lyrichu
 * email:919987476@qq.com
 */

资源截图

代码片段和文件信息

/*
 *遗传算法(GA) 解决TSP 问题
 *案例参考自《MATLAB 智能算法30个案例分析》
 *本例以14个城市为例,14个城市的位置坐标如下(括号内第一个元素为X坐标,第二个为纵坐标):1:(16.4796.10)  2:(16.4794.44)  3:(20.0992.54)
 *4:(22.3993.37) 5:(25.2397.24)  6:(22.0096.05) 7:(20.4797.02)  8:(17.2096.29) 9:(16.3097.38) 10:(14.0598.12) 11:(16.5397.38)
 *12:(21.5295.59)  13:(19.4197.13)  14:(20.0992.55)
 *遗传算法实现的步骤为:(1)编码 (2) 种群初始化 (3) 构造适应度函数 (4) 选择操作 (5) 交叉操作 (6) 变异操作 (7) 进化逆转操作
 * 具体实现的步骤这里不详细说,参考《MATLAB 智能算法30个案例分析》P38 - P40
 * update in 16/12/4
 * author:Lyrichu
 * email:919987476@qq.com
 */
#include
#include
#include
#include
#define maxgen 200  // 最大进化代数
#define sizepop 100 // 种群数目
#define pcross 0.6 // 交叉概率
#define pmutation 0.1 // 变异概率
#define lenchrom 14 // 染色体长度(这里即为城市个数)
double city_pos[lenchrom][2] = {{16.4796.10}{16.4794.44}{20.0992.54}{22.3993.37}{25.2397.24}{22.0096.05}{20.4797.02}
    {17.2096.29}{16.3097.38}{14.0598.12}{16.5397.38}{21.5295.59}{19.4197.13}

评论

共有 条评论