蚁群算法.ppt
- 文档编号:230685
- 上传时间:2022-10-07
- 格式:PPT
- 页数:15
- 大小:388KB
蚁群算法.ppt
《蚁群算法.ppt》由会员分享,可在线阅读,更多相关《蚁群算法.ppt(15页珍藏版)》请在冰豆网上搜索。
1蚁群算法1.引言在二十世纪九十年代初期,意大利学者在二十世纪九十年代初期,意大利学者MDorigo,VManiezzo,AColorni等从蚂蚁觅食的自然现象中发现,蚂蚁在觅食过程中留下等从蚂蚁觅食的自然现象中发现,蚂蚁在觅食过程中留下一种外激素(又叫信息激素),以便在回巢时不至于迷路,而且方便找一种外激素(又叫信息激素),以便在回巢时不至于迷路,而且方便找到回巢的最好路径。
由此到回巢的最好路径。
由此MDorigo等人首先提出来一种新的启发式等人首先提出来一种新的启发式优化算法,又叫蚁群系统优化算法,又叫蚁群系统(AntColonySystem),这种算法是目前国内,这种算法是目前国内外启发式算法中的研究热点和前沿课题,被成功地运用于旅行商问题外启发式算法中的研究热点和前沿课题,被成功地运用于旅行商问题的求解,蚁群算法在求解复杂优化问题方面具有很大的优越性和广阔的求解,蚁群算法在求解复杂优化问题方面具有很大的优越性和广阔的前景。
的前景。
2.蚁群算法基本原理像蚂蚁这类群居昆虫,虽没有知觉,却能找到有蚁穴到食物源像蚂蚁这类群居昆虫,虽没有知觉,却能找到有蚁穴到食物源的最短路径的最短路径,为什么,为什么?
蚂蚁蚂蚁个体之间是个体之间是利用利用信息信息素素(pheromone)作为介质来相互)作为介质来相互交流、交流、合作合作的。
蚂蚁在运动过程中,能够在它所经过的路径上留下该物质,的。
蚂蚁在运动过程中,能够在它所经过的路径上留下该物质,并指导自己的运动方法,蚂蚁倾向于朝着该物质强度高的方向移动。
并指导自己的运动方法,蚂蚁倾向于朝着该物质强度高的方向移动。
因此,有大量蚂蚁组成的蚁群的集体行为表现出一种信息正反馈现因此,有大量蚂蚁组成的蚁群的集体行为表现出一种信息正反馈现象:
某条路上象:
某条路上经过的蚂蚁越多,经过的蚂蚁越多,则后者选择该路径的概率越大。
则后者选择该路径的概率越大。
2.蚁群算法基本原理假定障碍物的周围有两条假定障碍物的周围有两条道路可以从蚂蚁的巢穴到达食道路可以从蚂蚁的巢穴到达食物源(如图物源(如图1.1):
):
Nest-ABD-Food和和Nest-ACD-Food,分别具有长,分别具有长度度4和和6。
蚂蚁在单位时间内可。
蚂蚁在单位时间内可移动到一个单位长度的距离。
开移动到一个单位长度的距离。
开始时所有道路上都未留下任何始时所有道路上都未留下任何信息素。
信息素。
FoodNestObstacleDBAC111122蚂蚁群体的路径搜索原理和机制示例蚂蚁群体的路径搜索原理和机制示例:
图图1.1蚁群系统示意图蚁群系统示意图2.蚁群算法基本原理在在t=0时刻,时刻,20只蚂蚁从巢穴出发移只蚂蚁从巢穴出发移动到动到A,它们以相同概率选择左侧或右侧,它们以相同概率选择左侧或右侧道路,因此平均有道路,因此平均有10只蚂蚁走左侧,只蚂蚁走左侧,10只走右侧;只走右侧;在在t=4时刻,第一组到达食物源的蚂时刻,第一组到达食物源的蚂蚁将折回;蚁将折回;在在t=5时刻,两组蚂蚁在时刻,两组蚂蚁在D点相遇,点相遇,此时,此时,DB上的信息素数量与上的信息素数量与DC上的相上的相同,因为各有同,因为各有10只蚂蚁选择了相应的道只蚂蚁选择了相应的道路,从而有路,从而有5只返回的蚂蚁将选择只返回的蚂蚁将选择BD而而另外另外5只将选择只将选择CD;FoodNestObstacleDBAC111122图图1.1蚁群系统示意图蚁群系统示意图2.蚁群算法基本原理FoodNestObstacleDBAC111122在在t=8时刻,前时刻,前5只蚂蚁将返回巢穴,只蚂蚁将返回巢穴,而而AC、DC、BD上各有上各有5只蚂蚁;只蚂蚁;在在t=9时刻,前时刻,前5只蚂蚁又回到只蚂蚁又回到A并且并且再次面对往左还是往右的选择;再次面对往左还是往右的选择;这时,这时,AB上的轨迹数是上的轨迹数是20而而AC上是上是15,因此将有较为多数的蚂蚁选择往左,从,因此将有较为多数的蚂蚁选择往左,从而增强了该路线的信息素。
随着该过程的继而增强了该路线的信息素。
随着该过程的继续,两条道路上的信息素数量的差距将越来续,两条道路上的信息素数量的差距将越来越大,直至绝大多数蚂蚁都选择了最短的路越大,直至绝大多数蚂蚁都选择了最短的路线。
正是由于一条道路要比另一条道路短,线。
正是由于一条道路要比另一条道路短,因此,在相同的时间区间内,短的路线会有因此,在相同的时间区间内,短的路线会有更多的机会被选择。
更多的机会被选择。
图图1.1蚁群系统示意图蚁群系统示意图2.蚁群算法基本原理蚁群算法是一种随机搜索算法,与其他模型进化算法一样,蚁群算法是一种随机搜索算法,与其他模型进化算法一样,通过候选解组成的群体的进化过程来寻求最优解,该过程包括两通过候选解组成的群体的进化过程来寻求最优解,该过程包括两个阶段:
个阶段:
适应阶段适应阶段和和协助阶段协助阶段。
在适应阶段,各候选解根据积累的信息不断调整自身结构;在适应阶段,各候选解根据积累的信息不断调整自身结构;在协助阶段,候选解之间通过信息交流,以期望产生性能更在协助阶段,候选解之间通过信息交流,以期望产生性能更好的解。
好的解。
2.蚁群算法基本原理蚁群算法不需要任何先验知识,最初只是随机选择搜索路蚁群算法不需要任何先验知识,最初只是随机选择搜索路径,随着对解空间的“了解”,搜索变得有规律,并逐渐逼近径,随着对解空间的“了解”,搜索变得有规律,并逐渐逼近直至最终达到直至最终达到全局全局最优解。
蚁群算法对搜索空间的“了解”机最优解。
蚁群算法对搜索空间的“了解”机制主要包括三个方面:
制主要包括三个方面:
蚂蚁的记忆。
蚂蚁的记忆。
蚂蚁利用蚂蚁利用信息信息素素(pheromone)进行相互通信。
进行相互通信。
蚂蚁的集群活动。
蚂蚁的集群活动。
2.蚁群算法基本原理蚁群算法求解旅行商问题:
蚁群算法求解旅行商问题:
设设Bi(t)(i=1,n)是在是在t时刻城市时刻城市i的蚂蚁数,设的蚂蚁数,设1()niimbt为全部蚂为全部蚂蚁数,每个简单蚂蚁具有以下特征:
蚁数,每个简单蚂蚁具有以下特征:
它根据以城市距离和连接边上外激素的数量为变量的概率函数选它根据以城市距离和连接边上外激素的数量为变量的概率函数选择下一个城市(设择下一个城市(设()ijt为为t时刻边时刻边(,)eij上的外激素的强度)。
上的外激素的强度)。
规定蚂蚁走合法路线,除非周游完成,不允许转到已访问城市,有规定蚂蚁走合法路线,除非周游完成,不允许转到已访问城市,有禁忌表控制(设禁忌表控制(设ktabu表示第表示第k个蚂蚁的禁忌表,个蚂蚁的禁忌表,()ktabus表示禁忌表中第表示禁忌表中第s个元素)。
个元素)。
它完成周游后,蚂蚁在它每一条访问的边上留下外激素。
它完成周游后,蚂蚁在它每一条访问的边上留下外激素。
2.蚁群算法基本原理初始时刻初始时刻,各条路径上的信息量相等,各条路径上的信息量相等,设设(0)ijC(C为常数)为常数)。
蚂蚁。
蚂蚁k(k=1,2,m)在运动过程中,根据各条路径上信息量决定转移方向,)在运动过程中,根据各条路径上信息量决定转移方向,用用()kijpt表表示在示在tt时刻蚂蚁时刻蚂蚁kk由城市由城市i转移到城市转移到城市j的概率,的概率,()(),()()()0,kijijkkisisijsallowedttjallowedttPtotherwise其中,其中,0,1,1kkallowedntabu用来表示蚂蚁用来表示蚂蚁kk下一步允许选择的下一步允许选择的城市,城市,(1,2,)ktabukm用以记录蚂蚁用以记录蚂蚁k当前所走当前所走过的城市,集合过的城市,集合ktabu随着进随着进化过程作动态调整。
化过程作动态调整。
ij表示边弧表示边弧(,)ij的能见度,用某种启发式算法算出,一般的能见度,用某种启发式算法算出,一般取取1ijijd,ijd表示城市表示城市i与城市与城市j之间的距离。
之间的距离。
表示轨迹的相对重要性,表示轨迹的相对重要性,表示能见度的相对重要性。
表示能见度的相对重要性。
2.蚁群算法基本原理经过经过n个时刻,蚂蚁完成一次循环个时刻,蚂蚁完成一次循环,各路各路径径上信息量上信息量要根据以下式做调整:
要根据以下式做调整:
1()()ijijijmkijijktntkij表示第表示第k只蚂蚁在本次循环中留在路径只蚂蚁在本次循环中留在路径ij上的信息量,上的信息量,ij表示本次循表示本次循环中路径环中路径ij上的信息量增量,上的信息量增量,表示轨迹的持久性,表示轨迹的持久性,1理解为轨迹衰减度。
随着时间的推移,以前留理解为轨迹衰减度。
随着时间的推移,以前留下的信息逐渐下的信息逐渐消失消失,用参数,用参数1表示信息消逝程度。
表示信息消逝程度。
ij0,kkijQkL若第只蚂蚁在本次循环中经过否则kL表示第表示第k只蚂蚁环游一周的路径长度,只蚂蚁环游一周的路径长度,Q为常数。
为常数。
2.蚁群算法基本原理()ijt,()ijt,()kijpt的表达形式可以不同,要根据具体问题而定。
的表达形式可以不同,要根据具体问题而定。
DorigoMDorigoM曾曾给出给出三种不同模型,分别称为三种不同模型,分别称为ant-cyclesystem,ant-quantitysystem和和ant-densitysystem,它们的差别在于计算,它们的差别在于计算kij的公式不同。
的公式不同。
在在ant-quantitysystem模型中,模型中,,tt1ij0,kijijQkd若第只蚂蚁在时刻和+之间经过否则在在ant-densitysystem模型中,模型中,,tt1ij0,kijQk若第只蚂蚁在时刻和+之间经过否则它们的区别在于:
后两种模型中,利用的是局部信息,而前者利用的是整它们的区别在于:
后两种模型中,利用的是局部信息,而前者利用的是整体信息,在求解体信息,在求解TSP问题时,性能较好,因而通常采用它为基本模型。
问题时,性能较好,因而通常采用它为基本模型。
2.蚁群算法基本原理解旅行商问题的蚁群算法的基本步骤:
解旅行商问题的蚁群算法的基本步骤:
步骤步骤1:
0nc(nc为迭代步数或搜索次数);各为迭代步数或搜索次数);各ij和和ij的初始化;将的初始化;将m个蚂蚁置于个蚂蚁置于n个顶点上;个顶点上;步骤步骤2:
将各蚂蚁的初始出发点置于当前解集中:
对每个蚂蚁:
将各蚂蚁的初始出发点置于当前解集中:
对每个蚂蚁k(k=1,2,m),),按概率按概率kijp移至下一顶点力将顶点移至下一顶点力将顶点jj置于当前解集;置于当前解集;步骤步骤33:
计算各蚂蚁的路径长度:
计算各蚂蚁的路径长度kL(k=1,2,m);记录当前的最好解;);记录当前的最好解;步骤步骤4:
按更新方程修改轨迹强度;:
按更新方程修改轨迹强度;步骤步骤5:
对各边弧(:
对各边弧(i,j),置),置0ij,1ncnc;步骤步骤6:
若:
若nc预定的迭代次数且无退化行为(即找到的都是相同解)则转预定的迭代次数且无退化行为(即找到的都是相同解)则转步骤步骤2;步骤步骤7:
输出目前最好解。
:
输出目前最好解。
3.蚁群算法优缺点蚁群算法蚁群算法优点:
优点:
(1)较强的较强的鲁棒性鲁棒性:
对蚁群算法模型稍加修改,便可以应用于其它问题。
:
对蚁群算法模型稍加修改,便可以应用于其它问题。
(2)分布式计算:
该算法是一种基于种群的拟生态系统算法,具有本质并行分布式计算:
该算法是一种基于种群的拟生态系统算法,具有本质并行性,易于并行实现。
性,易于并行实现。
(3)易于与其他方法结合:
该算法很容易与多种启发式算法结合,以改善算易于与其他方法结合:
该算法很容易与多种启发式算法结合,以改善算法的性能。
法的性能。
(4)蚁群算法是一种本质上并行的算法。
每只蚂蚁搜索的过程彼此独立,仅蚁群算法是一种本质上并行的算法。
每只蚂蚁搜索的过程彼此独立,仅通过信息激素进行通信。
它在问题空间的多点同时开始进行独立的解搜索,不通过信息激素进行通信。
它在问题空间的多点同时开始进行独立的解搜索,不仅增加了算法的可靠性,也使
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 算法