遗传算法基本原理111
遗传算法 基本原理

遗传算法基本原理遗传算法是一种基于生物进化原理的优化算法,通过模拟生物进化过程中的遗传机制和选择、交叉、变异等操作,实现问题的求解。
下面介绍遗传算法的基本原理。
遗传编码遗传算法的起点是编码,它将问题的解用一种编码方式表示出来。
编码方式有多种,如二进制编码、实数编码、染色体编码等。
编码方式的选择取决于问题的性质和求解精度要求。
初始种群遗传算法的另一个起点是初始种群,它是一组随机生成的个体集合。
每个个体代表问题的一个可能解。
初始种群的大小和个体质量直接影响到算法的性能和求解结果的质量。
适应度函数适应度函数是用来评估种群中每个个体的优劣程度。
适应度函数的选择应该根据问题的性质来确定,使得函数的值能够反映出个体的优劣程度。
适应度函数通常是将问题的目标函数进行转化得到的。
选择操作选择操作是根据适应度函数来选择种群中的个体进行繁殖。
选择操作有多种方式,如轮盘赌选择、锦标赛选择等。
这些方式都会根据个体的适应度来决定其被选中的概率。
选择操作的目标是保留优秀的个体,淘汰较差的个体。
交叉操作交叉操作是模拟生物进化过程中的基因交叉过程,通过两个个体进行交叉产生新的个体。
交叉操作有多种方式,如单点交叉、多点交叉、均匀交叉等。
交叉操作的目的是通过结合两个个体的优点来产生更优秀的个体。
变异操作变异操作是模拟生物进化过程中的基因突变过程,通过随机改变某个个体的部分基因来产生新的个体。
变异操作的目的是增加种群的多样性,避免算法过早陷入局部最优解。
终止条件终止条件是指算法终止的条件或标准。
通常情况下,终止条件可以根据问题的性质和求解要求来确定,如达到最大迭代次数、解的变化幅度小于一定阈值等。
当满足终止条件时,算法停止迭代,并输出当前种群中适应度最好的个体作为问题的解。
遗传算法基本原理及改进

遗传算法基本原理及改进编码方法:1、二进制编码方法2、格雷码编码方法3、浮点数编码方法。
个体长度等于决策变量长度4、多参数级联编码。
一般常见的优化问题中往往含有多个决策变量,对这种还有多个变量的个体进行编码的方法就成为多参数编码方法。
多参数编码的一种最常用和最基本的方法是:将各个参数分别以某种方式进行编码,然后再将它们的编码按照一定顺序连接在一起就组成了标识全部参数的个体编码。
5、多参数交叉编码:思想是将各个参数中起主要作用的码位集中在一起,这样他们就不易于被遗传算子破坏掉。
在进行多参数交叉编码时,可先对各个参数进行编码;然后去各个参数编码串的最高位连接在一起,以他们作为个体编码串前N位编码,同上依次排列之。
改进遗传算法的方法:(1)改进遗传算法的组成成分或实用技术,如选用优化控制参数、适合问题的编码技术等。
(2)采用动态自适应技术,在进化过程中调整算法控制参数和编码精度。
(3)采用混合遗传算法(4)采用并行算法(5)采用非标准的遗传操作算子改进的遗传算法:(1)分层遗传算法(2)CHC算法(3)messy遗传算法;(4)自实用遗传算法(Adaptive Genetic Algorithm)(5)基于小生境技术的遗传算法(Niched Genetic Algorithm,简称NGA)。
(6)并行遗传算法(Parallel Genetic Algorithm)(7)混合遗传算法:遗传算法与最速下降法相结合的混合遗传算法;遗传算法与模拟退火算法相结合的混合遗传算法。
解决标准遗传算法早熟收敛和后期搜索迟钝的方案(1)变异和交叉算子的改进和协调采用将进化过程划分为渐进和突变两个不同阶段采用动态变异运用正交设计或均匀设计方法设计新的交叉和变异算子(2)采用局部搜索算法解决局部搜索能力差的问题(3)采用有条件的替代父代的方法,解决单一的群体更新方式难以兼顾多样性和收敛性的问题(4)收敛速度慢的解决方法;产生好的初始群体利用小生境技术使用移民技术采用自适应算子采用与局部搜索算法相结合的混合遗传算法对算法的参数编码采用动态模糊控制进行未成熟收敛判断。
遗传算法的基本原理与流程

遗传算法的基本原理与流程遗传算法是一种模拟生物进化过程的优化算法,它通过模拟自然选择、交叉和变异等过程,逐步搜索最优解。
本文将介绍遗传算法的基本原理与流程。
一、基本原理遗传算法的基本原理是基于达尔文的进化论和孟德尔的遗传学理论。
它将问题的解表示为一个个体的染色体,染色体由基因组成。
每个基因代表问题的一个变量或决策。
通过改变基因的组合,可以得到不同的解。
而适应度函数则用来评估每个个体的适应程度,即解的优劣程度。
遗传算法的核心思想是通过模拟自然选择、交叉和变异等过程,逐步优化解的质量。
在自然选择中,适应度高的个体有更大的概率被选择为父代,而适应度低的个体则有较小的概率被选择。
交叉操作模拟了生物的基因交换过程,将两个父代个体的染色体片段进行交叉,生成新的个体。
变异操作则模拟了基因突变的过程,通过改变染色体中的基因值,引入新的解。
二、流程遗传算法的流程一般包括初始化、选择、交叉、变异和更新等步骤。
1. 初始化:首先,需要确定问题的解空间和染色体编码方式。
然后,随机生成一组初始个体作为种群。
2. 选择:根据适应度函数,选择适应度较高的个体作为父代。
常见的选择方法有轮盘赌选择、锦标赛选择等。
3. 交叉:从父代中选取两个个体进行交叉操作,生成新的个体。
交叉操作可以是单点交叉、多点交叉或均匀交叉等。
4. 变异:对新生成的个体进行变异操作,引入新的解。
变异操作可以是位变异、插入变异或交换变异等。
5. 更新:根据适应度函数,选择新生成的个体和原始个体中适应度较高的个体,更新种群。
以上步骤可以迭代执行,直到满足终止条件,例如达到最大迭代次数或找到满意的解。
三、应用与优势遗传算法广泛应用于组合优化、函数优化、机器学习等领域。
它具有以下优势:1. 全局搜索能力:遗传算法能够在解空间中进行全局搜索,避免陷入局部最优解。
2. 并行性:由于遗传算法的并行性,可以同时处理多个个体,加快搜索速度。
3. 适应性:遗传算法能够自适应地调整搜索策略,根据不同问题的特点进行优化。
遗传算法原理及应用

遗传算法原理及应用介绍遗传算法是一种受生物进化理论启发的优化算法,它模拟了自然界中的基因编码、交叉、变异和选择等过程。
遗传算法被广泛应用于求解复杂问题,如优化问题、搜索问题、机器学习等领域。
本文将介绍遗传算法的基本原理、流程以及在不同领域中的应用。
基本原理遗传算法的基本原理是通过模拟进化过程来搜索最优解。
算法通过构建一个种群,每个个体都代表了一个解。
通过遗传操作,包括选择、交叉和变异,不断改进种群中的个体,使其逐步逼近最优解。
1. 初始化种群遗传算法的第一步是初始化一个种群,种群中的个体表示待解决问题的一个可能解。
个体可以用二进制编码、整数编码、浮点编码等方式表示。
种群的大小和个体的编码方式会直接影响算法的搜索能力和效率。
2. 适应度评估每个个体都会通过适应度函数进行评估,适应度函数衡量了个体的适应程度,即其解决问题的能力。
适应度函数的选择依赖于具体问题的特点,如最大化问题可以使用目标函数值作为适应度,最小化问题可以使用目标函数的倒数或负值作为适应度。
3. 选择操作选择操作通过概率选择机制从种群中选择个体,用于构建下一代种群。
适应度高的个体被选中的概率较大,从而保留有较好的性状。
选择算子的选择有多种方法,如轮盘赌选择、锦标赛选择等,这些方法可以根据具体问题的特点进行调整。
4. 交叉操作交叉操作模拟了自然界中基因的交换过程,通过交换两个个体的染色体片段来产生新的个体。
交叉操作能够将两个个体的优良特性进行组合,从而产生具有更好适应度的后代。
交叉操作的方式多种多样,如单点交叉、多点交叉、均匀交叉等。
5. 变异操作变异操作模拟了自然界中基因的突变过程,通过改变个体的某些基因来产生新的个体。
变异操作保持了种群的多样性,并有可能引入新的解决方案。
变异操作的方式也有多种,如位变异、边界变异、非均匀变异等。
6. 更新种群经过选择、交叉和变异操作后,生成了下一代种群。
通过不断迭代以上步骤,种群的适应度逐渐提高,优秀的个体会逐渐占据主导地位。
遗传算法如何处理多约束优化问题

遗传算法如何处理多约束优化问题引言:在现实世界中,我们常常面临着多个相互制约的目标,如在设计产品时需要考虑成本、质量和性能等多个因素。
这种情况下,传统的优化算法往往难以找到全局最优解。
而遗传算法作为一种模拟生物进化过程的优化算法,能够有效地应对多约束优化问题。
本文将介绍遗传算法的基本原理以及如何利用遗传算法处理多约束优化问题。
第一部分:遗传算法基本原理遗传算法是一种模拟生物进化过程的优化算法,其基本原理包括选择、交叉和变异。
首先,通过选择操作,从当前种群中选择适应度较高的个体作为父代,用于产生下一代个体。
然后,通过交叉操作,将父代个体的基因信息进行组合,生成新的个体。
最后,通过变异操作,对新个体的基因进行随机改变,以增加种群的多样性。
通过不断迭代这三个操作,遗传算法能够逐渐优化种群,找到最优解。
第二部分:多约束优化问题的定义多约束优化问题是指在优化过程中,除了优化目标外,还需要满足一定的约束条件。
这些约束条件可以是硬性约束,即必须满足的条件;也可以是软性约束,即优化目标的限制。
例如,在产品设计中,除了要考虑成本、质量和性能等目标外,还需要满足一些制约条件,如尺寸、材料等。
多约束优化问题的难点在于如何同时满足多个目标和约束条件。
第三部分:多约束优化问题的解决方法遗传算法在解决多约束优化问题时,需要对适应度函数进行定义和评估。
适应度函数是用来度量个体的优劣程度,通常是将优化目标和约束条件进行综合考虑。
一种常用的方法是采用加权法,将优化目标和约束条件的重要性进行加权,得到一个综合的适应度值。
然后,通过选择、交叉和变异操作,不断优化个体的基因,以寻找更优的解。
第四部分:多约束优化问题的实例为了更好地理解遗传算法在处理多约束优化问题中的应用,我们以一个实际案例进行说明。
假设我们需要设计一辆电动汽车,优化目标包括最大续航里程和最小充电时间,约束条件包括电池容量、车辆重量和充电设备的功率等。
通过定义适应度函数,我们可以将这些目标和约束条件进行综合考虑,并利用遗传算法搜索最优解。
遗传算法基本原理

遗传算法基本原理遗传算法是一种优化算法,其基本原理是模仿自然界中的进化过程,通过遗传和进化的操作来问题的解空间,从而找到最优解或近似最优解。
遗传算法的基本原理包括:个体表示、适应度函数、选择、交叉、变异和种群进化。
首先,个体表示是指如何将问题的解表示为遗传算法中的个体。
常用的表示方法有二进制编码、实数编码和排列编码等。
个体表示方式的选择应根据问题的特点来确定,以便能够准确、高效地描述问题解空间。
其次,适应度函数用于衡量个体的适应程度,即它们在解决问题中的优劣程度。
适应度函数需要根据问题的具体要求进行设计,常用的度量指标有目标函数值、约束函数违反程度等。
然后,选择操作根据个体的适应度对种群中的个体进行筛选,以选择出适应度较高的个体作为下一代的父代。
选择操作的目的是保留优秀个体,使其有更大的机会产生后代,从而使种群整体的适应度改进。
接着,交叉操作模拟生物界中的基因交换过程,将两个或多个个体的染色体片段进行组合,产生新的个体。
交叉操作的目的是通过交换和重组有价值的信息,以期望产生更好的后代。
变异操作模拟自然界中的基因突变过程,对个体的一些位进行随机改变,引入一定的随机性。
变异操作的目的是引入新的基因组合,以避免种群收敛到局部最优解。
最后,种群进化是指通过重复进行选择、交叉和变异操作来更新和演化种群,直到达到停止条件为止。
重复进行这些操作可以模拟自然界中的进化过程,逐步使种群逼近最优解。
种群进化过程中需要综合考虑选择压力、交叉概率、变异概率等参数的调整,以平衡探索和利用的关系。
总之,遗传算法通过模拟自然界中的进化过程,利用遗传、交叉和变异操作来问题的解空间,从而找到最优解或近似最优解。
其基本原理包括个体表示、适应度函数、选择、交叉、变异和种群进化。
遗传算法在优化、机器学习等领域具有广泛应用。
遗传算法简介

11.3遗传算法遗传算法是模仿生物进化过程搜索最优解的一种计算方法。
1975年,J.Holland 教授首次提出了“遗传算法”的概念,并出版了颇有影响的著作《Adaptation in Natural and Artificial Systems 》。
在此著作中遗传算法的基本概念已经建立,我们称之为简单遗传算法(simple genetic algorithm ,简称SCA ),之后该算法得到了广泛的关注和应用,SCA 也在很多方面得到改良和推广。
下文介绍SCA 的基本理论和MATLAB 遗传算法工具箱GADST 的使用。
11.3.1遗传算法的计算过程遗传算法的计算基本原理是模仿生物进化过程中“物竞天择、适者生存”的演化算法。
遗传算法把问题参数编码为染色体,染色体用数或数组表示,研究对象的总体称为群体,群体中个体的总数称为群体大小或群体规模,个体对环境的适应程度叫做适应度。
遗传算法利用迭代方式进行选择、交叉、变异等运算来交换种群中染色体的信息,最终生成符合优化目标的染色体。
下面我们逐一介绍相应运算。
1.编码在遗传算法计算中,定义种群为所有编码后的染色题的集合,每个个体我们用其染色体表示。
遗传算法的编码有多种。
下面以二进制编码为例介绍。
设某一参数的取值范围是],[U L ,用长度为k 的二进制编码表示该参数,则编码方式有2k 种,对应关系为:00......000000......001100......0102200......01133......11......11121k LL L L Uδδδ=→=→+=→+=→+=-→其中=21k U Lδ--2.解码解码的目的是将二进制数据还原成十进制。
设某二进制编码为121......k k a a a a -,则对应的解码公式为11221k i i k i U L x L a ---⎛⎫=+ ⎪-⎝⎭∑例如,设参数的取值范围是[1,5],用5位的二进制数进行编译,那么编码为10101的数x 解码后的值为:()023*******+02+12+02+12=3.709721x -=+⨯⨯⨯⨯⨯⨯-3.适·应度评估适应度是指个体的优劣性。
遗传算法

2. 遗传算法在电磁优化中的应用
在电磁场工程中,许多电磁优化问题的目标 函数往往是高度非线性的、多极值的、不可 微分的和多参数的。同时,这些目标函数的 计算成本往往很高。在这些复杂电磁问题的 优化设计中,高效的优化算法对于实现高性 价比的设计具有举足轻重的作用。
例 用GPS/铱星系统的圆极化弯钩天线。 全球定位系统(GPS)的工作频率有两个,一个是 1575.4MHz,另一个是1227.6MHz,信号采用圆极化 方式传输。铱星系统也采用圆极化方式传输,其工 作频带1225~1630MHz。 为了使天线同时接收GPS/铱星两个系统的信号,天 线的工作频带应该为1225~1630MHz,采用圆极化 工作方式,在相对于水平面大于5°的准半球空间 具有均匀的辐射方向图。下图为一个弯钩天线,它 有7段直导线串联而成,整个天线被限定在边长为 0.5λmax 的立方体空间内。通过遗传算法,调节7个 连接点的坐标,可以得到满足设计要求的最佳弯钩 天线结构。在优化过程中,价值函数取为
2 杂交策略 在自然界生物进化过程中,起核心作用的是生物遗传基因的 重组(加上变异)。 同样,遗传算法中起核心作用的是遗传操作的杂交算子。对于 占主流地位的二值编码而言,各种杂交算子都包括两个基本 内容:①从由选择操作形成的配对库中,对个体两两配对, 按预先设定的杂交概率来决定每对是否需要进行杂交操作; ②设定配对个体的杂交点,并对这些点前后的配对个体的部 分结构进行相互交换。 就配对的方式来看,可分为随机配对和确定式配对。 3 变异策略 变异算子的基本内容是对群体中个体串的某些基因座上的基 因值作变动。就二值码串而言,变异操作就是把某些基因座 上的基因值取反,即1→0或0→1.
5.杂交操作:遗传算子(有性重组)可以产 生新的个体,从而检测搜索空间的新点。简 单的杂交可分2步进行:随机配对,交换杂交 点后的基因信息。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章遗传算法的基本原理2.1 遗传算法的基本描述2.1.1 全局优化问题全局优化问题的定义:给定非空集合S作为搜索空间,f:S—>R为目标函数,全局优化问题作为任务给出,即在搜索空间中找到至少一个使目标函数最大化的点。
全局最大值(点)的定义:函数值称为一个全局最大值,当且仅当成立时,被称为一个全局最大值点(全局最大解)。
局部极大值与局部极大值点(解)的定义:假设在S上给定了某个距离度量,如果对,,使得对,,则称x’为一个局部极大值点,f(x’)为一个局部极大值。
当目标函数有多个局部极大点时,被称为多峰或多模态函数(multi-modality function)。
主要考虑两类搜索空间:伪布尔优化问题:当S为离散空间B L={0,1}L,即所有长度为L且取值为0或1的二进制位串的集合时,相应的优化问题在进化计算领域称为伪布尔优化问题。
连续参数优化问题:当取S伪n维实数空间R n中的有界集合,其中,i = 1, 2, … , n时,相应的具有连续变量的优化问题称为连续参数优化问题。
对S为B L={0,1}L,常采用的度量时海明距离,当时,常采用的度量就是欧氏距离。
2.1.2 遗传算法的基本流程遗传算法的基本步骤如下:1)选择编码策略,把参数集合X和域转换为位串结构空间S;2)定义适应度函数f(X);3)确定遗传策略,包括群体规模,选择、交叉、变异算子及其概率。
4)生成初始种群P;5)计算群体中各个体的适应度值;6)按照遗传策略,将遗传算子作用于种群,产生下一代种群;7)迭代终止判定。
遗传算法涉及六大要素:参数编码,初始群体的设定,适应度函数的设计,遗传操作的设计,控制参数的设定,迭代终止条件。
2.1.3 遗传编码由于GA计算过程的鲁棒性,它对编码的要求并不苛刻。
原则上任何形式的编码都可以,只要存在合适的对其进行操作的遗传算子,使得它满足模式定理和积木块假设。
由于编码形式决定了交叉算子的操作方式,编码问题往往称作编码-交叉问题。
对于给定的优化问题,由GA个体的表现型集合做组成的空间称为问题(参数)空间,由GA基因型个体所组成的空间称为GA编码空间。
遗传算子在GA编码空间中对位串个体进行操作。
定义:由问题空间向GA编码空间的映射称为编码,而有编码空间向问题空间的映射成为译码。
问题编码一般应满足以下三个原则:1)完备性(completeness):问题空间中的所有点都能能成为GA编码空间中的点的表现型。
即编码应能覆盖整个问题空间。
2)健全性(soundness):GA编码空间中的染色体位串必须对应问题空间中的某一潜在解。
即每个编码必须是有意义的。
3)非冗余性(non-redundancy):染色体和潜在解必须一一对应。
在某些情况下,为了提高GA的运行效率,允许生成包含致死基因的编码位串,它们对应于优化问题的非可行解。
虽然会导致冗余或无效的搜索,但可能有助于生成全局最优解所对应的个体,所需的总计算量可能反而减少。
根据模式定理,De Jong进一步提出了较为客观明确的编码评估准则,称之为编码原理。
具体可以概括为两条规则:1)有意义积木块编码规则:编码应易于生成与所求问题相关的短距和低阶的积木块。
2)最小字符集编码规则:编码应采用最小字符集,以使问题得到自然、简单的表示和描述。
1.二进制编码1)连续实函数的二进制编码设一维连续实函数采用长度维L的二进制字符串进行定长编码,建立位串空间:,,k=1,2,…,K; l=1,2,…,L; K=2L其中,个体的向量表示为,其字符串形式为,s k称为个体a k对应的位串。
表示精度为。
将个体又位串空间转换到问题空间的译码函数的公式定义为:对于n维连续函数,各维变量的二进制编码位串的长度为l i,那么x的编码从左到右依次构成总长度为的二进制编码位串。
相应的GA编码空间为:,K=2L该空间上的个体位串结构为对于给定的二进制编码位串s k,位段译码函数的形式为,i = 1,2,…,n采用二进制编码的GA进行数值优化时,可以通过改变编码长度,协调搜索精度和搜索效率之间的关系。
2)组合问题的二进制编码在很多组合优化问题中,目标函数和约束函数均为离散函数,采用二进制编码往往具有直接的语义,可以将问题空间的特征与位串的基因相对应。
2.其他编码1)大字符集编码2)序列编码3)实数编码4)树编码5)自适应编码6)乱序编码7)二倍体和显性规律Lawrence Davis等学者主张:采用的编码对问题来讲应该时最自然的,并可以据此设计能够处理该编码的遗传算子。
2.1.4 群体设定遗传算法的两个主要特点之一就是基于群体搜索的策略,群体的设定,尤其是群体规模的设定,对遗传算法性能有着重要的影响。
这中间包括两个问题:1)初始群体如何设定;2)进化过程中各代的规模如何维持?1.初始群体的设定遗传算法中初始群体中的个体是按一定的分布随机产生的,一般来讲,初始群体的设定可以采用如下的策略:1)根据问题固有知识,设法把握最优解所占空间在整个问题空间中的分布范围,然后,在此分布范围内设定初始群体。
2)先随机生成一定数目的个体,然后从中挑出最好的个体加入到初始群体中。
这一过程不断重复,直到初始群体中个体数达到了预定的规模。
2.群体规模的设定根据模式定理,若群体规模为M,则遗传操作可从这M个个体中生成和检测O(M3)个模式,并在此基础上不断形成和优化积木块,直到找到最优解。
显然M越大,遗传操作处理的模式就越多,生成有意义的积木块并逐渐进化为最优解的机会就越高。
换句话说,群体规模越大,群体中个体的多样性越高,算法陷入局部最优解的危险就越小。
另外,群体规模太小,会使遗传算法的搜索空间分布范围有限,因而搜索有可能停止在未成熟阶段,引起未成熟收敛(premature convergence)现象。
但是,从计算效率来看,群体规模越大,其适应度评价次数越多,计算量也就越大,从而影响算法的效率。
研究表明,在二进制编码的前提下,为了满足隐并行性,群体个体数只要设定为2L/2即可,L为个体串长度。
这个数比较大,实际应用中群体规模一般取几十~几百。
2.1.4 适应度函数(评价函数)遗传算法在进化搜索中基本不用外部信息,仅用目标函数即适应度函数为依据。
遗传算法的目标函数不受连续可微的约束且定义域可以为任意集合。
对适应度函数的唯一要求是,针对输入可计算出能加以比较的非负结果(比例选择算子需要)。
需要强调的是,适应度函数值是选择操作的依据,适应度函数设计直接影响到遗传算法的性能。
1.目标函数映射成适应度函数对于给定的优化问题,目标函数有正有负,甚至可能是复数值,所以有必要通过建立适应度函数与目标函数的映射关系,保证映射后的适应度值是非负的,而且目标函数的优化方向应对应于适应度值增大的方向。
1)对最小化问题,建立如下适应函数和目标函数的映射关系:其中,c max可以是一个输入值或是理论上的最大值,或者是当前所有大或最近K代中g(x)的最大值,此时c max随着代数会有变化。
2)对于最大化问题,一般采用以下映射:其中,c min可以是一个输入值,或者是当前所有代或最近K代中g(x)的最小值2.适应度函数定标在遗传进化的初期,通常会出现一些超常个体,若按比例选择策略,这些异常个体有可能在群体中占据很大的比例,导致未成熟收敛。
显然,这些异常个体因竞争力太突出,会控制选择过程,从而影响算法的全局优化性能。
另以方面,在遗传进化过程中,虽然群体中个体多样性尚存在,但往往会出现群体的平均适应度已接近最佳个体适应度,这时,个体间的竞争力相似,最佳个体和其它个体在选择过程中有几乎相等的选择机会,从而使有目标的优化过程趋于无目标大的随机搜索过程。
对未成熟收敛现象,应设法降低某些异常个体的竞争力,这可以通过缩小相应的适应度值来实现。
对于随机漫游现象,应设法提高个体间的竞争力差距,这可以通过放大相应的适应度值来实现。
这种适应度的缩放调整称为适应度定标。
1)线性定标(linear scaling)f’ = af + b2)截断(sigma truncation)3)乘幂标f’ = f K4)指数定标f’ = exp(-bf)2.1.5 遗传算子遗传操作是模拟生物基因遗传的操作。
包括三个基本遗传算子(genetic operator):选择,交叉和变异。
这三个遗传算子具有一些特点:(1)这三个算子的操作都是在随机扰动情况下进行的。
换句话说,遗传操作是随机化操作,因此,群体中个体向最优解迁移的规则是随机的。
需要强调的是,这种随机化操作和传统的随机搜索方法是有区别的。
遗传操作进行的是高效有向的搜索,而不是如一般随机搜索方法所进行的无向搜索。
(2)遗传操作的效果和所取的操作概率、编码方法、群体大小,以及适应度函数的设定密切相关。
(3)三个基本算子的操作方法和操作策略随具体求解问题的不同而异。
或者说,是和个体的编码方式直接相关。
1、选择(selection)算子从群体中选择优胜个体,淘汰劣质个体的操作叫选择。
选择算子有时又称为再生算子(reproduction operator)。
选择即从当前群体中选择适应度值高的个体以生成配对池(mating pool)的过程。
为了防止由于选择误差,或者交叉和变异的破坏作用而导致当前群体的最佳个体在下一代的丢失,De Jong提出了精英选择(elitist selection)策略和代沟的概念。
Holland等提出了稳态选择(steady-state selection)策略。
下面一些概念可以用来比较不同的选择算法:(1)选择压力(selection pressure):最佳个体选中的概率与平均选中概率的比值。
(2)偏差(bias) 个体正规化适应度与其期望再生概率的绝对差值。
(3)个体扩展(spread) 单个个体子代个数的范围。
(4)多样化损失(loss of diversity) 在选择阶段末选中个体数目占种群的比例。
(5)选择强度(selection intensity) 将正规高斯分布应用于选择方法,期望平均适应度。
(6)选择方差(selection variance) 将正规高斯分布应用于选择方法,期望种群适应度的方差。
1)适应度比例选择是最基本的选择方法,其中每个个体被选择的期望数量与其适应度值和群体平均适应度值的比例有关,通常采用轮盘赌(roulette wheel)方式实现。
这种方式首先计算每个个体的适应度值,然后计算出此适应度值在群体适应度值总和中所占的比例,表示该个体在选择过程中被选中的概率。
选择过程体现了生物进化过程中“适者生存,优胜劣汰”的思想。
对于给定的规模为n的群体,个体的适应度值为,其选择概率为:经过选择操作生成用于繁殖的配对池,其中父代种群中个体生存的期望数目为:当群体中个体适应度值的差异非常大时,最佳个体与最差个体被选择的概率之比(选择压力)业将按指数增长。