遗传算法基本原理111

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

第二章遗传算法的基本原理

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 + b

2)截断(sigma truncation)

3)乘幂标

f’ = f K

4)指数定标

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的群体,个体的适应度值为,其选择概率为:

经过选择操作生成用于繁殖的配对池,其中父代种群中个体生存的期望数目为:

当群体中个体适应度值的差异非常大时,最佳个体与最差个体被选择的概率之比(选择压力)业将按指数增长。最佳个体在下一代的生存机会将显著增加,而最差个体的生存机会将被剥夺。当前群体中的最佳个体将快速充满整个群体,导致群体的多样性迅速降低,GA也就过早地丧失了进化能力。这是适应度比例选择容易出现地问题。

2)Boltzmann选择

在群体进化过程中,不同阶段需要不同地选择压力。早期阶段选择压力较小,我们希望较差地个体也又一定地生存机会,使得群体保持较高地多样性;后期阶段,选择压力较大,我们希望GA缩小搜索邻域,加快当前最优解的改善速度。为了动态调整群体进化过程中的选择压力,Goldberg设计了Boltzmann选择方法。个体选择概率为:

其中,T>0是退火温度。T随着迭代地进行逐渐缩小,选择压力将随之升高。T是控制群体进化过程中选择压力的关键,一般T的选择需要考虑预计最大进化代数。

3)排序选择

排序选择方法是将群体中个体按其适应度值由大到小的顺序排成一个序列,然后将事先设计好的序列概率分配给每个个体。显然,排序选择域个体的适应度值的绝对值之间无直接关系,仅仅与个体之间适应度值的相对大小有关。排序选择不利用个体适应度值绝对值的信息,可以避免群体进化过程中的适应度标度变换。由于排序选择概率比较容易控制,所以在实际计算过程中经常采用,特别是适用于动态调整选择概率,根据进化效果适时改变群体的选择压力。最常用的排序选择方法是采用线性函数将队列序号映射为期望的选择概率,即线性排序选择(linear ranking selection)。

对于给定的规模为n的群体,并且满足个体适应度值降序排列。假设当前群体最佳个体a1在选择操作后的期望

数量为,即;最差个体a n在选择操作后的期望数量为。其它个体的期望数量按等差序列计算,则

,故现在排序选择概率为

由可以导出。要求,故。当时,即最差个体在下一代生存的期望数量为0,群体选择压力最大;当时,选择方式为按均匀分布的随机选择,群体选择压力最小。

4)联赛选择(tournament selection)

联赛选择的基本思想是从当前群体中随机选择一定数量的个体(放回或者不放回),将其中适应值最大的个体放入配对池中。反复执行这一过程,直到配对池中的个体数量达到设定的值。联赛规模用q表示,也称q-联赛选择。联赛选择与个体的适应度值由间接关系,注重适应度值大小的比较。根据大量实验总结,联赛规模一般取q=2。

联赛选择的选择概率也是比较容易控制的,实际计算中也经常采用,适用于在GA迭代过程中动态调整选择概率,将进化效果与群体选择压力联系起来。

研究证明,当群体规模比较大时,联赛选择与排序选择的个体选择概率基本相同。

5)精英选择

从GA的整个选择策略来讲,精英选择时群体收敛导优化问题全局最优解的一种基本保障。如果下一代群体的最佳个体适应度值小于当前群体最佳个体的适应度值,则将当前群体最佳个体或者适应度值大于下一代最佳个体适应度值的多个个体直接复制到下一代,随机替代和替代最差的下一代群体中的相应数量的个体。

6)稳态选择

De Jong将下一代群体中生成的与上一代不同的新个体所占的比例称为“代沟”(generation gap)。代沟越大,说明新个体的生成比例越高,群体正在搜索新的编码空间。

稳态选择操作中,仅有少量个体按适应度值比例选择方法被选择,通过遗传操作生成新的个体。新个体放回到群体中时,随机替代等量的旧个体,或者替代等量的最差的旧个体。Holland将稳态选择方法应用于分类器规则学习中,最大

程度继承已获得的规则,实现增量学习。

2、交叉(crossover)算子

交叉操作时进化算法中遗传算法具有的原始性的独有特征。GA交叉算子时模仿自然界有性繁殖的基因重组过程,其作用在于将已有的优良基因遗传给下一代个体,并生成包含更复杂基因结构的新个体。交叉操作一般分为以下几个步骤:

1)从配对池中随机取出要交配的一对个体;

2)根据位串长度L,对要交叉的一对个体,随机选取[1, L-1]中一个或多个整数k作为交叉位置;

3)根据交叉概率实施交叉操作,配对个体在交叉位置处,相互交换各自的部分内容,从而形成新的一对个体。

实现个体结构重组的交叉算子的设计一般与所求解的具体问题有关,任何交叉算子需满足交叉算子的评估准则,即交叉算子需保证前一代中优秀个体的性状能在下一代的新个体中尽可能得到遗传何继承。此外,交叉算子设计和编码设计需协调操作。

1)一点交叉(one-point crossover)

一点交叉是由Holland提出的最基础的一种交叉方式。一点交叉操作的信息量比较小,交叉点位置的选择可能带来较大的偏差(position bias)。按照Holland 的思想,一点交叉算子不利于长距模式的保留和重组,而且位串末尾的重要基因总是被交换(尾点效应,end-point effect)。故实际应用中采用较多的是两点交叉。

位串A:1 1 0 1| 1 0 1 0

位串B:1 0 1 1| 0 1 0 1

位串A’:1 1 0 1 0 1 0 1

位串B’:1 0 1 1 1 0 1 0

2)两点交叉(two-point crossover)

位串A:1 1| 0 1 1| 0 1 0

位串B:1 0| 1 1 0| 1 0 1

位串A’:1 1| 1 1 0| 0 1 0

位串B’:1 0| 0 1 1| 1 0 1

3)多点交叉(multi--point crossover)

多点交叉是上述两种交叉的推广,有时又被称为广义交叉。一般来讲,多点交叉较少采用,因为它影响遗传算法的在线和离线性能。多点交叉不利于有效保存重要的模式。

位串A:1 1| 0 1| 1 0| 1 0

位串B:1 0| 1 1| 0 1| 0 1

位串A’:1 1| 1 1| 1 0| 0 1

位串B’:1 0| 0 1| 0 1| 1 0

4)一致交叉

一致交叉即染色体位串上的每一位按相同概率进行随机均匀交叉。一致交叉算子生成的新个体位:,,操作描述如下:

:;

x是取值为[0,1]上符合均匀分布的随机变量。

Spears和De Jong认为一致交叉算子优于多点交叉算子,并提出一种带偏置概率的一致交叉(),不存在多点交叉算子操作引起的位置偏差,任意基因位的重要基因在一致交叉作用下均可以重组,并遗传给下一代个体。

3、逆转算子

在自然遗传学中有一种称作倒位的现象,在染色体中有两个倒位点,在这两点之间的基因位置倒换,使得那些在父代中离得很远得基因位在后代中紧靠在一起。在GA中相当于重新定义基因块,使染色体位串上得重要基因更加紧凑,更不易被交叉算子所分裂。仿照此现象,Holland提出了逆转算子。

逆转操作首先在个体位串上随机地选择两个点,位串染色体被这两个点分成三段,将中间段的左右顺序倒转过来与另两段相连,形成新的个体位串。比如:长度为10的二进制位串,其中下划线标示的等位基因为重要基因:

10^111011^01(^是倒位位置)

经倒位后变为1011011101。新的位串中重要基因更为靠近,被单点交叉算子分离的可能性大大降低了。

逆转算子一般要求采用类似于乱序编码的带基因位标号的染色体结构。比如,长度为10的位串:

位串: 1 0 1 1 1 0 1 1 0 1

基因位编号:1 2 3 4 5 6 7 8 9 10

按照上述方法实施逆转操作后,编号也随之翻转:

位串: 1 0 1 1 0 1 1 1 0 1

基因位编号:1 2 8 7 6 5 4 3 9 10

这样倒位操作就不会影响个体位串的适应值计算。

但是,逆转算子对交叉算子有一定影响。考虑下列A,B位串之间的单点交叉:

位串A:1 0 1 1 1 0 1 1 0 1

基因位编号:1 2 3 4 5 6 7 8 9 10

位串B:1 0 1 1 0 1 1 1 0 1

基因位编号:1 2 8 7 6 5 4 3 9 10

若简单地将第4个基因位以右的部分位串进行交换,得到:

位串A’: 1 0 1 1 0 1 1 1 0 1

基因位编号:1 2 3 4 6 5 4 3 9 10

位串B’: 1 0 1 1 1 0 1 1 0 1

基因位编号:1 2 8 7 5 6 7 8 9 10

两个子代位串中第3、4和7、8位基因在A’、B’中重复或遗漏,导致子代个体中包含冗余或不完整的遗传信息。为解决此问题,一般遵循五种交换规则:

1)严格同序交换,只允许同序位串才能交换。

2)生存性交换,允许不同序位串进行交换,如果子代码串不包含完整的遗传信息,则不把它们放入新一代群体中。

3)任选方案交换,随意选择两个位串,并将其中任何一个指定为主序位申,另一个位串则按主序位串的次序映射,然后再进行通常的交换,这样保证了交换结果的合法性。

4)最佳方案交换,与任选方案交换基本相同,只是将两个位串中适应值高的位串作为主序位串。

5)结构修复,对于两个子代位串中重复或短缺的基因,随机将重复的基因改变为缺省的基因,形成完整的位串结构。

目前,这五种原则在基于二进制编码的参数优化问题的GA求解中还很少采用。对于某些问题要求采用具有显著物理含义的特殊编码方式,可以根据GA进化的困难程度适当应用。

4、变异(mutation)算子

变异操作模拟自然界生物体进化中染色体上某位基因发生的突变现象,从而改变染色体的结构和物理性状。在遗传算法中,变异算子通过按变异概率p m随机反转某位等位基因的二进制字符值来实现。对于给定的染色体位串

,具体如下:

生成新的个体。其中,x i是对应于每一个基因位产生的均匀

随机变量,。

变异操作作用于个体位串的等位基因上,由于变异概率比较小,在实施过程中一些个体可能根本不发生一次变异,造成大量计算资源的浪费。因此,在GA 具体应用中,我们可以采用一种变通措施,首先进行个体层次的变异发生的概率判断,然后再实施基因层次上的变异操作。一般包括两个基本步骤:

1)计算个体发生变异的概率

以原始的变异概率p m为基础,可以计算出群体中个体发生变异的概率:

给定均匀随机变量,若,则对该个体进行变异,否则表示不发生变异。

2)计算发生变异的个体上基因变异的概率

由于变异操作方式发生了改变,被选择变异的个体上基因的变异概率也需要相应修改,以保证整个群体上基因发生变异的期望次数相等。传统变异方式下整

个群体基因变异的期望次数为。设新的基因变异概率为,新的变异方式下整个群体基因变异的期望次数为:。要求两者相等,即

可以导出:。,位串越短,越比大。当位串长度趋于无穷大时,两者相等,即。

传统变异方式下的计算量为n×L,新的变异方式下的计算量n×p m(a j)×L,计算量差异为n×L×(1-p m(a j)),显然新的变异方式比传统方式计算量降低了,且随着位串长度的增大而下降。但是,这种新变异方式也在一定程度上偏离了原来的变异基因位在全部群体个体基因位中的均匀分布的情况,当群体比较小时,可能会带来一定的变异误差。

从第t代群体中由选择、交叉所生成的交配池中,依次选择个体进行随机变异操作的一般形式表示为

P’’’(t)=m(P’’(t),p m)

变异操作按一定的概率p m对位串上的某些基因位的值进行变异,即1变为0,或0变成1。

为了保证个体变异后不会与其父体产生太大的差异,变异概率一般取值较

小,以保证种群发展的稳定性。

当交叉操作产生的后代个体的适应值不再比它们的前辈更好,但又未达到全局最优解时,就会发生成熟前收敛或早熟收敛(Premature convergence)。这时引入变异算子往往能产生很好的效果。一方面,变异算子可以使群体进化过程中丢失的等位基因信息得以恢复,以保持群体中的个体差异性,防止发生成熟前收敛;另一方面,当种群规模较大时,在交叉操作基础上引人适度的变异,也能够提高遗传算法的局部搜索效率。

在群体进化的整个过程中,交叉操作是主要的基因重组和群体更迭的手段,变异操作的作用是第二位的,变异算子仅仅充当背景性的角色(background role)。针对具体问题以及为了便于对进化过程实施控制,在标准变异算子的基础上,又引人了其他类型的变异算子,比如:特定有效位变异(高位、低位),变异概率自适应调整、面向领域知识的位变异等,使得遗传算法的应用范围和应用效果得到较好的改善。

在很多组合优化问题中,往往存在着多个最优解或者最优解往往被环绕在大量的局部最优解之中,应用GA求解该类问题很容易形成模式欺骗问题,此时可以采用补算算子(Complementary operator)增加群体多样性或者克服模式欺骗性。

基于{1,0}字符集表示的二进制染色体位串,补算算子具体操作形式如下:

O(com, s): a’i = 1 –a i, i = 1,2,…, L

对于位串上每一个基因位,若等位基因为0,则变为1,否则变为0,从而形成新得位串。例如:s = 10111011,补算运算结果:s’ = 01000100。

2.1.6 循环终止条件

关于GA迭代过程如何终止,一般采用设定最大代数的方法。该方法简单易行但不准确。其次,可以根据群体的收敛程度来判断,通过计算种群中的基因多样性测度,即所有基因位的相似性程度来进行控制。第三,根据算法的离线性能和在线性能的变化进行判定。最后,在采用精英保留选择策略的情况下,按每代最佳个体的适应值的变化情况确定。一般循环终止条件表示为T(P(t))=true。

2.1.7 标准GA的流程

1)设代数t = 0

2)初始化种群

3)适应性评价

4)while T(P(t))true do

a)选择

b)交叉

c)变异

d)新一代种群

e)适应性评价

5)end do

2.1.8 控制参数

在遗传算法的运行过程中,存在着对其性能产生重大影响的一组参数。这组参数在初始阶段或群体进化过程中需要合理的选择和控制,以使 GA以最佳的搜索轨迹达到最优解。主要参数包括染色体位串长度L,群体规模n,交叉概率Pc 以及变异概率Pm。许多学者进行了大量实验研究,给出了最优参数建议。

1)位串长度L:位串长度L的选择取决于特定问题解的精度。要求的精度越高,位串越长,但需要更多的计算时间。为提高运算效率,变长度位串或者在当前所达到的较小可行域内重新编码,是一种可行的方法,并显示了良好性能。

2)群体规模n:大群体含有较多模式,为遗传算法提供了足够的模式采样容量,可以改进GA搜索的质量,防止成熟前收敛。但大群体增加了个体适应性评价的计算量,从而使收敛速度降低。一般情况下专家建议n=20~200。

3)交叉概率Pc:交叉概率控制着交叉算子的应用频率,在每一代新的群体中,需要对Pc×n个个体的染色体结构进行交叉操作。交叉概率越高,群体中新结构的引人愈快,已获得的优良基因结构的丢失速度也相应升高。而交叉概率太低则可能导致搜索阻滞。一般取Pc = 0.60~1.00。

4)变异概率Pm:变异操作是保持群体多样性的有效手段,交叉结束后,交配池中的全部个体位串上的每位等位基因按变异率Pm随机改变,因此每代中大约发生Pm×n×L次变异。变异概率太小,可能使某些基因位过早丢失的信息无法恢复;而变异概率过高,则遗传搜索将变成随机搜索。一般取Pm = 0.005~0.01。

实际上,上述参数与问题的类型有着直接的关系。问题的目标函数越复杂,参数选择就越困难。从理论上来讲,不存在一组适用于所有问题的最佳参数值,随着问题特征的变化,有效参数的差异往往非常显著。如何设定遗传算法的控制参数以使遗传算法的性能得到改善,还需要结合实际问题深人研究,以及有赖于遗传算法理论研究的新进展。

2.1.9 GA的性能评估

GA的运行性能与很多因素有关。针对求解同一优化问题,不同参数设置的两个或者多个GA,或者GA与其他启发式搜索算法,如何进行性能比较呢?关于搜索类算法的性能评估,一般可以归纳为算法的求解效率和求解质量两个方面。算法的求解效率是比较获得同样的可行解所需要的计算时间。算法的求解质量是在规定的时间内(或者时间相关指标)所获得的可行解的优劣。这里主要介绍常用和通用的两个指标。

1.适应值函数计算次数

该指标是指发现同样适应性的个体,或者找到同样质量的可行解,所需要的关于个体评价的适应值函数的计算次数(function evaluations)。显然,该值越小说明相应GA的搜索效率越高。同样,在预定的适应值函数计算次数的情况下,比较所发现的最佳个体或者找到的可行解的质量,也可以判断不同GA的搜索能

力。

该指标不仅可以用于不同参数设置GA的性能比较,也可以用于GA与其他搜索算法的比较。适应值函数的计算次数一般采用群体规模与进化代数的乘积,其中往往不考虑代沟大小的影响。

2.在线和离线性能函数

De Jona在将GA用于一组优化函数求解的比较分析时,提出了GA的在线评价指标和离线评价指标两个函数。

1)线性能函数(on-line performance):设GA的遗传策略为s(包括{L,n,Pc,Pm},算子形式等),该策略的在线性能:

即在线性能反映了群体平均适应值经平滑处理后的变化情况,描述了群体的整体性状和进化能力。

2)离线性能函数(off-line performance):对于GA遗传策略s,其离线性能

其中,f(a*,t)=max{f(a l,t),f(a2,t),…,f(a n,t)},即当前群体中最佳个体的适应值。该指标反映了群体中最佳个体适应值经平滑处理后的变化情况,描述了个体的进化能力和GA的搜索能力。

关于上述适应值的平滑处理,也可以通过赋予进化过程中各代不同的权重,改变为适应值的加权平均计算,以消除初始群体带来的误差。

3.最优解搜索性能

GA用于函数优化的目的就是发现问题的全局最优解,所以通常采用当前群体发现的最佳可行解的改善情况作为度量GA搜索能力的基本指标。对于GA遗传策略S,性能函数为:

P best(s, t) = f(a*, t)

其中,P best可以反映GA搜索到全局最优解的过程、速度、早熟等情况,也是适应性参数调整的基础。

另外,结合具体的应用实例,还可以设计一系列具有不同物理含义的性能评价函数和指标。

2.2 遗传算法的模式理论

虽然GA计算过程和形式简单,但是其运行机理非常复杂。随着GA在复杂优化问题求解和实际工程设计中的应用,人们对GA的理论基础给予了越来越多

的关注。主要问题包括:

1)采用怎样的规律和模型来描述GA的宏观行为,GA进化过程中如何预测适应值的变化,以及特定GA形式下的群体结构的进化动力行为。

2)如何评价GA性能的优劣,采用怎样的评价标准。

3)GA适用于哪些问题的求解,即对于哪些问题求解GA性能表现优异,或者GA性能表现低劣。

4)在什么条件下(问题性质、GA形式等),GA能够超越其他启发式搜索方法。

关于以上问题的研究就形成了GA的基本理论。Holand在早期研究中提出了模式(scnema)概念以及模式定理(scnernatneorem),试图给予规范严格的理论分析。

2.2.1 模式与模式空间

遗传算法将实际问题表示成位串空间,以群体为基础,根据适者生存的原则,从中选择出高适应值的位串进行遗传操作,产生出下一代适应性好的位串集合,从而将整个群体不断转移到位串空间中适应值高的子集上,直到获得问题的最优解。在这一过程中,群体中是由哪些信息来指导和记忆寻优过程呢?Holland发现,位串上的某些等位基因的联结与适应值函数之间存在着某种联系,这种联系提供了寻优过程的指导信息,引导着群体在位串空间中的移动方向。

遗传算法在工作过程中,建立并管理着问题参数空间、位串空间(或称为编码空间)、模式空间和适应值空间等四个空间及其之间的转换关系。

采用字符集K={0,1}对问题参数进行二进制编码,位串空间表示为S L={1,0}L,该空间的基数为|S L|=2L。扩展字符集K’={0,1,*},其中*是通配符或无关符(wild cards,or“don’t cares”),即可和0或1匹配。扩展位串空间表示为

S e L={1,0,*}L,该空间的基数为则称S e L为S L的模式空间。显然,包含2L个位串的位串空间,对应于3L个模式位串的模式空间。

定义2.2.1 扩展位串空间S e L={0,1,*}L中的任何一个点,称为对应于位串空间S L={1,0}L的一个模式(Schema):

其中a=(a l,a2,…,a L),H=(H1,H2,…,H L),,,i = 1,2,…,L;,。

模式是由S L中具有共同特征的位串所组成的集合,它描述了该集合中位串上共同的基因特征。Goldberg将模式称为“超平面”(hyper plane),指出了模式在编码空间上的几何意义,模式包含的位串是编码空间相应超平面上的点。

例如:模式0 0 * *表示位串长度为4,两个高位基因为00的位串集合,即

{0000,0001,0010,00ll}。

定义2.3.2 模式的阶(schema order)是指模式中所含有0、1确定基因位的个数,记作O(H)。

定义 2.3.3 模式的定义距(defining length)是指模式中从左到右第一个非*位和最后一位非*位之间的距离,记作。

定义2.3.4 模式的维数(schema dimension)是指模式中所包含的位串的个数,也称为模式的容量,记作D(H),D(H) = 2L-O(H)。

定义2.3.5 令m = m(H,t)为模式H在第t代群体中所含位串数量,模式在t 代群体中包含的个体位串为{a1, a2, …,a m},称为模式H在群体中的生存数量

(survivals)或者采样样本(samples),(j = 1,2,…,m),则模式H在第t代群体中的适应值估计为

即模式的适应值估计(简称模式的适应值)是群体中其所包含的全部个体的适应值的平均值。

从编码空间来看,m(H,t)是当前群体中包含于模式H的个体数量,反映了所对应的模式空间的分布情况,该数量越大说明群体搜索越集中于模式H代表的子空间。从模式空间来看,m(H,t)是模式H在当前群体中的个体采样数量,反映了所对应的编码空间的分布情况。该数量越大说明群体中的个体越趋向相似和一致,在编码空间的搜索范围越小。

比如:模式H=*101*,O(H)=3,=2,D(H)=22=4。

可见,一个模式H由位串长度L、阶O(H)、定义距、容量D(H)和适应

值f(H,t)等五个指标来描述。模式的引入为在一个有限字符集上定义的有限长度的位串之间的相似性度量和理论分析提供了有力的工具。

2.2.2 模式定理和积木块假设

在选择算子作用下,对于平均适应度高于群体平均适应度的模式,其样本数将呈指数级增长:而对于平均适应度低于群体平均适应度的模式,其样本数将呈指数级减少。

在选择和交叉算子作用下,模式定义距越小,则群体中该模式个体数量越容易呈指数级增长;模式定义距越大,则群体中该模式个体数量越不容易呈指数级增长。

在变异算子作用下,阶数越小.模式H越易于生存;阶数越大,模式H越易于放破坏。

定理 2.3.1[模式定理] 在遗传算子选择、交叉、变异的作用下,那些低阶、定义距短的、超过群体平均适应度值的模式的生存数量,将随着迭代次数的增加以指数规律增长。

理论基础:统计决策中的双臂赌机问题表明:按指数规律提高将硬币投往平均支付高的赌机的概率,可以获得最大的累积支付。应用到优化问题则是:要获得最优的可行解,则必须保证较优解的样本数呈指数级增长。而模式定理保证了较优的模式(遗传算法的较优解)的样本数呈指数级增长,从而给出了遗传算法的理论基础。

由模式定理可知,具有低阶、短定义距以及平均适应度高于群体平均适应度的模式在子代中将以指数级增长。这类模式在遗传算法中非常重要,我们给它们一个特别的名字——积木块(building block)。

定义2.4 具有低阶、短定义距以及高适应度的模式称作积木块。

正如搭积木一样,这些“好”的模式在遗传操作下相互拼搭、结合,产生适应度更高的串,从而找到更优的可行解,这正是积木块假设所揭示的内容。

假设2·1[积木块假设(building block hypothesis)]低阶、短距、高平均适应度的模式(积木块)在遗传算于作用下,相互结合,能生成高阶、长距、高平均适应度的模式可最终生成全局最优解。

上一节的模式定理保证了较优的模式(遗传算法的较优解)的样本数呈指数级增长,从而满足了寻找最优解的必要条件,即遗传算法存在着寻找到全局最优解的可能性。而本节的积木块假设则指出,遗传算法具备寻找到全局最优解的能力,即积木块在遗传算子作用下,能生成高阶、长距、高平均适应度的模式,最终生成全局最优解。

然而,遗憾的是上述结论并没有得到证明,正因为如此才被称为假设,而非定理。目前已经有大量的实践证据支持这一假设,从20多年前Bagley和Rosenberg的两篇开创性的文章到最近大量的遗传算法应用实例都表明,积木块假设在许多领域都获得了成功,例如平滑多峰问题,带干扰多峰问题以及组合优化问题等等。尽管大量的证据并不等于理论证明,但至少可以肯定,对多数经常碰到的问题,遗传算法都是适用的。

模式定理和建筑模块假设比较准确地模拟了自然界的物种竞争和遗传法则,其中模式定理描述了GA群体中模式之间的竞争关系,建筑模块假设说明了有效基因之间的继承与重组。因此,模式定理和建筑模块假设构成了关于GA进化过程能够发现最优解的一个充分条件,被认为是解释遗传算法寻优原理的较系统的理论,统称为模式理论(schernatheory)。它们也是GA进化动力学的基本理论,尽管还存在着不完善之处,但是它为深入研究遗传算法的运行机理奠定了基础。

虽然模式定理在一定意义上解决了基本遗传算法(SGA)的有效性,但它仍有以下的缺点:

(1)模式定理只对二进制编码适用,对其他编码方案尚没有相应的结论成立。

(2)模式定理只结出了在下世代包含模式H的个体数的下限。我们无法据此推断算法的收敛性。

(3)模式定理没有解决算法设计中控制参数选取等问题。

最近,Bethke的研究似乎为这个问题的解决带来了希望。Bethke采用Walsh 函数和一种巧妙的模式变换,提出了一种采用Walsh系数计算模式平均适应度的有效分析方法,这使得在一些特定的适应度函数和编码方式下,可以判定积木块通过相互组合是否会产生最优解或接近最优解。Holland把Bethke的方法推广到了当群体非均匀分布时的模式平均适应度分析上。

可以用Walsh系数描述遗传算法操作:遗传算法渐近地估计Walsh系数,并且引导搜索朝着Walsh系数较大的分割中使Walsh函数取正值的模式进行,就是说,遗传算法是Walsh系数求和过程中的贪心。

Bethke指出,如果一个函数的Walsh系数随着j(相应分割的序号)的阶和长度的增长而迅速降低,即重要的Walsh系数是与短的低阶分割相联系的,则这个函数容易用遗传算法求解,称为GA一易(GA-easy)。这时,通过估计低阶模式的平均值就可以发现全局最优点。这样的模式在群体中所占比例比高阶长模式更容易增长:“低阶”意味着它的样本较多,“短”使得它不容易被破坏。对遗传算法而言,估计它们的平均值要比估计高阶长模式容易得多。因此,Bethke 得出结论,由于遗传算法难于对高阶分割中的高阶模式做出好的估计,在其它条件都相同的情况下,如果一个函数的Walsh分解中高阶分割对应了较重要(数值较大)的Walsh系数,则该函数难于用遗传算法求解,并称之为GA一难(GA -hard)。

从模式理论的角度来看,高阶系数小,意味着低阶模式所给出的估计误差小,信息准确,低阶积木块组合即可得到高阶积木块,满足积木块假设,所以,Walsh 模式分析和模式理论在划分GA一难、GA一易时,实际上是殊途同归的。

对于判定一个函数是否GA一难,Bethke的结论并不适用,因为大部分遗传算法应用中的目标函数都不容易表示成Walsh多项式;即使容易表示,计算Walsh 系数需要对搜索空间的每个点计算F(x),这对大多数函数是不可能的,而且,如果计算了F(x)的所有值,就知道了其最优解,而没必要再用遗传算法求解了,分

使用遗传算法求解函数最大值

使用遗传算法求解函数最大值 题目 使用遗传算法求解函数 在及y的最大值。 解答 算法 使用遗传算法进行求解,篇末所附源代码中带有算法的详细注释。算法中涉及不同的参数,参数的取值需要根据实际情况进行设定,下面运行时将给出不同参数的结果对比。 定义整体算法的结束条件为,当种群进化次数达到maxGeneration时停止,此时种群中的最优解即作为算法的最终输出。 设种群规模为N,首先是随机产生N个个体,实验中定义了类型Chromosome表示一个个体,并且在默认构造函数中即进行了随机的操作。 然后程序进行若干次的迭代,在每次迭代过程中,进行选择、交叉及变异三个操作。 一选择操作 首先计算当前每个个体的适应度函数值,这里的适应度函数即为所要求的优化函数,然后归一化求得每个个体选中的概率,然后用轮盘赌的方法以允许重复的方式选择选择N个个体,即为选择之后的群体。

但实验时发现结果不好,经过仔细研究之后发现,这里在x、y取某些值的时候,目标函数计算出来的适应值可能会出现负值,这时如果按照把每个个体的适应值除以适应值的总和的进行归一化的话会出现问题,因为个体可能出现负值,总和也可能出现负值,如果归一化的时候除以了一个负值,选择时就会选择一些不良的个体,对实验结果造成影响。对于这个问题,我把适应度函数定为目标函数的函数值加一个正数,保证得到的适应值为正数,然后再进行一般的归一化和选择的操作。实验结果表明,之前的实验结果很不稳定,修正后的结果比较稳定,趋于最大值。 二交叉操作 首先是根据交叉概率probCross选择要交叉的个体进行交叉。

这里根据交叉参数crossnum进行多点交叉,首先随机生成交叉点位置,允许交叉点重合,两个重合的交叉点效果互相抵消,相当于没有交叉点,然后根据交叉点进行交叉操作,得到新的个体。 三变异操作 首先是根据变异概率probMutation选择要变异的个体。 变异时先随机生成变异的位置,然后把改位的01值翻转。

遗传算法

遗传算法发展前景概况 (华北电力大学电气与电子工程学院,北京102206) 摘要:遗传算法是一种基于生物进化自然选择和群体遗传机理的,适合于复杂系统优化的自适应概率优化技术,近年来,因为遗传算法求解复杂优化问题的巨大潜力和在工业工程领域的成功应用,这种算法受到了国内外学者的广泛关注,本文介绍了遗传算法研究现状和发展的前景,概述了它的理论和技术,并对遗传算法的发展情况发表了自己的看法。 关键词:遗传算法; 遗传算子;进化计算;编码 GENERAL GENETIC ALGORITHM DEVELOPMENT PROSPECT (North China Electric Power University Electrical And Electronic Engineering Institute,Beijing102206) ABSTRACT: Genetic algorithm is a kind of natural selection and based on biological evolution of genetic mechanism, group suitable for complex system optimization adaptive probability optimization technique, in recent years, because genetic algorithm for solving complex optimization problem in the huge potential and the successful application of industrial engineering, this algorithm was wide attention of scholars at home and abroad, this paper introduces the current research status and development of genetic algorithm, summarizes the prospect of its theory and technology of genetic algorithm and the development of published opinions of his own. KEY WORD: Genetic algorithm; Genetic operator; Evolutionary computation; coding 1.引言 现在,遗传算法正在迅速发展,遗传算法与其很强的解决问题能力和适合于复杂系统的自适应优化技术渗透到研究和工业工程领域,在电力系统,系统辨识,最优控制,模式识别等领域有了很广泛的应用,取得了很好的效果。 2.遗传算法基本思想 遗传算法是建立在自然选择和群体遗传学基础上的随机,迭代和进化,具有广泛适用性的搜索方法,所有的自然种类都是适应环境而生存,这一自然适用性是遗传算法的主要思想。 遗传算法是从代表问题可能潜在解集的一个种群开始的,而一个种群则经过基因编码的一定数目的个体组成。每个个体实际上是染色体带有特征的实体。染色体作为遗传物质的主要载体,其内部基因决定了个体的外部表现。因此,在一开始就要实现外部表现到内部基因的映射,即编码工作,通常采用二进制码。初始种群产生之后,按照适者生存和优胜劣汰的原则,逐代演化产生出越来越好的近似解。在每一代,根据问题域中个体的适应度大小选择个体,并借助自然遗传学的遗传算子进行组合交叉和变异,产生出代表新的解集和种群,这种过程将导致种群像自然进化那样产生比前代更适应于环境的后代种群,末代种群中的最有个体经过解码,可以作为问题近似最优解。 遗传算法采纳了自然进化模型,如选择,交叉,变异等,计算开始时,种群随机初始化产生一定数目的N个个体,并计算每个个体的适应度函数,如果不满足优化准则,就开始新一代的计算。为了产生下一代,按照适应度选择个体父代进行基因重组二产生子代。所有的子代按一定的概率进行变异,子代取代父代构成新一代,然后重新计算子代的适应度。这一过程循环执行,直到满足优化准则为止。 3.遗传算法基本操作

MATLAB实验遗传算法和优化设计

实验六 遗传算法与优化设计 一、实验目的 1. 了解遗传算法的基本原理和基本操作(选择、交叉、变异); 2. 学习使用Matlab 中的遗传算法工具箱(gatool)来解决优化设计问题; 二、实验原理及遗传算法工具箱介绍 1. 一个优化设计例子 图1所示是用于传输微波信号的微带线(电极)的横截面结构示意图,上下两根黑条分别代表上电极和下电极,一般下电极接地,上电极接输入信号,电极之间是介质(如空气,陶瓷等)。微带电极的结构参数如图所示,W 、t 分别是上电极的宽度和厚度,D 是上下电极间距。当微波信号在微带线中传输时,由于趋肤效应,微带线中的电流集中在电极的表面,会产生较大的欧姆损耗。根据微带传输线理论,高频工作状态下(假定信号频率1GHz ),电极的欧姆损耗可以写成(简单起见,不考虑电极厚度造成电极宽度的增加): 图1 微带线横截面结构以及场分布示意图 {} 28.6821ln 5020.942ln 20.942S W R W D D D t D W D D W W t D W W D e D D παπππ=+++-+++?????? ? ??? ??????????? ??????? (1) 其中πρμ0=S R 为金属的表面电阻率, ρ为电阻率。可见电极的结构参数影响着电极损耗,通过合理设计这些参数可以使电极的欧姆损耗做到最小,这就是所谓的最优化问题或者称为规划设计问题。此处设计变量有3个:W 、D 、t ,它们组成决策向量[W, D ,t ] T ,待优化函数(,,)W D t α称为目标函数。 上述优化设计问题可以抽象为数学描述: ()()min .. 0,1,2,...,j f X s t g X j p ????≤=? (2)

遗传算法与优化问题(重要,有代码)

实验十遗传算法与优化问题 一、问题背景与实验目的 遗传算法(Genetic Algorithm—GA),是模拟达尔文的遗传选择和自然淘汰的生物进化过程的计算模型,它是由美国Michigan大学的J.Holland教授于1975年首先提出的.遗传算法作为一种新的全局优化搜索算法,以其简单通用、鲁棒性强、适于并行处理及应用范围广等显著特点,奠定了它作为21世纪关键智能计算之一的地位. 本实验将首先介绍一下遗传算法的基本理论,然后用其解决几个简单的函数最值问题,使读者能够学会利用遗传算法进行初步的优化计算.1.遗传算法的基本原理 遗传算法的基本思想正是基于模仿生物界遗传学的遗传过程.它把问题的参数用基因代表,把问题的解用染色体代表(在计算机里用二进制码表示),从而得到一个由具有不同染色体的个体组成的群体.这个群体在问题特定的环境里生存竞争,适者有最好的机会生存和产生后代.后代随机化地继承了父代的最好特征,并也在生存环境的控制支配下继续这一过程.群体的染色体都将逐渐适应环境,不断进化,最后收敛到一族最适应环境的类似个体,即得到问题最优的解.值得注意的一点是,现在的遗传算法是受生物进化论学说的启发提出的,这种学说对我们用计算机解决复杂问题很有用,而它本身是否完全正确并不重要(目前生物界对此学说尚有争议). (1)遗传算法中的生物遗传学概念 由于遗传算法是由进化论和遗传学机理而产生的直接搜索优化方法;故而在这个算法中要用到各种进化和遗传学的概念. 首先给出遗传学概念、遗传算法概念和相应的数学概念三者之间的对应关系.这些概念如下: 序号遗传学概念遗传算法概念数学概念 1 个体要处理的基本对象、结构也就是可行解 2 群体个体的集合被选定的一组可行解 3 染色体个体的表现形式可行解的编码 4 基因染色体中的元素编码中的元素 5 基因位某一基因在染色体中的位置元素在编码中的位置 6 适应值个体对于环境的适应程度, 或在环境压力下的生存能力可行解所对应的适应函数值 7 种群被选定的一组染色体或个体根据入选概率定出的一组 可行解 8 选择从群体中选择优胜的个体, 淘汰劣质个体的操作保留或复制适应值大的可行解,去掉小的可行解 9 交叉一组染色体上对应基因段的 交换根据交叉原则产生的一组新解 10 交叉概率染色体对应基因段交换的概 率(可能性大小)闭区间[0,1]上的一个值,一般为0.65~0.90 11 变异染色体水平上基因变化编码的某些元素被改变

第三章-遗传算法的理论基础

第三章 遗传算法的理论基础 遗传算法有效性的理论依据为模式定理和积木块假设。模式定理保证了较优的模式(遗传算法的较优解)的样本呈指数级增长,从而满足了寻找最优解的必要条件,即遗传算法存在着寻找到全局最优解的可能性。而积木块假设指出,遗传算法具备寻找到全局最优解的能力,即具有低阶、短距、高平均适应度的模式(积木块)在遗传算子作用下,相互结合,能生成高阶、长距、高平均适应度的模式,最终生成全局最优解。Holland 的模式定理通过计算有用相似性,即模式(Pattern)奠定了遗传算法的数学基础。该定理是遗传算法的主要定理,在一定程度上解释了遗传算法的机理、数学特性以及很强的计算能力等特点。 3.1 模式定理 不失一般性,本节以二进制串作为编码方式来讨论模式定理(Pattern Theorem)。 定义3.1 基于三值字符集{0,1,*}所产生的能描述具有某些结构相似性的0、1字符串集的字符串称作模式。 以长度为5的串为例,模式*0001描述了在位置2、3、4、5具有形式“0001”的所有字符串,即(00001,10001) 。由此可以看出,模式的概念为我们提供了一种简洁的用于描述在某些位置上具有结构相似性的0、1字符串集合的方法。 引入模式后,我们看到一个串实际上隐含着多个模式(长度为 n 的串隐含着2n 个模式) ,一个模式可以隐含在多个串中,不同的串之间通过模式而相互联系。遗传算法中串的运算实质上是模式的运算。因此,通过分析模式在遗传操作下的变化,就可以了解什么性质被延续,什么性质被丢弃,从而把握遗传算法的实质,这正是模式定理所揭示的内容 定义3.2 模式H 中确定位置的个数称作该模式的阶数,记作o(H)。比如,模式 011*1*的阶数为4,而模式 0* * * * *的阶数为1。 显然,一个模式的阶数越高,其样本数就越少,因而确定性越高。 定义3.3 模式H 中第一个确定位置和最后一个确定位置之间的距离称作该模式的定义距,记作)(H δ。比如,模式 011*1*的定义距为4,而模式 0* * * * *的定义距为0。 模式的阶数和定义距描述了模式的基本性质。 下面通过分析遗传算法的三种基本遗传操作对模式的作用来讨论模式定理。令)(t A 表示第t 代中串的群体,以),,2,1)((n j t A j =表示第t 代中第j 个个体串。 1.选择算子 在选择算子作用下,与某一模式所匹配的样本数的增减依赖于模式的平均适值,与群体平均适值之比,平均适值高于群体平均适值的将呈指数级增长;而平均适值低于群体平均适值的模式将呈指数级减少。其推导如下: 设在第t 代种群)(t A 中模式所能匹配的样本数为m ,记为),(t H m 。在选择中,一个位串 j A 以概率/j j i P f f =∑被选中并进行复制,其中j f 是个体)(t A j 的适应度。假设一代中群体 大小为n ,且个体两两互不相同,则模式H 在第1+t 代中的样本数为:

基于最小二乘法的系统辨识的设计与开发(整理版)

---------------------------------------------------------------最新资料推荐------------------------------------------------------ 基于最小二乘法的系统辨识的设计与开发(整理版)课程(论文)题目: 基于最小二乘法的系统辨识摘要: 最小二乘法是一种经典的数据处理方法。 最小二乘的一次性完成辨识算法(也称批处理算法),他的特点是直接利用已经获得的所有(一批)观测数据进行运算处理。 在系统辨识领域中, 最小二乘法是一种得到广泛应用的估计方法, 可用于动态系统, 静态系统, 线性系统, 非线性系统。 在随机的环境下,利用最小二乘法时,并不要求观测数据提供其概率统计方面的信息,而其估计结果,却有相当好的统计特性。 关键词: 最小二乘法;系统辨识;参数估计 1 引言最小二乘理论是有高斯( K.F.Gauss)在 1795 年提出: 未知量的最大可能值是这样一个数值,它使各次实际观测值和计算值之间的差值的平方乘以度量其精度的数值以后的和最小。 这就是最小二乘法的最早思想。 最小二乘辨识方法提供一个估算方法,使之能得到一个在最小方差意义上与实验数据最好拟合的数学模型。 递推最小二乘法是在最小二乘法得到的观测数据的基础上,用新引入的数据对上一次估计的结果进行修正递推出下一个参数估计值,直到估计值达到满意的精确度为止。 1 / 10

对工程实践中测得的数据进行理论分析,用恰当的函数去模拟数据原型是一类十分重要的问题,最常用的逼近原则是让实测数据和估计数据之间的距离平方和最小,这即是最小二乘法。 最小二乘法是一种经典的数据处理方法。 在随机的环境下,利用最小二乘法时,并不要求观测数据提供其概率统计方面的信息,而其估计结果,却有相当好的统计特性。 2 最小二乘法的系统辨识设单输入单输出线性定常系统的差分方程为: 1),()()() 1()(01knkubkubnkxakxakxnn ( 1)上式中: )(ku为输入信号;)(kx为理论上的输出值。 )(kx只有通过观测才能得到,在观测过程中往往附加有随机干扰。 )(kx的观测值)(ky可表示为 ( 2)将式( 2)代入式( 1)得 1()()() 1()(101kubkubnkyakyakyn (3) 我们可能不知道)(kn的统计特性,在这种情况下,往往把)(kn看做均值为 0 的白噪声。 设 ( 4)则式( 3)可以写成 (5) 在测量)(ku时也有测量误差,系统内部也可能有噪声,应当

4遗传算法与函数优化

第四章遗传算法与函数优化 4.1 研究函数优化的必要性: 首先,对很多实际问题进行数学建模后,可将其抽象为一个数值函数的优化问题。由于问题种类的繁多,影响因素的复杂,这些数学函数会呈现出不同的数学特征。除了在函数是连续、可求导、低阶的简单情况下可解析地求出其最优解外,大部分情况下需要通过数值计算的方法来进行近似优化计算。 其次,如何评价一个遗传算法的性能优劣程度一直是一个比较难的问题。这主要是因为现实问题种类繁多,影响因素复杂,若对各种情况都加以考虑进行试算,其计算工作量势必太大。由于纯数值函数优化问题不包含有某一具体应用领域中的专门知识,它们便于不同应用领域中的研究人员能够进行相互理解和相互交流,并且能够较好地反映算法本身所具有的本质特征和实际应用能力。所以人们专门设计了一些具有复杂数学特征的纯数学函数,通过遗传算法对这些函数的优化计算情况来测试各种遗传算法的性能。 4.2 评价遗传算法性能的常用测试函数 在设计用于评价遗传算法性能的测试函数时,必须考虑实际应用问题的数学模型中所可能呈现出的各种数学特性,以及可能遇到的各种情况和影响因素。这里所说的数学特性主要包括: ●连续函数或离散函数; ●凹函数或凸函数; ●二次函数或非二次函数; ●低维函数或高维函数; ●确定性函数或随机性函数; ●单峰值函数或多峰值函数,等等。 下面是一些在评价遗传算法性能时经常用到的测试函数: (1)De Jong函数F1: 这是一个简单的平方和函数,只有一个极小点f1(0, 0, 0)=0。

(2)De Jong 函数F2: 这是一个二维函数,它具有一个全局极小点f 2(1,1) = 0。该函数虽然是单峰值的函数,但它却是病态的,难以进行全局极小化。 (3)De Jong 函数F3: 这是一个不连续函数,对于]0.5,12.5[--∈i x 区域内的每一个点,它都取全局极小值 30),,,,(543213-=x x x x x f 。

系统辨识研究的现状_徐小平

系统辨识研究的现状 徐小平1,王 峰2,胡 钢1 (1.西安理工大学自动化与信息工程学院 陕西西安 710048;2.西安交通大学理学院 陕西西安 710049) 摘 要:综述了系统辨识问题的研究进展,介绍了经典的系统辨识方法及其缺点,引出了将集员、多层递阶、神经网络、遗传算法、模糊逻辑、小波网络等知识应用于系统辨识得到的一些现代系统辨识方法,最后总结了系统辨识今后的发展方向。 关键词:系统辨识;集员;多层递阶;神经网络;遗传算法;模糊逻辑;小波网络 中图分类号:TP27 文献标识码:B 文章编号:1004-373X (2007)15-112-05 A Survey on System Identif ication XU Xiaoping 1,WAN G Feng 2,HU Gang 1 (1.School of Automation and Information Engineering ,Xi ′an University of Technology ,Xi ′an ,710048,China ; 2.School of Science ,Xi ′an Jiaotong University ,Xi ′an ,710049,China ) Abstract :In this paper the advance in the study of system identification is summarized.First ,the traditional system identi 2fication methods and their disadvantages are introduced.Then ,some new methods based on set membership ,multi -level re 2cursive ,neural network ,genetic algorithms ,f uzzy logic and wavelet network are presented.Finally ,f urther research directions of system identification are pointed out. K eywords :system identification ;set membership ;multi -level recursive ;neural network ;genetic algorithms ;f uzzy logic ;wavelet network 收稿日期:2007-04-16 基金项目:教育部博士学科基金(20060700007); 陕西省自然科学基金(2005F15)资助项目 1 引 言 辨识、状态估计和控制理论是现代控制理论三个互相渗透的领域。辨识和状态估计离不开控制理论的支持,控制理论的应用又几乎不能没有辨识和状态估计技术。随着控制过程复杂性的提高,控制理论的应用日益广泛,但其实际应用不能脱离被控对象的数学模型。然而在大多数情况下,被控对象的数学模型是不知道的,或者在正常运行期间模型的参数可能发生变化,因此利用控制理论去解决实际问题时,首先需要建立被控对象的数学模型。系统辨识正是适应这一需要而形成的,他是现代控制理论中一个很活跃的分支。社会科学和自然科学领域已经投入相当多的人力和物力去观察、研究有关的系统辨识问题。从1967年起,国际自动控制联合会(IFAC )每3年召开一次国际性的系统辨识与参数估计的讨论会。历届国际自动控制联合会的系统辨识会议均吸引了众多的有关学科的科学家和工程师们的积极参加。 系统辨识是建模的一种方法,不同的学科领域,对应 着不同的数学模型。从某种意义上来说,不同学科的发展过程就是建立他的数学模型的过程。1962年,L.A.Zadeh 给出辨识这样的定义[1]:“辨识就是在输入和输出数据的基础上,从一组给定的模型类中,确定一个与所测系统等价的模型。”当然按照Zadeh 的定义,寻找一个与实际过程完全等价的模型无疑是非常困难的。而从实用性观点出发,对模型的要求并非如此苛刻,为此,对辨识又有一些实用性的定义。比如,1974年,P.E.ykhoff 给出辨识的定义[2]为:“辨识问题可以归结为用一个模型来表示客观系统(或将要构造的系统)本质特征的一种演算,并用这个模型把对客观系统的理解表示成有用的形式。”1978年,L. Ljung 给辨识下的定义[3] 更加实用:“辨识有三个要素—数 据,模型类和准则。辨识就是按照一个准则在一组模型类中选择一个与数据拟合得最好的模型。”总而言之,辨识的实质就是从一组模型类中选择一个模型,按照某种准则,使之能最好地拟合所关心的实际过程的静态或动态特性。 本文首先介绍了经典的系统辨识方法,并指出其存在的缺陷,接着对近年来系统辨识的现代方法作以简单的综述,最后指出了系统辨识未来的发展方向。2 经典的系统辨识 经典的系统辨识方法[4-6]的发展已经比较成熟和完 2 11

基于遗传算法的库位优化问题

Logistics Sci-Tech 2010.5 收稿日期:2010-02-07 作者简介:周兴建(1979-),男,湖北黄冈人,武汉科技学院经济管理学院,讲师,武汉理工大学交通学院博士研究生,研究方向:物流价值链、物流系统规划;刘元奇(1988-),男,甘肃天水人,武汉科技学院经济管理学院;李泉(1989-),男,湖北 武汉人,武汉科技学院经济管理学院。 文章编号:1002-3100(2010)05-0038-03 物流科技2010年第5期Logistics Sci-Tech No.5,2010 摘 要:应用遗传算法对邯运集团仓库库位进行优化。在充分考虑邯运集团仓库所存放的货物种类、货物数量、出入库频 率等因素的基础上进行库位预分区规划,建立了二次指派问题的数学模型。利用遗传算法对其求解,结合MATLAB 进行编程计算并得出最优划分方案。 关键词:遗传算法;预分区规划;库位优化中图分类号:F253.4 文献标识码:A Abstract:The paper optimize the storage position in warehouse of Hanyun Group based on genetic algorithm.With thinking of the factors such as goods categories,quantities and frequencies of I/O,etc,firstly,the storage district is planned.Then the model of quadratic assignment problems is build,and genetic algorithm is utilized to resolve the problem.The software MATLAB is used to program and figure out the best alternatives. Key words:genetic algorithm;district planning;storage position optimization 1 库位优化的提出 邯郸交通运输集团有限公司(简称“邯运集团”)是一家集多种业务为一体的大型综合性物流企业。邯运集团的主要业务板块有原料采购(天信运业及天昊、天诚、天恒等)、快递服务(飞马快运)、汽贸业务(天诚汽贸)及仓储配送(河北快运)等。其中,邯运集团的仓储配送业务由河北快运经营,现有仓库面积总共40000㎡,主要的业务范围为医药、日用百货、卷烟、陶瓷、化工产品的配送,其中以医药为主。邯运集团库存货物主要涉及两个方面:一个是大宗的供应商货物,如医药,化工产品等;另一方面主要是大规模的小件快递货物,如日用百货等[1]。经分析,邯运集团在仓储运作方面存在如下问题: (1)存储货物繁多而分拣速度低下。仓库每天到货近400箱,有近200多种规格,缺乏一套行之有效的仓储管理系统。(2)货架高度不当而货位分配混乱。现在采用的货架高度在2米以上,而且将整箱货物直接码垛在货架上,不严格按货位摆放。当需要往货架最上层码放货物需要借助梯子,增加操作难度且操作效率较低。货物在拣货区货架摆放是以件为单位的,分拣和搬运速度较慢。 (3)拣货货架设计不当而仓储效率低下。发货前装箱工作主要由人工协同完成,出库效率低,出错率难以控制。 (4)存储能力和分拣能力不能满足需求。根据邯运集团的业务发展现状及趋势,现有的仓库储存和分拣能力远远达不到集团公司对配送业务量的需求。 当前邯运集团的货位分配主要采用物理地址编码的方式,很少考虑货位分配对仓储管理员工作效率的影响。对其进行库位优化设计不仅直接影响到其库存量的大小、出入库的效率,还间接影响到邯运集团的整体经营效益。本文对邯运集团的仓库货位进行优化时,结合考虑仓库所存放的货物种类、货物数量、出入库频率等因素,对仓库货位进行规划,以提高仓储效率。 2库位预分区规划 在进行仓库货位规划时,作如下假设: (1)货物的存放种类已知; (2)货物每种类的单位时间内存放的数量己知; (3) 每一种货物的存取频率已知。 在仓库货位优化中一个重要的环节即预分区。所谓预分区,是指没有存放货物时的分区,分区时只考虑仓储作业人员的速基于遗传算法的库位优化问题 Optimization of Storage Position in Warehouse Based on Genetic Algorithm 周兴建1,2,刘元奇1,李泉1 ZHOU Xing-jian 1,2,LIU Yuan-qi 1,LI Quan 1 (1.武汉科技学院经济管理学院,湖北武汉430073;2.武汉理工大学交通学院,湖北武汉430063) (1.College of Economics &Management,Wuhan University of Science &Engineering,Wuhan 430073,China; 2.School of Transportation,Wuhan University of Technology,Wuhan 430063,China) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 38

系统辨识研究综述

系统辨识研究综述 摘要:本文综述了系统辨识的发展与研究内容,对现有的系统辨识方法进行了介绍并分析其不足,进一步引出了把神经网络、遗传算法、模糊逻辑、小波网络知识应用于系统辨识得到的一些新型辨识方法。并对基于T-S模型的模糊系统辨识进行了介绍。文章最后对系统辨识未来的发展方向进行了介绍 关键词:系统辨识;建模;神经网络;遗传算法;模糊逻辑;小波网络;T-S 模型 1.系统辨识的发展和基本概念 1.1系统辨识发展 现代控制论是控制工程新的理论基础。辨识、状态估计和控制理论是现代控制论三个相互渗透的领域。辨识和状态估计离不开控制理论的支持;控制理论的应用又几乎不能没有辨识和状态估计。 而现代控制论的实际应用不能脱离被控对象的动态特性,且所用的数学模型需要选择一种使用方便的描述形式。但很多情况下建立被控对象的数学模型并非易事,尤其是实际的物理或工程对象,它们的机理复杂且含有各种噪声,使建立数学模型更加困难。系统辨识就是应此需要而形成的一门学科。 系统辨识和系统参数估计是六十年代开始迅速发展起来的。1960年,在莫斯科召开的国际自动控制联合会(IFCA)学术会议上,只有很少几篇文章涉及系统辨识和系统参数估计问题。然而,在此后,人们对这一学科给予了很大的注意,有关系统辨识的理论和应用的讨论日益增多。七十年代以来,随着计算机的开发和普及,系统辨识得到了迅速发展,成为了一门非常活跃的学科。 1.2系统辨识基本概念的概述 系统辨识是建模的一种方法。不同的学科领域,对应着不同的数学模型,从某种意义上讲,不同学科的发展过程就是建立它的数学模型的过程。建立数学模型有两种方法:即解析法和系统辨识。 L. A. Zadeh于1962年给辨识提出了这样的定义:“辨识就是在输入和输出数据的基础上,从一组给定的模型类中,确定一个与所测系统等价的模型。”当然按照Zadeh的定义,寻找一个与实际过程完全等价的模型无疑是非常困难的。根据实用性观点,对模型的要求并非如此苛刻。1974年,P. E. ykhoff给出辨识的定义“辨识问题可以归结为用一个模型来表示客观系统(或将要构造的系统) 本质为: 特征的一种演算,并用这个模型把对客观系统的理解表示成有用的形式。而1978

各种优化算法求解函数优化问题

各种优化算法求解函数优化问题 1.遗传算法的简单介绍及流程 1.1遗传算法的基本原理 遗传算法 ( Genetic Algorithm ,简称 GA) 是近年来迅速发展起来的一种全新的随机搜索优化算法。与传统搜索算法不同 ,遗传算法从一组随机产生的初始解 (称为群体 )开始搜索。群体中的每个个体是问题的一个解 ,称为染色体。这些染色体在后续迭代中不断进化 , 称为遗传。遗传算法主要通过交叉、变异、选择运算实现。交叉或变异运算生成下一代染色体,称为后 代。染色体的好坏用适应度来衡量。根据适应度的大小从上一代和后代中选择一定数量的个 体 ,作为下一代群体 ,再继续进化 ,这样经过若干代之后 ,算法收敛于最好的染色体 ,它很可能就是问题的最优解或次优解。遗传算法中使用适应度这个概念来度量群体中的各个个体在优化计算中有可能达到最优解的优良程度。度量个体适应度的函数称为适应度函数。适应度函数的定义一般与具体求解问题有关。 1.2遗传算法的流程 第一步:确定决策变量及各种约束条件,即确定出个体的表现型X和问题的解空间; 第二步:确定出目标函数的类型,即求目标函数的最大值还是最小值,以及其数学描述形式或量化方法,建立其优化模型; 第三步:确定表示可行解的染色体编码方法,即确定出个体的基因型X和遗传算法的搜 索空间。 第四步:确定解码方法,即确定出个体的基因型 X和个体的表现型 X的对应关系或转换方法; 第五步:确定个体时候适应度的量化评价方法,即确定出由目标函数 f(X) 值到个体适应度F(X) 的转换规则; 第六步:设计遗传算子,即确定出选择运算、交叉运算、变异运算等遗传算子的具体操作方法; 第七步:确定出遗传算法的运行参数,即确定出遗传算法的M、 T、 Pc、 Pm等参数。1.3 遗传算法求解函数优化问题中的参数分析 目前,函数优化是遗传算法的经典应用领域,也是对遗传算法进行性能评价的常用范 例。对于函数优化中求解实数型变量的问题,一般采用动态编码和实数编码的方法来提高其搜

遗传算法基本理论实例

目录 _ 一、遗产算法的由来 (2) 二、遗传算法的国内外研究现状 (3) 三、遗传算法的特点 (5) 四、遗传算法的流程 (7) 五、遗传算法实例 (12) 六、遗传算法编程 (17) 七、总结 ......... 错误!未定义书签。附录一:运行程序.. (19)

遗传算法基本理论与实例 一、遗产算法的由来 遗传算法(Genetic Algorithm,简称GA)起源于对生物系统所进行的计算机模拟研究。20世纪40年代以来,科学家不断努力从生物学中寻求用于计算科学和人工系统的新思想、新方法。很多学者对关于从生物进化和遗传的激励中开发出适合于现实世界复杂适应系统研究的计算技术——生物进化系统的计算模型,以及模拟进化过程的算法进行了长期的开拓性的探索和研究。John H.Holland教授及其学生首先提出的遗传算法就是一个重要的发展方向。 遗传算法借鉴了达尔文的进化论和孟德尔、摩根的遗传学说。按照达尔文的进化论,地球上的每一物种从诞生开始就进入了漫长的进化历程。生物种群从低级、简单的类型逐渐发展成为高级复杂的类型。各种生物要生存下去及必须进行生存斗争,包括同一种群内部的斗争、不同种群之间的斗争,以及生物与自然界无机环境之间的斗争。具有较强生存能力的生物个体容易存活下来,并有较多的机会产生后代;具有较低生存能力的个体则被淘汰,或者产生后代的机会越来越少。,直至消亡。达尔文把这一过程和现象叫做“自然选择,适者生存”。按照孟德尔和摩根的遗传学理论,遗传物质是作为一种指令密码封装在每个细胞中,并以基因的形式排列在染色体上,每个基因有特殊的位置并控制生物的某些特性。不同的基因组合产生的个体对环境的适应性不一样,通过基因杂交和突变可以产生对环境适应性强的后代。经过优胜劣汰的自然选择,适应度值高的基因结构就得以保存下来,从而逐渐形成了经典的遗传学染色体理论,揭示了遗传和变异的

系统辨识课程综述

系统辨识课程综述 通过《系统辨识》课程的学习,了解了系统辨识问题的概述及研究进展;掌握了经典的辨识理论和辨识技术及其优缺点,如:脉冲响应法、最小二乘法(LS)和极大似然法等;同时对于那些为了弥补经典系统辨识方法的不足而产生的现代系统辨识方法的原理及其优缺点有了一定的认识,如:神经网络系统辨识、基于遗传算法的系统辨识、模糊逻辑系统辨识、小波网络系统辨识等;最后总结了系统辨识研究的发展方向。 一、系统辨识概论 自40年代Wiener创建控制论和50年代诞生工程控制论以来,控制理论和工程就一直围绕着建立模型和控制器设计这两个主题来发展。它们相互依赖、相互渗透并相互发展;随着控制过程的复杂性的提高以及控制目标的越来越高,控制理论的应用日益广泛,但其实际应用不能脱离被控对象的数学模型。但是大多数情况下,被控对象的数学模型是不知道的,或者在正常运行期间模型的参数可能发生变化,此时建立模型需要细致、完整地分析系统的机理和所有对该系统的行为产生影响的各种因素,从而变得十分困难。系统辨识建模正是适应这一需要而产生的,它是现代控制理论中一个很活跃的分支。 系统辨识是建模的一种方法,不同的学科领域,对应着不同的数学模型。从某种意义上来说,不同学科的发展过程就是建立他的数学模型的过程。所谓系统辨识,通俗地说,就是研究怎样利用对未知系统的试验数据或在线运行数据(输入/输出数据),运用数学归纳、统

计回归的方法建立描述系统的数学模型的科学。Zadeh与Ljung明确提出了系统辨识的三个要素:输入输出数据,模型类和等价准则。总之,辨识的实质就是从一组模型类中选择一个模型,按照某种准则,使之能最好地拟合我们所关心的实际过程的静态或动态特性。 通过辨识建立数学模型的目的是估计表征系统行为的重要参数,建立一个能模仿真实系统行为的模型,用当前可测量的系统的输入和输出预测系统输出的未来演变,以及设计控制器。对系统进行分析的主要问题是根据输入时间函数和系统的特性来确定输出信号;对系统进行控制的主要问题是根据系统的特性设计控制输入,使输出满足预先规定的要求。而系统辨识亦称为实验建模方法,它是“系统分析”和“控制系统设计”的逆问题。通常,预先给定一个模型类μ={M}(即给定一类已知结构的模型),一类输入信号u和等价准则J=L(y,yM)(一般情况下,J是误差函数,是过程输出y和模型输出yM的一个泛函);然后选择使误差函数J达到最小的模型,作为辨识所要求的结果。 二、经典的系统辨识 经典的系统辨识方法包括脉冲响应法、最小二乘法(LS)和极大似然法等。其中最小二乘法(LS)是应用最广泛的方法,但由于它是非一致的,是有偏差性,所以为了克服他的缺陷,形成了一些以最小二乘法为基础的系统辨识方法:广义最小二乘法(GLS)、辅助变量法(IV)、增广最小二乘法(ELS)、广义最小二乘法(GLS),以及将一般的最小二乘法与其他方法相结合的方法,有:最小二乘两步法(COR—LS)

遗传算法的基本原理

第二章 遗传算法的基本原理 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 =∈=,各维变量的二进制

遗传算法多目标函数优化

多目标遗传算法优化 铣削正交试验结果 说明: 1.建立切削力和表面粗糙度模型 如: 3.190.08360.8250.5640.45410c e p z F v f a a -=(1) a R =此模型你们来拟合(上面有实验数据,剩下的两个方程已经是我帮你们拟合好的了)(2) R a =10?0.92146v c 0.14365f z 0.16065a e 0.047691a p 0.38457 10002/c z p e Q v f a a D π=-????(3) 变量约束范围:401000.020.080.25 1.0210c z e p v f a a ≤≤??≤≤??≤≤? ?≤≤? 公式(1)和(2)值越小越好,公式(3)值越大越好。π=3.14 D=8 2.请将多目标优化操作过程录像(同时考虑三个方程,优化出最优的自变量数值),方便我后续进行修改;将能保存的所有图片及源文件发给我;将最优解多组发给我,类似于下图(黄色部分为达到的要求)

遗传算法的结果:

程序如下: clear; clc; % 遗传算法直接求解多目标优化 D=8; % Function handle to the fitness function F=@(X)[10^(3.19)*(X(1).^(-0.0836)).*(X(2).^0.825).*(X(3).^0.564).*(X(4).^0. 454)]; Ra=@(X)[10^(-0.92146)*(X(1).^0.14365).*(X(2).^0.16065).*(X(3).^0.047691).*( X(4).^0.38457)]; Q=@(X)[-1000*2*X(1).*X(2).*X(3).*X(4)/(pi*D)];

遗传算法基本原理111

第二章遗传算法的基本原理 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

相关文档
最新文档