资源简介

自己写的有关蚁群算法求解51个城市TSP问题的文件 因为是自己写的文件所以有点乱 哎 没养成编程好习惯 希望对大家有一点参考作用 带GUI

资源截图

代码片段和文件信息

function [ reclongshortwayminrelong ] = aca( m alfap betap timesbegininflimitainfloseinfgainmininfmaxinfacoebcoe)
%  各个参数选择相当重要
%    蚂蚁数 参数 参数  轮回数 最初信息素 变异路线概率 信息素衰减率 
%   m个蚂蚁     试验数据在citys.txt      
load citys.txt;     %载入城市信息
reclong=zeros(1times);%保存每轮的最短路程
minrelong=10000000;%所有的最短路程值
n=size(citys1);   %一共n个城市
% m=n;
shortway=zeros(1n);%最短路程对应的路径
citysds=citysdis(citysn);%城市间距离值矩阵
  citym=mant2ncitys(mn); %m只蚂蚁放n个城市上  1×m列 第m个蚂蚁在哪个城市
infs=ones(nn)*begininf;%初始化信息素矩阵n×n个城市间的路线
beta=(bcoe./citysds).^betap;%城市间的启发因子  be系数

for ncn=1:times
        antway=zeros(mn);%记录每轮m个蚂蚁走过n个城市的线路 过程
%                    citym=mant2ncitys(mn); %m只蚂蚁放n个城市上  1×m列 第m个蚂蚁在哪个城市
%                      citym=1:m;
        antway(:1)=citym‘; %初始化每只蚂蚁的出发城市
        
        alfa=(acoe.*infs).^alfap ;         %城市间道路的信息素因素
        cityprop=alfa.*beta ;%每条道路的可能性分子
        cityprop=limitprop(citypropnlimita);
        

 for k=1:m              %m个蚂蚁走一圈  第k个走的过程
                    knowcity=antway(k1); %蚂蚁的起始城市作为最初的当前城市
                    yescity=[knowcity];        %已经走过的城市集合
%                     for i=2:n-1
                     for i=2:n
                        kantprop=cityprop(knowcity:);%取得蚂蚁的  当前城市  到各个城市的概率分子行
                        kantprop(knowcity)=0;      %城市自己到自己的概率要变为0
                        nextcity=picknextcity(kantpropyescityn);      %选出下一个城市
                        yescity=[yescity nextcity];       %添加走过的城市集合
                        knowcity=nextcity ; %选出的城市作为下一个当前城市
                    end
%                     yescity=[yescity sum(1:n)-sum(yescity)];%最后一个走的城市
                    antway(k:)=yescity;   %本次走过的城市更新 所有蚂蚁的路径集合
                    

 end
%计算本轮走完后每只蚂蚁走过的总路程 本论最短路程 最短路程的路径
[antwalklongmindsminline]=perantwalk(antwaycitysds);
reclong(ncn)= minds;%保留本轮最短路程值
        if minds            minrelong=minds;
            shortway=minline  ;   %跟新最短路程值 和最短路径
        end
%更新信息素
% inflose;infgain;
 infs=(infs.*inflose);
infs=updatainfs(infsantwalklongantwaymninfgainmininfmaxinf);
% Delta_Tau=zeros(nn);

%    infs=(infs.*inflose);
%     for i=1:m
%             for j=1:(n-1)
%             Delta_Tau(antway(ij)antway(ij+1))=Delta_Tau(antway(ij)antway(ij+1))+infgain/antwalklong(i);
%             Delta_Tau(antway(ij+1)antway(ij))= Delta_Tau(antway(ij)antway(ij+1));%
%              end
%     Delta_Tau(antway(in)antway(i1))=Delta_Tau(antway(in)antway(i1))+infgain/antwalklong(i);
%     Delta_Tau(antway(i1)antway(in))=    Delta_Tau(antway(in)antway(i1));%
%     end
%     infs=infs+Delta_Tau;

end
% cityprop
%  infs
%  shortway
%  minrelong
end


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2011-10-22 20:26  蚁群算法\
     文件        3937  2011-10-15 15:24  蚁群算法\aca.asv
     文件        3105  2011-10-15 15:45  蚁群算法\aca.m
     文件        3939  2011-10-15 15:41  蚁群算法\aca1.m
     文件       19023  2011-10-22 20:23  蚁群算法\aca511.asv
     文件       78436  2011-10-06 21:05  蚁群算法\aca511.exe
     文件       15803  2011-10-22 20:00  蚁群算法\aca511.fig
     文件       19099  2011-10-22 20:25  蚁群算法\aca511.m
     文件       35109  2011-10-06 21:05  蚁群算法\aca511.prj
     文件        2859  2011-10-06 21:05  蚁群算法\aca511_delay_load.c
     文件        3122  2011-10-06 21:05  蚁群算法\aca511_main.c
     文件        6354  2011-10-06 21:05  蚁群算法\aca511_mcc_component_data.c
     文件         934  2011-10-22 21:16  蚁群算法\cancelcross.asv
     文件        1027  2011-10-22 22:18  蚁群算法\cancelcross.m
     文件         493  2011-10-02 23:59  蚁群算法\citys.txt
     文件          72  2011-10-05 23:52  蚁群算法\citys0.txt
     文件         420  2011-10-15 11:07  蚁群算法\citys00.txt
     文件          89  2011-10-22 19:45  蚁群算法\citys12.txt
     文件         149  2011-10-22 19:42  蚁群算法\citys2.txt
     文件         404  2011-10-15 15:09  蚁群算法\citysdis.asv
     文件         409  2011-10-15 15:10  蚁群算法\citysdis.m
     文件         419  2011-10-22 22:06  蚁群算法\countshortway.asv
     文件         428  2011-10-22 22:06  蚁群算法\countshortway.m
     文件          33  2011-10-22 16:47  蚁群算法\cross0.txt
     文件         349  2011-10-22 20:57  蚁群算法\cross1.txt
     文件         198  2011-10-22 21:56  蚁群算法\crossornot.asv
     文件         332  2011-10-22 22:00  蚁群算法\crossornot.m
     文件        7802  2011-10-14 19:51  蚁群算法\duanant.m
     文件         309  2011-10-13 22:27  蚁群算法\limitprop.m
     文件         217  2011-10-03 21:01  蚁群算法\mant2ncitys.m
     文件      936936  2011-10-06 21:05  蚁群算法\mccExcludedFiles.log
............此处省略21个文件信息

评论

共有 条评论