计算机学模型,计算机数学模型.pdf

目录

前言

遗传算法 (GA )的C语言实现

模拟退火算法分析

分支限界(BranchandBound)算法

龙格-库塔(Runge-Kutta)方法数学原理及实现

层次分析法(AnalyticHierarchyProcess)

一般线性最小二乘法

无约束最优化方法

数理统计

数理统计中的点估计

数理统计中的区间估计

单纯形法--求解线性规划

数值积分方法

神经网络学习之M-P模型

神经网络学习之BP神经网络

决策树学习之概念与构造算法

现代优化算法之模拟退火

现代优化算法之遗传算法

现代优化算法之禁忌搜索算法

本文档使用看云构建 -2-

前言

前言

原文出处 :计算机数学模型

作者 :u013007900

本系列文章经作者授权在看云整理发布 ,未经作者允许 ,请勿转载 !

计算机数学模型

里面收集部分工业界常用算法与数学证明 ,以及部分数学建模问题的求解。

本文档使用看云构建 -3-

遗传算法 (GA )的C语言实现

遗传算法 (GA )的C语言实现

问题 :

在下面的程序中将要运用遗传算法对一个多项式求最小值

要求在(-8,8)间寻找使表达式达到最小的x ,误差为0.001

问题分析 :

编码 :采用常规码 ,即二进制码编码。构造简单 ,交叉、变异的实现非常容易 ,同时解的表达也很简洁、

直观。可以每0.001取一个点 ,这样理论误差讲小于0.0005 ,可以满足题目中的误差要求。此事总的求解

空间为 :

N=(8-(-8))*1000=160000

可以用n=14位二进制来表示。

群体规模m :

群体规模m可以选择n~2n的一个确定的数 ,这里选择m=20

初始种群的选取 :

在这里初始种群将在值域范围内随机选取

终止规则 :

①最优解在连续的20次循环中改变量小于0.01 ,此事认为这个最优解为满足题目要求的最优解 ,求解成

功 ,退出程序

②总的循环次数大于1200次时 ,循环也将结束 ,这种情况按照求解失败处理

交叉规则 :

采用最常用的双亲双子法

选择 :

在进行交叉、变异后 ,种群中的个体个数达到2m个 ,将这2m个染色体按其适应度进行排序 ,保留最优的

m个淘汰其他的 ,使种群在整体上得到进化

#include

#include

#include

#include

本文档使用看云构建 -4-

遗传算法 (GA )的C语言实现

#defineSUM20//总共的染色体数量

#defineMAXloop1200//最大循环次数

#defineerror0.01//若两次最优值之差小于此数则认为结果没有改变

#definecrossp0.7//交叉概率

#definemp0.04//变异概率

//用于求解函数y x^6-10x^5-26x^4+344x^3+193x^2-1846x-1680在 (-8,8)之间的最小值

structgen//定义染色体结构

{

intinfo; //染色体结构,用一整型数的后14位作为染色体编码

floatsuitability; //次染色体所对应的适应度函数值,在本题中为表达式的值

};

structgengen_group[SUM];//定义一个含有20个染色体的组

structgengen_new[SUM];

struct

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值