zoukankan      html  css  js  c++  java
  • 混沌映射初始化种群之Logistic映射

    Logstic混沌映射初始化种群

    Step 1:
        随机生成一个(d)维向量({X_0}),向量的每个分量在0-1之间。
    Step 2:
        利用Logistic映射生成N个向量。Logistic映射如下:

    [X_{i+1}=mu{X_{i}.*(1-X_{i})} ]

    Step 3:
        将(X)的每个分量载波到变量的取值区间上

    参数设置

    Lb = -100;  % 搜索空间下界
    Ub = 100;   % 搜索空间上界
    
    N_iter = 1000;  % 最大迭代次数
    n_pop = 30;  % 种群个数
    d = 2; % 种群维度
    

    利用混沌映射初始化种群

    Z = zeros(n_pop, d);
    
    % 随机生成一个d维向量
    Z(1, :) = rand(1, d);
    
    % 利用logistic生成n_pop个向量
    for i=2:n_pop
        Z(i,:) = 4.0*Z(i-1,:).*(1-Z(i-1,:));
    end
    
    % 将z的各个分量载波到对应变量的取值区间
    pop = zeros(n_pop, d);
    for i=1:n_pop
        pop(i,:) = Lb + (Ub - Lb)*Z(i,:);
    end
    
    figure 
    scatter(pop(:,1), pop(:,2), 'r*');
    box on
    

    image

    Logistic map的第二种写法:

    particlePosition(1,:) = random('Uniform',-100, 100, 1, 2);
    particlePosition(1,:) = (particlePosition(1,:) + 100)/200;  %这是归一化处理
    
    for i=1:49
        particlePosition(i+1,:) = 4*particlePosition(i,:).*(1 - particlePosition(i,:));
    end
    particlePosition = particlePosition.*200 - 100;
    figure
    scatter(particlePosition(:,1), particlePosition(:,2));
    box on
    

    image
    随机初始化种群

    particlePosition = random('Uniform',-100, 100, 50, 2);
    figure
    scatter(particlePosition(:,1), particlePosition(:,2), 'r*');
    box on
    

    image

  • 相关阅读:
    【K8s】二进制部署Kubernetes v1.8.15集群环境管理Docker容器
    swift开发笔记10
    解读苹果app证书和描述文件
    swift开发笔记09
    swift开发笔记07
    swift开发笔记08
    默认显示detailViewController
    金融理财类app,被苹果审核拒绝
    swift开发笔记05
    Git安装图解
  • 原文地址:https://www.cnblogs.com/mysterygust/p/14824014.html
Copyright © 2011-2022 走看看