如何在JavaScript中实现这一点?谢谢。
蚂蚁系统( Ant,AS)是文献中首次提出的蚁群算法(Dorigo等人)。1991年,Dorigo等人。(1996年)。它的主要特点是信息素值由所有已完成巡演的蚂蚁更新。解决方案组件c_{i,j}是图的边缘,\tau_{i,j}的信息素更新,也就是与城市i和j相连的信息素,执行如下:
\tau_{i,j} <- (1-\rho)*\tau_{i,j} + \sum\limits_{k=1}^{m} \Delta\tau_{i,j}^{k}当蒸发速率rho在区间(0,1)时,m是蚂蚁数,\Delta*\tau_{i,j}{k}是第k个蚂蚁放置在边缘(i,j)上的信息素的数量。如果一只蚂蚁在它的旅行中使用一个边缘,那么放置在该边缘上的信息素的数量计算如下,
\Delta\tau_{i,j}^{k} = 1/L_{k}其中L_{k}是第k个蚂蚁的游程长度.如果ant不使用边(i,j),则\Delta\tau_{i,j}^{k}为零。

我在努力..。
pher[i][j]= pher[i][j] *(1.0-rho) + numAnts*(.......
发布于 2015-09-27 17:25:57
这是一个求和的例子。但我不明白算法的其余部分。例如,你们有信息素矩阵吗?
function sumk2m(k0,m,f){
var result = 0;
for(var k = k0; k<m ; k++){
result = result+f(k);
}
return result
}
function isedgeintour(k){
//I don't know what's this!
}
function L(k){
//I don't know what's this either!
}
var deltapher = function (k){
if(isedgeintour(k)){
return 1/L(k);
} else {
return 0;
}
}
pher[i][j]= pher[i][j] *(1.0-rho) + sumk2m(1,numAnts,deltapher)https://stackoverflow.com/questions/32810214
复制相似问题