蚁群算法(AntColonyOptimization)
⼀、蚁群算法
蚁群算法是⼀种智能优化算法,通过蚁群优化求解复杂问题,ACO在离散优化问题⽅⾯有⽐较好的优越性。
蚁群算法是⼀种⽤来寻找优化路径的概率型算法。它由Marco Dorigo于1992年在他的博⼠论⽂中提出,其灵感来源于蚂蚁在寻找⾷物过程中发现路径的⾏为。⼆、算法背景
单只蚂蚁的⾏为及其简单,⾏为数量在10种以内,但成千上万只蚂蚁组成的蚁群却能拥有巨⼤的智慧,这离不开它们信息传递的⽅式——信息素。
蚂蚁在⾏⾛过程中会释放⼀种称为“信息素”的物质,⽤来标识⾃⼰的⾏⾛路径。在寻找⾷物的过程中,根据信息素的浓度选择⾏⾛的⽅向,并最终到达⾷物所在的地⽅。
信息素会随着时间的推移⽽逐渐挥发。
在⼀开始的时候,由于地⾯上没有信息素,因此蚂蚁们的⾏⾛路径是随机的。蚂蚁们在⾏⾛的过程中会不断释放信息素,标识⾃⼰的⾏⾛路径。随着时间的推移,有若⼲只蚂蚁找到了⾷物,此时便存在若⼲
条从洞⽳到⾷物的路径。由于蚂蚁的⾏为轨迹是随机分布的,因此在单位时间内,短路径上的蚂蚁数量⽐长路径上的蚂蚁数量要多,从⽽蚂蚁留下的信息素浓度也就越⾼。这为后⾯的蚂蚁们提供了强有⼒的⽅向指引,越来越多的蚂蚁聚集到最短的路径上去。
古诗《雪》(1)⾼度结构化的组织——虽然蚂蚁的个体⾏为极其简单,但由个体组成的蚁群却构成⾼度结构化的社会组织,蚂蚁社会的成员有分⼯,有相互的通信和信息传递。
(2)⾃然优化——蚁群在觅⾷过程中,在没有任何提⽰下总能找到从蚁巢到⾷物源之间的最短路径;当经过的路线上出现障碍物时,还能迅速找到新的最优路径。
(3)信息正反馈——蚂蚁在寻找⾷物时,在其经过的路径上释放信息素(外激素)。蚂蚁基本没有视觉,但能在⼩范围内察觉同类散发的信息素的轨迹,由此来决定何去何从,并倾向于朝着信息素强度⾼的⽅向移动。
(4)⾃催化⾏为——某条路径上⾛过的蚂蚁越多,留下的信息素也越多(随时间蒸发⼀部分),后来蚂蚁选择该路径的概率也越⾼。
三、算法基本思想
(1)根据具体问题设置多只蚂蚁,分头并⾏搜索。
(2)每只蚂蚁完成⼀次周游后,在⾏进的路上释放信息素,信息素量与解的质量成正⽐。保险的好处
(3)蚂蚁路径的选择根据信息素强度⼤⼩(初始信息素量设为相等),同时考虑两点之间的距离,采⽤随机的局部搜索策略。这使得距离较短的边,其上的信息素量较⼤,后来的蚂蚁选择该边的概率也较⼤。
办公室政治
(4)每只蚂蚁只能⾛合法路线(经过每个城市1次且仅1次),为此设置禁忌表来控制。
邮箱怎么设置>生产成本控制方案(5)所有蚂蚁都搜索完⼀次就是迭代⼀次,每迭代⼀次就对所有的边做⼀次信息素更新,原来的蚂蚁死掉,新的蚂蚁进⾏新⼀轮搜索。
(6)更新信息素包括原有信息素的蒸发和经过的路径上信息素的增加。
(7)达到预定的迭代步数,或出现停滞现象(所有蚂蚁都选择同样的路径,解不再变化),则算法结束,以当前最优解作为问题的最优解。
四、表⽰⽅式
4.1 参数表⽰
4.2 计算公式新公共管理
五、算法步骤
游玩作文300字六、蚁群算法解决旅⾏商问题
6.1 问题提出
6.2 实例
假设5个城市的TSP问题,然由于某种原因,城市道路均是单⾏道,即A->B和B->A的距离不相同,也就是说这是⼀个不对称的TSP问题。现在城市距离信息如下表:
6.3 参数设置—初始化
6.4 计算步骤
根据初始化信息素得到初始化信息素矩阵
启发式矩阵
试试看
对每个节点求对应的参数,⾸先求第⼀次迭代第⼀只蚂蚁: