产生随机不重复整数序列矩阵是智能算法最常用的操作之一,以下给出具体方法:
clc;close all;clear all;warning off;%清除变量
rand('seed', 100);
randn('seed', 100);
format long g;
N=10; % 设定优化问题维数
lb=0*ones(1,N);% 自变量上限
ub=1*ones(1,N);% 自变量下限
popsize=10;% 种群数
Chrom=mygenfun(popsize,N,lb,ub)
function Chrom=mygenfun(popsize,N,lb,ub)
% 建立随机种群
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
[v1,S]=sort(x);% 排序
Chrom(i,:)=S;% 排序赋值
end
程序运行结果如下:
Chrom =
3 2 1 10 5 4 7 8 6 9
2 5 6 1 10 3 7 4 9 8
1 7 8 3 5 9 6 4 2 10
2 7 5 4 10 1 9 8 6 3
9 1 5 6 3 7 2 8 10 4
1 9 8 7 10 4 3 6 2 5
3 8 2 4 1 6 7 5 9 10
1 6 7 3 8 10 5 9 2 4
8 9 5 1 2 3 4 6 10 7
8 10 3 4 7 9 2 6 1 5
>>
文章来源:https://www.toymoban.com/news/detail-821286.html
熟练掌握此方法可以广泛用于各类排序编码的智能算法,避让遗传算法,蚁群算法等,用于解决很多排序问题.文章来源地址https://www.toymoban.com/news/detail-821286.html
到了这里,关于MATLAB初始化智能算法编码-产生随机不重复整数序列矩阵的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!