人工智能之遗传算法论文含源代码_第1页
人工智能之遗传算法论文含源代码_第2页
人工智能之遗传算法论文含源代码_第3页
人工智能之遗传算法论文含源代码_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、30维线性方程求解摘 要:非线性方程组的求解是数值计算领域中最困难的问题,大多数的数值求解算法例如牛顿法的收敛性和性能特征在很大程度上依赖于初始点。但是对于很多高维的非线性方程组, 选择好的初始点是一件非常困难的事情。本文采用了遗传算法的思想,提出了一种用于求解非线性方程组的混合遗传算法。该混合算法充分发挥了遗传算法的群体搜索和全局收敛性。选择了几个典型非线性方程组,考察它们的最适宜解。关键词:非线性方程组;混合遗传算法;优化1. 引言遗传算法是一种通用搜索算法,它基于自然选择机制和自然遗传规律来模拟自然界的进化过程,从而演化出解决问题的最优方法。它将适者生存、结构化但同时又是随机的信息交换以

2、及算法设计人的创造才能结合起来,形成一种独特的搜索算法,把一些解决方案用一定的方式来表示,放在一起成为群体。每一个方案的优劣程度即为适应性,根据自然界进化“优胜劣汰”的原则,逐步产生它们的后代,使后代具有更强的适应性,这样不断演化下去,就能得到更优解决方案。随着现代自然科学和技术的发展,以及新学科、新领域的出现,非线性科学在工农业、经济政治、科学研究方面逐渐占有极其重要的位置。在理论研究和应用实践中,几乎绝大多数的问题都最终能化为方程或方程组,或者说,都离不开方程和方程组的求解。因此,在非线性问题中尤以非线性方程和非线性方程组的求解最为基本和重要。传统的解决方法,如简单迭代法、牛顿法、割线法、

3、延拓法、搜索法、梯度法、共轭方向法、变尺度法,无论从算法的选择还是算法本身的构造都与所要解决的问题的特性有很大的关系。很多情况下,算法中算子的构造及其有效性成为我们解决问题的巨大障碍。而遗传算法无需过多地考虑问题的具体形式,因为它是一种灵活的自适应算法,尤其在一些非线性方程组没有精确解的时候,遗传算法显得更为有效。而且,遗传算法是一种高度并行的算法,且算法结构简单,非常便于在计算机上实现。本文所研究的正是将遗传算法应用于求解非线性方程组的问题。2. 遗传算法解非线性方程组为了直观地观察用遗传算法求解非线性方程组的效果,我们这里用代数非线性方程组作为求解的对象问题描述:非线性方程组指的是有n个变

4、量(为了简化讨论,这里只讨论实变量方程组)的方程组中含有非线性方程。其求解是指在其定义域内找出一组数 能满足方程组中的每一个方程。这里,我们将方程组转化为一个函数则求解方程组就转化为求一组值 使得 成立。即求使函数 取得最小值0的一组数,于是方程组求解问题就转变为函数优化问题3. 遗传算子遗传算子设计包括交叉算子、变异算子和选择算子的设计。(1)交叉算子算术交叉算子是实数编码遗传算法中应用最广泛的一种算子, 该算子描述如下:假设在两个体X 1 和X 2 之间进行算术交叉, 则交叉运算后所产生出的两个新个体为其中a是在0,1区间内的参数,它可以是一个常数,也可以是由进化所决定的变量,本文选择为

5、0,1 区间上的随机数。(2)变异算子设被选中变异的个体的染色体为 , 随机产生一个扰动方向 , 整个变异操作的过程是以 为起点, 沿方向 寻求最优点作为新的染色体, 即完成如下一维搜索运算:本文以黄金分割方法搜索得到最优步长 , 则变异后个体的新染色体 (3)选择算子传统的标准选择算子一方面要求适应度函数大于零, 给适应度函数的选择带了一定的困难; 另一方面基于适应值的排序选择算子是造成算法早熟、收敛速度慢的主要原因。为避免上述问题, 本文采用了既具有较高确定性和一定随机性的联赛竞争法为选择算子, 联赛规模取为3。由于遗传算法中有许多随机因素的影响, 当前群体的最好个体可能会被破坏, 影响算

6、法的运行效率和收敛性, 因此采用了最优保存策略, 即当前群体中最优个体不参与交叉运算和变异运算, 而是用它来替代本代群体中经过交叉、变异操作后所产生的最差个体。4. 实例验证我们为了验证这个遗传算法是否能够找到我们需要的合适解,选取下面的非线性方程组来验证:运行得到的结果为:得出来的结果为逼近准确解ans = 0 -2 1由此可知能找到合适的解的。参考文献:1陈明. 基于进化遗传算法的优化计算J. 软件学报, Vol.9 No.11, 1998.11:876-879.2陈火旺. 遗传程序设计(之一)J. 计算机科学, 1995.22(6:12-15.3冯果忱. 非线形方程组迭代解法M. 上海科

7、学技术出版社, 1989.附件:实验源代码function popold,valParents,F,CR=jde(F,CR,popold,problem,valParents%- Parameters Declination-% F and CR: are self-adaptive parameters coming from jde% popold and valparameters: the evolutionary group and its fitness% problem and lu: to be solved problem and its bound.% omiga: the

8、 shifting vector for problem% flag: the sign to be shifted.% FES: the number of evaluation.global lu %全局变量tau1=0.1;tau2=0.1;ps,n=size(popold;pop=popold;Fold = F; CRold = CR;IF = rand(ps, 1 < tau1; ICR = rand(ps, 1 < tau2;F(IF = 0.1 + 0.9 * rand(sum(IF, 1; CR(ICR = 0.0 + 1.0 * rand(sum(ICR, 1;%

9、 = = = = = = Mutation = = = = = = = = =index= gnvect(randperm(ps,3; % generate three mutual vectors.vi = pop(index(1,:, : + F(:, ones(1, n .* (pop(index(2,:, : -pop(index(3,:, :; %变异算法vi = boundConstraint(vi, lu;% = = = = = Crossover = = = = =mask = rand(ps, n > CR(:, ones(1, n; % mask is used to

10、 indicate which elements of ui comes from the parentrows = (1:ps' cols = floor(rand(ps, 1 * n + 1; % choose one position where the element of ui doesn't come from the parentjrand = sub2ind(ps n, rows, cols; mask(jrand = false;ui = vi; ui(mask = pop(mask;valOffspring =benchmark_func(ui,problem; % evaluate% = = = = = = Selection = = = = = =% I = 1: the parent is better; I = 2: the offspring is bettervalParents, I = min(valParents, valOffspring, , 2; % fitness val

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论