18基于遗传算法(粒子群算法、人工鱼群算法等)的投影寻踪模型MATLAB源代码Word文档格式.docx

上传人:聆听****声音 文档编号:807686 上传时间:2023-04-29 格式:DOCX 页数:6 大小:65.33KB
下载 相关 举报
18基于遗传算法(粒子群算法、人工鱼群算法等)的投影寻踪模型MATLAB源代码Word文档格式.docx_第1页
第1页 / 共6页
18基于遗传算法(粒子群算法、人工鱼群算法等)的投影寻踪模型MATLAB源代码Word文档格式.docx_第2页
第2页 / 共6页
18基于遗传算法(粒子群算法、人工鱼群算法等)的投影寻踪模型MATLAB源代码Word文档格式.docx_第3页
第3页 / 共6页
18基于遗传算法(粒子群算法、人工鱼群算法等)的投影寻踪模型MATLAB源代码Word文档格式.docx_第4页
第4页 / 共6页
18基于遗传算法(粒子群算法、人工鱼群算法等)的投影寻踪模型MATLAB源代码Word文档格式.docx_第5页
第5页 / 共6页
18基于遗传算法(粒子群算法、人工鱼群算法等)的投影寻踪模型MATLAB源代码Word文档格式.docx_第6页
第6页 / 共6页
亲,该文档总共6页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

18基于遗传算法(粒子群算法、人工鱼群算法等)的投影寻踪模型MATLAB源代码Word文档格式.docx

《18基于遗传算法(粒子群算法、人工鱼群算法等)的投影寻踪模型MATLAB源代码Word文档格式.docx》由会员分享,可在线阅读,更多相关《18基于遗传算法(粒子群算法、人工鱼群算法等)的投影寻踪模型MATLAB源代码Word文档格式.docx(6页珍藏版)》请在冰点文库上搜索。

18基于遗传算法(粒子群算法、人工鱼群算法等)的投影寻踪模型MATLAB源代码Word文档格式.docx

% 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);

endZ=zeros(n,1);

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

)));

endZ=abs(Z);

figure%投影散布图plot(abs(Z),'

bd'

'

LineWidth'

1,'

MarkerEdgeColor'

k'

MarkerFaceColor'

b'

MarkerSize'

5);

第6页

%axis([1,12,0,2.5]);

%图形边界根据需要显示gridon

xlabel('

'

FontName'

TimesNewRoman'

FontSize'

12);

ylabel('

ProjectiveValue'

TimesNewRoman'

Fontsize'

figure

[newZ,I]=sort(Z);

plot(abs(newZ),'

%图形边界根据需要显示

gridon

%%

disp('

最佳投影向量为'

)disp(Best_a);

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

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

%%输入参数列表

%K 迭代次数

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

%Pm 变异概率

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

1的向量

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

%D 原始样本数据,n×

p的矩阵

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

%%输出参数列表

%BESTX K×

1细胞结构,每一个元素是M×

1向量,记录每一代的最优个体

%BESTY K×

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

%ALLX K×

N矩阵,记录全部个体

%ALLY K×

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

M=length(LB);

%决策变量的个数

%种群初始化,每一列是一个样本farm=zeros(M,N);

fori=1:

M

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

farm(i,:

)=x;

end

%输出变量初始化

ALLX=cell(K,1);

%细胞结构,每一个元素是M×

N矩阵,记录每一代的个体

ALLY=zeros(K,N);

%K×

N矩阵,记录每一代评价函数值

BESTX=cell(K,1);

BESTY=zeros(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(p>

产生子代a

b=[B(p>

产生子代b

newfarm(:

2*N-1)=a;

%加入子代种群newfarm(:

2*N)=b;

(N-1)

A=farm(:

Ser(i));

Ser(i+1));

a=[A(p>

2*i-1)=a;

newfarm(:

2*i)=b;

FARM=[farm,newfarm];

%%选择复制

SER=randperm(3*N);

FITNESS=zeros(1,3*N);

fitness=zeros(1,N);

(3*N)

Beta=FARM(:

i);

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

N

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

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

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

iff1<

=f2&

&

f1<

=f3farm(:

i)=FARM(:

SER(3*i-2));

fitness(:

i)=FITNESS(:

elseiff2<

=f1&

f2<

SER(3*i-1));

else

farm(:

SER(3*i));



fitness(:

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

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;

%%变异

ifPm>

rand&

pos

(1)~=iAA=farm(:

BB=GaussMutation(AA,LB,UB);

farm(:

i)=BB;

disp(k);

k=k+1;

源代码运行结果展示

-5

-10

值数函

-15

-20

0 50 100 150 200 250 300

迭代次数

6

5

eu 4

laV

v

e 3

t

ice

r

jo

P 2

1

00 10 20 30 40 50 60 70

eu

4

ev

it

3

ce

P

2

10

20

30

40

50

60

70

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2