温州建设小学网站首页,最有前景的代理产品,怎么进行网站建设,转换短链接平台//轮盘赌选择下一步行进城市 int citySelect(int k, int f) { int c 0;//记录蚂蚁可行进的城市个数 //1、计算可行进的各城市 选择概率 for (int m 0; m cityNum; m) { //若城市#xff08;i,j#xff09;之间有路且j不在蚂蚁k的禁忌表中#xf…//轮盘赌选择下一步行进城市 int citySelect(int k, int f) { int c 0;//记录蚂蚁可行进的城市个数 //1、计算可行进的各城市 选择概率 for (int m 0; m cityNum; m) { //若城市i,j之间有路且j不在蚂蚁k的禁忌表中则计算概率 if (dist(ants[k].loc, m) ! -1 !ifCityInTabu(m, k)) { cityProb[c].num m; cityProb[c].prob citySelProb(k, m); c; } } //2、线性化选择概率 for (int m 0; m c; m) { for (int n m; n 0; n--) { lineCityProb[m] cityProb[n].prob; } } //3、产生随机数选择城市 double r rand() / double(RAND_MAX); int j 0; //选取的目标城市 for (int m 0; m cityNum; m) { if (r lineCityProb[m]) { j cityProb[m].num; updateAnt(k, j); if (j f) ants[k].flag 1; //若蚂蚁k下一步城市为目的地城市则修改标志 return j; } } }