GA遗传算法C代码.doc

GA遗传算法C代码.doc

ID:59095456

大小:42.50 KB

页数:9页

时间:2020-09-15

GA遗传算法C代码.doc_第1页
GA遗传算法C代码.doc_第2页
GA遗传算法C代码.doc_第3页
GA遗传算法C代码.doc_第4页
GA遗传算法C代码.doc_第5页
资源描述:

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

1、usingSystem;usingSystem.IO;usingSystem.Collections;usingSystem.Collections.Generic;usingSystem.Text;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Data.OleDb;namespaceConsoleApplication1{publicclassGenetic_Algorithm{Randomrand=newRandom();intMaxTime;//最大运行时间intpopsize;

2、//种群数量intChromosomeLength;//染色体长度doubleCrossRate;//交叉率doubleMutateRate;//变异率double[]f;//适应度值int[]selected;//定义selected数组,用于表示需要进行交叉操作的染色体序号double[]wheel;//轮盘int[,]pregeneration;//上一代int[,]nextgeneration;//下一代int[]Best;//定义当前最优解intconvergence;//定义当前最优解的已持续代数int[,]timeconstrait;p

3、ublicGenetic_Algorithm(intpopulationsize,intchromolength)//GA--构造函数,变量初始化{rand=newRandom(System.DateTime.Now.Millisecond);MaxTime=50;popsize=populationsize;ChromosomeLength=chromolength;CrossRate=0.8;MutateRate=0.2;f=newdouble[2*popsize];selected=newint[popsize];wheel=newdouble

4、[popsize+1];pregeneration=newint[popsize,ChromosomeLength];//当前的染色体种群nextgeneration=newint[popsize,ChromosomeLength];//下一代(子代)染色体种群Best=newint[ChromosomeLength];convergence=1;timeconstrait=newint[20,2]{{2,6},{1,2},{3,4},{1,4},{4,7},{3,5},{2,6},{3,5},{1,4},{3,7},{5,7},{2,7},{2,4

5、},{4,5},{2,5},{4,6},{3,5},{1,4},{1,5},{3,6}};}publicvoidRunGA()//运行{inti;CreateFirstPop();//产生初始种群i=0;boolquit=true;while(quit){for(;i

6、ct();//此步确定了selected[i]的值CreateNextGeneration();//产生子代,包括被选择为selected[i]的染色体的交叉,还有变异ProduceNext();}Console.WriteLine("Press'q'toquit,pressEntertocontinue.....");if(Console.Read()=='q'){quit=false;}else{MaxTime+=50;}}}voidCreateFirstPop()//产生初始种群{Console.WriteLine("Creatingfirst

7、generation..........");inti,j,r;for(i=0;i

8、的染色体进行交叉,产生的子代放在pregeneration中i和i+1的位置}Mutation(refnex

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

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

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