首页 理论教育多目标进化算法形式化描述

多目标进化算法形式化描述

【摘要】:下面介绍进化算法的相关定义和统一的描述框架[1]。对于各种进化计算方法,存在一个非空集合I,I称为这个进化计算的个体空间。D的值域确定了进化计算的实际搜索范围。随机函数被称为随机种群变换,其中Ω为采样空间。遗传算法是目前研究的进化算法中三种典型算法之一,其他两种分别是进化规划和进化策略。进化规划的特点在于没有使用交叉算子,采用随机选择机制,因而变异在进化过程中占据重要地位。

下面介绍进化算法的相关定义和统一的描述框架[1]

对于各种进化计算方法,存在一个非空集合I,I称为这个进化计算的个体空间。当将进化计算用于优化搜索时,每一个个体i∈I代表了优化问题的一个候选解。编码方案可以形式化地定义为解码函数。

定义1:令I为一个非空的集合,目标函数f:Rn→R(Rn为n维的实数空间)。若存在一个映射D:I→Rn,则称D为一个解码函数。

在定义1中,不要求D是一个满映射。D的值域确定了进化计算的实际搜索范围。个体i∈I的适应度值代表了候选解D(i)∈Rn的品质,这种为每个个体产生适应度数值的函数称为适应度值函数,它是进化计算过程中实际上的优化对象。适应度值函数可以用数学形式定义,下面给出其定义。

定义2:令I为一个非空集合,目标函数为f:Rn→R,解码函数D:I→Rn,则称映射Φ Ts×f×D为适应度值函数。其中映射Ts:R→R称为实值标度函数。

由定义2可知,目标函数f由问题确定,解码函数D和实值标度(Scaling)函数Ts则需自己设计。

进化计算的执行过程通常从集合I的随机采样和替换开始,所得到的初始集合称为初始种群,记为P(0)。在进化第t代时,群体P(t)={i1(t),…,iμ(t)}是由个体ik(t)∈I组成,个体数目μ称为种群规模或群体大小。

定义3:令I为一个非空集合,μ,μ′∈Z分别代表父代种群规模和子代种群规模,则映射T:Iμ→Iμ′被称为一个种群变换。若T(P)=P′,则称P为父代种群,P′为子代种群。若μ=μ′,则将它们简单称为种群规模。

定义4:令I为一个非空集合,μ∈Z。随机函数被称为随机种群变换,其中Ω为采样空间。

定义5:令I为一个非空集合,μ′∈Z,X为参数空间,Ω为采样空间,则称映射X→T为一个进化算子,记为evop(I,μ,X,Ω)。

随机种群变换X(Θ)简记为XΘ,种群变换XΘ(ω)也简记为X(Θ)。

进化算子的引入是受到了生物学的启发,它们对达尔文“适者生存”理论的不严格模仿。最常用的进化操作算子包括重组(或者交叉)、变异和选择,其中重组算子是最具有一般性的算子。重组算子不同于其他算子的特性在于,后代种群中至少有一个个体的形式依赖于一个以上的父代个体。下面的定义反映出这种变换的特征。

定义6:令r∈evop(I,μ,X,Ω),若存在P∈Iμ,Θ∈X,ω∈Ω使得在后代种群rΘ(P)中至少存在一个个体依赖于P中的多个个体,则称r为一个重组算子。

与重组算子相对应,变异算子的特性在于,后代种群中的个体至多依赖于一个父代个体。变异算子的定义如下。

定义7:令m∈evop(I,μ,X,Ω),若对于所有的P∈Iμ,所有的Θ∈X,所有的ω∈Ω,后代种群mΘ(P)中的个体至多只依赖于P中的一个个体,则称m为变异算子。

选择算子的特性与前两个算子不同,它要求后代种群中的所有个体都是父代种群中的成员,且其种群变换依赖于父代种群中个体的适应值。

定义8:令s∈evop(I,μ,X,Ω),若对于所有的P∈Iμ,所有的Θ∈X,所有的适应度值函数Φ:I→R,满足:∀i∈S(Θ,Φ)(P)⇒i∈P,则称S为选择算子。

以下给出一些简单的符号表示及其含义。

f:Rn→R记为被优化的目标函数,不失一般性,通常考虑函数最小化问题。(www.chuimin.cn)

适应度函数Φ:I→R,其中I是个体空间,通常不要求个体的适应度值与目标函数相同,而f是Φ的变量,i∈I记为个体,x∈Rn为目标变量,μ≥1记为父代群体规模。

λ≥1为子代群体规模(λ相当于定义5中的μ′),即在每一代交叉和变异后产生的个体数。

在进化第t代,群体P(t)={i1(t),…,iμ(t)}由个体ik(t)∈I组成。

r:Iμ→Iλ记为交叉(重组)算子,其控制参数集为Θr

m:Iλ→Iλ记为变异算子,其控制参数集为Θm,这里r、m均指宏算子,即把群体变换为另一个群体,将相应作用在个体上的算子分别记为r′和m′。

选择算子S:(Iλ∪Iμ)→Iμ用于产生下一代群体,其控制参数集为Θs

∧Iμ→{T,F}记为停止准则,其中T表示真,F表示假。

根据上述符号表示,可以将进化算法的过程用统一的框架表示如下。

这里Q∈{∅,P(t)}是选择步骤中附加所考虑的个体集合。上述只是进化算法的一个通用的框架,还有一些其他的变化形式。

遗传算法是目前研究的进化算法中三种典型算法之一,其他两种分别是进化规划(EP)和进化策略(ES)。尽管它们之间很相似,但历史上这三种算法却是彼此独立地发展起来的。遗传规划(Genetic Programming,GP)可以认为是在遗传算法的基础上发展改进得到的。

在20世纪60年代中期,Fogel等为有限状态机的演化提出进化规划方法来求解预测问题。这些机器的状态变换表是在对应的离散、有界集上进行均匀的随机变异。进化规划根据被正确预测的符号数来度量适应值。父代群体中的每个机器通过变异产生一个子代,父代和子代中最好的个体被选择生存下来。进化规划的特点在于没有使用交叉算子,采用随机选择机制,因而变异在进化过程中占据重要地位。

进化策略的研究始于1964年,当初主要是用于试验处理流体动力学问题,如弯管形态优化。在进化策略的发展中,Rechenberg和Schwefel做出了重要贡献[5]。Rechenberg针对(1+1)-ES的进化策略研究了其收敛速度理论。(1+1)-ES是一种简单变异选择机制,每代通过高斯变异作用在个体上产生一个子代。Rechenberg还首次提出了(μ+1)-ES,该策略是将μ(μ>1)个个体经过选择形成的一个子代替换掉变异后最差的父代个体。

后来,Schwefel在Rechenberg研究的基础上,提出了(μ+λ)-ES和(μ,λ)-ES策略。前者是针对多父本和子本的,在算法过程中μ个父本产生λ个子本,这(μ+λ)个候选解同时参加竞争并且适者生存(一般生存数目为μ);后者也是针对多父本和子本的,在算法过程中μ个父本产生λ个子本,但只有这λ个候选解参与竞争,然后父本被完全取代,即每个候选解的生命期只限在当前代。这两种策略尤其是后者在进化策略中占据着重要地位。进化策略的特点在于变异是主要的,交叉是次要的,选择算子是确定型的,并将某一部分个体排除在外。

以下对遗传算法、进化规划和进化策略三类方法的特点和区别进行简单总结和比较[1]

遗传算法的特点是:交叉算子是主要的,变异操作是次要的;规定选择概率取非零的数值。

进化规划的特点是:没有交叉;变异很重要;选择时采用随机机制,某些个体不参与选择过程。

进化策略的特点是:适应度值函数直接等于目标函数;变异操作是主要的,交叉操作是次要的;选择过程是确定的,部分个体不参与选择过程,只在λ个个体中进行选择操作。

目前在进化计算领域,遗传算法是最广为人知的进化算法,以遗传算法的研究和应用最为广泛和深入,在多目标进化算法中,遗传算法作为主要的进化模型也是被采用最多的。