c语言遗传算法 解决 y=x2问题

// 遗传算法 解决 y=x2问题

//编译环境 vc++6.0

//声明:部分代码来自网络

//email: happyppme@http://doc.docsou.com

#include

#include

#include

#include

#define POPSIZE 500 //种群大小

#define chromlength 8 //染色体长度

int popsize ; //种群大小

int maxgeneration; //最大世代数

double pc = 0.0; //交叉率

double pm = 0.0; //变异率

struct individual //定义染色体个体结构体

{

int chrom[chromlength]; //定义染色体二进制表达形式,edit by ppme 将char 转为 int

double value; //染色体的值

double fitness; //染色体的适应值

};

int generation; //当前执行的世代数

int best_index; //最好的染色体索引序号

int worst_index; //最差的染色体索引序号

struct individual bestindividual; //最佳染色体个体

struct individual worstindividual; //最差染色体个体

struct individual currentbest; //当前最好的染色体个体 currentbest

struct individual population[POPSIZE];//种群数组

//函数声明

void generateinitialpopulation(); //ok-初始化当代种群

void generatenextpopulation(); //??产生下一代种群

void evaluatepopulation(); //评价种群

void calculateobjectfitness(); //计算种群适应度

//long decodechromosome(char *,int,int);//染色体解码

double decodechromosome(int,int); //染色体解码

void findbestandworstindividual(); //寻找最好的和最坏的染色体个体

void performevolution(); //进行演变进化

void selectoperator(); //选择操作

void crossoveroperator(); //交换操作

void mutationoperator(); //变异操作

void input(); //输入接口

void outputtextreport(); //输出文字报告

void main() //主函数

{

int i;

srand((unsigned)time(NULL)); //强制类型转化,以当前时间戳定义随机数种子

printf("本程序为求函数y=x*x的最大值\n");

generation=0; //初始化generation当前执行的代

input(); //初始化种群大小、交叉率、变异率

/*edit by ppme*/

//调试用。。。。。显示input()结果

printf("popsize %d;maxgeneration %d;pc %f;pm %f\n\n",popsize,maxgeneration,pc,pm);

/*edit by ppme*/

generateinitialpopulation(); //产生初始化种群

evaluatepopulation(); //评价当前种群,(A.计算种群/个体的适应度;B.找出最好和最差的个体)

while(generation

{

generation++;

generatenextpopulation(); //生成子代种群(A.选择; B.交叉; C.变异)

evaluatepopulation(); //评价新生子代种群

performevolution(); //进行子代进化

outputtextreport(); //输入当代最终种群

}

printf("\n");

printf(" 统计结果: ");

printf("\n");

printf("最大函数值等于:%f\n",currentbest.fitness);

printf("其染色体编码为:");

//计算currentbest的value

for( i = 0 ; i < chromlength ; i++ )

printf(" %d",currentbest.chrom[i]);

}

void gen

遗传算法c语言 x^2,c语言遗传算法 解决 y=x2问题相关推荐

  1. R语言使用caret包构建遗传算法树模型(Tree Models from Genetic Algorithms )构建回归模型、通过method参数指定算法名称

    R语言使用caret包构建遗传算法树模型(Tree Models from Genetic Algorithms  )构建回归模型.通过method参数指定算法名称.通过trainControl函数控 ...

  2. 采用遗传算法求解最大值c语言,遗传算法求解y=x2.doc

    遗传算法求解y=x2 初始遗传算法及一个简单的例子 遗传算法(Genetic Algorithms, GA)是一类借鉴生物界自然选择和自然遗传机制的随机化搜索算法.它模拟自然选择和自然遗传过程中发生的 ...

  3. c语言转换为python语言_python和c语言

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! c语言是编译型语言,经过编译后,生成机器码,然后再运行,执行速度快,不能跨平台, ...

  4. 用遗传算法求3维函数 的最小值_遗传算法可视化项目(4):遗传算法

    昨天讲了一下关于距离的计算,没有看昨天或者之前的文章,点一下历史消息或者这里: 遗传算法可视化项目(1):概述 遗传算法可视化项目(2):获取信息 遗传算法可视化项目(3):创建图的数据结构 遗传算法 ...

  5. r语言 断轴 画图_R语言基础画图/绘图/作图

    R语言基础画图 R语言免费且开源,其强大和自由的画图功能,深受广大学生和可视化工作人员喜爱,这篇文章对如何使用R语言作基本的图形,如直方图,点图,饼状图以及箱线图进行简单介绍. 0 结构 每种图形构成 ...

  6. c语言 字母 八进制表示'/1011',C语言C语言第一课:C语言概述为什么学习C语言怎样学习C语言.DOC...

    [摘要]C语言 第一课: C语言概述 为什么学习C语言 怎样学习C语言 参考资料 ----------------------------------------------------------- ...

  7. 学单片机需要多少C语言基础,C语言单片机编程教程

    很多学员和朋友经常找我给他们推荐C语言的书,他们可能想和我当年一样,闷头大干一场,学个几个月的C语言,把C语言吃透,再开始单片机程序开发! 别!别!别! 大家千万别这么干,我当年自学了3个月的C语言, ...

  8. R语言构建随机森林模型错误解决:Error in y - ymean : non-numeric argument to binary operator

    R语言构建随机森林模型错误解决:Error in y - ymean : non-numeric argument to binary operator 目录 R语言构建随机森林模型错误解决:Erro ...

  9. 为什么可以说Java语言是准动态语言?

    什么是动态语言? 动态语言,是指程序在运行时可以改变其结构:新的函数可以被引进,已有的函数可以被删除等在结构上的变化.比如JavaScript便是一个典型的动态语言. 除此之外如Ruby.Python ...

  10. c语言课件 文件,C语言课件--文件.ppt

    C语言课件--文件 例12-5 /*将字符串"apple", "grape", "pear" 写入到磁盘文件f12-5.txt中,然后再从该 ...

最新文章

  1. 用 namspace 隔离 DHCP 服务 - 每天5分钟玩转 OpenStack(90)
  2. 滑动窗口——TCP可靠传输的实现[转]
  3. Java获取近七天的数据条数,及页面实现折线图(附前后端代码)
  4. filecoin的思考
  5. 【Unity与23种设计模式】访问者模式(Visitor)
  6. Path(1)vrep中的贝塞尔点、控制点的简单区分
  7. android 日历_适用于Android的十大最佳日历应用
  8. java求sobel算子代码_sobel算子原理与实现
  9. xamarin UWP ActivityIndicator
  10. Visual Studio Qt vs tools 下载教程及加速教程
  11. Choerodon猪齿鱼1.0先行版已发布!
  12. 简单点的java_简单点,学习的方式简单点,java零基础入门语法教学(简单篇)...
  13. MYSQL查看表结构
  14. 模拟登录淘宝并拍下购物车商品
  15. Java8-Stream流整合(1)
  16. @Value(“${}“)
  17. 大数据开发【3】 -- hadoop的云集群配置
  18. IE8常见兼容问题及解决方法总结
  19. 计算机辅助决策系统基本原理,计算机辅助决策设计分析解析系统.ppt
  20. 计算机辅助审计技术MYSQL_虚拟机windows7密钥

热门文章

  1. 廖雪峰Python基础练习作业
  2. 西门子PLC程序下载方法简介
  3. java 文件的删除一行_如何从java中的文件中删除一行文本?
  4. 2020王道操作系统,数据结构,计算机网络,计算机组成原理PDF大合集+使用经验
  5. 软件项目管理第4版课后习题[附解析]第九章
  6. zynq以太网官网例子调试
  7. 4S店销售顾问有福了,小帮软件解决“二次录入”难题--二次录入
  8. Linux命令学习总结(超详细)
  9. 分分钟搞定LabVIEW读取与写入Excel【三易电子工作室】
  10. python颜色大全