#5樓 得分:0回復(fù)于:2008-07-05 11:13:11
hai同志說(shuō)的我在CSDN 上面查了一下 是關(guān)于什么輪盤賭的
我是這樣設(shè)計(jì)的
對(duì)于每一個(gè)螞蟻
先設(shè)定一個(gè)量=0
并且用rand()/RAND_MAX求出隨機(jī)數(shù)
首先按照它的tabu計(jì)算出來(lái)轉(zhuǎn)移概率的分母部分
再進(jìn)入一個(gè)循環(huán) 對(duì)于每一個(gè)的城市j進(jìn)行檢驗(yàn)當(dāng)它不在禁忌表中的時(shí)候求出轉(zhuǎn)移概率公式對(duì)應(yīng)的分子部分(概率也就知道了)
然后用剛剛那個(gè)=0的量進(jìn)行累加這個(gè)概率
如果這個(gè)概率>隨機(jī)數(shù)了 那么就把該城市j加入到螞蟻的禁忌表中
最后求出最短路徑=421.243
只是rand()好像有問(wèn)題
而且我這個(gè)蟻群算法是第一個(gè)版本 還需要很大的優(yōu)化