智能优化方法课程论文_第1页
智能优化方法课程论文_第2页
智能优化方法课程论文_第3页
智能优化方法课程论文_第4页
智能优化方法课程论文_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

智能优化方法课程论文基于食物链捕食模式的三种群协作遗传算法实验侯树卫实验目的通过编程实现基于食物链捕食模式的三种群协作遗传算法,对函数进行优化,将其与标准的遗传算法优化效果进行对比分析,得出一定的结论。同时,在试验过程中学习熟悉遗传算法。技术方案在遗传算法基础上,进一步模拟自然界的生物进化过程。自然界生物的进化还受到食物链的影响,被捕食和获取食物直接影响生物进化过程。设想,有三个初始种群,按捕食和食物间的一定关系进行协作,会对遗传算法优化效果有一定提升。算法的流程如下:采用实数编码,设置变异参数、种群数量等,生成三个初始种群;计算适应度;进入迭代:处理第三个种群:第三个种群中所有适应度坏于第二种群平均适应度的个体,作为食物被第二种群分配;删除作为食物的个体。按一定选择方式选择父代,交叉产生子代,进行变异;处理第二个种群:按一定方式分配由第三种群获取的食物,食物低于一定值的个体死亡,作为第一种群食物,同时,对第二种群中适应度坏于第一种群平均适应度的个体,也作为第一种群食物,作为食物的个体删除。按一定选择方式选择父代,交叉产生子代,进行变异;处理第一个种群:按一定方式分配由第三种群获取的食物,食物低于一定值的个体死亡、删除。然后,按一定选择方式选择父代,交叉产生子代,进行变异。每个种群中的最好个体替代最差个体;所有种群中的最好个体分别替代每个种群中的最差个体。计算适应度;继续循环直至满足终止条件;输出优化的结果,算法结束。算法采用的交叉方式为多点交叉,即随机选择一半的位串,在父代间交叉。采用的变异方式有:以位串平均值为准按比例上下随机浮动;以位串平均值为准,以取值范围一定比例随机上下浮动;以位串平均值为准,按方差上下随机浮动;以最每代最好个体位串值为准,按同样方式上下随机浮动以及高斯变异。算法中的交叉系数a,变异系数pm、种群规模等根据算法运行情况调整。实验结果及分析通过相同数量个体下,分三种群协同进化和单种群进化进行对比。其他参数相同,个体总数为150。三个种群捕食关系为:pop1吃pop2,pop2吃pop3。在迭代代数为300,变异概率为0.3,交叉系数a为0.1参数下,对测试函数一进行优化,分别运行五次。最后的优化结果如下:

classicgal:3.515301e-017classicga1:4.811999e-017classicga1:6.306604e-018classicgal:8.110289e-018classicga1:1.177726e-017foodchainl:1.795252e-025foodchain1:7.066503e-025foodchain1:1.803103e-025foodchain1:1.062899e-024foodchain1:1.019144e-024classicga2:2.393638e-029classicga2:3.456894e-029classicga2:9.651748e-030classicga2:2.568764e-029classicga2:1.393717e-029foodchain2:1.739845e-026foodchain2:2.292180e-025foodchain2:1.724897e-027foodchain2:1.241327e-026foodchain2:5.407059e-026classicga21:1.513442e-022classicga21:1.037500e-023classicga21:4.744149e-022classicga21:1.369897e-022classicga21:7.380783e-023foodchain21:4.817046e-028foodchain21:5.246736e-029foodchain21:9.183365e-029foodchain21:3.771595e-029foodchain21:2.496357e-028classicga22:1.906018e-003classicga22:9.686630e-005classicga22:2.668078e-004classicga22:1.767192e-004classicga22:4.903648e-004foodchain22:2.749719e-004foodchain22:2.618383e-005foodchain22:1.397267e-003foodchain22:4.022535e-004foodchain22:1.435156e-005其中:classicga代表一般的遗传算法,foodchain代表采用食物链的算法;序号1代表交叉方式为串位直接互换,变异方式为以位串平均值为准按比例上下随机浮动,种群间捕食方式为被捕食群体中低于捕食群体中最优个体适应度两倍。序号2在1基础上改变种群间捕食方式为被捕食群体中低于捕食群体平均适应度。序号21代表在2基础上改变交叉方式为实数交叉方式,按一定系数变化取值交叉;序号22代表在21基础上,改变变异方式为高斯变异。通过以上数据可以明显看出,在这几种方法下,分三种群按食物链方式竞争对提高结果的收敛速度有一定作用。然后对序号1算法加入同样的小于平均适应度淘汰机制,分析结果发现,其收敛速度快于加入食物链的方法。由此可知,采用的新方法的收敛性介于序号1的不淘汰方法和序号2的单种群淘汰方法之间。对函数六进行优化,结果如下:foodchain2:5.044213e+000foodchain2:2.965453e+000foodchain2:2.358099e+000foodchain2:4.605018e+000foodchain2:5.390974e+000classicga2:4.876047e+000classicga2:4.968353e+000classicga2:4.537115e+000classicga2:5.672532e+000classicga2:5.952916e+000classicga1:5.056437e+000classicga1:6.804616e+000classicga1:6.561508e+000classicga1:6.528788e+000classicga1:5.657101e+000对函数十二进行优化,结果如下:foodchain2:7.671139e-001foodchain2:7.902732e-001foodchain2:8.036008e-001foodchain2:5.243947e-001foodchain2:3.423643e-001classicga2:1.360849e+000classicga2:1.145134e+000classicga2:1.337375e+000classicga2:1.063871e+000classicga2:5.237828e-001classicga1:1.184714e+000classicga1:1.161197e+000classicga1:1.477536e+000classicga1:1.053585e+000classicga1:1.279836e+000三种群的方法在这两个函数的优化中,结果明显较好,这说明三种群食物链的优化方法在一些复杂问题的优化效果上要好于单种群的优化方法。分析其原因,可能是由于基于食物链模式的三种群协作方式之间互相制约,各种群分工协作的结果。假设,pop2的平均适应度较高,则pop3种群淘汰率较高,从而使pop3在这一代就有较高的收敛性,同时由于pop3淘汰的多,pop2从pop3获取的食物足够多,种群中个体保存数量就越多,保证了pop2的种群

多样性,有效的保证了对全局最优的搜索能力,在这种情况下,如果popl平均适应度较低,食物不足,淘汰率就多,则popl也具有较高收敛性,如果popl平均适应度较高,则依然可以保证食物,使popl具有保持种群多样性的能力。同时三个种群协作,更方便对每个种群使用不同的交叉和变异方式,以适应不同优化问题收敛和全局搜索要求。下面是对基于食物链模式的三种群协作方式的交叉变异方式改进后对其他一些函数进行优化的效果。4.对其他测试函数的优化考虑测试函数一:f(X)=£气2,这个测试函数具备最优值为零,最优解为零,各位最优解相同三个特i=1点,这都属于特殊情况,我把这个函数改进后,变为:f(X)=£(七-i)2,这样最优解就变为(1,2,…,i=1n)。通过搭配不同种群的高斯变异方式,t=exp(-gen/100);bound=[avival;avival]+dom*[0.5;-0.5]*ones(1,bn);newpop(1:popnum,1:bn)=gaussian_mutation(newpop(1:popnum,1:bn),pm,bound)%对种群三以最优五个个体的每个位串值的平均值为中心,以取值范围为范围作高斯扰动;ifgen<genmax/3,bound=dom*[0.5;-0.5]*ones(1,bn);newpop(popnum+1:3*popnum,1:bn)=gaussian_mutation(newpop(popnum+1:3*popnum,1:bn),pm,bound);对种群三以最优个体的每个位串值为中心,以取值范围为范围作高斯扰动;elsebound=[pop(minnum,1:bn);pop(minnum,1:bn)]+dom*[0.5;-0.5]*ones(1,bn)*t;高斯扰动范围缩小做微调newpop(popnum+1:3*popnum,1:bn)=gaussian_mutation(newpop(popnum+1:3*popnum,1:bn),pm,bound);end求取最优值及最优解,迭代900次,运行五次结果如下(函数文件名foodchaincom24):1.000535e+0006.999452e+0001.300082e+0011.900130e+0012.499926e+0012.296092e-0051.002224e+0001.000535e+0006.999452e+0001.300082e+0011.900130e+0012.499926e+0012.296092e-0051.002224e+0007.000312e+0001.299962e+0011.900324e+0012.499679e+0011.008800e-0049.990165e-0016.999040e+0001.300057e+0011.900108e+0011.998628e+0008.000164e+0001.399802e+0012.000036e+0012.599957e+0012.002033e+0007.995894e+0001.400113e+0012.000215e+0012.599951e+0011.999304e+0008.001043e+0001.399932e+0012.000166e+0013.000666e+0009.000570e+0001.500093e+0012.100041e+0012.700049e+0013.001367e+0009.000350e+0001.499935e+0012.100106e+0012.700105e+0013.001063e+0009.000862e+0001.500144e+0012.099951e+0014.000945e+0001.000036e+0011.600051e+0012.200032e+0012.799936e+0014.002296e+0009.999528e+0001.599913e+0012.200003e+0012.800199e+0013.998800e+0009.999494e+0001.599825e+0012.199858e+0015.001641e+0001.099905e+0011.700028e+0012.300085e+0012.900011e+0015.000156e+0001.099928e+0011.699754e+0012.300063e+0012.900191e+0014.998648e+0001.100214e+0011.699841e+0012.300092e+0016.000294e+0001.199995e+0011.799789e+0012.399982e+0012.999928e+001;6.001793e+0001.200283e+0011.799837e+0012.400119e+0012.999735e+001;5.998688e+0001.200157e+0011.799913e+0012.400042e+0012.500057e+0012.600022e+0012.700224e+0012.800206e+0014.559174e-0051.000033e+0001.996500e+0003.002602e+0003.996413e+0007.000290e+000 8.001422e+000 8.999821e+000 9.999805e+0001.300123e+001 1.399840e+001 1.500007e+001 1.600063e+0011.899913e+001 1.999869e+001 2.100021e+001 2.200184e+0012.500212e+001 2.600059e+001 2.700049e+001 2.799884e+0016.133224e-0059.992472e-0012.001992e+0003.002017e+0004.001626e+0006.999992e+000 8.002034e+000 8.999343e+000 9.997772e+0001.300078e+001 1.399838e+001 1.499815e+001 1.600067e+0011.899641e+001 1.999765e+001 2.099964e+001 2.200039e+0012.500194e+001 2.599802e+001 2.699596e+001 2.799808e+0011.432954e-004最优解误差范围在0.001左右,最优值误差数量级为0.00001。2.900018e+0014.999589e+0001.100030e+0011.700107e+0012.299782e+0012.900005e+0015.001180e+0001.100076e+0011.699794e+0012.299993e+0012.900101e+0012.999864e+001;6.000232e+0001.199946e+0011.800117e+0012.399848e+0012.999946e+001;5.999469e+0001.200237e+0011.800656e+0012.400217e+0013.000285e+001;n下面将函数一继续一般化,修改为f(X)=Z(七-i)2+100,对函数的交叉选择方式改进为:i=1t=exp(-gen/100);expfit=pop(1:popnum,bn+1)/t;expfit=expfit-min(expfit)+t;sumprob1=cumsum(expfit"(-1));即将适应度除以一个随代数逐渐缩小的参数t,以避免基数100对选择概率的影响。迭代900次,运行五次结果如下(函数文件名foodchaincom25):9.998908e-001 2.001862e+000 2.998627e+000 4.000609e+000 4.998313e+000 6.003926e+0007.013799e+000 8.000208e+000 8.998694e+000 9.987354e+000 1.099934e+001 1.199782e+0011.300931e+001 1.400508e+001 1.499532e+001 1.600194e+001 1.699809e+001 1.799425e+0011.899915e+001 1.999884e+001 2.099686e+001 2.199790e+001 2.299295e+001 2.400756e+0012.499779e+001 2.600469e+001 2.699157e+001 2.800146e+001 2.900168e+001 2.999311e+001;1.000008e+0021.000405e+0002.000193e+0002.999447e+0004.000421e+0005.000631e+0005.999752e+0006.999878e+000 7.999913e+000 8.999680e+000 9.999722e+000 1.099965e+001 1.199982e+0011.299980e+001 1.399972e+001 1.500005e+001 1.599948e+001 1.700047e+001 1.800020e+0011.900026e+001 1.999991e+001 2.099974e+001 2.199995e+001 2.300057e+001 2.400062e+0012.500002e+001 2.599987e+001 2.700019e+001 2.800061e+001 2.900019e+001 3.000011e+001;1.000000e+0021.000371e+0002.000307e+0002.999670e+0003.999934e+0004.999903e+0005.999740e+0006.998994e+000 8.000190e+000 9.000611e+000 1.000056e+001 1.099992e+001 1.199978e+0011.300022e+001 1.400027e+001 1.499978e+001 1.599997e+001 1.699981e+001 1.800011e+0011.900037e+001 2.000053e+001 2.099966e+001 2.200001e+001 2.299989e+001 2.400020e+0012.499993e+001 2.600020e+001 2.699987e+001 2.800044e+001 2.899989e+001 3.000030e+001;1.000000e+0029.999186e-0011.999828e+0003.000088e+0003.999592e+0005.000686e+0006.000030e+0007.000279e+000 7.999719e+000 8.999861e+000 1.000037e+001 1.099919e+001 1.199925e+0011.300029e+001 1.400086e+001 1.499924e+001 1.600028e+001 1.700016e+001 1.799982e+0011.899993e+001 2.000010e+001 2.099967e+001 2.199927e+001 2.300063e+001 2.399989e+001

2.500000e+0011.000000e+0022.599983e+0012.700068e+0012.800028e+0012.900048e+0012.999964e+001;1.000108e+0001.999725e+0002.999225e+0004.000051e+0004.999727e+0006.000210e+0007.000090e+0008.000274e+0008.999705e+0009.999894e+0001.100028e+0011.199974e+0011.299992e+0011.399983e+0011.500024e+0011.600013e+0011.700030e+0011.799966e+0011.899939e+0012.499970e+0011.000000e+0022.000041e+0012.099965e+0012.199996e+0012.299994e+0012.399938e+0012.599979e+0012.700010e+0012.800011e+0012.899926e+0013.000017e+001;可见优化结果误差在0.0001以下。而且变异和交叉随代数变化的参数t一致,以方便调节。通过调节参数t和迭代代数gen,此方法可以很好的优化一些局部最优解就是全局最优解的函数优化问题。通过对20个函数进行测试,使用参数t=exp(-gen/100),可以对函数1、2、4、6、7、9、11、12、13、14、16、17达到较好的优化效果,而且改变最优解位置和最优解值都不会影响算法的优化效果。对函数f15、f5,算法易陷入局部最优,说明算法的全局搜索能力有待改进。对函数f15,用同样的食物链方式采用了不同的交叉变异方式编写程序进行优化。优化十次的结果如下:1.580438e-0011.928463e-0012.416381e+000 1.078715e+000 8.662021e-001; 6.724240e-0041.909046e-001 1.231885e-001 1.358267e-001; 3.074866e-0041.591676e-0012.289273e+000 1.021616e+000 8.343526e-001; 6.626680e-0042.286899e-001-4.116399e-001 3.164739e-016 -1.866079e-001; 4.460175e-0041.923051e-0012.071334e-001 1.280509e-001 1.431971e-001; 3.079842e-0041.927640e-0011.831855e-0011.928847e-001 1.237368e-001 1.366991e-001; 3.074943e-0046.207852e-001 3.077401e-001 3.061440e-001; 4.131947e-0041.731852e-0011.148033e+000 5.222885e-001 4.907948e-001; 5.264242e-0041.820283e-0016.640751e-001 3.200571e-001 3.223491e-001; 4.233988e-004可见陷入局部最优的概率较大,只有0.3的概率找到最优解。但是,在实验中发现三种群可变化的策略和参数较多,由于时间所限,许多策略尚未进行尝试,相信通过一些收敛性能较好和全局搜索能力较好的策略的组合,可以找到适应欺骗性较大的测试函数的三种群遗传算法。此外,使用函数文件foodchaincom25算法对测试函数f11优化,100维时结果:-5.303419e-0033.184086e-0035.078061e-003-1.035811e-003-6.275223e-003 1.774169e-003 1.958596e-002-1.909631e-0021.452854e-0022.293981e-002 4.937595e-0024.363609e-0034.587579e-0027.476464e-002 -2.940075e-002 6.176152e-003 -1.014093e-002 6.389616e-003 -5.630374e-0023.148974e-002 -1.057264e-003 3.378027e-002 -1.846562e-002 -1.333515e-003 -1.240639e-002-2.892952e-002 7.345833e-002 -5.537798e-004 1.822834e-002 -1.558020e-002 -8.429851e-003-5.129757e-0027.128365e-0022.629595e-0025.422928e-003-3.194004e-0021.126087e-001-5.129757e-0027.128365e-0022.629595e-0025.422928e-003-3.194004e-0021.126087e-0013.848273e-0022.222572e-0032.981802e-002-4.042654e-003-4.487050e-002-4.918911e-002-7.647061e-003-2.300380e-0029.004926e-0022.677885e-002-4.089758e-0022.406584e-003-9.223894e-0021.652899e-001-3.358620e-002-2.531578e-002-1.028581e-001-5.512438e-002-3.858518e-0031.173082e-0012.920673e-0021.151639e-0015.443842e-0022.465630e-0016.704669e-002-1.630268e-001-1.218854e-001-4.497986e-003-6.189265e-002-4.405554e-0026.704669e-002-1.630268e-001-1.218854e-001-4.497986e-003-6.189265e-002-4.405554e-002-8.242919e-0027.968106e-002-1.108524e-0013.030999e-001-1.259725e-001-4.789286e-002-1.109885e-002-3.126451e-0014.341387e-002-1.760053e-0023.153895e-0033.132322e-0021.300540e-001-4.042581e-0021.262368e-0029.889429e-0031.435489e-001-1.155248e-0011.424756e-002-9.280966e-002-7.148740e-003-1.412229e-001-2.635043e-0011.144918e-0012.699507e-001 2.908979e-001 2.505504e-001-6.239794e-0021.968862e-002-2.214921e-0011.380143e-001-2.511483e-0012.074968e-001;7.800256e-003。1000维时结果:1.4447。每一位数据见电子文档。结论通过上述对基于食物链模式的三种群协作遗传算法的实验,说明该方法具有较大的灵活性,可以通过不同的策略组合调整算法的性能,从而使其在许多函数的优化问题上效果由于单种群的遗传算法。在实验中,尝试了一些策略的组合,但许多的方法组合并未尝试,例如均匀变异、边界变异、非均匀变异、柯西变异,二进制编码,同样三种群的差分演化,三种群群体规模不同和交叉选择的一些其他方法等等,而且算法并没有在实际的优化问题上进行测试,因此,对该算法效果还没有认识充分,需要进一步的实验。论文中一定存在许多问题,请批评指正,谢谢。参考文献【1】曾孝平,张晓娟,李勇明 多子群协同链式智能体遗传算法分析重庆大学学报第31卷第7期2008年7月【2】喻海飞1,汪定伟2食物链算法及其与实编码遗传算法性能比较研究系统工程理论与实践第6期2007年6月附录课程论文相关的matlab文件有:适应度计算fit.m,高斯变异gaussian_mutation.m,不同方式的算法文件:calassicgacom1.m,calassicgacom2.m,calassicgacom21.m,calassicgacom22.m,foodchaincom1.m,foodchaincom2.m,foodchaincom21.m,foodchaincom22.m,,foodchaincom25.m,,minfunction15以及1000维的数据文件1000维结果。函数文件foodchaincom25matlab源代码:functionfoodchain25;clearclcbn=30;popnum=50;genmax=900;pm=0.3; dom=200;a=0.1;gen=1;inpop=dom*(rand(3火popnum,bn+1)-0.5*ones(3火popnum,bn+1));fori=1:3火popnum,inpop(i,bn+1)=fit(inpop(i,1:bn));end[minfit1,minnum1]=min(inpop(1:popnum,bn+1));[minfit2,minnum2]=min(inpop((popnum+1):2火popnum,bn+1));[minfit3,minnum3]=min(inpop((2火popnum+1):3火popnum,bn+1));minnum=[minnum1popnum+minnum22*popnum+minnum3];minshu=inpop(minnum,:);pop=inpop;while(gen<=genmax),t=exp(-gen/100);newpop=pop;mean1=mean(pop(1:popnum,bn+1));mean2=mean(pop(popnum+1:2火popnum,bn+1));mean3=mean(pop(2火popnum+1:3火popnum,bn+1));food2=0;fori=(2火popnum+1):3火popnum,ifpop(i,bn+1)>=mean2,newpop(i,:)=10000*ones(1,bn+1);food2=food2+1;endendiffood2<=45,expfit=pop(2火popnum+1:3火popnum,bn+1)/t;expfit=expfit-min(expfit)+t;sumprob3=cumsum(expfit.八(-1));form=(2火popnum+1):2:3火popnum,i=1;r=rand;while(i<=popnum)ifr<=(sumprob3(i)/sumprob3(popnum)),fanum=i+2火popnum;i=10000;%l03dN-»eendi=i+1;end%NjOniiQxzur=rand;i=1;while(i<=popnum)ifr<=(sumprob3(i)/sumprob3(popnum)),monum=i+2*popnum;i=10000;endi=i+1;end%NjOnAiQxzuson=pop(fanum,:);dau=pop(monum,:);forj=1:(bn/2),changepoint=ceil(bn*rand);son(changepoint)=a*pop(monum,changepoint)+(1-a)*pop(fanum,changepoint);dau(changepoint)=a*pop(fanum,changepoint)+(1-a)*pop(monum,changepoint);endnewpop(m,:)=son;newpop(m+1,:)=dau;end%°eEypa^»2®forl=1:bn,[tenfitmax,tenfitnum]=sort(newpop((2火popnum+1):3火popnum,bn+1));k=0;form=1:5,tenfit(m,l)=pop(tenfitnum(m),l);sumval=k+pop((2火popnum+tenfitnum(m)),l);k=sumval;endavival(l)=sumval/5;tenfit(:,l);tenstd(l)=std(tenfit(:,l),1);%endelsenewpop((2火popnum+1):3火popnum,:)=dom*(rand(popnum,bn+1)-0.5);endminavifood2=1;sur2=fix(food2/minavifood2);[sortfit2,sortfitnum]=sort(pop((popnum+1):2火popnum,bn+1));sortfitnum=sortfitnum+popnum;food1=popnum-sur2;fori=1:sur2,newpop((i+popnum),:)=pop(sortfitnum(i),:);ifnewpop((i+popnum),bn+1)>=mean1,food1=food1+1;newpop((i+popnum),:)=10000*ones(1,bn+1);endendfori=(sur2+1):popnum,newpop((i+popnum),:)=10000*ones(1,bn+1);end%EE6|iEpl6u^^^udppAEAIdx^iaE3ii£-2^O0BAi3dpiffood1<=45,%sumprob2=cumsum((pop((popnum+1):2火popnum,bn+1)).八(-1));%sumprob=cumsum(prob.*prob.*prob);expfit=pop(popnum+1:2火popnum,bn+1)/t;expfit=expfit-min(expfit)+t;sumprob2=cumsum(expfit.八(-1));form=(popnum+1):2:2火popnum,i=1;r=rand;while(i<=popnum)ifr<=(sumprob2(i)/sumprob2(popnum)),fanum=i+popnum;i=10000;endi=i+1;end%NjOniiQxzur=rand;i=1;while(i<=popnum)ifr<=(sumprob2(i)/sumprob2(popnum)),monum=i+popnum;i=10000;endi=i+1;end%NjOnAiQxzuson=pop(fanum,:);dau=pop(monum,:);forj=1:(bn/2),changepoint=ceil(bn*rand);son(changepoint)=a*pop(monum,changepoint)+(1-a)*pop(fanum,changepoint);dau(changepoint)=a*pop(fanum,changepoint)+(1-a)*pop(monum,changepoint);endnewpop(m,:)=son;newpop(m+1,:)=dau;end%°eEypa^»2®forl=1:bn,[tenfitmax,tenfitnum]=sort(newpop((popnum+1):2火popnum,bn+1));k=0;form=1:5,tenfit(m,l)=pop(tenfitnum(m),l);sumval=k+pop((popnum+tenfitnum(m)),l);k=sumval;endavival(l)=sumval/5;tenfit(:,l);tenstd(l)=std(tenfit(:,l),1);endelsenewpop((popnum+1):2火popnum,:)=dom*(rand(popnum,bn+1)-0.5);endminavifood1=1;sur1=fix(food1/minavifood1);[sortfit1,sortfitnum]=sort(pop(1:popnum,bn+1));fori=1:sur1,newpop(i,:)=pop(sortfitnum(i),:);endfori=(sur2+1):popnum,newpop(i,:)=10000*ones(1,bn+1);end%sumprob1=cumsum((pop(1:popnum,bn+1)).八(-1));%sumprob=cumsum(prob.*prob.*prob);expfit=pop(1:popnum,bn+1)/t;expfit=expfit-min(expfit)+t;sumprob1=cumsum(expfit.八(-1));form=1:2:popnum,i=1;r=rand;while(i<=popnum)ifr<=(sumprob1(i)/sumprob1(popnum)),fanum=i;i=10000;endi=i+1;end%NjOniiQxzur=rand;i=1;while(i<=popnum)ifr<=(sumprob1(i)/sumprob1(popnum)),monum=i;i=10000;endi=i+1;end%NjOnAiQxzuson=pop(fanum,:);dau=pop(monum,:);forj=1:2,changepoint=ceil(bn*rand);son(changepoint)=a*pop(monum,changepoint)+(1-a)*pop(fanum,changepoint);dau(changepoint)=a*pop(fanum,changepoint)+(1-a)*pop(monum,changepoint);endnewpop(m,:)=son;newpop(

温馨提示

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

评论

0/150

提交评论