云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 蚁群算法(C++版)

蚁群算法(C++版)

  • 62 次阅读
  • 3 次下载
  • 2026/4/26 4:23:39

//如果蚂蚁去过的城市数量小于城市数量,就继续移动 while (m_nMovedCityCount < N_CITY_COUNT) {

Move(); }

//完成搜索后计算走过的路径长度 CalPathLength(); }

//计算蚂蚁走过的路径长度 void CAnt::CalPathLength() {

m_dbPathLength=0.0; //先把路径长度置0 int m=0; int n=0;

for (int i=1;i

m=m_nPath[i]; n=m_nPath[i-1];

m_dbPathLength=m_dbPathLength+g_Distance[m][n]; }

//加上从最后城市返回出发城市的距离 n=m_nPath[0];

m_dbPathLength=m_dbPathLength+g_Distance[m][n];

} //tsp类 class CTsp { public: CTsp(void); ~CTsp(void); public:

CAnt m_cAntAry[N_ANT_COUNT]; //蚂蚁数组

CAnt m_cBestAnt; //定义一个蚂蚁变量,用来保存搜索过程中的最优结果 //该蚂蚁不参与搜索,只是用来保存最优结果 public:

//初始化数据 void InitData();

//开始搜索 void Search();

//更新环境信息素 void UpdateTrial();

};

//构造函数 CTsp::CTsp(void) { }

CTsp::~CTsp(void) { }

//初始化数据 void CTsp::InitData() {

//先把最优蚂蚁的路径长度设置成一个很大的值 m_cBestAnt.m_dbPathLength=DB_MAX;

//计算两两城市间距离 double dbTemp=0.0;

for (int i=0;i

for (int j=0;j

dbTemp=(x_Ary[i]-x_Ary[j])*(x_Ary[i]-x_Ary[j])+(y_Ary[i]-y_Ary[j])*(y_Ary[i]-y_Ary[j]); dbTemp=pow(dbTemp,0.5);

g_Distance[i][j]=ROUND(dbTemp); } }

//初始化环境信息素,先把城市间的信息素设置成一样

//这里设置成1.0,设置成多少对结果影响不是太大,对算法收敛速度有些影响 for (int i=0;i

for (int j=0;j

g_Trial[i][j]=1.0; } } }

//更新环境信息素 void CTsp::UpdateTrial() {

//临时数组,保存各只蚂蚁在两两城市间新留下的信息素 double dbTempAry[N_CITY_COUNT][N_CITY_COUNT]; memset(dbTempAry,0,sizeof(dbTempAry)); //先全部设置为0

//计算新增加的信息素,保存到临时数组里 int m=0;

搜索更多关于: 蚁群算法(C++版) 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

//如果蚂蚁去过的城市数量小于城市数量,就继续移动 while (m_nMovedCityCount < N_CITY_COUNT) { Move(); } //完成搜索后计算走过的路径长度 CalPathLength(); } //计算蚂蚁走过的路径长度 void CAnt::CalPathLength() { m_dbPathLength=0.0; //先把路径长度置0 int m=0; int n=0; for (int i=1;i

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com