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

>>

熟练掌握此方法可以广泛用于各类排序编码的智能算法,避让遗传算法,蚁群算法等,用于解决很多排序问题.

相关推荐
滴_咕噜咕噜13 分钟前
C#基础总结:常用的数据结构
开发语言·数据结构·c#
martian66513 分钟前
【Java高级篇】——第16篇:高性能Java应用优化与调优
java·开发语言·jvm
许苑向上1 小时前
Java八股文(下)
java·开发语言
菜鸟一枚在这1 小时前
深入解析设计模式之单例模式
开发语言·javascript·单例模式
独孤求败Ace1 小时前
第44天:Web开发-JavaEE应用&反射机制&类加载器&利用链&成员变量&构造方法&抽象方法
java·开发语言
计算机-秋大田1 小时前
基于Spring Boot的农产品智慧物流系统设计与实现(LW+源码+讲解)
java·开发语言·spring boot·后端·spring·课程设计
matlabgoodboy1 小时前
Matlab代编电气仿真电力电子电机控制自动化新能源微电网储能能量
开发语言·matlab·自动化
镰圈量化1 小时前
当电脑上有几个python版本Vscode选择特定版本python
开发语言·vscode·python
背太阳的牧羊人2 小时前
RAG检索中使用一个 长上下文重排序器(Long Context Reorder) 对检索到的文档进行进一步的处理和排序,优化输出顺序
开发语言·人工智能·python·langchain·rag
ITPUB-微风2 小时前
美团MTSQL特性解析:技术深度与应用广度的完美结合
java·服务器·开发语言