遗传算法求解tsp问题 C语言,遗传算法解决TSP问题(C++)
《遗传算法解决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++)相关推荐
- 遗传算法(Genetic Algorithm )+C++实现解决TSP问题
概念 项目所在github https://github.com/Sean16SYSU/Algorithms4N 生物进化中的概念 遗传算法中的作用 环境 适应函数 适应性 适应函数值 适者生存 适应 ...
- 粒子群算法tsp java_粒子群算法解决TSP问题汇总.doc
PAGE \* MERGEFORMAT 14 河南理工大学计算机科学与技术学院课程设计报告 2014- 2015学年第一学期 课程名称 Java语言程序设计 设计题目 利用粒子群算法解决TSP问题 姓 ...
- 粒子群算法tsp java_粒子群算法解决TSP问题
1. 粒子群算法简介 粒子群算法(particle swarm optimization,PSO)由Kennedy和Eberhart在1995年提出,属于进化算法的一种,是通过对模拟鸟群扑食行为设计的 ...
- 求解tsp的c语言程序,解TSP问题的遗传算法C语言程序.doc
解TSP问题的遗传算法C语言程序 #include#include#include#include#include#include#include#include#include#define max ...
- matlab 旅行商遗传算法,急求蚁群混合遗传算法在matlab上的实现以解决TSP旅行商的问? 爱问知识人...
建立m文件 function [R_best,L_best,L_ave,Shortest_Route,Shortest_Length]=ACATSP(C,NC_max,m,Alpha,Beta,Rho ...
- 遗传算法求解函数优化及TSP问题
本文的pdf文件:link 遗传算法是群智能算法中的一个分支,是一类基于种群搜索的优化算法,受自然界生物进化机制的启发,通过自然选择.变异.重组等操作,针对特定的问题取寻找出一个满意的解 ...
- 遗传算法解决TSP问题 Python实现【160行以内代码】
简述 之前通过遗传算法(Genetic Algorithm )+C++实现解决TSP问题 写了一些基本的原理.并且给出了C++版本代码. 相比于近300行的C++程序,Python只用了160行就解决 ...
- 遗传算法求解3D打印中零件二维排布问题(MATLAB实现)
目录 遗传算法求解3D打印中零件二维排布问题(MATLAB实现) 一.遗传算法简介 二.排样方法 1.二维不规则排样 2.编码及解码方式 三.遗传算法求解 1.算法建模 2.遗传算子 选择算子 交叉算 ...
- 使用遗传算法求解三元函数最大值
使用遗传算法求解三元函数最大值 使用遗传算法求解三元函数z的最大值 z=f(x,y)=xsin(4πx)-ysin(4πy+π)+1 在-1<x<1和-1<y<1上的最大值 # ...
- java tsp 遗传算法_遗传算法解决TSP问题
1实验环境 实验环境:CPU i5-2450M@2.50GHz,内存6G,windows7 64位操作系统 实现语言:java (JDK1.8) 实验数据:TSPLIB,TSP采样实例库中的att48 ...
最新文章
- 判断js对象是否拥有某属性
- delphi TStrings的一些用法
- mybatis:延迟加载时不要在get/set方法上面添加final关键字(原创)
- git reset后本地拉取_Git 代码防丢指南
- function signature是什么
- Java jar 包免费下载(全)
- mysql设计一个网上购物系统_网上购物系统的设计与实现(MyEclipse,MySQL)
- Vue3 npm run serve 太慢的解决方法
- C++基础知识 - 浮点类型
- YOLOv3批量测试图片并保存在自定义文件夹下
- c纳秒级计时器_C#中的高精度计时方法(纳秒级别计时)
- 彻底消除电脑中的流氓软件与广告弹窗
- CouchDB安装与使用
- “好奇号”的火星发展观
- wpf绘制圆环,实现图片镂空
- 十条优秀的网站设计经验
- 路由器重温——ADSL/VDSL接口配置管理
- Matplotlib数据可视化从入门到进阶
- 【情人节】--可变色爱心,可写下爱人名字
- 拉格朗日四平方和定理c语言,费马平方和定理 拉格朗日四平方和定理