2022年遗传算法的基本原理 .pdf
《2022年遗传算法的基本原理 .pdf》由会员分享,可在线阅读,更多相关《2022年遗传算法的基本原理 .pdf(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第二章遗传算法的基本原理2.1 遗传算法的基本描述2.1.1 全局优化问题全局优化问题的定义: 给定非空集合S 作为搜索空间, f:SR 为目标函数,全局优化问题作为任务)(maxxfSx给出,即在搜索空间中找到至少一个使目标函数最大化的点。全局最大值(点)的定义: 函数值)(*xff称为一个全局最大值,当且仅当)()(*xfxfSx成立时,Sx*被称为一个全局最大值点(全局最大解) 。局部极大值与局部极大值点(解)的定义:假设在 S上给定了某个距离度量,如果对Sx,0,使得对Sx,)()(),(xfxfxx,则称 x为一个局部极大值点, f(x )为一个局部极大值。当目标函数有多个局部极大点
2、时,被称为多峰或多模态函数 (multi-modality function) 。主要考虑两类搜索空间:伪布尔优化问题: 当 S 为离散空间 BL=0,1L,即所有长度为 L 且取值为 0 或1 的二进制位串的集合时,相应的优化问题在进化计算领域称为伪布尔优化问题。连续参数优化问题:当取 S 伪 n 维实数空间 Rn中的有界集合,1iinibaS,其中iiba,i = 1, 2, , n 时,相应的具有连续变量的优化问题称为连续参数优化问题。对 S为 BL=0,1L,常采用的度量时海明距离,当,1iinibaS时,常采用的度量就是欧氏距离。2.1.2 遗传算法的基本流程名师资料总结 - - -
3、精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 22 页 - - - - - - - - - 遗传算法的基本步骤如下:1)选择编码策略,把参数集合X 和域转换为位串结构空间S;2)定义适应度函数f(X);3)确定遗传策略,包括群体规模,选择、交叉、变异算子及其概率。4)生成初始种群 P;5)计算群体中各个体的适应度值;6)按照遗传策略,将遗传算子作用于种群,产生下一代种群;7)迭代终止判定。遗传算法涉及六大要素:参数编码,初始群体的设定,适应度函数的设计,遗传操作的设计,控制参数的设定,迭代终止
4、条件。2.1.3 遗传编码由于 GA 计算过程的鲁棒性,它对编码的要求并不苛刻。原则上任何形式的编码都可以, 只要存在合适的对其进行操作的遗传算子,使得它满足模式定理和积木块假设。由于编码形式决定了交叉算子的操作方式,编码问题往往称作编码-交叉问题。对于给定的优化问题,由GA 个体的表现型集合做组成的空间称为问题(参数)空间 ,由 GA 基因型个体所组成的空间称为GA编码空间 。遗传算子在GA名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 22 页 - - - - - -
5、 - - - 编码空间中对位串个体进行操作。定义:由问题空间向 GA 编码空间的映射称为编码,而有编码空间向问题空间的映射成为译码。问题编码一般应满足以下三个原则:1)完备性 (completeness ) :问题空间中的所有点都能能成为GA 编码空间中的点的表现型。即编码应能覆盖整个问题空间。2)健全性(soundness ) :GA 编码空间中的染色体位串必须对应问题空间中的某一潜在解。即每个编码必须是有意义的。3)非冗余性 (non-redundancy ) :染色体和潜在解必须一一对应。在某些情况下,为了提高GA 的运行效率,允许生成包含致死基因的编码位串,它们对应于优化问题的非可行解
6、。虽然会导致冗余或无效的搜索,但可能有助于生成全局最优解所对应的个体,所需的总计算量可能反而减少。根据模式定理, De Jong进一步提出了较为客观明确的编码评估准则,称之为编码原理。具体可以概括为两条规则:1)有意义积木块编码规则 :编码应易于生成与所求问题相关的短距和低阶的积木块。2)最小字符集编码规则 :编码应采用最小字符集,以使问题得到自然、简单的表示和描述。1二进制编码1)连续实函数的二进制编码设一维连续实函数,),(vuxxf采用长度维L 的二进制字符串进行定长编码,建立位串空间:KLaaaS,21,),(21kLkkkaaaa,1 ,0klak=1,2,K; l=1,2,L; K
7、=2L 其 中 , 个 体 的 向 量 表 示 为),(21kLkkkaaaa, 其 字 符 串 形 式 为kLkkkaaas21,sk称为个体 ak对应的位串。表示精度为)12/()(Luvx。将个体又位串空间转换到问题空间的译码函数, 1 ,0 :vuL的公式定义为:)2(12),(121LjjLkjLkLkkkauvuaaax名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 22 页 - - - - - - - - - 对于 n 维连续函数),2, 1(,),(),(
8、21nivuxxxxxxfiiin,各维变量的二进制编码位串的长度为li,那么 x 的编码从左到右依次构成总长度为niilL1的二进制编码位串。相应的GA 编码空间为:,21KLaaaS,K=2L 该空间上的个体位串结构为 1 , 0),(2121222211121121iklnklnknkiklikikklkkklkkkaaaaaaaaaaaaaaninklnknkiklikikklkkklkkkniaaaaaaaaaaaas2121222211121121对于给定的二进制编码位串sk,位段译码函数的形式为)2(12),(121iiiiljjlikjliiiiklikikiiauvuaaax
9、, i = 1,2,n 采用二进制编码的GA 进行数值优化时,可以通过改变编码长度,协调搜索精度和搜索效率之间的关系。2) 组合问题的二进制编码在很多组合优化问题中,目标函数和约束函数均为离散函数,采用二进制编码往往具有直接的语义,可以将问题空间的特征与位串的基因相对应。2其他编码1)大字符集编码2)序列编码3)实数编码4)树编码5)自适应编码6)乱序编码7)二倍体和显性规律Lawrence Davis 等学者主张:采用的编码对问题来讲应该时最自然的,并可以据此设计能够处理该编码的遗传算子。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - -
10、 - - 名师精心整理 - - - - - - - 第 4 页,共 22 页 - - - - - - - - - 2.1.4 群体设定遗传算法的两个主要特点之一就是基于群体搜索的策略,群体的设定,尤其是群体规模的设定, 对遗传算法性能有着重要的影响。这中间包括两个问题: 1)初始群体如何设定; 2)进化过程中各代的规模如何维持?1 初始群体的设定遗传算法中初始群体中的个体是按一定的分布随机产生的,一般来讲,初始群体的设定可以采用如下的策略:1) 根据问题固有知识,设法把握最优解所占空间在整个问题空间中的分布范围,然后,在此分布范围内设定初始群体。2) 先随机生成一定数目的个体,然后从中挑出最好
11、的个体加入到初始群体中。这一过程不断重复,直到初始群体中个体数达到了预定的规模。2 群体规模的设定根据模式定理,若群体规模为M,则遗传操作可从这M 个个体中生成和检测 O(M3)个模式,并在此基础上不断形成和优化积木块,直到找到最优解。显然M 越大,遗传操作处理的模式就越多,生成有意义的积木块并逐渐进化为最优解的机会就越高。换句话说,群体规模越大,群体中个体的多样性越高,算法陷入局部最优解的危险就越小。另外,群体规模太小,会使遗传算法的搜索空间分布范围有限,因而搜索有可能停止在未成熟阶段,引起未成熟收敛(premature convergence )现象。但是,从计算效率来看,群体规模越大,其
12、适应度评价次数越多,计算量也就越大,从而影响算法的效率。研究表明,在二进制编码的前提下,为了满足隐并行性,群体个体数只要设定为 2L/2即可,L 为个体串长度。这个数比较大,实际应用中群体规模一般取几十几百。2.1.4 适应度函数(评价函数)遗传算法在进化搜索中基本不用外部信息,仅用目标函数即适应度函数为依据。遗传算法的目标函数不受连续可微的约束且定义域可以为任意集合。对适应度函数的唯一要求是, 针对输入可计算出能加以比较的非负结果(比例选择算子需要) 。需要强调的是,适应度函数值是选择操作的依据,适应度函数设计直接影响到遗传算法的性能。1 目标函数映射成适应度函数对于给定的优化问题,目标函数
13、有正有负,甚至可能是复数值,所以有必要通过建立适应度函数与目标函数的映射关系,保证映射后的适应度值是非负的,而且目标函数的优化方向应对应于适应度值增大的方向。1)对最小化问题,建立如下适应函数和目标函数的映射关系:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 22 页 - - - - - - - - - 否则若, 0)(),()(maxmaxcxgxgcxf其中, cmax可以是一个输入值或是理论上的最大值,或者是当前所有大或最近 K 代中 g(x)的最大值,此时cma
14、x随着代数会有变化。2)对于最大化问题,一般采用以下映射:否则若, 00)(,)()(minmincxgcxgxf其中, cmin可以是一个输入值,或者是当前所有代或最近K 代中 g(x)的最小值2 适应度函数定标在遗传进化的初期,通常会出现一些超常个体,若按比例选择策略,这些异常个体有可能在群体中占据很大的比例,导致未成熟收敛。 显然,这些异常个体因竞争力太突出,会控制选择过程,从而影响算法的全局优化性能。另以方面,在遗传进化过程中,虽然群体中个体多样性尚存在,但往往会出现群体的平均适应度已接近最佳个体适应度,这时,个体间的竞争力相似, 最佳个体和其它个体在选择过程中有几乎相等的选择机会,从
15、而使有目标的优化过程趋于无目标大的随机搜索过程。对未成熟收敛现象,应设法降低某些异常个体的竞争力,这可以通过缩小相应的适应度值来实现。 对于随机漫游现象, 应设法提高个体间的竞争力差距,这可以通过放大相应的适应度值来实现。这种适应度的缩放调整称为适应度定标。1)线性定标 (linear scaling)f = af + b 2)截断(sigma truncation))(cfff3) 乘幂标f = fK4) 指数定标f = exp(-bf) 2.1.5 遗传算子遗传操作是模拟生物基因遗传的操作。包括三个基本遗传算子(genetic operator) :选择,交叉和变异。这三个遗传算子具有一些
16、特点:(1) 这三个算子的操作都是在随机扰动情况下进行的。换句话说,遗传操作是随机化操作,因此,群体中个体向最优解迁移的规则是随机的。需名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 22 页 - - - - - - - - - 要强调的是,这种随机化操作和传统的随机搜索方法是有区别的。遗传操作进行的是高效有向的搜索,而不是如一般随机搜索方法所进行的无向搜索。(2) 遗传操作的效果和所取的操作概率、编码方法、群体大小,以及适应度函数的设定密切相关。(3) 三个基本算子的操
17、作方法和操作策略随具体求解问题的不同而异。或者说,是和个体的编码方式直接相关。1、选择(selection)算子从群体中选择优胜个体,淘汰劣质个体的操作叫选择。选择算子有时又称为再生算子( reproduction operator) 。选择即从当前群体中选择适应度值高的个体以生成配对池( mating pool)的过程。为了防止由于选择误差,或者交叉和变异的破坏作用而导致当前群体的最佳个体在下一代的丢失,De Jong提出了精英选择(elitist selection)策略和代沟的概念。 Holland 等提出了稳态选择 (steady-state selection)策略。下面一些概念可以
18、用来比较不同的选择算法:(1)选择压力 (selection pressure) :最佳个体选中的概率与平均选中概率的比值。(2)偏差(bias) 个体正规化适应度与其期望再生概率的绝对差值。(3)个体扩展 (spread) 单个个体子代个数的范围。(4)多样化损失 (loss of diversity) 在选择阶段末选中个体数目占种群的比例。(5)选择强度 (selection intensity) 将正规高斯分布应用于选择方法,期望平均适应度。(6)选择方差 (selection variance) 将正规高斯分布应用于选择方法,期望种群适应度的方差。1) 适应度比例选择是最基本的选择方法
19、, 其中每个个体被选择的期望数量与其适应度值和群体平均适应度值的比例有关,通常采用轮盘赌(roulette wheel)方式实现。这种方式首先计算每个个体的适应度值, 然后计算出此适应度值在群体适应度值总和中所占的比例, 表示该个体在选择过程中被选中的概率。选择过程体现了生物进化过程中“适者生存,优胜劣汰”的思想。对于给定的规模为n 的群体,21naaaP,个体Paj的适应度值为)(jaf,其选择概率为:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 22 页 - - -
20、 - - - - - - njafafapniijjs,2 , 1,)()()(1经过选择操作生成用于繁殖的配对池,其中父代种群中个体生存的期望数目为:njapnaPjsj,2, 1),()(当群体中个体适应度值的差异非常大时,最佳个体与最差个体被选择的概率之比(选择压力)业将按指数增长。最佳个体在下一代的生存机会将显著增加,而最差个体的生存机会将被剥夺。当前群体中的最佳个体将快速充满整个群体,导致群体的多样性迅速降低,GA 也就过早地丧失了进化能力。这是适应度比例选择容易出现地问题。2)Boltzmann 选择在群体进化过程中, 不同阶段需要不同地选择压力。 早期阶段选择压力较小,我们希望较
21、差地个体也又一定地生存机会,使得群体保持较高地多样性; 后期阶段,选择压力较大,我们希望GA 缩小搜索邻域,加快当前最优解的改善速度。为了动态调整群体进化过程中的选择压力,Goldberg设计了 Boltzmann选择方法。个体选择概率为:njeeapniTafTafjsij,2, 1,)(1/ )(/ )(其中,T0 是退火温度。 T 随着迭代地进行逐渐缩小, 选择压力将随之升高。T 是控制群体进化过程中选择压力的关键,一般 T 的选择需要考虑预计最大进化代数。3) 排序选择排序选择方法是将群体中个体按其适应度值由大到小的顺序排成一个序列,然后将事先设计好的序列概率分配给每个个体。显然,排序
22、选择域个体的适应度值的绝对值之间无直接关系, 仅仅与个体之间适应度值的相对大小有关。排序选择不利用个体适应度值绝对值的信息,可以避免群体进化过程中的适应度标度变换。由于排序选择概率比较容易控制,所以在实际计算过程中经常采用,特别是适用于动态调整选择概率, 根据进化效果适时改变群体的选择压力。最常用的排序选择方法是采用线性函数将队列序号映射为期望的选择概率,即线性排序选择(linear ranking selection) 。对于给定的规模为n 的群体,21naaaP,并且满足个体适应度值降序排列)()()(21nafafaf。假设当前群体最佳个体a1在选择操作后的期望名师资料总结 - - -精
23、品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 22 页 - - - - - - - - - 数量为,即1pn;最差个体 an在选择操作后的期望数量为npn。其 它 个 体 的 期 望 数 量 按 等 差 序 列 计 算 ,11njj则)1(1)()1(jnjj,故现在排序选择概率为njjnnapjs,2, 1),1(1)(1)(由nnjj1可以导出2。要求0,0ip,故21。当0,2时,即最差个体在下一代生存的期望数量为0, 群体选择压力最大;当1时,选择方式为按均匀分布的随机选择,群体选择压力
24、最小。4)联赛选择 (tournament selection )联赛选择的基本思想是从当前群体中随机选择一定数量的个体(放回或者不放回) ,将其中适应值最大的个体放入配对池中。反复执行这一过程,直到配对池中的个体数量达到设定的值。联赛规模用 q 表示,也称 q-联赛选择。 联赛选择与个体的适应度值由间接关系,注重适应度值大小的比较。根据大量实验总结,联赛规模一般取 q=2。联赛选择的选择概率也是比较容易控制的,实际计算中也经常采用,适用于在 GA 迭代过程中动态调整选择概率,将进化效果与群体选择压力联系起来。研究证明,当群体规模比较大时,联赛选择与排序选择的个体选择概率基本相同。5) 精英选
25、择从 GA 的整个选择策略来讲,精英选择时群体收敛导优化问题全局最优解的一种基本保障。如果下一代群体的最佳个体适应度值小于当前群体最佳个体的适应度值,则将当前群体最佳个体或者适应度值大于下一代最佳个体适应度值的多个个体直接复制到下一代, 随机替代和替代最差的下一代群体中的相应数量的个体。6) 稳态选择De Jong将下一代群体中生成的与上一代不同的新个体所占的比例称为“代沟” (generation gap ) 。代沟越大,说明新个体的生成比例越高,群体正在搜索新的编码空间。稳态选择操作中,仅有少量个体按适应度值比例选择方法被选择,通过遗传操作生成新的个体。 新个体放回到群体中时, 随机替代等
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年遗传算法的基本原理 2022 遗传 算法 基本原理
限制150内