蚁群算法c++代码(5)

发布时间:2021-06-08

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

ant ants[iAntCount]; //蚂蚁类对象的蚁群数组

void GetAnt();//初始化每只蚂蚁随即选择一个城市做为起点

void StartSearch();//开始蚁群的循环

project();//工程的构造函数

};

void project::UpdateTrial()

{

//calculate the changes of trial information

int i;

int j;

for(i=0;i<iAntCount;i++) {//计算每只蚂蚁在两两城市间留下的信息素,蚂蚁走过的路径越短,留下的信息素数值越大

for (j=0;j<iCityCount-1;j++) //计算两两城市间的信息素

{

Map.m_dDeltTrial[ants[i].tabu[j]][ants[i].tabu[j+1]]+=Q/ants[i].m_dLength ; Map.m_dDeltTrial[ants[i].tabu[j+1]][ants[i].tabu[j]]+=Q/ants[i].m_dLength; }

Map.m_dDeltTrial[ants[i].tabu[iCityCount-1]][ants[i].tabu[0]]+=Q/ants[i].m_dLength; Map.m_dDeltTrial[ants[i].tabu[0]][ants[i].tabu[iCityCount-1]]+=Q/ants[i].m_dLength; }

for (i=0;i<iCityCount;i++) {

for (j=0;j<iCityCount;j++)

{

Map.m_dTrial[i][j]=(rou*Map.m_dTrial[i][j]+Map.m_dDeltTrial[i][j] ); Map.m_dDeltTrial[i][j]=0;

}

}

}

void project::initmap()

{

int i;

int j;

for(i=0;i<iCityCount;i++)

for (j=0;j<iCityCount;j++)

{

Map.m_dTrial[i][j]=1;

Map.m_dDeltTrial[i][j]=0;

}

}

project::project()

{

//initial map,read map infomation from file . et.

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

精彩图片

热门精选

大家正在看

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

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

支付方式:

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

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