下载此文档

蚁群算法人工智能实验报告.doc


文档分类:IT计算机 | 页数:约8页 举报非法文档有奖
1/8
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/8 下载此文档
文档列表 文档介绍
人工智能实验报告姓名: 学号: 班级: 实验时间: 蚁群算法实验原理: 蚂蚁在觅食过程中可以找出巢穴到食物源的最短路径,为什么? ( 1)信息素(pheromone) ( 2)正反馈现象:某一路径上走过的蚂蚁越多,则后来者选择该路径的概率就越大。( 3)挥发现象:路径上的信息素浓度会随着时间推进而逐渐衰减。蚁群算法的缺点: 1)收敛速度慢 2)易于陷入局部最优改进: 1)采用局部优化,设计了三种优化算子。 2)采用蚁群优化算法。 3)其它优化算法实验内容: 旅行商问题( TSP,traveling salesman problem ): 一商人去 n个城市销货,所有城市走一遍再回到起点,使所走路程最短。实验步骤: 算法代码: %% 蚁群算法的优化计算——旅行商问题(TSP) 优化%% 清空环境变量 clear all clc %% 导入数据 load %% 计算城市间相互距离 n= size(citys,1); D= zeros(n,n); for i= 1:n for j= 1:n ifi ~= j D(i,j) = sqrt(sum((citys(i,:) - citys(j,:)).^2)); else D(i,j) = 1e-4; end end end %% 初始化参数 m=50;%蚂蚁数量 alpha =1;%信息素重要程度因子 beta =5;%启发函数重要程度因子 rho =;%信息素挥发因子 Q=1;%常系数 Eta = 1./D; %启发函数 Tau = ones(n,n); %信息素矩阵 Table = zeros(m,n); %路径记录表 iter =1;%迭代次数初值 iter_max =200; %最大迭代次数 Route_best = zeros(iter_max,n); %各代最佳路径 Length_best = zeros(iter_max,1); %各代最佳路径的长度 Length_ave = zeros(iter_max,1); %各代路径的平均长度%% 迭代寻找最佳路径 while iter <= iter_max %随机产生各个蚂蚁的起点城市 start = zeros(m,1); for i= 1:m temp = randperm(n); %返回 n个[0, n]间的随机元素向量 start(i) = temp(1); end Table(:,1) = start; %构建解空间 citys_index = 1:n; %访问 1~n 这 n个城市%逐个蚂蚁路径选择 for i= 1:m %逐个城市路径选择 for j= 2:n %各个蚂蚁都需要访问 n-1 个城市 tabu = Table(i,1:(j - 1)); %已访问的城市集合(禁忌表) allow_index = ~ismember(citys_index,tabu); % 判断 citys_index 中元素有没有在 tabu 中出现,出现用 1表示,否则用 0表示。 allow = citys_index(allow_index); %待访问的城市集合 P= allow; %计算城市间转移概率 for k= 1:length(allow) P(k) = Tau(tabu(end),allow(k))^al

蚁群算法人工智能实验报告 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数8
  • 收藏数0 收藏
  • 顶次数0
  • 上传人beny00001
  • 文件大小215 KB
  • 时间2016-12-23