遗传算法非线性方程组的研究.docx
《遗传算法非线性方程组的研究.docx》由会员分享,可在线阅读,更多相关《遗传算法非线性方程组的研究.docx(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、遗传算法非线性方程组的研究(电子科技杂志)2014年第五期1遗传算法求解非线性方程组的改良1.1搜索空间方面的改良搜索空间是遗传算法求解非线性方程组中由定义域D决定的一个或多个范围。搜索空间的大小,在一定程度上决定了求解的效率。曾毅6提出了一种将种群中的个体根据适应值从大到小排列,根据前N位个体变量的对应二进制编码最高位与最优解对应的二进制编码的最高位能否一样的情况,对搜索空间进行缩小和移动的方法。该方法使得每个变量对应的二进制编码长度无需过长,便可求出高精度的解。成媛媛等提出了根据历代最优解将搜索区间不断划分成较小的区间,不断在各个小的搜索区间递归地调用动态自适应遗传算法,直到到达精度要求或
2、小区间宽度为零停止的方法。这一方法较好地克制了传统方法的局限性,能够在较大的初始区间上以概率为1搜索到区间内的全部解,并能较好地实现并行计算,大幅提高了一般遗传算法求解非线性方程组的收敛速度和稳定性。排新颖等提出了一种梯度的变异步长,即在迭代开场时使用大的步长来进行全局寻优,在后期基本确定真正解的区间时,采用较小的步长进行局部细化搜索。从上述文献来看,在搜索空间方面的改良,主要以动态缩小搜索空间等为主。缩小了搜索空间,意味这提高了求解的速度。因而,这些改良将是对基本遗传算法求解非线性方程组的一种有效补充。1.2编码方面的改良综上所述,在基本遗传算法求解非线性方程组的经过中,采用了二进制编码。其
3、在程序上易于实现,但实践发现,该编码也带来了编码和解码误差等问题。因而,曾毅,彭灵翔10均提出了在求解经过的编码环节使用实数编码来替代二进制编码,进而省略了复杂的编码和解码经过。实数编码虽使得设计和分析难度增加,但通用性较好,可方便地表示范围较大的数,便于在较大的空间进行搜索,同时也改善了遗传算法的计算复杂性,提高了运算效率。传统二进制编码存在Hamming悬崖问题。对于二进制编码方法表示的个体,变异操作有时虽只是一个基因座的差异,而对应的参数值却相差较大。但若使用格雷码来对个体进行编码,则编码串之间的一位差异,对应的参数值也只要微小的差异。这就相当于加强了遗传算法的局部搜索能力,便于对连续函
4、数进行局部空间搜索。因而AngelFernandoKuriMorales采用格雷码,获得了较好的使用效果。1.3传算子方面的改良在使用遗传算法求解非线性方程组时,一般会使用到选择、穿插和变异3个算子。选择算子一般通过赌轮法,穿插和变异操作一般采用根据经历所得的固定概率。罗亚中等在算子设计时以联赛竞争算子为选择算子,该算子可直接通过比拟个体的目的函数值完成操作,因而该文的遗传算法适应度函数直接选择为优化目的函数。文中采用了最优保存策略,即当前群体中最优个体不介入穿插运算和变异运算,而是用其来替代本代群体中经过穿插、变异操作后所产生的最差个体。胡小兵等通过设计特定的穿插概率和变异概率函数,实现了穿
5、插概率Pc和变异概率Pm的动态改变,进而增加求解经过中算法的进化能力和收敛速度。田巧玉等采用了启发式穿插的方式,使用参数“atio指定子辈离较好适应度的父辈有多远。如:父辈是parent1和parent2,而parent1有较好的适应度,则启发式穿插生成的子辈如下child=parent2+atio*(parent1parent2)(4)该文中还采用了Gaussian变异算子。此变异算子在进行变异操作时,将一正态分布、具有均值的随机数参加到父向量的每一项,替换原有的基因值。该Gaussian变异算子由两个参数“Scale和“Shrink决定。针对采用非线性排序,排序的结果通常易陷入局部解。徐红
6、提出了设置参数r,将适应值差异因素以r的比例参加到选择中,能改善搜索性能。参数r的设计及由此得到的穿插概率p如下穿插前排序的作用使相邻个体的适应度差异最小,特性相对集中。即采用先排序后穿插可能带来两种效果:(1)加快收敛速度。(2)构成未成熟收敛。希望出现的是前一种情况,因此在搜索初期采用穿插前排序的操作以期提高搜索效率。彭灵翔等在变异算子上使用了最佳个体保留算子和灭绝与移民算子。采用最佳个体保留算子是一种常见的做法,可将有最好适应度的染色体群作为种子传到下一代。灭绝与移民算子在当交配池中的染色体几乎一样时,或最佳个体的适应度在一定代数内的增幅小于门槛值时起作用。灭绝与移民经过一般分为两部分,
7、开场将最佳染色体之外的染色群全部灭绝。然后移民产生Np1个新的染色体。移民经过是:从第2个到Np/2个染色体用产生初始种群的方法产生父辈染色体。其余染色体用最佳适应度的染色体通过变异产生。综上所述,对于算子的改良,主要采用动态变化来替代固定概率的方式。无论哪种改良,均以加快收敛速度和防止早熟为主要目的。从各文献提供的实验数据来看,均获得了一定的效果。2混合遗传算法求解非线性方程组混合遗传算法求解非线性方程组主要是通过遗传算法与其他算法相结合等手段来求解的。与经典迭代方法的混合遗传算法中的杂交算子和变异算子能在全变量空间内搜索方程组的解,经典迭代方法能在收敛点附近局部细致地搜索解。若能将两者混合
8、,有可能发挥好两类算法各自的优势而获得更好的求解效果。目前文献中主要提出了两类混合策略。(1)将经典迭代方法作为算法的一个遗传算子。赵明旺采用牛顿迭代算法与遗传算法结合的混合算法求解非线性方程组,其混合策略是:对子代群体中每个个体以概率Pn进行牛顿算子迭代搜索,产生的新迭代值取代父代参加子代群体。该文以为确定牛顿算子概率Pn的大小需考虑的因素为:1)所求解的非线性方程组牛顿法迭代经过的收敛性。若其迭代经过收敛较快,则相应的Pn可取较小值。否则,则取较大值。2)预定的繁衍代数。若预定的繁衍代数较大,则相应的Pn可取小一些。否则,取大一些。进一步地,赵明旺在文献中将上述思想推广运用至求解相容非线性
9、方程组问题,即求解方程数与变量数可能不一致的情况。罗亚中等,屈颖爽均提出了将拟牛顿法与遗传算法相结合的混合算法求解非线性方程组。文献根据自适应混合算子概率Pn对群体利用拟牛顿法进行局部搜索,此文设计了两类混合算子:拟牛顿迭代混合算子和Powell混合算子,并进行了分析比拟。拟牛顿混合算子的构造方法是:以被选中个体的染色体为初始点进行拟牛顿迭代操作,若算法收敛则以收敛点作为个体新的染色体,若不收敛则不改变个体的染色体。Powell混合算子的构造方法是:以个体的染色体为初始点进行Powell寻优计算,以优化结果作为个体新的染色体。而文献的中心思想是只对每一代的最优个体利用拟牛顿法进行精细局部搜索。
10、其文中以为自适应混合算子概率Pn应该随着进化的增加而变大,最后趋近于一个常数P0,因而提出了如下公式其中,T为遗传算法中设置的最大代数;t为当前进化代数;常数P0(0,1反映了局部强搜索算子对每个个体的最大可能作用程度。P0大则混合算子对遗传算法搜索空间的局部开采愈充分,但相应的计算成本愈大,此文选择P0=0.10。屈颖爽将知名的拟牛顿法BFGS方法与遗传算法进行混合,其混合策略与赵明旺的一致,即对子代群体中每个个体以概率Pn进行拟牛顿算子迭代搜索产生的新迭代值取代父代参加子代群体。值得注意的是此文利用有限Markov理论建立了基于基本遗传算法与BFGS算法的混合算法的全局收敛性定理,即证实了
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 遗传 算法 非线性 方程组 研究
限制150内