资源简介

本人研究生阶段主要学习蚁群算法,还留下一些问题,如果碰到有兴趣的人就太好不过了。本代码亲测可以使用,在MATLAB中点击main.m即可以运行。此外,本代码框架将会使你快速清楚蚁群算法基本原理。 这里我给出我最后一个想实现但是还没有完成的蚁群算法的代码。 主要是想应用在很大规模下的蚁群算法上,最好是5000*5000的栅格,但是本算法目前还比较慢,而且也不能得出一个最优结果。 我试图在算法迭代后期加入随机初始化算子,以提高算法精度。 当然,加速算法运行时间我没有加入到这个算法中。 本程序对于栅格图形下的蚁群算法会是一个有用的代码。 对于初学蚁群算法的,我在知乎上的一个回答可供参考:https://www.zhihu.com/question/41933598/answer/229896783。 我也会放入我的论文。论文第四章中有描述到我想完成的任务。 如果我的论文与代码对你有帮助,敬请引用。

资源截图

代码片段和文件信息

function tauInfo = addPheromone(tauInfobestSoFar_pathNodebestSoFar_path_lengthrhoGlobalgraphupPheromone)
% 更新较好路径上的信息素,使其增加。
% 输入
%     信息素信息,为栅格总数*8的矩阵
%     当前最优路径信息,为行向量
%     最优路径长度
%     信息素更新率
%     栅格地图
%     信息素上限
% 输出
%     修改后的信息素信息

for i=1:size(bestSoFar_pathNode2)-1
    currentCity = bestSoFar_pathNode(1i);
    nextCity = bestSoFar_pathNode(1i+1);
    
    [xi  yi] = indexConvetToCoordinate(currentCitygraph);
    [x  y] = indexConvetToCoordinate(nextCitygraph);
    
    relativeIndex = coordinateConvertToRelativeIndex(xiyixy);%第二点相对于第一个点的位置
    
    tau_1 = tauInfo(currentCity:);
    
    tau_1(1relativeIndex) = (1-rhoGlobal)*tau_1(1relativeIndex) + rhoGlobal/bestSoFar_path_length;
    
    if tau_1(1relativeIndex)>upPheromone
        tau_1(1relativeIndex) = upPheromone;
    end
    
    tauInfo(currentCity:) = tau_1;
    
end

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        994  2018-06-17 08:32  蚁群算法在大规模栅格地图中的实现\addPheromone.m

     文件       1153  2018-06-17 08:32  蚁群算法在大规模栅格地图中的实现\barrier_reality_320.mat

     文件        757  2018-06-17 08:32  蚁群算法在大规模栅格地图中的实现\computeConvertProbability.m

     文件        595  2018-06-17 08:32  蚁群算法在大规模栅格地图中的实现\computeConvertTau.m

     文件        782  2018-06-17 08:32  蚁群算法在大规模栅格地图中的实现\computeHeuristicInfo.m

     文件        644  2018-06-17 08:32  蚁群算法在大规模栅格地图中的实现\coordinateConvertToRelativeIndex.m

     文件       3541  2018-06-17 08:32  蚁群算法在大规模栅格地图中的实现\findNextNodeSet.m

     文件       1627  2018-06-17 08:32  蚁群算法在大规模栅格地图中的实现\getInitPath.m

     文件        318  2018-06-17 08:32  蚁群算法在大规模栅格地图中的实现\indexConvetToCoordinate.m

     文件       5690  2018-09-25 21:09  蚁群算法在大规模栅格地图中的实现\main.m

     文件       1093  2018-06-17 08:32  蚁群算法在大规模栅格地图中的实现\new_computeHeuristicInfo.m

     文件        903  2018-06-17 08:32  蚁群算法在大规模栅格地图中的实现\reducePheromone.m

     文件        558  2018-06-17 08:32  蚁群算法在大规模栅格地图中的实现\selectNextNode.m

     文件         96  2018-06-17 08:32  蚁群算法在大规模栅格地图中的实现\tauInfoInit.m

     文件        253  2018-06-17 08:32  蚁群算法在大规模栅格地图中的实现\tauVeiw.m

     文件       1021  2018-06-17 08:32  蚁群算法在大规模栅格地图中的实现\updatePheromoneForBadIteration.m

     文件       1142  2018-06-17 08:32  蚁群算法在大规模栅格地图中的实现\updatePheromoneForBestSoFarPath.m

     文件    4044122  2018-06-14 07:27  蚁群算法在大规模栅格地图中的实现\研究生毕业论文20180326终版.pdf

     目录          0  2018-09-25 21:07  蚁群算法在大规模栅格地图中的实现

----------- ---------  ---------- -----  ----

              4065289                    19


评论

共有 条评论