手机版

蚁群算法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文档下载到电脑,方便复制、编辑、收藏和打印
×
二维码
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)