本文介绍: MATLAB初始化智能算法编码-产生随机不重复整数序列矩阵

产生随机不重复整数序列矩阵是智能算法最常用的操作之一,以下给出具体方法:

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进行投诉反馈,一经查实,立即删除!

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注