遗传算法的基本原理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章 遗传算法的基本原理
2.1 遗传算法的基本描述
2.1.1 全局优化问题
全局优化问题的定义:给定非空集合S 作为搜索空间,f :S —>R 为目标函数,全局优化问题作为任务)(max x f S
x ∈给出,即在搜索空间中找到至少一个使目标函数最大化的点。 全局最大值(点)的定义:函数值+∞<=)(**x f f 称为一个全局最大值,当且仅当x ∀
S x ∈,(ρi i b a <,i 12)定义适应度函数f(X);
3)确定遗传策略,包括群体规模,选择、交叉、变异算子及其概率。
4)生成初始种群P ;
5)计算群体中各个体的适应度值;
6)按照遗传策略,将遗传算子作用于种群,产生下一代种群;
7)迭代终止判定。
遗传算法涉及六大要素:参数编码,初始群体的设定,适应度函数的设计,遗传操作的设计,控制参数的设定,迭代终止条件。
2.1.3 遗传编码
由于GA 计算过程的鲁棒性,它对编码的要求并不苛刻。原则上任何形式的编码都可以,只要存在合适的对其进行操作的遗传算子,使得它满足模式定理和积木块假设。
由于编码形式决定了交叉算子的操作方式,编码问题往往称作编码-交叉问题。
对于给定的优化问题,由GA 个体的表现型集合做组成的空间称为问题(参数)空间,由GA 基因型个体所组成的空间称为GA 编码空间。遗传算子在GA 编码空间中对位串个体进行操作。
定义:由问题空间向GA 编码空间的映射称为编码,而有编码空间向问题空间的映射成为译码。
1)2)3)它们对1)
2)
k =1,2,…,K; l =1,2,…,L; K=2L
其中,个体的向量表示为),,,(21kL k k k a a a a =,其字符串形式为kL k k k a a a s 21=,s k 称为个体a k 对应的位串。表示精度为)12/()(--=∆L u v x 。
将个体又位串空间转换到问题空间的译码函数],[}1,0{:v u L →Γ的公式定义为:
对于n 维连续函数),,2,1](,[),,,,(),(21n i v u x x x x x x f i i i n =∈=,各维变量的二进制
编码位串的长度为l i ,那么x 的编码从左到右依次构成总长度为∑==n
i i l L 1的二进制编码位串。
相应的GA 编码空间为:
},,,{21K L a a a S =,K=2L
该空间上的个体位串结构为
对于给定的二进制编码位串s k ,位段译码函数的形式为
)2(),,,(--+=Γ=i i l j l i l i i i i i i a u v u a a a x , i = 1,2,…,n 模的设定,对遗传算法性能有着重要的影响。这中间包括两个问题:1)初始群体如何设定;
2)进化过程中各代的规模如何维持?
1. 初始群体的设定
遗传算法中初始群体中的个体是按一定的分布随机产生的,一般来讲,初始群体的设定可以采用如下的策略:
1) 根据问题固有知识,设法把握最优解所占空间在整个问题空间中的分布范围,然后,
在此分布范围内设定初始群体。
2) 先随机生成一定数目的个体,然后从中挑出最好的个体加入到初始群体中。这一过
程不断重复,直到初始群体中个体数达到了预定的规模。
2.群体规模的设定
根据模式定理,若群体规模为M,则遗传操作可从这M个个体中生成和检测O(M3)个模式,并在此基础上不断形成和优化积木块,直到找到最优解。显然M越大,遗传操作处理的模式就越多,生成有意义的积木块并逐渐进化为最优解的机会就越高。换句话说,群体规模越大,群体中个体的多样性越高,算法陷入局部最优解的危险就越小。
另外,群体规模太小,会使遗传算法的搜索空间分布范围有限,因而搜索有可能停止在未成熟阶段,引起未成熟收敛(premature convergence)现象。
但是,从计算效率来看,群体规模越大,其适应度评价次数越多,计算量也就越大,从而影响算法的效率。
2L/2
K代中g(x)
另以方面,在遗传进化过程中,虽然群体中个体多样性尚存在,但往往会出现群体的平均适应度已接近最佳个体适应度,这时,个体间的竞争力相似,最佳个体和其它个体在选择过程中有几乎相等的选择机会,从而使有目标的优化过程趋于无目标大的随机搜索过程。
对未成熟收敛现象,应设法降低某些异常个体的竞争力,这可以通过缩小相应的适应度值来实现。对于随机漫游现象,应设法提高个体间的竞争力差距,这可以通过放大相应的适应度值来实现。这种适应度的缩放调整称为适应度定标。
1)线性定标(linear scaling)
f’ = af + b
2)σ截断(sigma truncation )
3) 乘幂标
f ’ = f K
4) 指数定标
f ’ = exp(-bf)
2.1.5 遗传算子
遗传操作是模拟生物基因遗传的操作。包括三个基本遗传算子(genetic operator ):选择,交叉和变异。这三个遗传算子具有一些特点:
1、(mating
(6)选择方差(selection variance) 将正规高斯分布应用于选择方法,期望种群适应度的方差。
1) 适应度比例选择
是最基本的选择方法,其中每个个体被选择的期望数量与其适应度值和群体平均适应度值的比例有关,通常采用轮盘赌(roulette wheel )方式实现。这种方式首先计算每个个体的适应度值,然后计算出此适应度值在群体适应度值总和中所占的比例,表示该个体在选择过程中被选中的概率。选择过程体现了生物进化过程中“适者生存,优胜劣汰”的思想。
对于给定的规模为n 的群体},,,{21n a a a P =,个体P a j ∈的适应度值为)(j a f ,其选