资源简介
/*
*遗传算法(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}
- 上一篇:modbus仿真工具
- 下一篇:c语言开发规范.pdf
相关资源
- C++程序设计题库(117题).doc
- 银行家算法的实现(c++代码)
- C 播放WAVE音频
- C/C++ 学生管理系统源码(控制台)
- 智商测试(C++坑人版)
- c++ SQL数据库结构提取器模块源码
- c++ 模拟excel排序
- 用于解决著名的奶牛问题
- c++ copy file
- c++ 电话薄数字排序
- c++ 求三角形面积
- 猴子选大王
- 练习数据结构用途
- C++语言的应用学习
- 語言開發
- c++ 数组冒泡排序
- c++ tSIP
- c++ 九九乘法表示例代码(入门级)
- c++ 三次样条曲线拟合
- c++控制台 计算器(正常运算和定义)
- c++ 旋转的图像(遮罩贴图)
- c++ combox加图标
- C++程序设计(第三版)谭浩强 习题
- c++源码:原木材积计算器
- c++ 面积计算机(入门级)
- c++ 大小写转化
- c++ 统计单词个数(入门级)
- c++ 五子棋游戏 (控制台)
- 用C和C++ 实现的CRC24a校验码的生成.r
- c++ 键盘监听
评论
共有 条评论