matlab遗传算法实例求最短路径_遗传算法经典实例

matlab遗传算法实例求最短路径_遗传算法经典实例Matlab遗传算法实例

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

Matlab遗传算法实例

  • 确定目标函数
  • 初始化种群
  • 2进制(染色体)与10进制(数值)转换
  • 选择(轮盘赌法)
  • 交叉(交叉原则)
  • 变异(变异概率)
  • 选择…
clear;
clc;
%popsize=input('输入种群大小:\n');
%lengh=input('请输入染色体长度:\n');
popsize=100;
lengh=10;
a=-1;
b=2;
%y=x*sin(10*pi*x)+1.0
%初始种群
pop=round(rand(popsize,lengh));%行:种群大小,列:染色体长度

%二进制转换十进制
[px,py]=size(pop);
for i=1:py
    pop1(:,i)=2^(py-i).*pop(:,i);
end
pop2=sum(pop1,2);

%对应的实数  目标值
vpop=pop2*((b-a)/(2^(lengh)-1))-1.0;
x=vpop;
y=sin(10*pi*x).*x+1;
% m=1;
% m=m+1;
% S=zeros(100,1);
% S(m,1)=max(y);
%选择  适者生存
for i=1:px
    cpoint=round(rand*(px-10));
    A=y(cpoint:cpoint+9,:);
    [Y,U]=max(A);
    j=U+cpoint-1;
    newpop(i,:)=pop(j,:);
end
pop=newpop;

%交叉
newpop=ones(size(pop));
pc=0.6;%交叉概率
for i=1:2:px-1
    if(rand<pc)
        cpoint=round(rand*py);
        newpop(i,:)=[pop(i,1:cpoint),pop(i+1,cpoint+1:py)];
        newpop(i+1,:)=[pop(i+1,1:cpoint),pop(i,cpoint+1:py)];
    else
        newpop(i,:)=pop(i,:);
        newpop(i+1,:)=pop(i+1,:);
    end   
end

%变异
%newpop=ones(size(pop));
pb=0.02;
%newpop=pop;
for i=1:px
    if (rand<pb)
        cpoint=round(rand*py);
        if newpop(i,cpoint)==0
            newpop(i,cpoint)=1;
        else
            newpop(i,cpoint)=0;
        end 
    end
end
pop=newpop;    
        

%实验报告
%s生产种群
%二进制转十进制
%交叉   实验题目  实验内容   实验代码   实验结果    
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/194509.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 2021电赛F题智能送药小车方案分析(openMV数字识别,红线循迹,STM32HAL库freeRTOS,串级PID快速学习,小车自动返回)[通俗易懂]

    2021电赛F题智能送药小车方案分析(openMV数字识别,红线循迹,STM32HAL库freeRTOS,串级PID快速学习,小车自动返回)[通俗易懂]2021电赛F题智能送药小车方案分析(openARTmini数字识别加循迹融合代码,STM32HAL库freeRTOS,串级PID快速学习,小车自动返回)附有工程代码链接,分析详细,工程完善

    2022年8月31日
    4
  • 如何通过异业联盟会员体系赋能实体商家?完善消费者的会员权益[通俗易懂]

    如何通过异业联盟会员体系赋能实体商家?完善消费者的会员权益[通俗易懂]2015年房地产行业进入白银时代,市场竞争异常剧烈,目前有万达、大禹加州湾、宏泰第一城等诸多项目,那类似的行业怎样在这激烈的市场竞争中立于不败之地?怎样才能占据更多的市场份额?怎样才能以更少的投入取得更大的回报?需要解决以上种种问题难吗?也未必难,今天向大家提出更好的方案和方法:异业联盟。异业联盟的好处1、对企业来讲可以让客户资源从10变成100甚至1000这也是资源整合,资源营销的核心。2、减少广告费用的投入,而把一部分广告的费用转嫁给消费者,为消费者省钱,符合“客

    2022年6月29日
    34
  • 查询端口下请求总数

    查询端口下请求总数

    2021年9月8日
    63
  • C# 各种字符串格式

    C#的String.Format举例stringstr1=string.Format("{0:N1}",56789);//result:56,789.0stringstr

    2021年12月25日
    41
  • VMware16NAT模式配置固定IP[通俗易懂]

    VMware16NAT模式配置固定IP[通俗易懂]文章目录前言一、NAT配置固定IP二、重启网卡结尾前言为什么要配置固定IP呀?这个很容易解释啊,因为配置集群要设置固定IP(主结点需要管理子结点,通过固定IP识别机器),因为你访问虚拟机方便(不固定IP访问前还需要先查下虚拟机当前分配IP,比较麻烦)等等。配置固定IP采用哪种网络配置方式呢,NAT,桥接?仅主机反正是不行的,不能联网啊。NAT也叫网络地址转换,通常它的名称为VMnet8,通过nat的连接方式可以使得虚拟机和真实机的网卡在不同的网段中,从而实现联网。而bridge也叫桥接,通常它的名称

    2022年6月29日
    70
  • 在jsp页面将Date类型的日期显示成”yyyy-MM-dd HH:mm:ss”格式

    在jsp页面将Date类型的日期显示成”yyyy-MM-dd HH:mm:ss”格式头部加上:&lt;%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %&gt;内容中使用:&lt;fmt:formatDate value="${post.postDate }" pattern="yyyy-MM-dd HH:mm:ss"/&gt;或者&lt;fmt:formatDate value=&quot

    2022年6月13日
    30

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号