遗传算法-源程序

遗传算法-源程序

ID:26486046

大小:50.50 KB

页数:12页

时间:2018-11-27

遗传算法-源程序_第1页
遗传算法-源程序_第2页
遗传算法-源程序_第3页
遗传算法-源程序_第4页
遗传算法-源程序_第5页
资源描述:

《遗传算法-源程序》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、遗传算法话题700893的标题是:遗传算法(100分)分类:数据结构savenight(2001-11-0117:52:00)遗传算法(最好也有模拟退火,禁忌搜索算法)的delphi实现,实在不行c的也可以。急,今晚就要!!!!分不够,以后补上卷起千堆雪tyn(2001-11-0118:31:00)给你看一篇:/************************************************************************ *          简单遗传算法(SGA)                ** 主要

2、算法模块有:选择交叉变异(三个遗传操作)和群体更新      **        以及随即数发生器输入输出译码适应度计算     ** 选择机制为比例选择交叉采用单点交叉变异采用简单的位点变异方式   ** 多变量编码采用把各个变量染色体基因交替相连的方式,体现在译码模块中  *************************************************************************//*1999.10.20增添编码函数,方便输入初值*///   ----------------------------

3、--------------------------//        ASimpleGeneticAlgorithm-SGA //           (c)DingZhenYu1998 //   ------------------------------------------------------//            AllRightsReserved //   ------------------------------------------------------ #include#include

4、dio.h>#include //#defineNeedInputInitialChrom //如果需要输入初始值,一般是因为上次没有                //计算完成,可以接着再算 //#defineNeedInputData//输入种群中第一个的大小(0~1.0之间)#undefNeedInputInitialChrom /*NOTICE:modifyvarnumberandperchromforeachproblem.*/#definevarnumber 32  /*变量个数*/#defineperchr

5、om 5  /*单变量染色体长度*/#definepopsize20   /*群体规模(应为偶数)*/#definemaxgen5000   /*遗传世代数*/#definemaxstringvarnumber*perchrom /*多变量总的染色体长度*/#definepcross0.80   /*交叉概率[0.00,1.00]*/#definepmutation0.001 /*变异概率[0.00,1.00]*/ externdoubleObj_func(double*x); structpp{    unsignedintchrom[m

6、axstring];    doublex[varnumber],fitness;    unsignedintparent1,parent2,xsite;  }; structppoldpop[popsize],newpop[popsize],p1[popsize]; unsignedintlchrom,gen,nmutation,ncross,jcross,maxpp,minpp;doublesumfitness,avg,max,min;doublecoef;longseedl[1];doubleobjfunc(double*);/*目

7、标函数,应该是正的,最小问题要化为最大问题*/voidstatistics();     /*群体适应度统计*/intrselect();       /*赌轮选择*/intflip(double);      /*贝努利测试*/intcrossover();      /*一点交叉操作*/intmutation(unsignedint); /*变异操作*/voidgeneration();     /*世代更新*/voidinitialize();     /*初始化*/voidinitpop();      voidreport(); 

8、       voidinitdata();voidinitreport();voiddecode(unsignedint*,double*);/*解码,变量取值在0到1之间*/

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。