基于matlab遗传算法的非线性方程组优化程序.doc
基于MATLAB遗传算法的非线性方程组优化程序CLEAR,CLC清理内存,清屏CIRCLEN200迭代次数ATLONG构造可能解的空间,确定染色体的个数、长度SOLUTIONSUM4LEFTBOUNDARY10RIGHTBOUNDARY10DISTANCE1CHROMOSOMESUM500SOLUTIONSUMERROR01ONEDIMENSIONSETLEFTBOUNDARYDISTANCERIGHTBOUNDARYONEDIMENSIONSETNSIZEONEDIMENSIONSET,2返回ONEDIMENSIONSET中的元素个数SOLUTIONNONEDIMENSIONSETNSOLUTIONSUM解空间解集合中可能解的总数BINSOLUTIONNDEC2BINSOLUTIONN把可能解的总数转换成二进制数CHROMOSOMELENGTHSIZEBINSOLUTIONN,2由解空间中可能解的总数二进制数计算染色体的长度程序初始化随机生成初始可能解的顺序号,1是为了防止出现0顺序号SOLUTIONSEQUENCEFIXRANDCHROMOSOMESUM,1SOLUTIONN1FORI1CHROMOSOMESUM防止解的顺序号超出解的个数IFSOLUTIONSEQUENCEISOLUTIONNSOLUTIONSEQUENCEISOLUTIONNENDEND把解的十进制序号转成二进制序号FATHERCHROMOSOMEGROUPDEC2BINSOLUTIONSEQUENCE,CHROMOSOMELENGTHHOLDLEASTFUNCTIONERRORINF可能解的最小误差的初值HOLDBESTCHROMOSOME0对应最小误差的染色体的初值计算CIRCLE0WHILECIRCLELEASTFUNCTIONERRORNEWLEASTFUNCTIONERRORLEASTFUNCTIONERRORNEWBESTCHROMOSOMEBESTCHROMOSOMEELSENEWLEASTFUNCTIONERROROLDLEASTFUNCTIONERRORNEWBESTCHROMOSOMEOLDBESTCHROMOSOMEENDFUNCTIONP,ISPCHROMOSOMEPROBABILITYX_ERRORINFNSUMISINFX_ERROR估计非线性方程计算的结果NANNSUMISNANX_ERRORIFINFN0||NANN0ISP FAIL P0RETURNELSEISP TRUE ERRORRECIPROCAL1/X_ERRORSUMRECIPROCALSUMERRORRECIPROCALPERRORRECIPROCAL/SUMRECIPROCALP可能解所对应的染色体的概率ENDFUNCTIONCHROMOSOMESELECTECHROMOSOMECHROMOSOMEGROUP,PCUMUPCUMSUMP累积概率,也就是把每个染色体的概率映射到01的区间CHROMOSOMESUM,CHROMOSOMELENGTHSIZECHROMOSOMEGROUPFORI1CHROMOSOMESUM这个循环产生概率值RNRAND1IFRN1CHROMOSOMEI,CHROMOSOMEGROUPCHROMOSOMESUM,ELSEIF0SOLUTIONSUMCHRSROUNDRAND1SOLUTIONSUMIFCHRS0CHRS1ENDDECIMALCHROMOSOMESEQUENCEICHRSENDENDCHROMOSOMEDEC2BINDECIMALCHROMOSOMESEQUENCE,CHROMOSOMELENGTH基因变异染色体群中的1/10变异。VR是变异概率。SOLUTIONN是解空间中全部可能解的个数FUNCTIONABERRANCECHROMOSOMEGROUPVARIANCECHCHROMOSOMEGROUP,VR,SOLUTIONNCHROMOSOMESUM,CHROMOSOMELENGTHSIZECHROMOSOMEGROUPIFCHROMOSOMESUMVR变异操作FORI1NCHROMOSOMEORDERROUNDRAND1CHROMOSOMESUM产生变异染色体序号IFCHROMOSOMEORDER0CHROMOSOMEORDER1ENDABERRANCEPOSITIONROUNDRAND1CHROMOSOMELENGTH产生变异位置IFABERRANCEPOSITION0ABERRANCEPOSITION1ENDIFCHROMOSOMEGROUPCHROMOSOMEORDER,ABERRANCEPOSITION 1 CHROMOSOMEGROUPCHROMOSOMEORDER,ABERRANCEPOSITION 0 变异ELSECHROMOSOMEGROUPCHROMOSOMEORDER,ABERRANCEPOSITION 1 变异ENDENDABERRANCECHROMOSOMEGROUPCHROMOSOMEGROUPELSEABERRANCECHROMOSOMEGROUPCHROMOSOMEGROUPEND