蚁群算法及其应用研究(15)
发布时间:2021-06-06
发布时间:2021-06-06
北京T业大学T学硕十学位论文
ACS算法在每次迭代中对信息素浓度要进行局部和全局两次信息素的更新。首先在构造解时,蚂蚁k对其走过的每条路径用下式(2-9)来进行局部信息素的更新。
TgO+1)=(1一p) f“(f)+p fo(2—9)式中P表示随着时问的推移信息素的挥发系数p∈(o,1)(卜P可视为残留系数),f。为一很小的常数,实验值为%=(行-£。)~,n为城市数目,L。为到目前为止算法得到的最优解路径,第一次迭代时L。。为使用最近邻域启发算法产生的一个解的旅行长度。
其次,当每次循环所有的蚂蚁都完成了一次周游后,ACS算法对最佳路径上的信息素按式(2-10)进行全局更新:
%聊=(1一y) 乃砌+y △勺(2—10)瓴={:f‰’警最优解包含路彻艚;
旅行长度(Lb,,t≤L。)。(2-11)参数Y与P的意义相同,L‰是到目前为止蚁群寻优得到的全局最优解的
在ACS算法中,信息素浓度局部更新的目的是为了避免陷入局部最优,防止信息素浓度过强的边被所有的蚂蚁选择,而全局更新的目的在于奖励属于较短的周游路径,形成正反馈的强化学习机制。ACS蚁群算法一方面通过强化状态变迁规则,增强蚁群搜索解路径的多样性,避免早熟现象;另一方面,通过全局信息素的更新,强化正反馈的过程,加速收敛过程。因此,ACS算法体现出较好的求解性能。
2.3最大一最小蚂蚁系统
最大一最小蚂蚁系统(即MMAS)是到目前为止解决TSP,QAP等问题最好的AC0算法之一。和其他寻优算法相比较,它属于最好的解决方案之一。MMAS算法直接来源于AS算法,主要作了如下的改进:(1)每次迭代结束后,只有最优解所属路径上的信息素更新,从而更好地利用了历史信息(这与ACS算法的调整方案有点类似):(2)为了避免算法过早收敛于并非全局最优的解,将各条路径可能的信息素浓度限制于[f血,f眦],超出这个范围的值被强制设为f曲或者是f。。,可以有效地避免某条路径上的信息量远大于其余路径,使得所有的蚂