蚁群算法的基本原理Word格式文档下载.doc
《蚁群算法的基本原理Word格式文档下载.doc》由会员分享,可在线阅读,更多相关《蚁群算法的基本原理Word格式文档下载.doc(12页珍藏版)》请在冰豆网上搜索。
![蚁群算法的基本原理Word格式文档下载.doc](https://file1.bdocx.com/fileroot1/2022-10/22/c19f02f6-4dd8-4724-857f-83c6a1595a43/c19f02f6-4dd8-4724-857f-83c6a1595a431.gif)
其搜索过程大致如下:
在初始时刻,只蚂蚁随机放置于城市中,各条路径上的信息素初始值相等,设为:
为信息素初始值,可设,是由最近邻启发式方法构造的路径长度。
其次,蚂蚁,按照随机比例规则选择下一步要转移的城市,其选择概率为:
其中,为边上的信息素,为从城市转移到城市的启发式因子,为蚂蚁下一步被允许访问的城市集合。
为了不让蚂蚁选择已经访问过的城市,采用禁忌表来记录蚂蚁当前所走过的城市。
经过时刻,所有蚂蚁都完成一次周游,计算每只蚂蚁所走过的路径长度,并保存最短的路径长度,同时,更新各边上的信息素。
首先是信息素挥发,其次是蚂蚁在它们所经过的边上释放信息素,其公式如下:
,其中为信息素挥发系数,且。
,其中是第只蚂蚁向它经过的边释放的信息素,定义为:
(3.2)
根据(3.2)可知,蚂蚁构建的路径长度越小,则路径上各条边就会获得更多的信息素,则在以后的迭代中就更有可能被其他的蚂蚁选择。
蚂蚁完成一次循环后,清空禁忌表,重新回到初始城市,准备下一次周游。
大量的仿真实验发现,蚂蚁系统在解决小规模TSP问题时性能尚可,能较快的发现最优解,但随着测试问题规模的扩大,AS算法的性能下降的比较严重,容易出现停滞现象。
因此,出现了大量的针对其缺点的改进算法。
3.3.2精英蚂蚁系统
精英蚂蚁系统[11]是对基本AS算法的第一次改进,它首先由Dorigo等人中提出,它的设计思想是对算法每次循环之后给予最优路径额外的信息素量。
找出这个解的蚂蚁称为精英蚂蚁。
将这条最优路径记为(best-so-fartour)。
针对路径的额外强化是通过向中的每一条边增加大小的信息素得到的,其中e是一个参数,它定义了给予路径的权值大小,代表了的长度。
这样相应的信息素的更新公式如式(3.3):
(3.3)
其中,的定义方法跟以前的相同,的定义则如式(3.4):
(3.4)
Dorigo等人的文章列举的计算结果表明,使用精英策略并选取一个适当的e值将使得AS算法不但可以得到更好的解,而且能够在更少的迭代次数下得到一些更好的解。
3.3.3最大-最小蚂蚁系统
最大-最小蚂蚁系统(MMAS[13-15])是到目前为止解决TSP问题最好的ACO算法方案之一。
MMAS算法是在AS算法的基础之上,主要作了如下的改进:
(1)为避免算法过早收敛于局部最优解,将各条路径可能的外激素浓度限制于,超出这个范围的值被强制设为或者是,可以有效地避免某条路径上的信息量远大于其余路径,避免所有蚂蚁都集中到同一条路径上;
(2)强调对最优解的利用。
每次迭代结束后,只有最优解所属路径上的信息被更新,从而更好地利用了历史信息;
(3)信息素的初始值被设定为其取值范围的上界。
在算法的初始时刻,取较小的值时,算法有更好的发现较好解的能力。
所有蚂蚁完成一次迭代后,按(3.5)式对路径上的信息作全局更新:
(3.5)
(3.6)
允许更新的路径可以是全局最优解,或本次迭代的最优解。
实践证明逐渐增加全局最优解的使用频率,会使该算法获得较好的性能。
3.3.4基于排序的蚁群算法
基于排序的蚂蚁系统(ASrank)[16]是对AS算法的一种改进。
其改进思想是:
在每次迭代完成后,蚂蚁所经路径将按从小到大的顺序排列,即。
算法根据路径长度赋予不同的权重,路径长度越短权重越大。
全局最优解的权重为w,第r个最优解的权重为,则ASrank的信息素更新规则为:
(3.7)
3.3.5蚁群系统
蚁群系统(ACS[12])是由Dorigo等人提出来的改进的蚁群算法,它与AS的不同之处主要体现在三个方面:
(1)采用不同的路径选择规则,能更好地利用蚂蚁所积累的搜索经验。
(2)信息素挥发和信息素释放动作只在至今最优路径的边上执行,即每次迭代之后只有至今最优蚂蚁被允许释放信息素;
(3)除了全局信息素更新规则外,还采用了局部信息素更新规则。
在ACS中,位于城市的蚂蚁,根据伪随机比例规则选择城市作为下一个访问的城市。
路径选择规则由下面式子给出:
(3.8)
(3.9)
其中,是均匀分布在区间中的一个随机变量,是一个参数,是根据(3.9)给出的概率分布产生出来的一个随机变量(其中)。
ACS的全局信息素更新规则为:
,(3.10)
(3.11)
ACS的局部信息素更新规则方式定义:
在路径构建过程中,蚂蚁每经过一条边,都将立刻调用这条规则更新该边上的信息素:
(3.12)
其中,和是两个参数,满足,是信息素量的初始值。
局部更新的作用在于,蚂蚁每一次经过边,该边的信息素将会减少,从而使得其他蚂蚁选中该边的概率相对减少。
一、一个星期七天
Sunday
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
二、一年十二个月
January
February
March
April
May
June
July
August
September
October
November
December
三、一年四季
1.spring
2.summer
3.autumn
4.winter
四、容易拼写错的数字
1.eighth第八2.ninth第九3.forty四十4.twelfth第十二
5.twentieth第二十
四、亲属称呼
1.daughter(女儿)2.niece(女性晚辈)3.nephew(男性晚辈)4.cousin(同辈兄弟姐妹)5.aunt(女性长辈)6.uncle(男性长辈)
五、以下动词加-ed或-ing要双写最后一个字母
1.regret(regretted,regretting)后悔
2.control(controlled,controlling)控制
3.admit(admitted,admitting)承认
4.occur(occurred,occurring)出现
5.prefer(preferred,preferring)宁愿
6.refer(referred,referring)提到
7.forget(forgetting)忘记
8.permit(permitted,permitting)允许
9.equip(equipped,equipping)装备
注意:
quarrel,signal,travel中的l可双写(英国英语)也可不双写(美国英语)
六、部分过去式和过去分词不规则变化的动词
1.broadcast(broadcast,broadcast)广播
2.flee(fled,fled)逃跑
3.forbid(forbade,forbidden)禁止
4.forgive(forgave,forgiven)原谅
5.freeze(froze,frozen)结冰
6.hang(作“绞死”讲,是规则的;
作“悬挂”讲,其过去式过去分词都是hung)
7.lie–lied–lied说谎;
lie—lay---lain躺下
lay-laid-laid放置
8.seek(sought,sought)寻求
9.shake(shook,shaken)发抖
10.sing(sang,sung)唱歌
11.sink(sank,sunk/sunken)下沉
12.spread(spread,spread)传播
13.swim(swam,swum)游泳
14.tear(tore,torn)撕碎
16.wear(wore;
worn)穿/戴
17.hold(held,held)
18.make(made,made)
19.keep(kept,kept)
七、意思相近的词
1.check(核对)/
examine(检查)/
test(测试)
2.receive(收到)/
accept(接受)
3.destroy(毁坏;
毁灭)/damage(破坏)
4.celebrate(庆祝)/
congratulate(祝贺)
5.wearsth/
dresssb
穿衣
八、注意形容词变名词时的拼写变化
1.long—length长度2.wide—width宽度3.high—height高度
4.strong—strength力量
九、以-ic结尾的动词,应先把-ic变为-ick,再加ing或ed
1.picnic(picnicked,picnicking)野餐
十、个别名词的复数拼写
1.German(Germans)德国人2.gulf(gulfs)海湾3.handkerchief(handkerchiefs)手帕roof(roofs)房顶
4.hero(英雄),potato(土豆),tomato(西红柿)等有生命的以-o结尾的名词变复数时要加-es。
十一、注意动词变名词时的拼写变