产生随机不重复整数序列矩阵是智能算法最常用的操作之一,以下给出具体方法:
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://blog.csdn.net/corn1949/article/details/135762682
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_60845.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!