遗传算法matlab实现

  • t2_721317
    了解作者
  • 4.3KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • VIP专享
    资源类型
  • 1
    下载次数
  • 2022-04-25 05:36
    上传日期
使用简单遗传算法求解寻优问题,以一个复杂函数为例,在MATLAB中按初始化种群、编码、遗传、变异、选择等分块编制程序,亲测可用,效果很好。
ga3.rar
  • ga3
  • main.asv
    994B
  • initpop.m
    560B
  • main.m
    994B
  • selection.m
    1004B
  • cal_objvalue.m
    224B
  • mutation.m
    544B
  • best.m
    386B
  • binary2decimal.m
    936B
  • crossover.m
    486B
内容介绍
% 上面所有个体的函数值都计算出来了,存在objvalue中,此时它是不 % 是也是100组y值啊,恩,那么对于现有的随机生成的100组x,怎么来再 % 选择100组新的更好的x呢?这里我们把选择放在了交叉与变异之间了,都可 % 以,如何选择,就要构造概率的那个轮盘了,谁的概率大,是不是选择的 % 个体就会多一些?也就是现在的选择就是100中100个,最后出现的就够就是以 % 前的100个中最优的x有一个的话,选择完后,可能就变成5个这个x了,多余 % 的4个是不是相当于顶替了以前的不好的4个x值,这样才能达到x总数100不变啊。 %如何选择新的个体 %输入变量:pop二进制种群,fitvalue:适应度值 %输出变量:newpop选择以后的二进制种群 function [newpop] = selection(pop,fitvalue) %构造轮盘 [px,py] = size(pop); totalfit = sum(fitvalue); p_fitvalue = fitvalue/totalfit; p_fitvalue = cumsum(p_fitvalue);%概率求和排序 ms = sort(rand(px,1));%从小到大排列 fitin = 1; newin = 1; while newin<=px if(ms(newin))<p_fitvalue(fitin) newpop(newin,:)=pop(fitin,:); newin = newin+1; else fitin=fitin+1; end end
评论
    相关推荐
    • matlab算法经典程序
      一些常用的算法matlab实现,包括各种智能算法,图论算法,以及规划算法
    • 电力系统状态估计MATLAB算法
      状态估计算法 MATLAB 内附readme 详细说明了使用方法和步骤 有专门的txt文件 可以输入自己的bus阵 line阵等 即可进行状态估计
    • matlab算法大全
      matlab 中常用的程序 函数使用示例
    • 粒子滤波matlab算法
      粒子滤波正在得到重视,越来越的人开始注意,在故障诊断和预测领域里,用来估计状态参数。附件中matlab程序介绍了基本粒子滤波算法
    • matlab算法大全
      本文档涵盖了很多数学算法,利用matlab实现,在工程技术上有很高的应用价值
    • Matlab算法大全
      Matlab算法 PDF 分章阅读 高清PDF 很好很全面的阅读材料
    • 各种MATLAB算法
      各种MATLAB算法,代码,可供初学者参考应用,
    • Matlab算法大全
      Matlab算法大全 第01章线性规划 第02章整数规划 第03章非线性规划 第04章动态规划 第05章图与网络 第06章排队论 第07章对策论 第08章层次分析法 第09章插值与拟合 第10章数据的统计描述和分析 第11章方差分析 第12章...
    • matlab算法大全
      matlab算法大全,很全,提供插值,数值微分、积分等功能代码的实现
    • matlab 算法程序
      matlab 算法程序,包括了插值、函数逼近、数值积分、非线性方程求解、统计分析、偏微分方程数值解法等17个部分,每个部分针对各种函数有m文件代码和相关解释说明。