- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
function [y,val]=QACS
tic
load att48 att48;
MAXIT=300; % 最大循环次数
NC=48; % 城市个数
tao=ones(48,48);% 初始时刻各边上的信息最为 1
rho=0.2; %
挥发系数
alpha=1;
beta=2;
Q=100;
mant=20; %
蚂蚁数量
iter=0; %
记录迭代次数
for i=1:NC %
计算各城市间的距离
for j=1:NC
distance(i,j)=sqrt((att48(i,2)-att48(j,2))^2+(att48(i,3)-att48(j,3))^2);
end
end
bestroute=zeros(1,48); % 用来记录最优路径
routelength=inf; % 用来记录当前找到的最优路径长度
% for i=1:mant % 确定各蚂蚁初始的位置
% end
for ite=1:MAXIT
for ka=1:mant % 考查第 K只蚂蚁
deltatao=zeros(48,48); % 第 K 只蚂蚁移动前各边上的信息增量为零
[routek,lengthk]=travel(distance,tao,alpha,beta);
if lengthkroutelength %
routelength=lengthk;
bestroute=routek;
end
找到一条更好的路径
for i=1:NC-1 % 第 K 只蚂蚁在路径上释放的信息量 deltatao(routek(i),routek(i+1))=deltatao(routek(i),routek(i+1))+Q/lengthk
;
end
deltatao(routek(48),1)=deltatao(routek(48),1)+Q/lengthk;
end
for i=1:NC-1
for j=i+1:NC
if deltatao(i,j)==0
deltatao(i,j)=deltatao(j,i);
end
end
end
tao=(1-rho).*tao+deltatao;
end
y=bestroute;
val=routelength;
toc
y=bestroute;
val=routelength;
toc
function [y,val]=travel(distance,tao,alpha,beta)
[m,n]=size(distance);
p=fix(m*rand)+1; %fix 取整函数
% 某只蚂蚁找到的某条路径
val=0; % 初始路径长度设为 0
tabuk=[p]; % 假设该蚂蚁都是从第
for i=1:m-1
np=tabuk(length(tabuk)); %
p_sum=0;
for j=1:m
p 个城市出发的
蚂蚁当前所在的城市号
if isin(j,tabuk)
continue;
else
ada=1/distance(np,j);
p_sum=p_sum+tao(np,j)^alpha*ada^beta;
end
end
cp=zeros(1,m); % 转移概率
for j=1:m
if isin(j,tabuk)
continue;
else
ada=1/distance(np,j);
cp(j)=tao(np,j)^alpha*ada^beta/p_sum;
end
end
NextCity=pchoice(cp);
tabuk=[tabuk,NextCity];
val=val+distance(np,NextCity);
end
y=tabuk;
function y=isin(x,A)
% 判断数
x 是否在向量
A 中,如在返回
1 ,否则返回
0
y=0;
for i=1:length(A)
if A(i)==x
y=1;
break;
end
end
function y=pchoice(A)
a=rand;
tempA=zeros(1,length(A)+1);
for i=1:length(A)
tempA(i+1)=tempA(i)+A(i);
end
for i=2:length(tempA)
if a=tempA(i)
y=i-1;
break;
end
end
您可能关注的文档
- (完整版)萧山机场土建施工安全技术交底.docx
- (完整版)落实消防安全培训.docx
- (完整版)落球法测重力加速度.docx
- (完整版)董腾老师病句讲解整理.docx
- (完整版)葫芦丝《军港之夜》教学.docx
- (完整版)蒙牛策划书.docx
- (完整版)蒸氨塔流程图.docx
- (完整版)蒸汽冷凝时传热系数和给热系数测定实验指导书.docx
- (完整版)蒹葭关雎赏析题.docx
- (完整版)蓝牙技术发展历程.docx
- 《GB/Z 167-2025系统控制图》.pdf
- GB/T 46712-2025无人值守场站运行及风险防控水平综合评价导则.pdf
- 中国国家标准 GB/T 46712-2025无人值守场站运行及风险防控水平综合评价导则.pdf
- GB/T 18988.2-2025放射性核素成像设备 性能和试验规则 第2部分:平面、全身、断层成像伽玛照相机.pdf
- 《GB/T 46712-2025无人值守场站运行及风险防控水平综合评价导则》.pdf
- 中国国家标准 GB/T 18988.2-2025放射性核素成像设备 性能和试验规则 第2部分:平面、全身、断层成像伽玛照相机.pdf
- 《GB/T 18988.2-2025放射性核素成像设备 性能和试验规则 第2部分:平面、全身、断层成像伽玛照相机》.pdf
- GB/T 20136-2025内燃机电站通用试验方法.pdf
- 中国国家标准 GB/T 20136-2025内燃机电站通用试验方法.pdf
- 中国国家标准 GB/Z 17626.32-2025电磁兼容 试验和测量技术 第32部分:高空电磁脉冲(HEMP)模拟器概述.pdf
原创力文档


文档评论(0)