【#第一文档网# 导语】以下是®第一文档网的小编为您整理的《遗传算法程序设计研究论文》,欢迎阅读!
遗传算法程序设计研究论文
摘要本文通过对基本遗传算法添加初始化启发信息、改进交叉算子和利用本身所固有的并行性构架粗粒度并行遗传算法等方法提高了遗传算法的收敛性及其寻优能力。
关键词遗传算法;TSP;交叉算子 1引言
遗传算法是模拟生物在自然环境中的遗传和进化过程而形成的一种自适应全局优化概率搜索算法。总的说来,遗传算法是按不依赖于问题本身的方式去求解问题。它的目标是搜索这个多维、高度非线性空间以找到具有最优适应值(即最小费用的)的点[1]。
基本遗传算法是一个迭代过程,它模仿生物在自然环境中的遗传和进化机理,反复将选择算子、交叉算子和变异算子作用于种群,最终可得到问题的最优解和近似最优解。
2遗传算法程序设计改进比较
2.1基本遗传算法对TSP问题解的影响
本文研究的遗传算法及改进算法的实现是以C++语言为基础,在icrooftViualStadio6.0上编写及运行调试的。
1)遗传算法的执行代码
m_Tp.Initpop();//种群的初始化 for(inti=0;i;i++)
m_Tp.calculatefitne(i);//计算各个个体的适应值
m_Tp.tatitic();//统计最优个体 A/(m_Chrom-1));//随机选择一城市 flag=judge(firt,i,ign); } }
if(flag==1)
m_nePI_Recv(Rchrom[i],chrom,MPI_UNSIGNED,MPI_ANY_SOURCE,gen,MPI_COMM_PI_Bcat(Rchrom[ign],chrom,MPI_UNSIGNED,0,MPI_COMM_PI_Send(Rchrom1,chrom,MPI_UNSIGNED,0,gen,
MPI_COMM_PI_UNSIGNED,0,MPI_COMM_PI并行环境下,用C++语言实现了一个解决TSP问题的粗粒度模型的并行遗传算法。该程序采用的是主从式的MPI程序设计,通过从硬盘的文件中读取数据来设置染色体长度、种群的规模、交叉概率和变异概率等参数。试验环境为曙光TC1700机,测试的对象是OliverTSP问题的30个城市的TSP问题。
正如在测试串行遗传算法所提到的数据结果,并行遗传算法也没有达到目前所记录的最好解,但是它提高了算法的收敛性,并行遗传算法的收敛趋势如图2所示[4]。
图2遗传算法的收敛过程 3结束语
本文通过对基本遗传算法的不断改进,证明了添加启发信息、改进遗传算子和利用遗传算法固有的并行性都可以提高遗传算法的收敛性,其中对遗传算法交叉算子的改进可以大大提高遗传算法的寻优能力。
本文来源:https://www.dy1993.cn/d3D.html