人工蚁群算法的实现与性能分析
- 格式:doc
- 大小:987.50 KB
- 文档页数:28
蚁群算法综述摘要:群集智能作为一种新兴的演化计算技术已成为越来越多研究者的关注焦点, 其理论和应用得到了很大的发展。
作为群集智能的代表方法之一,蚁群算法ACO (Ant Colony Optimization, 简称ACO) 以其实现简单、正反馈、分布式的优点得到广泛的应用。
蚁群算法是由意大利学者M. Dorigo 提出的一种仿生学算法。
本文主要讨论了蚁群算法的改进及其应用。
在第一章里介绍了蚁群算法的思想起源及研究现状。
第二章详细的介绍了基本蚁群算法的原理及模型建立,并简要介绍了几种改进的蚁群优化算法。
第三章讨论了蚁群算法的最新进展和发展趋势展望。
关键词:群集智能,蚁群算法,优化问题1 引言1.1 概述人类的知识都来自于对自然界的理解和感悟,如天上的闪电,流淌的河流,挺拔的高山,汪洋的大海,人们从中学会了生存,学会了征服自然和利用自然。
自然界中也存在着很多奇特的现象,水中的鱼儿在发现食物时总能成群结队,天上的鸟儿在迁徙时也是组成很多复杂的阵型,蚂蚁在发现食物时总能找到一条最短的路径。
无论鱼儿,飞鸟或是蜜蜂,蚂蚁他们都有一个共同的特点好像有一种无形的力量将群体中的每个个体组织起来,形成一个统一的整体。
看似庞杂的种群却又有着莫大的智慧,让他们能够完成一个个体所无法完成的使命。
整个群体好像一个社会,形成一个有机整体,这个整体对单个个体要求不高,诸多个体组合起来数量庞大,却极具协调性和统一性,这就是群智能。
群智能算法是利用其个体数量上的优势来弥补单个个体的功能缺陷,使整个群体看起来拥有了个体所无法企及的能力和智慧。
单个个体在探索过程的开始都是处于一种盲目的杂乱的工作状态,因此这些个体所能找到的最优解,对于群体而言却并非是最优的而且这些解也都是无规则的,随着越来越多的个体不断探索,单个个体受到其他成员的影响,大量的个体却逐渐趋向于一个或一条最优的路线,原本杂乱的群体渐渐呈现一种一致性,这样整个群体就具有了寻找最优解的能力。
遗传算法蚁群算法粒子群算法模拟退火算法《探究遗传算法、蚁群算法、粒子群算法和模拟退火算法》一、引言遗传算法、蚁群算法、粒子群算法和模拟退火算法是现代优化问题中常用的算法。
它们起源于生物学和物理学领域,被引入到计算机科学中,并在解决各种复杂问题方面取得了良好的效果。
本文将深入探讨这四种算法的原理、应用和优势,以帮助读者更好地理解和应用这些算法。
二、遗传算法1. 概念遗传算法是一种模拟自然选择过程的优化方法,通过模拟生物进化过程,不断改进解决方案以找到最优解。
其核心思想是通过遗传操作(选择、交叉和变异)来优化个体的适应度,从而达到最优解。
2. 应用遗传算法在工程优化、机器学习、生物信息学等领域有着广泛的应用。
在工程设计中,可以利用遗传算法来寻找最优的设计参数,以满足多种约束条件。
3. 优势遗传算法能够处理复杂的多目标优化问题,并且具有全局搜索能力,可以避免陷入局部最优解。
三、蚁群算法1. 概念蚁群算法模拟蚂蚁在寻找食物过程中释放信息素的行为,通过信息素的沉积和蒸发来实现最优路径的搜索。
蚁群算法具有自组织、适应性和正反馈的特点。
2. 应用蚁群算法在路径规划、网络优化、图像处理等领域有着广泛的应用。
在无线传感网络中,可以利用蚁群算法来实现路由优化。
3. 优势蚁群算法适用于大规模问题的优化,具有分布式计算和鲁棒性,能够有效避免陷入局部最优解。
四、粒子群算法1. 概念粒子群算法模拟鸟群中鸟类迁徙时的行为,通过个体间的协作和信息共享来搜索最优解。
每个粒子代表一个潜在解决方案,并根据个体最优和群体最优不断更新位置。
2. 应用粒子群算法在神经网络训练、函数优化、机器学习等领域有着广泛的应用。
在神经网络的权重优化中,可以利用粒子群算法来加速训练过程。
3. 优势粒子群算法对于高维和非线性问题具有较强的搜索能力,且易于实现和调整参数,适用于大规模和复杂问题的优化。
五、模拟退火算法1. 概念模拟退火算法模拟金属退火时的过程,通过接受劣解的概率来跳出局部最优解,逐步降低温度以逼近最优解。
群体智能的分类
群体智能是将个体智能集体联系起来的技术,它利用解决复杂问题的群体模式来实现复杂性的协同优势。
群体智能的分类主要有以下几种:
一、人工智能蚁群算法:这种算法基于蚂蚁群行为,以及它们如何协同工作以获得最优优化方案。
它是一种近似最优搜索技术,通常用于复杂问题的解决。
二、免疫系统优化算法:基于免疫系统实现了最优化方案,可以独立地识别出最优解。
它被广泛用于各种工程中的优化问题,也可以应用于机器学习问题。
三、社会网络算法:该算法利用社会问题的潜在联系,以此构建一种可分析的社会网络。
它可以用于社区发展,解决社会结构和贯穿社会系统的经济问题。
四、模拟退火算法:模拟退火(SA)是一种禁忌搜索方法,通过控制随机搜索的演化,可以迅速生成最优参数,以穷举最优解。
五、神经网络算法:该算法模拟人脑的运行方式,并可以学习和预测不同状态之间的复杂关系。
这种算法可以帮助解决特定问题,也可以探索新的模式。
群体智能的分类可以帮助我们解决复杂问题,它具有灵活性、可伸缩性和可扩展性,可以针对不同的场景构建适合各自需求的算法系统。
另外,还有许多计算机视觉和语音识别技术,也可以用群体智能应用到实际生活中。
通过群体智能来解决问题,有助于提高我们对复杂任务和环境的顺应性。
第一章绪论1。
1选题的背景和意义受社会性昆虫行为的启发,计算机工作者通过对社会性昆虫的模拟产生了一系列对于传统问题的新的解决方法,这些研究就是群体智能的研究。
群体智能作为一个新兴领域自从20世纪80年代出现以来引起了多个学科领域研究人员的关注,已经成为人工智能以及经济社会生物等交叉学科的热点和前沿领域。
群体智能(Swarm Intelligence)中的群体(Swarm)指的是“一组相互之间可以进行直接通信或者间接通信(通过改变局部环境)的主体,这组主体能够合作进行分布问题求解,群体智能指的是无智能或者仅具有相对简单智能的主体通过合作表现出更高智能行为的特性;其中的个体并非绝对的无智能或只具有简单智能,而是与群体表现出来的智能相对而言的。
当一群个体相互合作或竞争时,一些以前不存在于任何单独个体的智慧和行为会很快出现。
群体智能的提出由来已久,人们很早以前就发现,在自然界中,有的生物依靠其个体的智慧得以生存,有的生物却能依靠群体的力量获得优势。
在这些群体生物中,单个个体没有很高的智能,但个体之间可以分工合作、相互协调,完成复杂的任务,表现出比较高的智能。
它们具有高度的自组织、自适应性,并表现出非线性、涌现的系统特征。
群体中相互合作的个体是分布式的,这样更能够适应当前网络环境下的工作状态;没有中心的控制与数据,这样的系统更具有鲁棒性,不会由于某一个或者某几个个体的故障而影响整个问题的求解。
可以不通过个体之间直接通信而是通过非直接通信进行合作,这样的系统具有更好的可扩充性。
由于系统中个体的增加而增加的系统的通信开销在这里十分小.系统中每个个体的能力十分简单,这样每个个体的执行时间比较短,并且实现也比较简单,具有简单性。
因为具有这些优点,虽说群集智能的研究还处于初级阶段,并且存在许多困难,但是可以预言群集智能的研究代表了以后计算机研究发展的一个重要方向。
随着计算机技术的飞速发展,智能计算方法的应用领域也越来越广泛,当前存在的一些群体智能算法有人工神经网络,遗传算法,模拟退火算法,群集智能,蚁群算法,粒子群算等等。
蚁群算法蚁群算法(ant colony optimization, ACO),又称蚂蚁算法,是一种用来在图中寻找优化路径的机率型算法。
它由Marco Dorigo于1992年在他的博士论文中提出,其灵感来源于蚂蚁在寻找食物过程中发现路径的行为。
蚁群算法是一种模拟进化算法,初步的研究表明该算法具有许多优良的性质。
针对PID控制器参数优化设计问题,将蚁群算法设计的结果与遗传算法设计的结果进行了比较,数值仿真结果表明,蚁群算法具有一种新的模拟进化优化方法的有效性和应用价值。
目录1基本信息1.1 概念1.2 原理1.3 问题2详细说明2.1 范围2.2 环境2.3 觅食规则2.4 移动规则2.5 避障规则2.6 信息素规则3相关研究3.1 引申3.2 蚁群算法的实现3.3 解读搜索引擎算法“蚁群算法”1.基本信息1.1概念各个蚂蚁在没有事先告诉他们食物在什么地方的前提下开始寻找食物。
当一只找到食物以后,它会向环境释放一种挥发性分泌物pheromone (称为信息素,该物质随着时间的推移会逐渐挥发消失,信息素浓度的大小表征路径的远近)来实现的,吸引其他的蚂蚁过来,这样越来越多的蚂蚁会找到食物。
有些蚂蚁并没有象其它蚂蚁一样总重复同样的路,他们会另辟蹊径,如果另开辟的道路比原来的其他道路更短,那么,渐渐地,更多的蚂蚁被吸引到这条较短的路上来。
最后,经过一段时间运行,可能会出现一条最短的路径被大多数蚂蚁重复着。
1.2原理设想,如果我们要为蚂蚁设计一个人工智能的程序,那么这个程序要多么复杂呢?首先,你要让蚂蚁能够避开障碍物,就必须根据适当的地形给它编进指令让他们能够巧妙的避开障碍物,其次,要让蚂蚁找到食物,就需要让他们遍历空间上的所有点;再次,如果要让蚂蚁找到最短的路径,那么需要计算所有可能的路径并且比较它们的大小,而且更重要的是,你要小心翼翼的编程,因为程序的错误也许会让你前功尽弃。
这是多么不可思议的程序!太复杂了,恐怕没人能够完成这样繁琐冗余的程序。
●20世纪90年代初,意大利科学家Marco Dorigo 等受蚂蚁觅食行为的启发,提出蚁群算法(Ant Colony Optimization ,ACO)。
●一种应用于组合优化问题的启发式搜索算法。
●在解决离散组合优化方面具有良好的性能。
产生背景基本思想●信息素跟踪:按照一定的概率沿着信息素较强的路径觅食。
●信息素遗留:会在走过的路上会释放信息素,使得在一定的范围内的其他蚂蚁能够觉察到并由此影响它们的行为。
(1)环境:有障碍物、有其他蚂蚁、有信息素。
(2)觅食规则:范围内寻找是否有食物,否则看是否有信息素,每只蚂蚁都会以小概率犯错。
(3)移动规则:都朝信息素最多的方向移动,无信息素则继续朝原方向移动,且有随机的小的扰动,有记忆性。
(4)避障规则:移动的方向如有障碍物挡住,蚂蚁会随机选择另一个方向。
(5)信息素规则:越靠近食物播撒的信息素越多,越离开食物播撒的信息素越少。
6.7.1基本蚁群算法模型6.7.2蚁群算法的参数选择6.7.3蚁群算法的应用6.7.1 基本蚁群算法模型蚁群优化算法的第一个应用是著名的旅行商问题。
旅行商问题阐明蚁群系统模型旅行商问题(Traveling Salesman Problem ,TSP ):在寻求单一旅行者由起点出发,通过所有给定的需求点之后,最后再回到原点的最小路径成本。
蚂蚁搜索食物的过程:通过个体之间的信息交流与相互协作最终找到从蚁穴到食物源的最短路径。
蚁群系统的模型6.7.1 基本蚁群算法模型m 是蚁群中蚂蚁的数量表示元素(城市) 和元素(城市) 之间的距离表示能见度,称为启发信息函数,等于距离的倒数,即表示t 时刻位于城市x 的蚂蚁的个数,表示t 时刻在xy 连线上残留的信息素,初始时刻,各条路径上的信息素相等即蚂蚁k 在运动过程中,根据各条路径上的信息素决定转移方向。
(,1,...,)xy d x y n =)(t xy ηxyxy d t 1)(=η()x b t ∑==nx x t b m 1)()(t xy τ)()0(const C xy =τ表示在t 时刻蚂蚁k 选择从元素(城市) x 转移到元素(城市) y 的概率,也称为随机比例规则。
蚁群优化算法原理及Matlab编程实现
蚁群算法的提出:
人工蚂蚁与真实蚂蚁的异同比较
相同点比较
不同点比较
蚁群算法的流程图
基本蚁群算法的实现步骤
(i,j)的初始化信息量τij(t) = const,其中const表示常数,且初始时刻Δτij(0) = 0。
(2)循环次数。
(3)蚂蚁的禁忌表索引号k=1。
(4)蚂蚁数目。
(5)蚂蚁个体根据状态转移概率公式计算的概率选择元素(城市)j并前进,。
其中,表示在t时刻蚂蚁k由元素(城市)i转移到元素(城市)j的状态转
重要性,反映了蚂蚁在运动过程中启发信息在蚂蚁选择路径中的受重
视程度,其值越大,则该状态转移概率越接近于贪心规则;ηij(t)为启发函数,
表达式为。
式中,d ij表示相邻两个城市之间的距离。
(6)修改禁忌表指针,即选择好之后将蚂蚁移动到新的元素(城市),并把该τij(t + n) = (1 − ρ) * τij(t) + Δτij(t)
(9)若满足结束条件,即如果循环次数,则循环结束并输出程序计算结果,
]蚁群算法的matlab源程序1.蚁群算法主程序:main.m
2.蚁群算法寻找路径程序:path.m
[编辑]蚁群算法仿真结果。
一、蚁群算法的背景信息蚁群优化算法(ACO)是一种模拟蚂蚁觅食行为的模拟优化算法,它是由意大利学者Dorigo M等人于1991年首先提出,之后,又系统研究了蚁群算法的基本原理和数学模型,并结合TSP优化问题与遗传算法、禁忌搜索算法、模拟退火算法、爬山法等进行了仿真实验比较,为蚁群算法的发展奠定了基础,并引起了全世界学者的关注与研究蚁群算法是一种基于种群的启发式仿生进化系统。
蚁群算法最早成功应用于解决著名的旅行商问题(TSP),该算法采用了分布式正反馈并行计算机制,易于与其他方法结合,而且具有较强的鲁棒性。
二、蚁群算法的原理[1]蚁群算法是对自然界蚂蚁的寻径方式进行模似而得出的一种仿生算法。
蚂蚁在运动过程中,能够在它所经过的路径上留下一种称之为外激素(pheromo ne)的物质进行信息传递,而且蚂蚁在运动过程中能够感知这种物质,并以此指导自己的运动方向,因此由大量蚂蚁组成的蚁群集体行为便表现出一种信息正反馈现象 :某一路径上走过的蚂蚁越多,则后来者选择该路径的概率就越大。
基本的ACO模型由下面三个公式描述:a g(2-1;m号("1)二05®)+》蚯(2-2;(如果第k个蚂蚁经过了由i到j的路轻)〈2-3)btagJBJ.CDdTYykrLaoiO 式(2-1)、式(2-2)和式(2-3)中:m为蚂蚁个数;n为迭代次数;i为蚂蚁所在位置;j为蚂蚁可以到达的置;为蚂蚁可以到达位置的集合;为启发性信息(3-8>(3-9>Dlog. iirykii_2O1CJ式(3-9)中根据进行信息素更新的蚂蚁的类别可以是已知的最优解的路径长度或者是本次循环中的最优解的路径长度。
(2)信息素浓度的限制。
为了防止某条路径上的信息素出现大或者过小的极端情况,设定信息素浓度区间为。
通过这种方式使得在某条路径上的信息素浓度增大到超过区间上限或者减小到低于区间下限时,算法采用强制手段对其进行调整,以此提高算法的有效性。
蚁群算法毕业论文蚁群算法毕业论文引言在当今信息时代,人工智能和智能算法的发展日新月异。
蚁群算法作为一种模拟生物群体行为的优化算法,已经在多个领域取得了优秀的成果。
本篇论文将探讨蚁群算法的原理、应用以及未来的发展方向。
一、蚁群算法的原理蚁群算法是一种基于蚂蚁觅食行为的启发式算法。
蚂蚁在觅食过程中通过信息素的沉积和蒸发来实现信息的传递和集成,从而找到最优的路径。
蚁群算法利用这种信息素机制,通过模拟蚂蚁的觅食行为来求解优化问题。
蚁群算法的基本原理包括两个方面:正向反馈和负向反馈。
正向反馈是指蚂蚁在觅食过程中,发现食物后释放信息素,吸引其他蚂蚁前往。
负向反馈是指蚂蚁在觅食过程中,经过的路径上的信息素会逐渐蒸发,从而减少后续蚂蚁选择该路径的概率。
二、蚁群算法的应用蚁群算法在多个领域都有广泛的应用。
其中最为著名的应用之一是在旅行商问题(TSP)中的应用。
旅行商问题是指在给定的一组城市中,找到一条最短路径,使得旅行商能够经过每个城市且只经过一次,最后回到起点城市。
蚁群算法通过模拟蚂蚁的觅食行为,成功地解决了这个NP难问题。
除了旅行商问题,蚁群算法还被广泛应用于图像处理、机器学习、网络优化等领域。
在图像处理中,蚁群算法可以用于图像分割、图像匹配等任务。
在机器学习中,蚁群算法可以用于优化神经网络的权重和偏置。
在网络优化中,蚁群算法可以用于优化网络拓扑结构,提高网络的性能。
三、蚁群算法的发展方向尽管蚁群算法已经取得了一定的成果,但仍然存在一些问题和挑战。
首先,蚁群算法在处理大规模问题时,容易陷入局部最优解。
其次,蚁群算法对参数的选择比较敏感,需要经验调整。
此外,蚁群算法在处理动态环境下的问题时,效果不尽如人意。
为了解决这些问题,研究者们提出了一些改进的蚁群算法。
例如,基于混沌理论的蚁群算法、蚁群算法与遗传算法的融合等。
这些改进算法在一定程度上提高了蚁群算法的性能和鲁棒性。
此外,蚁群算法还可以与其他智能算法相结合,形成混合算法。
蚁群算法在移动机器人路径规划中的应用综述一、本文概述随着和机器人技术的快速发展,移动机器人的路径规划问题已成为研究热点。
路径规划是指在有障碍物的环境中寻找一条从起点到终点的安全、有效路径。
蚁群算法作为一种模拟自然界蚁群觅食行为的智能优化算法,因其出色的全局搜索能力和鲁棒性,在移动机器人路径规划领域得到了广泛应用。
本文旨在综述蚁群算法在移动机器人路径规划中的研究现状、应用实例以及未来发展趋势,以期为相关领域的研究者提供参考和借鉴。
本文首先介绍蚁群算法的基本原理和特点,然后分析其在移动机器人路径规划中的适用性。
接着,详细梳理蚁群算法在移动机器人路径规划中的应用案例,包括室内环境、室外环境以及复杂动态环境等不同场景下的应用。
本文还将讨论蚁群算法在路径规划中的优化策略,如参数调整、算法融合等。
总结蚁群算法在移动机器人路径规划中的优势与不足,并展望其未来的研究方向和发展趋势。
二、蚁群算法基本原理蚁群算法(Ant Colony Optimization, ACO)是一种模拟自然界蚂蚁觅食行为的优化算法,由意大利学者Marco Dorigo等人在1991年首次提出。
蚁群算法的基本原理是模拟蚂蚁在寻找食物过程中,通过信息素(pheromone)的释放和跟随来进行路径选择,最终找到从蚁穴到食物源的最短路径。
在算法中,每个蚂蚁都被视为一个智能体,能够在搜索空间中独立探索和选择路径。
蚁群算法的核心在于信息素的更新和挥发机制。
蚂蚁在选择路径时,会倾向于选择信息素浓度较高的路径,因为这意味着这条路径更可能是通向食物源的有效路径。
同时,蚂蚁在行走过程中会释放信息素,使得走过的路径上信息素浓度增加。
然而,随着时间的推移,信息素会逐渐挥发,这是为了避免算法陷入局部最优解。
在移动机器人路径规划问题中,蚁群算法可以被用来寻找从起点到终点的最优或近似最优路径。
将搜索空间映射为二维或三维的网格,每个网格节点代表一个可能的移动位置,而路径则由一系列节点组成。
目录 (I)摘要 (V)Abstract (VI)第一章引言 (1)非对称TSP问题(ATSP)及其求解方法概述 (1)人工蚁群算法的主要思想和特点 (1)主要工作 (2)第二章 ATSP问题分析 (3)ATSP问题的数学模型 (3)ATSP问题与TSP问题的比较 (3)第三章求解ATSP问题的人工蚁群算法 (4)ATSP问题的蚁群算法表示 (4)人工蚁群算法的实现 (4)人工蚁群算法的流程图 (5)蚁群的规模、算法终止条件 (6)路径选择方法和信息素的更新方法 (7)第四章实验和分析 (10)测试环境 (10)测试用例 (10)实验结果及参数分析 (10)的测试结果 (10)的测试结果 (12)的测试结果 (13)的测试结果 (13)相关参数修改后的测试结果 (14)第五章总结 (16)致谢 (17)参考文献 (17)摘要旅行商问题(TSP问题)是组合优化的著名难题。
它具有广泛的应用背景,如计算机、网络、电气布线、加工排序、通信调度等。
已经证明TSP问题是NP难题,鉴于其重要的工程与理论价值,TSP常作为算法性能研究的典型算例。
TSP的最简单形象描述是:给定n个城市,有一个旅行商从某一城市出发,访问各城市一次且仅有一次后再回到原出发城市,要求找出一条最短的巡回路径。
TSP分为对称TSP和非对称TSP两大类,若两城市往返距离相同,则为对称TSP,否则为非对称TSP 。
本文研究的是对称的ATSP。
实质上,ATSP问题是在TSP问题上发展而来的,它们的区别就在于两座城市之间的往返距离是否相同。
例如,有A,B两个城市,在TSP问题中,从A到B的距离是等于从B到A得距离的,是一个单向选择的连通问题。
而在ATSP问题中,从A到B的距离就不一定等于从B到A的距离,所以这是双向选择的联通问题。
本文主要阐述了用人工蚁群算法的原理和一些与其相关联的知识结构点。
通过对算法原理的理解,及在函数优化问题上的应用,与优化组合问题的研究来了解ATSP问题以及人工蚁群算法解决实际问题上的应用与研究。
关键词:ATSP ;组合优化;人工蚁群算法;TSPAbstractTraveling salesman problem (TSP) is the Famous combination of the optimization problem. It has broad applications, such as computer, network, electrical wiring, processing, sort and communication scheduling,and already proved TSP is a difficult NP problem, givening its important engineering and theoretical valued, TSP is often used as the typical example of algorithm performance most simple image description of TSP is: given n city, a traveling salesman start from one city, Visit other cities once and only once again return to the start city , asked to identify a shortest path of the can be classificated symmetric TSP and asymmetric TSP two big two cities from the same distance,that is symmetric TSP, or for the asymmetric paper studies the ATSP problem.In essence, ATSP problem is based on the TSP difference lies in two cities round trip distance between the same or example,there are two cities,A and B , in TSP problem,from A to B is equal to the distance from B to have A distance,it s a one-way choice the connected in ATSP problem,from A to B doesn't necessarily equal to the distance from the distance B to A, so this is the two-way choice connectivity problem.This paper mainly expounds the employing workers group of the principle and some associated knowledge structure of the the understanding of the principle of the algorithm,and in the application of the function optimization problems,And the optimized combination problems research to understand ATSP problems and one worker ants group algorithm of solving practical problems with the application of research.Keywords:ATSP ; Combinatorial optimization ; People ants group of algorithm ; TSP第一章引言非对称TSP问题(ATSP)及其求解方法概述非对称旅行商问题是一个NP 完全问题,目前求解 ATSP 问题的主要方法有模拟退火算法、遗传算法、蚁群算法等。
ATSP是指给定n个城市和各城市间的距离,要求确定一条经过各个城市当且仅当一次的最短路线,并且这N个城市之间两两城市的往返距离不一定相等。
它是一种典型的组合优化问题。
基于人工蚁群算法求解ATSP问题,是近年来刚刚兴起的热门课题。
然而在科学管理与经济决策的许多应用领域中,现实世界存在着大量的多目标优化问题。
对于非对称旅行商问题,实际中经常要同时考虑多个目标,如路程最短、时间最短、费用最省、风险最小等多方面的因素。
目标之间往往存在冲突性。
如何在多个目标中寻找一个公平、合理的解是比较复杂的问题。
人工蚁群算法的主要思想和特点蚁群算法是受到真实蚁群集体行为的启发而得到的新型优化算法,人工蚂蚁和真实蚂蚁存在异同。
人工蚂蚁和真蚂蚁的蚂蚁一样,是一群相互合作的个体并且他们有着共同的任务,他们都是通过使用信息素进行间接通讯,而且人工蚂蚁利用了真实蚂蚁觅食行为中的自催化机制。
但人工蚁群也存在真蚂蚁所不具有的一些特性,蚁群这种记忆并非存储于蚂蚁个体,而是分布在路径上。
人工蚂蚁实质上是由一个离散状态到另一个离散状态的跃迁。
信息素的释放时间是根据不同情况而改变的。
为了提高系统总体上的性能。
蚁群被赋予了其他的功能,如局部优化、原路返回等。
蚁群算法是对自然界蚂蚁的寻径方式进行模似而得出的一种仿生算法。
蚂蚁在运动过程中,能够在它所经过的路径上留下一种称之为外激素(pheromone)的物质进行信息传递,而且蚂蚁在运动过程中能够感知这种物质,并以此指导自己的运动方向,因此由大量蚂蚁组成的蚁群集体行为便表现出一种信息正反馈现象:某一路径上走过的蚂蚁越多,则后来者选择该路径的概率就越大。
人工蚁群有一定的记忆能力,能够记忆已经访问过的节点。
同时,人工蚁群在选择下一条路径的时候是按一定算法规律有意识地寻找最短路径,而不是盲目的。
例如在TSP问题中,可以预先知道当前城市到下一个目的地的距离;每只蚂蚁也可以记录自己走过的节点和路径。
主要工作蚁群算法最初是应用在对称的旅行商问题,下面对求解旅行商问题进行简单的说明。
旅行商问题就是指给定 n个城市,并给出两两城市间的距离。
要求确定一条经过各城市最短的路径。
蚂蚁根据城市的距离和连接边上信息素浓度为变量的概率函数选择下一城市。
为了满足问题的约束条件,在完成一次循环前,不允许蚂蚁选择已经访问过的城市,需要由禁忌表控制。
完成循环后,路径上都会留下浓度不同的信息素。
我们可以通过对信息素浓度的强度,从而选择出最短路径。
第二章 ATSP 问题分析ATSP 问题的数学模型ATSP 问题 ( dij ≠dji, v i , j = 1, 2, 3, …, n),非对称旅行商问题较难求解,我们一般是探讨对称旅行商问题的求解。
若对于城市 V = { v1 , v2 , v3 , …, vn }的一个访问顺序为 T= { t 1 , t 2 , t 3 , …, ti, …, t n } ,其中 ti ∈V ( i = 1, 2, 3, …, n) ,且记 t n+1 = t 1 , 则旅行商问题的数学模型为:min L =∑ ni =1dti,ti+1。
ATSP 问题表示为一个N 个城市的有向图G=(N ,A ),其中N={1,2,...,n},A={(i,j)|i,j ∈N}城市之间距离为 ,目标函数为 ,其中 为城市1, 2,… ,n 的一个排列, ATSP 问题与TSP 问题的比较实质上,ATSP 问题是在TSP 问题上发展而来的,它们的区别就在于两座城市之间的往返距离是否相同。
例如,有A,B 两个城市,在TSP 问题中,从A 到B 的距离是等于从B 到A 得距离的,是一个单向选择的连通问题。
而在ATSP 问题中,从A 到B 的距离就不一定等于从B 到A 的距离,所以这是双向选择的联通问题。
TSP 较ATSP 问题简单点,在算法实现上也容易点,但实际上可以看作是ATSP 问题是TSP 问题的发展,在此基础上多了路径往返的问题。
旅行商问题(Traveling Salesman Problem, 简称TSP) 即给定n 个城市和两两城市之间的距离,要求确定一条经过各城市当且仅当一次的最短路线。
其图论描述为:给定图G =(V, A ) ,其中V 为顶点集, A 为各顶点相互连接组成的边集,设D = ( dij ) 是由顶点i 和顶点j 之间的距离所组成的距离矩阵,要求确定一条长度最短的Hamilton 回路,即遍历所有顶点当且仅当一次的最短距离。