猫群算法

猫群算法( Cat Swarm Optimization,缩写为CSO) 是由Shu - An Chu 等人在2006 年首次提出来的一种基于猫的行为的全局优化算法。根据 生物学分类,猫科动物大约有 32 种,例如: 狮子、老虎 、豹子 、猫等。尽管生存环境不同 ,但是猫科动物的很多生活习性非常相似。猫的警觉性非常高,即使在休息的时候也处于一种高度的警惕状 态,时刻保持对周围环境的警戒搜寻; 它们对于活动的目标具有强烈的好奇心,一旦发现目标便进行跟踪,并且能够迅速地捕获到猎物。猫群算法正是关注了猫的搜寻和跟踪两种行为。
猫群算法中,猫即待求优化问题的可行解。猫群算法将猫的行为分为两种模式,一种就是猫在懒散、环顾四周状态时的模式称之为搜寻模式; 另一种是在跟踪动态目标时的状态称之为跟踪模式。猫群算法中,一部分猫执行搜寻模式,剩下的则执行跟踪模式,两种模式通过结合率 MR( Mix- ture Ratio) 进行交互,MR 表示执行跟踪模式下的 猫的数量在整个猫群中所占的比例,在程序中 MR 应为一个较小的值。利用猫群算法解决优化问题,首先需要确定参与优化计算的个体数,即猫的数量。每只猫的属性( 包括由 M 维组成的自身位 置) 、每一维的速度、对基准函数的适应值及表示猫是处于搜寻模式或者跟踪模式的标识值。当猫进行完搜寻模式和跟踪模式后,根据适应度函数计算它们的适应度并保留当前群体中最好的解。之后再根据结合率随机地将猫群分为搜寻部分和跟踪部分的猫,以此方法进行迭代计算直到达到预设的迭代次数。

你可能感兴趣的:(猫群算法)