遗传算法在多目标优化的应用:公式-讨论-概述总括
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
遗传算法在多目标优化的应用:公式,讨论,概述/总括
概述
本文主要以适合度函数为基础的分配方法来阐述多目标遗传算法。传统的群落形成方法(niche formation method)在此也有适当的延伸,并提供了群落大小界定的理论根据。适合度分配方法可将外部决策者直接纳入问题研究范围,最终通过多目标遗传算法进行进一步总结:遗传算法在多目标优化圈中为是最优的解决方法,而且它还将决策者纳入在问题讨论范围内。适合度分配方法通过遗传算法和外部决策者的相互作用以找到问题最优的解决方案,并且详细解释遗传算法和外部决策者如何通过相互作用以得出最终结果。
1.简介
求非劣解集是多目标决策的基本手段。已有成熟的非劣解生成技术本质上都是以标量优化的手段通过多次计算得到非劣解集。目前遗传算法在多目标问题中的应用方法多数是根据决策偏好信息,先将多目标问题标量化处理为单目标问题后再以遗传算法求解,仍然没有脱离传统的多目标问题分步解决的方式。在没有偏好信息条件下直接使用遗传算法推求多目标非劣解的解集的研究尚不多见。
本文根据遗传算法每代均产生大量可行解和隐含的并行性这一特点,设计了一种基于排序的表现矩阵测度可行解对所有目标总体表现好坏的向量比较方法,并通过在个体适应度定标中引入该方法,控制优解替换和保持种群多样性,采用自适应变化的方式确定交叉和变异概率,设计了多目标遗传算法(Multi Objective Genetic Algorithm, MOGA)。该算法通过一次计算就可以得到问题的非劣解集,
简化了多目标问题的优化求解步骤。
多目标问题中在没有给出决策偏好信息的前提下,难以直接衡量解的优劣,这是遗传算法应用到多目标问题中的最大困难。根据遗传算法中每一代都有大量的可行解产生这一特点,我们考虑通过可行解之间相互比较淘汰劣解的办法来达到最
后对非劣解集的逼近。
考虑一个n维的多目标规划问题,且均为目标函数最大化,
其劣解可以定义为: f
i (x
*
)≤f
i
(x
t
) i=1,2,⋯⋯,n
(1)
且式(1)至少对一个i取“<”。即至少劣于一个可行解的x必为劣解。
对于遗传算法中产生大量的可行解,我们考虑对同一代中的个体基于目标函数相互比较,淘汰掉确定的劣解,并以生成的新解予以替换。经过数量足够大的种群一定次数的进化计算,可以得到一个接近非劣解集前沿面的解集,在一定精度要求下,可以近似的将其作为非劣解集。
个体的适应度计算方法确定后,为保证能得到非劣解集,算法设计中必须处理好以下问题:(1)保持种群的多样性及进化方向的控制。算法需要求出的是一组不同的非劣解,所以计算中要防止种群收敛到某一个解。与一般遗传算法进化到
后期时种群接近收敛不同,多目标遗传算法中要求都要保持解的多样性以适应对已得到的优解(也就是最后非劣解集的备选集)能再进行更新。(2)优解的选择替换。算法必须能选出表现更好的解,并避免由于优解的替换不当使得解集收敛于同一个方向,并使得解集的分布具有一定程度的均匀性。从上述思路出发,本文在多目标遗传算法中使用了针对多目标的个体适应度确定方法,对交叉和变异概率依据种群和进化代数进行自适应调整,并控制种群个体并行向非劣解集前沿面逼近。
二向量评估基因算法
Schaffer 在1984 年提出一种向量评价的遗传算法。它通过以目标向量的各个分量作为适应度来选择出几个等规模的子群体, 交叉和变异的操作则在由子。
群体组成的整个群体内进行。即在每一代,基于个目标函数适应度的计算,产生一定数目的子种群,子种群的大小为N/q,q为目标函数的个数,然后将产生q 个子种群的后代混合起来成为新的种群N继续杂交。杂交采用离散重组,变异采用均匀变异。
然而1989年理查德提出:将所得的全部新个体都划分到同一个种群内,相当于将全部适合度符合的向量点集,线性划归到同一适合度函数曲线上。因此当下的效率权衡就取决于当下新组成的群体。实质上它是一种权重取于当前世代的适应度函数线性求和的将多目标合成单一目标的优化方法。
在最优集的基础上, 提出一种将各个目标值直接映射到适应度函数中的基于秩的适应度函数。因此下一章我们提出:提出了用于对整个种群的个体进行排序的结合目标值及其优先级偏好信息的关系算子。
三以等级分三类的方式体现适应度分配方法在多目标优化遗传算法中的应用
将Xi视为t子代中的一个个体,该个体符合适应度函数Pi(t),假设其余全部个体都在现存种群中,则Xi在该种群中的位置,可用以下函数表明:
函数(Xi,t)=1+p t
i
)
(
其余所有不完全符合Pi(t)的个体则被分配到等级1(rank1)的函数曲线上,见图1.(见原稿figure 1multiobjective ranking),这和Fourman1985年提出的分类筛选的方法有所不同,该等级分类的方式明确表明处于等级3的个体劣于处于等级2的个体,原因在于后者(等级3)函数曲线对现存个体的描述较为粗略。但1989年Goldberg,提出的方法则忽略了这两的等级存在的些微差异。
关于适应度分配方法我们应认识到:不需要将某代该种群中的各个等级都呈现出来,例如图1中等级4的缺失即为一很好的例证。传统的适应度按等级的分配方法在此有了一定延伸:
1. 按等级找种群
2. 将全部个体按适应度从最优(等级1)排到最劣(等级n,其中n 小于等于N ),
从某方面看,该曲线一般为线性关系,但也不尽然。
3. 按适合度将每个个体都分配到同一等级,则这些个体被选中继续作为下一
代亲本的几率是相同的。值得注意的是该方法使得全球各种群的适应度具有连续性,并维持了适当的筛选淘汰的压力。
上述所指的适应度分配方法仅为传统/标准方法的一个延伸,适用于单目标优化或无相互竞争的多目标优化。
四 基于小生境技术遗传算法
适应度分享法可以有效地在复杂多峰函数优化问题中避免基因个体的堆积,保持群体的多样性。这里引进的另一个遗传算法的矢量σshare 需要特别注意。现存的理论把σshare 的价值设定为解集有优先知道的有限个峰和均匀小生境组成。在收敛上,适应度高的个体将取代原有的结构相似的个体。
另一方面,在多目标优化问题中的全体解的个体适应度是均匀单调的,而且无法预知解集的大小。函数的运用已经强制性使搜索集中在在全体最优解中。通过在目标价值范围内应用使用度分享比在多种解决范围内要好。,并且只有在总体操作空间的两两间非支配个体间才能进化出均匀分配表现。
适应度共享函数的直接目的时将搜索空间的多个不同峰值在地理上区分开来,每一个峰值处接受一定比例数目的个体,比例大小与峰值高度有关。为了实现这样的分布,共享法将个体的目标适应度降低得到个体邻集密集程度的估计。适应度函数共享法多少独立于现在使用的选择方法。
4.1 对σshare 的选择
σs h a r e 的建立意义是较好峰值之间个体的最小距离,其建立基础是分享法将个体目标适应度降低。通过以上部分,我们无法知道在不同解决范围内多目标优化问题解集的大小,由于它依赖于目标函数图像。然而,在目标价值范围内和由于非支配个体定义,一个更高的限制对于解集的大小可以被计算通过最小值和最大值评价各个目标假设在那个解集内。另S 为不同解决方法范围内的解集。f(S)为目标范围内的解集,
)(y y q ,1y =,,同时令
),()m i n ,,1(1m i n m m y
y q y q y m ==
)
()m a x ,m a x (,11M M y y q y q y M ==
设A 是各个不同)(m M j j -边界连积的和