蚂蚁所表现出来的复杂群体行为一直为人类所关注,其中最引人注目的莫过于所谓的蚂蚁街道的形成。在孩提时代,或许我们曾为了观察蚂蚁对干扰的反应而特意在它们的“高速公路”上踩踏或设置障碍物,或许曾好奇这些路究竟从何而来,又将通向何方。对于大部分人来说,这些问题在他们长大成人以后远不如进入高等学校学习计算机科学和高等数学来得重要。 然而,还有相当多的研究者,主要是生物学家,仍在仔细地研究蚂蚁的行为。
令人惊讶的是,某些种类的蚂蚁所表现出来的路径寻找行为模式非常不可思议,这个模式就是计算机科学家平常所说的最短路径搜索。生物学家在实验中发现,蚂蚁可以通过感知和释放一种带有气味的化学物质——信息素来实现相互之间的通信交流。在求解优化问题的时候,正是蚂蚁这种特有的行为模式启发了计算机科学家建立新型算法的灵感。关于这类算法的第一次尝试出现在20世纪90年代初期,尽管那时的算法在今天看来非常幼稚,但重要的是它表明了此类算法是可行的。从那以后,关于这类算法以及其他类似思想方法的研究和成果不断涌现,而蚁群优化(ant colony optimization,ACO)正是众多成果之一。事实上,基于蚂蚁行为的ACO是最成功且受到最广泛认可的算法技术。ACO的成功不仅体现在能够求解众多不同类型的优化问题,而且更多体现在它在求解大量问题时所能获得的极佳性能。全书纵览
本书介绍了蚁群优化这一飞速发展的领域里许多可行的ACO算法及其主要应用。全面详细地描述了ACO思想及其在各种组合优化问题上的应用等。本书分为七章,各章内容如下:
第1章解释了蚂蚁如何在受控实验条件下找出最短路径,并阐述了此种行为转换到优化算法的具体过程。
第2章介绍了ACO元启发式算法,并分析讨论了该算法在组合优化中应用的情况和问题。此外,本章还提出了NP难等复杂性理论的基本概念,并简单论述了其他主要的元启发式算法。
第3章深入描述了当前学术界所有可用的主流ACO算法。本章以旅行商问题作为应用例子说明算法的实现过程。有关算法的一个C语言基本实现的简要说明及可用的公共软件可在www.acometaheuristic.org/acocode/中找到。
第4章讲述了当前已知的有关ACO算法的理论知识。本章证明了某些类型的ACO算法的收敛性,讨论了ACO与其他方法之间的关系,例如随机梯度下降、交互信息最大化输入聚类和交叉熵。
第5章综述了当前开发ACO用以解决一系列组合优化问题的现状。涉及的应用实例,除了包括路由、分配、调度和子集问题以外,还包括其他不同领域中的若干问题,例如机器学习和生物信息学。此外,本章还谈到了在使用算法的过程中遇到新问题时所要遵循的“使用原则”。
第6章重点描述了AntNet的详细内容。AntNet是一种用以解决网络路由问题的ACO算法,所谓网络路由问题是指分组交换通信网络中路由表的建立和维护问题。
第7章总结了所讨论领域中的主要成果,并描绘了未来研究中一些有趣的发展方向。
本书每一章(除了最后一章)的最后都包含以下三个小节: 书目评注、需要牢记的知识点和思考与计算习题。
“书目评注”是一种带短评的目录索引,包含了与当前章节中讨论话题有关的进一步的文献索引。
在“需要牢记的知识点”中,列举了当前章节的重要知识点。
“思考与计算习题”中包括思考习题和计算习题,具体采取哪种形式的习题与当前章节给出的材料有关。
本书的最后还列出了有关ACO算法的参考文献,其中包含了许多更深入的相关文献。
总体而言,本书适合任何具有大学水平和科研背景的人员阅读。对于熟悉有关图论、编程和概率的读者来说,本书所使用的元启发式算法除了第4章需要一些较为深入的概率理论知识以外,其余都是相当通俗的。本书面向的主要对象有: ①从事运筹学、人工智能和计算智能等相关研究的科研人员和工程技术人员; ②有志于研究如何把ACO算法应用于解决组合优化问题的练习者; ③计算机科学、管理科学、运筹学和人工智能等专业的研究生和本科高年级学生。