首页 > 试题

besty

更新时间:2022-11-14 03:12:37 阅读: 评论:0

小咖秀哟哟在线观看-牵马坠蹬


2022年11月14日发(作者:积极的个性签名)

欢迎访问GreenSim团队主页→/greensim邮箱:****************

第1页

基于遗传算法(粒子群算法、人工鱼群算法等)的投影寻踪模型

MATLAB源代码

投影寻踪是一种处理多因素复杂问题的统计方法,其基本思路是将高维数据

向低维空间进行投影,通过低维投影数据的散布结构来研究高维数据特征,可用

于聚类、分类、综合评价、预测等。投影寻踪模型最终可归结为一个非线性连续

函数优化模型,可以采用遗传算法、粒子群算法、人工鱼群算法或人工免疫克隆

优化算法等进行求解,得到最优的投影向量。

%%第一步:仿真参数设置

clc

clear

cloall

D=data1;%导入D矩阵

[n,p]=size(D);

K=300;%迭代次数

N=100;%种群规模

Pm=0.3;%变异概率

LB=-ones(1,p);%决策变量的下界

UB=ones(1,p);%决策变量的上界

Alpha=0.1;%窗口半径系数,典型取值0.1b

%%调用遗传算法

[BESTX,BESTY,ALLX,ALLY]=GAUCP(K,N,Pm,LB,UB,D,Alpha);

%GreenSim团队——专业级算法设计&代写程序

%欢迎访问GreenSim团队主页→/greensim

%%整理输出结果

Best_a=(BESTX{K})';%方向向量

d=zeros(n,p);

Djmax=max(D);

Djmin=min(D);

fori=1:n

d(i,:)=(D(i,:)-Djmin)./(Djmax-Djmin);

end

Z=zeros(n,1);

fori=1:n

Z(i)=abs(sum(Best_a.*d(i,:)));

欢迎访问GreenSim团队主页→/greensim邮箱:****************

第2页

end

Z=abs(Z);

figure%投影散布图

plot(abs(Z),'bd','LineWidth',1,'MarkerEdgeColor','k','MarkerFaceColor','b','MarkerSize',5);

%axis([1,12,0,2.5]);%图形边界根据需要显示

gridon

xlabel('','FontName','TimesNewRoman','FontSize',12);

ylabel('ProjectiveValue','FontName','TimesNewRoman','Fontsize',12);

figure

[newZ,I]=sort(Z);

plot(abs(newZ),'bd','LineWidth',1,'MarkerEdgeColor','k','MarkerFaceColor','b','MarkerSize',5);

%axis([1,12,0,2.5]);%图形边界根据需要显示

gridon

xlabel('','FontName','TimesNewRoman','FontSize',12);

ylabel('ProjectiveValue','FontName','TimesNewRoman','Fontsize',12);

%%

disp('最佳投影向量为')

disp(Best_a);

function[BESTX,BESTY,ALLX,ALLY]=IGAUCP(K,N,Pm,LB,UB,D,Alpha)

%%遗传算法求解投影寻踪模型

%GreenSim团队——专业级算法设计&代写程序

%欢迎访问GreenSim团队主页→/greensim

%%输入参数列表

%K迭代次数

%N种群规模,要求是偶数

%Pm变异概率

%LB决策变量的下界,M×1的向量

%UB决策变量的上界,M×1的向量

%D原始样本数据,n×p的矩阵

%Alpha窗口半径系数,典型取值0.1

%%输出参数列表

%BESTXK×1细胞结构,每一个元素是M×1向量,记录每一代的最优个体

%BESTYK×1矩阵,记录每一代的最优个体的评价函数值

%ALLXK×1细胞结构,每一个元素是M×N矩阵,记录全部个体

%ALLYK×N矩阵,记录全部个体的评价函数值

%%第一步:

M=length(LB);%决策变量的个数

%种群初始化,每一列是一个样本

farm=zeros(M,N);

fori=1:M

x=unifrnd(LB(i),UB(i),1,N);

farm(i,:)=x;

end

欢迎访问GreenSim团队主页→/greensim邮箱:****************

第3页

%输出变量初始化

ALLX=cell(K,1);%细胞结构,每一个元素是M×N矩阵,记录每一代的个体

ALLY=zeros(K,N);%K×N矩阵,记录每一代评价函数值

BESTX=cell(K,1);%细胞结构,每一个元素是M×1向量,记录每一代的最优个体

BESTY=zeros(K,1);%K×1矩阵,记录每一代的最优个体的评价函数值

k=1;%迭代计数器初始化

%%第二步:迭代过程

whilek<=K

%%以下是交叉过程

newfarm=zeros(M,2*N);

Ser=randperm(N);%两两随机配对的配对表

A=farm(:,Ser(1));

B=farm(:,Ser(2));

P0=unidrnd(M-1);

a=[A(1:P0,:);B((P0+1):end,:)];%产生子代a

b=[B(1:P0,:);A((P0+1):end,:)];%产生子代b

newfarm(:,2*N-1)=a;%加入子代种群

newfarm(:,2*N)=b;

fori=1:(N-1)

A=farm(:,Ser(i));

B=farm(:,Ser(i+1));

P0=unidrnd(M-1);

a=[A(1:P0,:);B((P0+1):end,:)];

b=[B(1:P0,:);A((P0+1):end,:)];

newfarm(:,2*i-1)=a;

newfarm(:,2*i)=b;

end

FARM=[farm,newfarm];

%%选择复制

SER=randperm(3*N);

FITNESS=zeros(1,3*N);

fitness=zeros(1,N);

fori=1:(3*N)

Beta=FARM(:,i);

FITNESS(i)=FIT(Beta,D,Alpha);

end

fori=1:N

f1=FITNESS(SER(3*i-2));

f2=FITNESS(SER(3*i-1));

f3=FITNESS(SER(3*i));

iff1<=f2&&f1<=f3

farm(:,i)=FARM(:,SER(3*i-2));

fitness(:,i)=FITNESS(:,SER(3*i-2));

eliff2<=f1&&f2<=f3

欢迎访问GreenSim团队主页→/greensim邮箱:****************

第4页

farm(:,i)=FARM(:,SER(3*i-1));

fitness(:,i)=FITNESS(:,SER(3*i-1));

el

farm(:,i)=FARM(:,SER(3*i));

fitness(:,i)=FITNESS(:,SER(3*i));

end

end

%%记录最佳个体和收敛曲线

X=farm;

Y=fitness;

ALLX{k}=X;

ALLY(k,:)=Y;

minY=min(Y);

pos=find(Y==minY);

BESTX{k}=X(:,pos(1));

BESTY(k)=minY;

%%变异

fori=1:N

ifPm>rand&&pos(1)~=i

AA=farm(:,i);

BB=GaussMutation(AA,LB,UB);

farm(:,i)=BB;

end

end

disp(k);

k=k+1;

end

源代码运行结果展示

欢迎访问GreenSim团队主页→/greensim邮箱:****************

第5页

250300

-20

-15

-10

-5

迭代次数

070

0

1

2

3

4

5

6

P

r

o

j

e

c

t

i

v

e

V

a

l

u

e

欢迎访问GreenSim团队主页→/greensim邮箱:****************

第6页

070

0

1

2

3

4

5

6

P

r

o

j

e

c

t

i

v

e

V

a

l

u

e

本文发布于:2022-11-14 03:12:37,感谢您对本站的认可!

本文链接:http://www.wtabcd.cn/fanwen/fan/88/15002.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

上一篇:三点水云
标签:besty
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图