智能优化算法
1、简介
人们总是能从大自然中得到许多启迪,从生物界的各种自然现象或过程中获得各种灵感,由此提出了许多能够解决复杂函数优化的启发式算法,主要分为演化算法和群体智能算法。
演化算法是一种模拟生物进化的随机计算模型,通过反复迭代,那些适应能力强的个体被存活下来,比如遗传算法,进化规划,进化策略等。
群体智能算法是通过观察社会生物群体的各种行为得到启发而提出的一种新型的生物启发式计算方法,比如蚁群、鸟群、狼群、鱼群、萤火虫群等。
2、演化算法
遗传算法(Genetic Algorithm,GA):是基于Darwin进化论和Mendel的遗传学说的随机化自适应搜索算法,最先由美国Michigan大学的Holland教授于1975年提出。由于采用了类似物种进化过程中基因的选择、交叉和编译等操作手段,使得遗传算法在本质上成为一类非确定性算法,具有全局搜索能力,特别适用于多峰值函数的优化问题。遗传算法思想是从代表问题可能潜在解集的一个种群开始,一个种群由经过基因编码的一定数目的个体组成,初始种群生产之后,按照适者生存和优胜略汰的原理,逐代演化生产出越来越好的近似解。每一代,根据问题域中个体的适应度挑选个体,并借助自然遗传学的遗传算子进行交叉和变异,产生出代表新的解集的种群。这过程将导致种群像自然进化一样,后代种群比前代更加适应环境,末代种群中的最优个体经过编码可以作为问题的近似解。在人工智能研究中,人们认为遗传算法、自适应系统、细胞自动机、混沌理论与人工智能一样,都是对今后的计算技术有重大影响的关键技术。
差异演化算法(Differential Evolution, DE):是一种基于群体差异的演化算法,该算法是RainerStorn和KennedyPrice在1996年为求解切比雪夫多项式而提出,随后在各个领域得到了广泛应用。差异演化是基于实数编码的进化演化算法,它的群体结构类似于遗传算法,与遗传算法的主要区别在变异操作上,差异演化的变异操作是基于染色体的差异向量进行,其余操作和遗传算法类似。由于差异演化的关键步骤变异操作是基于群体的差异向量信息来修正各个体的值,随着进化代数的增加,各个体之间的差异化信息在逐渐缩小,以至于后期收敛速度变慢,甚至有时会陷入局部最优点。
3、群体智能算法
群体智能优化算法统一框架模式:
群体智能优化算法是一类基于概率的随机搜索进化算法,各个算法之间存在结构、研究内容、计算方法等具有较大的相似性。因此,群体智能优化算法可以建立一个基本的理论框架模式:
Step1:设置参数,初始化种群;
Step2:生成一组解,计算其适应值;
Step3:由个体最有适应着,通过比较得到群体最优适应值;
Step4:判断终止条件示否满足?如果满足,结束迭代;否则,转向Step2;
各个群体智能算法之间最大不同在于算法更新规则上,有基于模拟群居生物运动步长更新的(如PSO,AFSA与SFLA),也有根据某种算法机理设置更新规则(如ACO)。
统一框架下的群体智能优化算法,可以根据优化对象的特性只能地选择适合的更新规则,进行运算得到理想的优化结果。
蚁群算法(Ant Colony, ACO):是模拟真实的蚁群秘觅食过程寻求最短路径的原理,由意大利学者Dorigo等在20世纪90年代首先提出。最初的蚁群算法成为蚂蚁系统,对于旅行商问题(TSP)及二次分配问题(QAP)等取得了较好效果,经过改进后成为蚂蚁算法或蚁群算法。蚁群算法吸收了蚂蚁群体行为的典型特征:一是能觉察小范围区域内情况,并能判断出是否有食物或其他同类的信息素轨迹;而是释放自己的信息素;三是所遗留的信息素会随时间而逐步减小。蚁群算法通过候选解组织群体的过程来寻求最优解,这个过程包括适应阶段和协作阶段。在适应阶段,各候选解根据积累的信息不断调整自身的结构;在协作阶段各候选解间通过信息交流,以便产生系能更好的解。
人工神经网络(Artificial Neural Network,ANN):1943年心理学家McCulloch和数学逻辑学家Pitts在研究生物神经的基础上,首先利用数理逻辑提出了第一个简单的ANN模型,开创了了ANN研究的先河。该算法是大脑及其活动的一个理论化的数学模型,由大量的处理单元相互连接而成,是神经元联结形式的数学抽象,是一个大规模的非线性自适应模型。人工神经网络具有高速的运算能力、很强的自学能力、自适应能力和非线性映射能力以及良好的容错能力,特别适用于处理需要同时考虑多种因素和条件的,不精确和模糊的信息处理问题,因此广泛应用于模式识别、图像处理、信号及信息处理、系统优化和智能控制等,特别是近期非常火热的神学学习算法是多层神经网络的应用。
人工免疫算法(Artificial Immune Algorithm,AIA):免疫系统是哺乳动物抵御外来有害物质侵害的防御系统,动物一生处于复杂多变、充满伤害的自然环境中,但是它们能够平安无事地进行正常的生命活动,其原因是免疫系统在起着重要作用。人工免疫算法正是基于生物免疫抗体产生记忆系统的学习机理的产物。20世纪90年代初,Bersini和Varela首次实用AIA来解决实际问题。该算法是继遗传算法以来又一种具有广阔应用前景的方胜优化算法。
粒子群优化算法(Particles warm optimization algorithm, PSO):最早是在1995年由Kennedy和Eberhart提出的一种基于智能启发的全局优化技术演化计算方法,起源于生物学家对鸟群觅食过程行为的观察研究,具有易理解、易实现、全局搜索能力强等特点备受科学工程领域的极大关注。 设想这样一个场景:一群鸟在随机搜索食物,在这个区域里只有一块食物,所有的鸟都不知道食物在哪里,但是他们当前的位置离食物还有多元。那么找到食物的最优策略是什么呢,最简单有效的搜索目前离食物最近的鸟的周围区域。PSO算法中,每个优化问题的潜在解都是搜索空间中的一只鸟,称之为“微粒”,所有的微粒都有一个被优化的函数决定的适应值,每个微粒海有一个速度决定他们飞翔的方向和距离,然后微粒们就追随当前最优微粒在解空间中搜索。PSO算法初始化为一群随机微粒(随机解),然后通过迭代找到最优解,在每次迭代中,微粒通过跟踪两个“极值“来更新自己。第一个就是微粒本身所找到的最优解,这个解成为个体极值;另一个极值是整个种群目前找到的最优解,这个极值是全局极值。
灰狼优化(Grey wolf optimization,GWO):狼是一种非常有智慧的动物,它们在捕食食物的时候往往不是单独行动,而是由几匹狼组成小队。狼群搜索算法就是基于狼群的这种捕食行为提出的一种新的群智能算法。(1)考虑到狼群中领头狼领导决策的现象,又提出了基于领导者策略的狼群搜索算法,该算法思想源于狼群个体之间存在相互竞争,从而推选出狼群中最为精壮的狼作为狼群的领导者,然后在领导者的带领下获取猎物,这样使得狼群能够更加有效地捕获到猎物。狼群在领导者狼的带领下通过不断搜索,捕获猎物,该过程对于优化问题,最终可找到全局最优解。(2)考虑到狼群中严格的等级制度,提出了一种强化狼群等级制度的灰狼优化(GWObased on strengthening the hierarchy of wolves, GWOSH)算法。该算法为灰狼个体设置了跟随狩猎和自主探索两种狩猎模式,并根据自身等级情况来控制选择狼群的狩猎模式。在跟随狩猎模式中,灰狼个体以等级高于自身的灰狼的位置信息来指引自己到达最优解区域;而在自主探索模式中,灰狼个体会同时审视等级高于自身的灰狼的位置信息和自身位置信息,并基于这些信息自主判断猎物的位置,同时两种更新模式都将引入优胜劣汰选择规则来确保种群的狩猎方向。
人工萤火虫群优化算法(Glowworm Swarm Optimization,GSO):是模拟自然界萤火虫群觅食或求偶行为而设计出的一种新型仿生群智能优化算法。由K.N.Krishnanad和D.Ghose于2005年提出一种新型群智能优化算法,近年来,人工萤火虫群优化算法越来越受到人们的关注,逐渐成为计算智能领域一个新的研究热点,该算法已成功应用于传感器的噪声测试、多模函数优化、模拟机器人、多信号源跟踪与定位和有害气体泄露定位等方面,均表现出良好的性能。
人工鱼群算法(Artificial Fish-Swarm Algorithm,AFSA):是由李晓磊等在2002年提出的,源于对鱼群运动行为的研究,是一种新型的智能仿生优化算法.在基本的AFSA算法中,主要是利用了鱼群的觅食、聚群和追尾行为,从构造单条鱼的底层行为坐骑,通过鱼群中各个体的局部寻优,达到全局最优值在群体中突显出来的目的。它具有较强的鲁棒性、优良的分布式计算机制、易于和其他方法结合等优点.目前对该算法的研究、应用已经渗透到多个应用领域,并由解决一维静态优化问题发展到解决多维动态组合优化问题.
布谷鸟搜索算法(RC-SSCS):布谷鸟搜索(CS)是Yang等于2009年提出的一种新兴生物启发算法。CS算法通过模拟某些种属布谷鸟的寄生育雏习性有效地求解最优化问题。某些种属的布谷鸟将自己的卵偷偷地产入宿主巢穴,由于布谷鸟后代的孵化时间比宿主的幼雏早,孵化的幼雏会本能地破坏同一巢穴中其它的卵,并发出比宿主幼雏更响亮的叫声。很多宿主通过后代的叫声大小判断其健康程度,而健康后代获得的食物较多,进而拥有更高的存活率,在某些情况下,宿主也会发现巢穴中的陌生卵。这时,宿主将遗弃该巢穴,并选择其它地方重新筑巢。在与宿主不断的生存竞争中,布谷鸟的卵和幼雏叫声均朝着模拟宿主的方向发展,以对抗宿主不断进化的分辨能力。
混合跳蛙算法(Shuffled Frog Leaping Algorithm, SFLA):在一片湿地中生活着一群青蛙,湿地内离散地分布着许多石头,青蛙通过寻求不同的石头进行跳跃去找到食物较多的地方,每个青蛙通过寻找不同的石头提高自己寻找食物的能力,而青蛙个体之间通过思想的交流实现信息的交换。混合跳跃青蛙,是带子群体的青蛙群。每只青蛙都有自己的文化,为了达到自己的目标努力,并定义为问题的一个解。湿地的整个青蛙群体被分为不同的子群体,每个子群体有自己的文化,执行局部搜索策略。在子群体中的每个个体有着自己的文化,并且影响着其它个体,并随着子群体的进化而进化。当子群体进化到一定阶段后,各个子群体之间再进行思想的交流实现子群体间的混合运算,一直到所设置的条件满足为止。
-------------------------------------
参考文献:
王辉, 钱锋. 群体智能优化算法[J]. 化工自动化及仪表, 2007, 34(5):7-13.
王艳玲, 李龙澍, 胡哲. 群体智能优化算法[J].计算机技术与发展,2008, 18(8):114-117.
张永韡, 汪镭, 吴启迪. 动态适应布谷鸟搜索算法[J].控制与决策,2014(4):617-622.刘明广. 差异演化算法及其改进[J].系统工程,2005, 23(2):108-111.
王闯. 人工鱼群算法的分析及改进[D].大连海事大学,2008.
钟一文. 智能优化方法及其应用研究[D].浙江大学,2005.