蚁群算法c++代码

发布时间:2021-06-08

可以运行,有详细步骤说明

#include <stdio.h>

#include <cmath>

#include <iostream>

#include <fstream>

#include <time.h> #include <cstdlib>

using namespace std; //下面的程序使用std

const int iAntCount=34;//蚂蚁数量,一般取值原则为:城市数量 / 蚂蚁数量 = 1.5左右 const int iCityCount=51;//城市数量

const int iItCount=2000;// 迭代次数,就是搜索次数

const double Q=100; //总的信息素

const double alpha=1; //信息素重要程度

const double beta=5; //这个数越大,则蚂蚁往信息素大的地方走的概率就越大

const double rou=0.5; //环境信息素挥发速度

int besttour[iCityCount];// 最佳路径列表

double rnd(int low,double uper)// 返回指定范围内的一个随机数

{

double p=(rand()/(double)RAND_MAX)*((uper)-(low))+(low);

return (p);

};

int rnd(int uper) //返回指定上限范围内的一个随机数

{

return (rand()%uper);

};

class GInfo//tsp地图信息,包含了信息素,城市距离,和信息素变化矩阵

{

public:

double m_dDeltTrial[iCityCount][iCityCount]; //临时保存信息素,更新环境信息素的时候使用,每只蚂蚁周游完各个城市后开始计算

double m_dTrial[iCityCount][iCityCount]; //当前环境信息素的增加

double distance[iCityCount][iCityCount]; //城市间距离

};

GInfo Map; //环境信息对象 全局变量Map

class ant//定义蚂蚁类

{

private:

int ChooseNextCity();//选择下一个城市

double prob[iCityCount]; //未走的城市选择概率,临时变量数组,选择下一个城市的时候,保存各个城市被选中的概率值

int m_iCityCount; //记录蚂蚁已经走过的城市数目

蚁群算法c++代码.doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219