蚁群算法的基本原理及其改进算法专业:控制工程年级:2009级姓名:胡训智学号:30956060指导老师:周润景教授算法的提出算法的基本原理模型建立算法的实现算法改进结论参考文献蚁群算法的提出蚁群算法(antcolonyoptimization,ACO),又称蚂蚁算法,是一种用来寻找优化路径的机率型算法。它由MarcoDorigo于1992年在他的博士论文中提出,其灵感来源于蚂蚁在寻找食物过程中发现路径的行为。MacroDorigo基本原理NestFoodObstacle图1蚂蚁正常行进,突然环境改变,增加了障碍物基本原理NestFoodObstacle图2蚂蚁以等同概率选择各条路径较短路径信息素浓度高,选择该路径的蚂蚁增多基本原理图3蚂蚁选路过程示例EABDHCEABDHCd=0.5d=0.5d=1d=130ants30ants15ants15ants15ants15antst=0EABDHC30ants30ants20ants20ants10ants10antst=1基本原理NestFoodObstacle图4蚂蚁最终绕过障碍物找到最优路径模型建立基于蚂蚁构造墓地和分类幼体的聚类分析模型基于蚂蚁觅食行为和信息素的聚类分析模型基于蚂蚁构造墓地和分类幼体的聚类分析模型蚁群构造墓地行为和分类幼体行为统称之为蚁群聚类行为。生物学家经过长期的观察发现,在蚂蚁群体中存在一种本能的聚集行为。蚂蚁往往能在没有关于蚂蚁整体的任何指导性信息情况下,将其死去的同伴的尸体安放在一个固定的场所。真实蚁群的聚类行为DeneubougJL等人也用pheidolepallidula蚂蚁做了实验。发现蚁群会根据蚂蚁幼体的大小将其放置在不同的位置,分别把其堆放在蚁穴周围和中央的位置。真实的蚁群聚类行为的实验结果右图,四张照片分别对应为实验初始状态、3小时、6小时和36小时的蚁群聚类情况。基于蚂蚁构造墓地和分类幼体的聚类分析模型基本模型经过利用个体与个体和个体与环境之间的交互作用,实现了自组织聚类,并成功的应用于机器人的控制中(一群类似于蚂蚁的机器人在二维网格中随意移动并可以搬运基本物体,最终把它们聚集在一起)。该模型成功的应用引起了各国学者的广泛关注和研究的热潮。LumerE和FaietaB通过在Denurbourg的基本分类模型中引入数据对象之间相似度的概念,提出了LF聚类分析算法,并成功的将其应用到数据分析中。基于蚂蚁觅食行为和信息素的聚类分析模型蚂蚁在觅食的过程中,能够分为搜索食物和搬运食物两个环节。每个蚂蚁在运动过程中都将会在其所经过的路径上留下信息素,而且能够感知到信息素的存在及其强度,比较倾向于向信息素强度高的方向移动,同样信息素自身也会随着时间的流逝而挥发,显然某一路径上经过的蚂蚁数目越多,那么其信息素就越强,以后的蚂蚁选择该路径的可能性就比较高,整个蚁群的行为表现出了信息正反馈现象。程序流程图程序初始化X=load('data.txt');[N,n]=size(X);%N=测试样本数;n=测试样本的属性数;K=4;%K=组数;R=100;%R=蚂蚁数;t_max=1000;%t_max=最大迭代次数;best_solution_function_value=inf;信息素矩阵初始化信息素矩阵维数为N*K(样本数*聚类数)初始值为0.01。c=10^-2;tau=ones(N,K)*c;%信息素矩阵,初始值为0.01的N*K矩阵(样本数*聚类数)蚂蚁路径的选择及标识定义标识字符矩阵solution_string,维数为R*N+1,初始值都为0,以信息矩阵中信息素的值确定路径(即确定分到哪一组),具体方法如下:如果该样本各信息素的值都小于信息素阈值q,则取信息素最大的为作为路径。若最大值有多个,则从相同的最大值中随机取一个,作为路径。若信息数大于阈值q,则求出各路径信息素占该样本总信息素的比例,以概率确定路径。聚类中心选择聚类中心为该类所有样本的各属性值的平均值。偏离误差计算偏离误差的计算,即各样本到其对应的聚类中心的欧式距离之和MIN。MIN越小,聚类效果越好。计算各只蚂蚁的MIN值,找到最小的MIN值,该值对应的路径为本次迭代的最佳路径。信息素更新对信息素矩阵进行更新,更新方法为新值为原信息素值乘以(1-rho),rho为信息素蒸发率,在加上最小偏差值的倒数。fori=1:Ntau(i,best_solution(1,i))=(1-rho)*tau(i,best_solution(1,i))+1/tau_F;信息数更新之后,再根据新的信息数矩阵,判断路径。进行迭代运算。直到达到最大迭代次数,或偏离误差达到要求值。参数调试(蚂蚁数R最大迭代次数t_max)Rt_maxMINTime(s)10100504312.1007101000450457.242410100003280068.52341010000022559670.74461001005210911.693210010004002547.26211001000019726359.8759100100000289623503.8MIN=30690010002000300015002000250030003500500100015002000250030003500X蚁群聚类结果(R=100,t=1000)YZ实验结果此时的聚类效果还未最佳,应继续迭代。实验结果t=3915time=229.4707best_solution_function_value=1.9726e+004index1=6151619243335index2=118223034424748index3=238910131417212326272931394043464951index4=45711122025283236373841444550该算法的聚类结果跟标准聚类结果相同。实验结果010002000300015002000250030003500500100015002000250030003500X蚁群聚类结果(R=100,t=10000)YZMIN=19726此时已达到较好的聚类效果算法改进基于遗传变异的算法改进改进代码pls=0.1;%局部寻优阈值pls(相当于变异率)solution_temp=zeros(L,N+1);k=1;while(k=L)solution_temp(k,:)=solution_ascend(k,:);rp=rand(1,N);%产生一个1*N(51)维的随机数组,fori=1:Nifrp(i)=pls%某值小于pls则随机改变其对应的路径标识current_cluster_number=setdiff([1:K],solution_temp(k,i));rrr=randint(1,1,[1,K-1]);change_cluster=current_cluster_number(rrr);solution_temp(k,i)=change_cluster;endend参数调试(局部寻优参数pls)蚂蚁数R局部寻优参数pls最小偏离误差MIN迭代次数t_max程序运行时间time100.119727478499.04661000.1197271999123.007810000.119727806458.4601100.01197278950148.27771000.01197276665381.153910000.0119727884499.8319100.219727365088.18961000.2197272214149.112810000.219727948495.01271000.5197271802134.2481改进后聚类效果对比R基本算法MIN改进算法MINt_maxtimet_maxtime1010005.390950013100018.7946408061010005.266951779100015.597242293100100050.658348222100071.763536990100100055.714849049100061.354626704改进后聚类效果对比基于遗传算法的改进之后缩短了迭代次数,减少了计算量。聚类的效果要优于基本的蚁群算法。结论该算法的聚类结果跟标准聚类结果完全相同;蚁群算法不仅能够智能搜索、全局优化,而且具有稳健性、鲁棒性、正反馈、分布式计算、易与其它算法相结合等特点。利用正反馈原理,可以加快进化过程:分布式计算使该算法易于并行实现,个体之间不断进行信息交流和传递,有利于找到较好的解;该算法易与多种启发式算法结合,可改善算法的性能;由于鲁棒性强,故在基本蚁群算法模型的基础上进行改进,便可用于其它问题。因此,蚁群算法的问世为诸多领域解决复杂优化问题提供了有力的工具。参考文献①赵霞,“MAX一MIN蚂蚁系统算法及其收敛性证明,I,计算机工程与应用,2006(8.)②朱庆保,杨志军,基于变异和动态信息素更新的蚁群优化算法.软件学报,2004(2).③王剑,李平,杨春节,“蚁群算法的理论与应用”,机电工程,2003(5).④JuliaHandl,JoshuaKnowles,MareoDorigo.Ant-basedclusteringandtoPograPhiemapping[J]ArtificialLife,2008,12(1)⑤吴斌,史忠植.一种基于蚁群算法的TSP问题分段求解算法[J].计算机学报,2001,24(12).参考文献⑥吴庆洪,张纪会,徐心和.具有变异特征的蚁群算法[J].计算机研究与发展,1993,36(10):1240-1245.⑦朱庆保,杨志军.基于变异和动态信息素更新的蚁群优化算法[J].软件学报,2004,15(2):185-192.⑧刘波一种利用信息嫡的群体智能聚类算法[J].计算机工程与应用.2004(35);180一182⑨董旭,魏振军一种加权欧氏距离聚类方法[J].信息工程大学学报,2005,6(l).⑩杨欣斌,孙京浩,黄道.基于蚁群聚类算法的离群挖掘方法[J].计算机工程与应用,2003,39(9)请老师同学批评指正谢谢大家!