1.遗传算法简单一元函数优化实例

利用遗传算法计算最大值

f(x)=x sin(10*pi*x)+2, x in [-1,2]

选择二进制编码,种群中个体数目为40,每个种群的长度为20,使用代沟为0.9,最大遗传代数为25。

下面为一元函数优化问题的MATLAB代码

figure(1);

fplot('variable.*sin(10*pi*variable)+2.0',[-1,2]); %画出函数曲线

%定义遗传算法参数

NIND=40; %个体数目(Number of individuals)

MAXGEN=25; %最大遗传代数(Maximum number of generations)

PRECI=20; %变量的二进制位数(Precision of variables)

GGAP=0.9; %代沟(Generation gap)

trace=zeros(2, MAXGEN); %寻优结果的初始值

FieldD=[20;-1;2;1;0;1;1]; %区域描述器(Build field descriptor)

Chrom=crtbp(NIND, PRECI); %初始种群

gen=0; %代计数器

variable=bs2rv(Chrom, FieldD); %计算初始种群的十进制转换

ObjV=variable.*sin(10*pi*variable)+2.0; %计算目标函数值

while genFitnV=ranking(-ObjV); %分配适应度值(Assign fitness values)

SelCh=select('sus', Chrom, FitnV, GGAP); %选择

SelCh=recombin('xovsp', SelCh, 0.7); %重组

SelCh=mut(SelCh); %变异

variable=bs2rv(SelCh, FieldD); %子代个体的十进制转换

ObjVSel=variable.*sin(10*pi*variable)+2.0; %计算子代的目标函数值

[Chrom ObjV]=reins(Chrom, SelCh, 1, 1, ObjV, ObjVSel); %重插入子代的新种群

variable=bs2rv(Chrom, FieldD);

gen=gen+1; %代计数器增加

%输出最优解及其序号,并在目标函数图像中标出,Y为最优解,I为种群的序号

[Y, I]=max(ObjV);hold on;

plot(variable(I), Y, 'bo');

trace(1, gen)=max(ObjV); %遗传算法性能跟踪

trace(2, gen)=sum(ObjV)/length(ObjV);

end

variable=bs2rv(Chrom, FieldD); %最优个体的十进制转换

hold on, grid;

plot(variable,ObjV,'b*');

figure(2);

plot(trace(1,:));

hold on;

matlab 计算一元函数解,遗传算法简单一元函数优化实例相关推荐

  1. 【Matlab验证码识别】遗传算法和最大熵优化+大津法(OTSU)+自定义阈值数字验证码识别【含GUI源码 1694期】

    一.代码运行视频(哔哩哔哩) [Matlab验证码识别]遗传算法和最大熵优化+大津法(OTSU)+自定义阈值数字验证码识别[含GUI源码 1694期] 二.matlab版本及参考文献 1 matlab ...

  2. 【Matlab代码】基于遗传算法和蚂蚁优化算法的路径优化问题

    目录 1 概述 2 Matlab代码 3 运行结果 1 概述 在1959年,Dantzing 和 Ramser在经过实验和思考后,首次提出配送车辆路径优化问题.在物流运输中配送是重要的环节,准确选择配 ...

  3. 无功优化的matlab程序,遗传算法的无功优化matlab实现

    [实例简介] 基于遗传算法的无功优化matlab实现方法软件包,调试基本通过,可直接下载应用,具体例子可以自己修改一下原代码. [实例截图] [核心代码] matlab实现方法软件包,调试基本通过,可 ...

  4. 遗传算法求解一元函数最大值

    基于遗传算法求解一元函数最大值python 一.问题介绍 二.算法设计 2.1 类数据成员 2.2 初始化种群 2.3 转换种群编码 2.4 适应度计算 2.5 种群选择 2.6 种群交配 2.7 基 ...

  5. 基于Matlab的遗传算法程序设计及优化问题求解

    FPGA教程目录 MATLAB教程目录 ----------------------------------------------------------------------- 遗传算法(Gen ...

  6. 详解遗传算法(含MATLAB代码)

    目录 一.遗传算法概述 二.遗传算法的特点和应用 三.遗传算法的基本流程及实现技术 3.1 遗传算法的基本流程 3.2 遗传算法的实现技术 1.编码 2.适应度函数 3.选择算子 4.交叉算子 5.变 ...

  7. Python遗传算法求一元函数最大值

    Python遗传算法求一元函数最大值 前言 代码 后记 参考文献 前言 最近接触遗传算法,参考了众多例子,有些又不尽然对,所以自己边理解边修改,然后写出了下面这堆传说中的屎山... PS1:遗传算法原 ...

  8. MATLAB实现基于遗传算法/引力搜索算法优化新安江水文模型

    MATLAB实现基于遗传算法/引力搜索算法优化新安江水文模型 1 新安江模型 1.1 新安江模型结构 1.2 模型参数种类及意义 2 新安江模型优化参数 2.1 蒸散发参数: KC.WUM.WLM.C ...

  9. 【指派问题】基于matlab遗传算法求解指派优化问题【含Matlab源码 2292期】

    ⛄一.遗传算法求解指派优化问题简介 1 遗传算法 1.1 遗传算法简介 遗传算法是模拟生物在自然环境中的遗传和进化过程而形成的一种自适应全局优化概率搜索算法,它是一种多学科融合交叉的产物.遗传算法通过 ...

  10. 遗传算法 gui matlab,用matlab遗传算法工具gui优化轴承

    用matlab遗传算法工具gui优化轴承 设计变量滚珠数目 Z=23 滚珠直径 Db 为变量 1,即 x(1) 节圆直径 dm 为变量 2,即 x(2)fi, fo 分别为轴承内外滚道曲率半径系数 f ...

最新文章

  1. 高斯混合模型聚类实战(Gaussian Mixtures)
  2. 大剑无锋之大数据面试题第一套(选择题)
  3. 运用代码管理段来提升开发效率
  4. java循环单链表类构造函数_C++实现双向循环链表
  5. 一个简单的Python调度器
  6. 基于MUI框架的影视播放APP的设计与实现毕业设计论文参考【原查重5.1%】
  7. windows 进程之csrss.ext
  8. manjaro(linux)安装网易云音乐
  9. HTML——1.Sublime快捷键、HTML常用标签
  10. 当年轻人在说“夸克真香”,他们在说什么?
  11. python 优秀的库推荐
  12. 计算机空间不足是咋回事,我的电脑最近总显示C:盘空间不足,请问这是咋回事,如何解决??谢谢...
  13. 范数不等式 琴生兄弟不等式 补全百度
  14. win7亮度怎么调_win7设置双屏显示的方法
  15. linux里面查找替换命令,LINUX 查找替换命令 总结
  16. 2021华数杯C题优秀论文思路分析01
  17. hadoop3.3.0版本搭建
  18. ec11编码器c语言程序,EC11旋转编码器电路和程序
  19. 雷柏v500、惠普gk100、微星gk50和达尔优dk100对比哪个好
  20. js读取本地Excel内容

热门文章

  1. 四十六、Stata离散选择模型,时间序列和面板数据
  2. 计算机全盘搜索功能不见了,win7搜索功能不见了两种恢复方法(图文)
  3. 什么是4G工业智能网关?与DTU有什么区别
  4. 华为手机企业邮箱无法连接到服务器,华为手机邮箱无法登录
  5. 汽车电线束双绞线技术参数设定
  6. k折交叉验证优缺点_为什么要用交叉验证
  7. 李克秋 加盟天津大学 计算机学院,天津大学
  8. 计算机打字考试软件使用说明,电脑打字指法练习_学习使用电脑的基本知识打字,需要怎么练习?...
  9. 时间序列——季节系数法
  10. 微信小程序新手教程 1.0