蚁群算法人工智能试验报告.docx

上传人:b****7 文档编号:26219873 上传时间:2023-06-17 格式:DOCX 页数:12 大小:335.16KB
下载 相关 举报
蚁群算法人工智能试验报告.docx_第1页
第1页 / 共12页
蚁群算法人工智能试验报告.docx_第2页
第2页 / 共12页
蚁群算法人工智能试验报告.docx_第3页
第3页 / 共12页
蚁群算法人工智能试验报告.docx_第4页
第4页 / 共12页
蚁群算法人工智能试验报告.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

蚁群算法人工智能试验报告.docx

《蚁群算法人工智能试验报告.docx》由会员分享,可在线阅读,更多相关《蚁群算法人工智能试验报告.docx(12页珍藏版)》请在冰豆网上搜索。

蚁群算法人工智能试验报告.docx

蚁群算法人工智能试验报告

人工智能实验报告

姓名:

学号:

班级:

实验时间:

蚁群算法

实验原理:

蚂蚁在觅食过程中可以找出巢穴到食物源的最短路径,为什么

(1)信息素(pheromone)

(2)正反馈现象:

某一路径上走过的蚂蚁越多,则后来者选择该路径的概率就越大。

(3)挥发现象:

路径上的信息素浓度会随着时间推进而逐渐衰减。

蚁群算法的缺点:

1)收敛速度慢

2)易于陷入局部最优

改进:

1)采用局部优化,设计了三种优化算子。

2)采用蚁群优化算法。

3)其它优化算法

实验内容:

旅行商问题(TSP,travelingsalesmanproblem):

—商人去n个城市销货,所有城市走一遍再回到起点,使

所走路程最短。

实验步骤:

算法代码:

%%蚁群算法的优化计算一一旅行商问题(TSP)优化

%%清空环境变量

clearall

clc

%%导入数据

load

%%计算城市间相互距离

n=size(citys,1);

D=zeros(ntn);

fori=l:

n

forj=1:

n

ifi=J

D(i.j)=sqrt(sum((citys(i,:

)一citys(j,:

))/2));else

D(i,j)=le-4;

end

end

end

%%初始化参数

%蚂蚁数量

%信息素重要程度因子

%启发函数重要程度因子

%信息素挥发因子

%常系数

%启发函数

%信息素矩阵

%路径记录表

%迭代次数初值

%最大迭代次数

%各代最佳路径

%各代最佳路径的长度

%各代路径的平均长度

m=50;

alpha=1:

beta=5;

rho=;

Q=1;

Eta=1./D;

Tau=ones(ntn);

Table=zeros(m,n);

iter=1;

iter_max=200;

Routebest=zeros(itermaxtn):

Lengthbest=zeros(iter_max,1);Lengthave=zeros(itermax,1);

%%迭代寻找最佳路径

whileiter<=iter_max

%随机产生各个剧蚁的起点城市

start=zeros(m,1);

fori=l:

m

temp=randperm(n):

%返回n个[0,n]间的随机元素向量

start(i)=temp(l);

end

Table(:

1)=start;

%构建解空间

citys_index=1:

n;%访问l'n这n个城市

%逐不蚂蚁路径选择

fori=l:

m

%逐个城市路径选择

forj=2:

n%各个蚂蚁都需要访问n-1个城市

tabu=Table(i,1:

(j-1));%已访问的城市集合(禁

忌表)

allow_index=^ismember(citys_index,tabu):

%判断

citys_index中元素有没有在tabu中出现,出现用1表示,否则用0表示。

allow=citys_index(allowindex):

%待访问的城市集合

P=allow;

%计算城市间转移概率

fork=1:

length(allow)

P(k)=Tau(tabu(end),allow(k))alpha*

Eta(tabu(end),allow(k)厂beta;

end

P=P/sum(P):

%轮盘赌法选择下一个访问城市

Pc=cumsum(P):

%返回矩阵不同维数的累加

targetindex=find(Pc>=rand);%选择下一个访问城市,往往转移概率大的城市被选中的概率也更大。

target=allow(target_index

(1)):

Table(i,j)=target;%已选定的下一个待访问城市end

end

%计算各个蚂蚁的路径距离

Length=zeros(m,1):

fori=l:

m

Route=Table(i.:

);

forj=1:

(n-1)

Length(i)=Length(i)+D(Route(j),Route(j+1));

end

Length(i)=Length(i)+D(Route(n),Route

(1)):

%构成环

end

%计算最短路径距离及平均距离

ifiter==1

[minLength,minindex]=min(Length):

Lengthbest(iter)=minLength;

Lengthave(iter)=mean(Length):

Routebest(iter,:

)=Table(minindex,:

):

%Table,访问城市

列表,也就是路径记录表

else

IminLength,minindex]=min(Length):

Lengthbest(iter)=min(Lengthbest(iter-1),min_Length):

Lengthave(iter)=mean(Length);

ifLengthbest(iter)==minLength

Route^best(iter,:

)=Table(minindex,:

):

else

Route_best(iter,:

)=Route_best((iter-1),:

);

end

end

%更新信息素

Delta_Tau=zeros(n,n);

%逐不蚂蚁计算

fori=l:

m

%逐个城市计算

forj=1:

(n-1)

DeltaTau(Table(i,j),Table(i,j+1))=

DeltaTau(Table(i,j).Table(i,j+1))+Q/Length(i):

end

Delta_Tau(Table(i,n)tTable(i,1))二

DeltaTau(Table(i,n).Table(i,1))+Q/Length(i):

end

Tau=(1-rho)*Tau+DeltaTau;%所有蚂蚁在各连接路径上的信息素浓度,不同迭代层间有关联

%迭代次数加1,清空路径记录表

iter=iter+1;

Table=zeros(m,n);

end

%%结果显示

[ShortestLength,index]=min(Lengthbest):

Shortest_Route=Routebest(index,:

):

disp([‘最短距离:

'num2str(Shortest_Length)]);

disp([‘最短路径:

'num2str([Shortest,RouteShortest_Route

(1)])]);

%%绘图

figure(l)

plot([citys(Shortest,Route,1):

citys(Shortest,Route

(1),1)],・・・

[citys(Shortest,Route,2);citys(Shortest,Route

(1),2)],‘0-’);gridonfori=1:

size(cityst1)

end

text(citys(Shortest^Route

(1),1),citys(ShortestRoute

(1)T2)/起

点J;""

text(citys(Shortest_Route(end),1),citys(ShortestRoute(end)12)/

终点');

xlabel?

城市位置横坐标')

ylabelC城市位置纵坐标')

titledF蚁群算法优化路径(最短距离:

’num2str(Shortest_Length)r)1])figure

(2)

plot(1:

iter_max,Lengthybest/b1,1:

itermax,Lengthave,1r:

r)

legend(-最短距离’,’平码距离’)

xlabelC迭代次数')

ylabelC距离J

titleC各代最短距离与平均距离对比')

实验结果:

FileEditViev/InsertToolsDesktopWindov/HelpD&皱&紳⑥®|□S.BQ

1500200025003000350040004500

城市位置横坐标

40

5

FileEdit\/iewInsertToolsDesktopWindowHelp

□se愴®Q曹®舉□目■口

」00

0010

5

1500200025003000350040004500

城市位羞横坐标

蚁群算法优化路径(販短距离:

156019195)

 

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 交规考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1