產(chǎn)生隨機(jī)不重復(fù)整數(shù)序列矩陣是智能算法最常用的操作之一,以下給出具體方法:
clc;close all;clear all;warning off;%清除變量
rand('seed', 100);
randn('seed', 100);
format long g;
N=10; % 設(shè)定優(yōu)化問題維數(shù)
lb=0*ones(1,N);% 自變量上限
ub=1*ones(1,N);% 自變量下限
popsize=10;% 種群數(shù)
Chrom=mygenfun(popsize,N,lb,ub)
?
function Chrom=mygenfun(popsize,N,lb,ub)
% 建立隨機(jī)種群
Chrom=zeros(popsize,N);% 初始化編碼矩陣
for i=1:popsize% 循環(huán)
? ? x=zeros(1,N);% 初始化變量
? ? for j=1:N
? ? ? ?x(1,j)=lb(j)+(ub(j)-lb(j))*rand(1,1);% 隨機(jī)賦值
? ? end
? ? [v1,S]=sort(x);% 排序
? ? ?Chrom(i,:)=S;% 排序賦值
end
?
程序運(yùn)行結(jié)果如下:
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
>>?
文章來源:http://www.zghlxwxcb.cn/news/detail-821286.html
熟練掌握此方法可以廣泛用于各類排序編碼的智能算法,避讓遺傳算法,蟻群算法等,用于解決很多排序問題.文章來源地址http://www.zghlxwxcb.cn/news/detail-821286.html
到了這里,關(guān)于MATLAB初始化智能算法編碼-產(chǎn)生隨機(jī)不重復(fù)整數(shù)序列矩陣的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!