模拟进化算法新发展
即在整个群体中信息是共享的,而且在个 体之间存在着信息的交换与协作。如在蚁 群中,当每个个体发现食物之后,它将通 过接触或者化学信号来招募同伴,使整个 群落找到食源;在鸟群的飞行中,每只鸟 在初始状态下处于随机位置,且朝各个方 向随机飞行,但随着时间的推移,这些初 始处于随机状态的鸟通过相互学习(相互 跟踪)自组织地聚集成一个个小的群落, 并以相同的速度朝着相同的方向飞行,最 终整个群落聚集到同一位置——食源。
例:考虑n个城市的TSP问题( 1, 2 , , n 分别表 示城市编号 )。下面 说明用蚁群行为来搜索通过 这n个城市各一次且最后回到出发地的最短路径。 d 假定:m是蚁群的数量, ij ( i , j 1, 2 , , n ) 表示 城市 i 与 j 间的距离(假定 d d ,考虑对称 b TSP问题), (t ) 表示t时刻位于城市 i 的蚂蚁数量。 表示问题在t时刻所能提供的某种启发式信息,而 (t ) ij 表示t时刻蚁群在 连线上所放置的信息素。初始 ij (t ) 时刻,蚁群中的蚂蚁可随机放置,此时设各路径 (0 ) c 上的信息素恒等(如 为某一预设常数)。
ij
其中
k 只蚂蚁所走路径长度。 启发式信息 ij (t ) 常在这种应用情形反映人们对
L k 表示第
从城市 i 转移到城市 j 的期望程度,可根据某种 启发式算法具体确定。为理论上的方便我们可取
ij ( t )
1 d ij
在对各参数 , 合适选择之后,上述模拟蚁群寻食 过程便自然形成一个求解TSP问题的仿生算法。
求解一般图上组合优化问题的蚁群算法可描述 如下: 蚁群算法 步骤1 (初始化) 指定蚁群规模 m ,父代种群 规模 n ;输入初始信息素 ij ( 0 ) 及启发式信息 ( 0 ) ;随机生成初始蚁群
ij
A ( 0 ) A1 ( 0 ), A 2 ( 0 ), , A m ( 0 )
第六章
模拟进化算法的新近发展
模拟进化算法实际上是一种非常宏观 意义下的仿生计算技术,它模拟的是一切 生命与智能生成与进化过程。这种技术不 仅仅包含到目前为止我们所讨论的遗传算 法等。本章目的在于向大家简单介绍国内 外新近发展起来,并正在受到广泛关注的 几类新模拟进化算法。
§1 蚁群算法
蚁群算法是由Colorni和Dorigo等人提出的 一类模拟自然界蚁群行为的模拟进化算法。 这类算法主要基于以下的观察:像蚂蚁这类 群居昆虫,虽然没有视觉且单个行为极其简单, 但由这些简单个体所组成的群体却常常表现出 令人称奇的行为——能够在复杂的环境下最终 找到从蚁穴到食物源的最短路径。
§3 人口迁移算法
人口迁移算法(population migration alogrithm,简称PMA)是我国学者周允华、 毛宗源等人近期所提出的一类模拟人口迁 移机理的全局优化算法。 算法的模拟基点在于:对人口移动规律 的整体认识。人口作为有生命的群体,为 了生存和发展,它必然会产生不断地移动。
这些群集动物所表现出的智能常称为“群集智 能”,它可表述为:一组相互之间可以进行直接 通讯或间接通讯(通过改变局部环境)的主体, 能够通过合作对问题进行分布求解。换言之,一 组无智能的主体通过合作能表现出智能的行为特 征。 PSO以模拟鸟的群集智能为特征,以求解连续 变量优化问题为背景。在PSO中,每只鸟被称之 为一个粒子(particle),每个粒子以其几何位置 与速度向量表示。在求解中,每个粒子参考自己 的既定方向、所经历的最优方向和整个鸟群所公 认的最优方向来决定自己的飞行。
ij ji
i
ij
ij
蚂蚁 k ( k 1, 2 , , m ) 在运动过程中将根据各条路 径上的信息量(信息素含量)与启发式信息(即 环境因素)来决定其转移概率。例如,设 p ( t ) 表 示t时刻蚂蚁 k由位置 i 移到位置 j 的概率,则可 令 ( t ) ( t )
(k ) ij
其中 A
k
( 0 ) a ij
(k )
0 ,1 ;置 t : 0 。
n m
步骤2(模拟演化)执行以下操作: (1)选择 从 A ( t )中依其目标函数值选择出n只 蚂蚁(例如可择优选择)组成第 t 代父代蚁群。
B (t )
A
i1
( t ), A i ( t ), , A i ( t )
2 n
(2)重组 n (k ) 1)设信息量 ij ( t ) ij ( t ),其中
ij
(k )
这里 Q
k
Qk Q
是反映 ( i , j ) 作为问题解质量的评价,如 L , L 是蚂蚁 k 所产生解的路径长度。
k
Q k , a ij ( t ) 1 (t ) 0 , 否则
蚂蚁在运动过程中能够在它所经过的路 径上留下信息素,而且在运动过程中感知 这种信息素的存在及其强度,并以此指导 自己的运动方向。蚂蚁倾向于朝着信息素 强度高的方向前进,因此,由大量蚂蚁组 成的蚁群的行为便表现出一种信息的正反 馈现象:某一路径上走过的蚂蚁越多,则 后者选择该路径的概率就越大。蚁群就是 通过个体之间这种信息交换机制来彼此协 作达到搜索食物的目的。
近年来,蚁群算法无论是理论分析还是算法推广 及应用研究等方面都受到了国内外广泛关注。
§2
粒子群优化
粒子群优化(particle swarm optimization, 简称PSO)是由Kennedy和Eberhart(1995) 等人提出的一类模拟群体智能行为的优化 算法。 算法的仿生基点是:群集动物(如蚂蚁、 鸟、鱼等)通过群聚而有效的觅食和逃避 追捕。在这类群集动物中,每个个体的行 为是建立在群体行为的基础之上的,
(k ) p ij ( t ) s allowed 0,
ij
ij
is
k
( t ) is ( t )
, j allowed
k
其他
这里, , 为参数,allowed k 1, 2 , , n \ tabu k 表示蚂蚁 k 下一步允许选择的城市,而 tabu 是蚂 蚁 k 到目前为止已走过的城市(与实际不同,人工 蚂蚁要求具有一定的记忆功能)。
每个粒子X可标识为 PSO以下述形式来求解问题。 PSO算法 步骤1 (初始步)随机产生N个粒子 X 构成初始粒子群
X 几何位置,速度向量
i
p i , v i ( i 1, 2 , , N )
X ( 0 ) X 1 ( 0 ), X 2 ( 0 ), , X N ( 0 )
k
每一只蚂蚁都按照上式的概率来决定它的位置 转移。当蚂蚁完成一次循环(即完成一个闭合路 径,或产生一个完整可能路径),各路径上的信 息量将依据一定的规则调整,以体现整个蚁群在 该路径上所留下的信息素。如以1 表示其消失 程度,则整个蚁群完成一次循环后,各路径上的 信息量可依下式调整:
ij ( t 1) ij ( t ) ij ( t )
(k )
k 1
k
2)令
ij ( t 1) ij ( t ) ij ( t )
ij
3)以适当方式获得启发式信息 4)独立、重复地以概率
( t 1) 。
ij ( t 1) ij ( t 1) , j allowed (k ) P a ij ( t ) 1 ij ( t 1) ij ( t 1) j allowed 其他 0,
p 1 ( 0 ), v 1 ( 0 ) , p 2 ( 0 ), v 2 ( 0 ) , , p N ( 0 ), v N ( 0 )
置 t : 0 。
步骤2(种群演化) (1)选择 1)假定以概率1选择 X (t )中的每一个体; 2)求出每个粒子 i 到目前为止所找到的最优 (如记为 X ( t ) p ( t ), v ( t ) ); 3)求出当前种群 X (t ) 到目前为止所找到的最 优(如记为 X ( t ) p ( t ), v ( t ) )。 (2)繁殖 对每个粒子 X ( t ) p ( t ), v ( t ) ,令
其中 ( t ) ( t ) ( t ) 表示第 k 只蚂蚁在本次循环中留在路径 ij 上的信息量。如可取
(k ) ij ij k 1
(k ) ij
m
Q , 若蚂蚁 k 在本次循环中经过 (k ) ij ( t ) L 1)( k 1, 2 , , m ) ,由此组成第 t 1 代蚁群
A ( t 1) A1 ( t 1), A 2 ( t 1), , A m ( t 1)
步骤3(终止检验)如解已达到精度要求,或已 达到预设进化时限,则停机,输出 A ( t 1) 中最好的 个体为问题近似解;否则,对于 t : t 1 转步骤2。
蚁群彼此协作所表现出的“智能”行为 还显现在它们对环境的自适应性上:当在 运动过程中突遇障碍时,它们能够躲过障 碍而很快找到满足约束条件的最优路径。 蚁群通过信息交换与相互协作找到从蚁 穴到食物源最短路径的机制,可以数学化 来求解图上各种与最优路径相关的组合优 化问题。我们可以将“跨越障碍”对应为 所求问题的某种启发式信息(指明满足约 束的可能选择),而将信息素对应为所选 择路段对整体最优解的贡献程度。
人口移动通常泛指人口在空间或地域上 的一切移动,包括人口流动与人口迁移。 人口流动是人们在居留地相对局部的环境 中的移动,是带有某种自发性质但移居规 律相对较差的人口行为。人口迁移则是人 们跨越特定的地域界限改变常住地的移动, 通常是带有选择性质的人口行为。 人口迁移的主要动因是什么呢?常用于 解释这一问题的是Ravenstein的推-拉理论。 该理论认为一些人迁移是他们被推出原籍, 而另一些人则因为他们被拉到别处。“邪 恶的或压制的法律、沉重的税务、