1.2.1 群体智能优化算法
自然界中的生物群体通过个体自主决策和简单信息交互,经过演化,使整个群体宏观上“涌现”出自组织性、协作性、稳定性以及对环境的适应性。最初,群体智能一般狭义地指群体智能优化算法,通过模拟群居昆虫行为,依赖正反馈、负反馈、波动和多重交互等解决优化问题。
遗传算法(Genetic Algorithm),基于模仿生物进化的自然选择过程反复修改、不断增加由个体解构成的群体解集,其中质量低劣的解被丢弃,在寻找高级解决方案的过程中求解无约束和有约束非线性优化问题。相较于传统迭代算法每次迭代时通过确定性计算形成点的顺序接近最优解,遗传算法在每个步骤评价整个种群的适应度,从当前的群体随机选择个体,并将它们用作父级来生成下一代子级。经过一代又一代后,该群体“演化”为最优解。自遗传算法引入以来,许多研究者都进行了改进遗传算法性能的研究,例如引入了其他交叉和变异的替代方法,提高遗传算法等性能[16-18]。
源于对以蚂蚁、蜜蜂等为代表的社会性昆虫的研究,1992年,意大利学者Marco Dorigo首次提出蚁群优化(Ant Colony Optimization, ACO)算法[5-6]。蚁群优化算法包含蚂蚁、信息素等:蚂蚁是一种假想的媒介,用来模拟对搜索空间的探索和开发;信息素是一种“化学物质”,由蚂蚁在行进的道路上传播。考虑到蒸发作用,信息素的强度随着时间的推移而变化。在蚁群优化算法中,蚂蚁在搜索空间中移动时会释放信息素,这些信息素的数量反映了蚂蚁的路径强度,蚂蚁根据高强度的路径来选择方向。蚁群优化算法已应用于各种优化问题,如旅行商问题、二次分配问题、车辆路径问题、网络模型问题、图像处理问题、移动机器人路径规划问题、无人机系统路径优化问题、项目管理问题等。
来源于对一个简化社会模型的模拟,1995年,Kennedy等学者提出粒子群优化(Particle Swarm Optimization, PSO)算法[7]。“粒子”是一个折中的选择,因为既需要将群体中的成员描述为没有质量、没有体积的,同时也需要描述它的速度和加速状态。最初为了图形化地模拟鸟群优美而不可预测的运动,粒子群优化算法通过对动物社会行为的观察,发现在群体中对信息的社会共享提供了一个演化的优势,并以此为基础,加入近邻的速度匹配,并考虑了多维搜索和根据距离的加速,形成了算法的最初版本。之后,引入了惯性权重来更好地控制开发(Exploitation)和探索(Exploration),形成了标准的粒子群优化算法。此外,为了提高粒子群优化算法的性能和实用性,又开发了自适应(Adaptive)[19]版本和离散(Discrete)[20]版本。
通过分析这类代表性群体智能优化算法,人们可以发现群体智能优化算法依赖底层每个智能体事先指定的行为模式来引发期望的智能涌现现象,而缺乏针对单个智能体的学习和进化过程。