《遗传算法解决TSP问题(C++)》由会员分享,可在线阅读,更多相关《遗传算法解决TSP问题(C++)(10页珍藏版)》请在人人文库网上搜索。

1、遗传算法解决TSP问题(C+版)遗传算法流程:交叉,编译,计算适应度,保存最优个体。其中交叉过程是选择最优的两个染色体进行交叉操作,本文采用的是轮盘赌算法。#include #include #include using namespace std;#define population 200/种群数量#define pc 0.9/交叉的概率#define pm 0.1/变异的概率#define count 200/迭代的次数#define num 10/城市的数量int* city;/存放每个个体的访问顺序int path1010 = /0, 1, 2, 3, 4, 5, 6, 7, 8, 。

2、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, 。

3、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 = ;int min_index = -1;int* min_path;/初始化种群void init()int *a = new intnum;for (int i = 0; i= 0; j-)int n = rand() % (j 。

4、+ 1);/产出的数是0-j,保证交换的后面的数不会再被交换swap(aj, an);/保证a里面全是0-(num-1)的数,无重复的数,只是顺序颠倒cityij = aj;deletea;dis = new intpopulation;fitness = new doublepopulation;min_path = new intnum;/计算适应度void compute()/cout disi)result = disi;index = i;return index;int getMaxDis()int result = dis0;int index = 0;for (int i = 。

5、1; ip2)swap(p1, p2);/cout disi)result = disi;index = i;return result;/释放申请的数组的空间void dispose()for (int i = 0; ipopulation; i+)deletecityi;deletecity;deletedis;deletefitness;int main()init();/初始化种群int i = 0;srand(time(0);compute();while (icount)cross();/交叉morphis();/变异compute();/计算适应度save();/保存当前最优的个体/cout count i+ endl;cout getdis() ;/输出结果/cout min_index ;if (+i % 10 = 0)cout endl;compute();cout min distance is: min_dis endl;for (int i = 0; inum; i+)cout min_pathi ;cout endl;dispose();/释放空间return 0。

遗传算法求解tsp问题 C语言,遗传算法解决TSP问题(C++)相关推荐

  1. 遗传算法(Genetic Algorithm )+C++实现解决TSP问题

    概念 项目所在github https://github.com/Sean16SYSU/Algorithms4N 生物进化中的概念 遗传算法中的作用 环境 适应函数 适应性 适应函数值 适者生存 适应 ...

  2. 粒子群算法tsp java_粒子群算法解决TSP问题汇总.doc

    PAGE \* MERGEFORMAT 14 河南理工大学计算机科学与技术学院课程设计报告 2014- 2015学年第一学期 课程名称 Java语言程序设计 设计题目 利用粒子群算法解决TSP问题 姓 ...

  3. 粒子群算法tsp java_粒子群算法解决TSP问题

    1. 粒子群算法简介 粒子群算法(particle swarm optimization,PSO)由Kennedy和Eberhart在1995年提出,属于进化算法的一种,是通过对模拟鸟群扑食行为设计的 ...

  4. 求解tsp的c语言程序,解TSP问题的遗传算法C语言程序.doc

    解TSP问题的遗传算法C语言程序 #include#include#include#include#include#include#include#include#include#define max ...

  5. matlab 旅行商遗传算法,急求蚁群混合遗传算法在matlab上的实现以解决TSP旅行商的问? 爱问知识人...

    建立m文件 function [R_best,L_best,L_ave,Shortest_Route,Shortest_Length]=ACATSP(C,NC_max,m,Alpha,Beta,Rho ...

  6. 遗传算法求解函数优化及TSP问题

    本文的pdf文件:link        遗传算法是群智能算法中的一个分支,是一类基于种群搜索的优化算法,受自然界生物进化机制的启发,通过自然选择.变异.重组等操作,针对特定的问题取寻找出一个满意的解 ...

  7. 遗传算法解决TSP问题 Python实现【160行以内代码】

    简述 之前通过遗传算法(Genetic Algorithm )+C++实现解决TSP问题 写了一些基本的原理.并且给出了C++版本代码. 相比于近300行的C++程序,Python只用了160行就解决 ...

  8. 遗传算法求解3D打印中零件二维排布问题(MATLAB实现)

    目录 遗传算法求解3D打印中零件二维排布问题(MATLAB实现) 一.遗传算法简介 二.排样方法 1.二维不规则排样 2.编码及解码方式 三.遗传算法求解 1.算法建模 2.遗传算子 选择算子 交叉算 ...

  9. 使用遗传算法求解三元函数最大值

    使用遗传算法求解三元函数最大值 使用遗传算法求解三元函数z的最大值 z=f(x,y)=xsin(4πx)-ysin(4πy+π)+1 在-1<x<1和-1<y<1上的最大值 # ...

  10. java tsp 遗传算法_遗传算法解决TSP问题

    1实验环境 实验环境:CPU i5-2450M@2.50GHz,内存6G,windows7 64位操作系统 实现语言:java (JDK1.8) 实验数据:TSPLIB,TSP采样实例库中的att48 ...

最新文章

  1. 判断js对象是否拥有某属性
  2. delphi TStrings的一些用法
  3. mybatis:延迟加载时不要在get/set方法上面添加final关键字(原创)
  4. git reset后本地拉取_Git 代码防丢指南
  5. function signature是什么
  6. Java jar 包免费下载(全)
  7. mysql设计一个网上购物系统_网上购物系统的设计与实现(MyEclipse,MySQL)
  8. Vue3 npm run serve 太慢的解决方法
  9. C++基础知识 - 浮点类型
  10. YOLOv3批量测试图片并保存在自定义文件夹下
  11. c纳秒级计时器_C#中的高精度计时方法(纳秒级别计时)
  12. 彻底消除电脑中的流氓软件与广告弹窗
  13. CouchDB安装与使用
  14. “好奇号”的火星发展观
  15. wpf绘制圆环,实现图片镂空
  16. 十条优秀的网站设计经验
  17. 路由器重温——ADSL/VDSL接口配置管理
  18. Matplotlib数据可视化从入门到进阶
  19. 【情人节】--可变色爱心,可写下爱人名字
  20. 拉格朗日四平方和定理c语言,费马平方和定理 拉格朗日四平方和定理

热门文章

  1. SpringCloud核心组件讲解
  2. visio 2010 激活方法
  3. 数学算法对计算机编程的优化
  4. 破局疫后“她经济”,解读艺星整形逆势增长的“3级助推器”
  5. 如何在5分钟内发现 SQL 语言中的数据血缘
  6. sql server2016还原数据库
  7. windows命令行包管理工具 -Scoop
  8. 10套高质量Linux教程,放在百度网盘了
  9. 软件设计师历年真题与解析(05-18 包括答案)
  10. c语言出100道计算题,C语言例题100道