MATLAB初始化种群-随机和一定的实数序列

在智能算法的编码场景中,很多时候是需要用求和为一定的编码的, 比如分配问题, 配送问题等, 下面给出具体程序代码:

clc;close all;clear all;warning off;%清除变量
rand('seed', 100);
randn('seed', 100);
format long g;


N=5; % 设定优化问题维数
lb=0*ones(1,N);% 自变量上限
ub=1*ones(1,N);% 自变量下限

popsize=10;% 种群数
p=12.5;% 求和的目标 
Chrom=mygenfun(popsize,N,lb,ub,p)

disp('验证求和是否为p');
sum(Chrom,2)

function Chrom=mygenfun(popsize,N,lb,ub,p)
% 建立随机种群
Chrom=zeros(popsize,N);% 初始化编码矩阵
for i=1:popsize% 循环
    x=zeros(1,N);% 初始化变量
    for j=1:N
        x(1,j)=lb(j)+(ub(j)-lb(j))*rand(1,1);% 随机赋值
    end
    
    x2=p*x/sum(x);% 和为p的非负序列
    
    Chrom(i,:)=x2;% 求和序列赋值
end

程序结果:

可看到产生了10行随机数, 每一行的和都是12.5, 说明代码有效.

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-25 07:44:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-25 07:44:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-25 07:44:02       82 阅读
  4. Python语言-面向对象

    2024-01-25 07:44:02       91 阅读

热门阅读

  1. TestNG @AfterClass 注解

    2024-01-25 07:44:02       50 阅读
  2. wy的leetcode刷题记录_Day76

    2024-01-25 07:44:02       58 阅读
  3. Leetcode刷题(二十九)

    2024-01-25 07:44:02       59 阅读
  4. toggle封装

    2024-01-25 07:44:02       63 阅读
  5. SpringBoot-SpringBoot自动配置底层源码解析

    2024-01-25 07:44:02       44 阅读
  6. 使用django-admin来做erp,是否需要使用缓存数据库

    2024-01-25 07:44:02       58 阅读
  7. 数据结构练习3

    2024-01-25 07:44:02       48 阅读
  8. 江苏服务器租用要注意哪些方面?

    2024-01-25 07:44:02       55 阅读
  9. html 粒子效果文字特效

    2024-01-25 07:44:02       60 阅读
  10. Hadoop-MapReduce-源码跟读-客户端篇

    2024-01-25 07:44:02       43 阅读
  11. CentOS 安装 Ruby

    2024-01-25 07:44:02       61 阅读