资源简介

本代码是matlab的代码,毕业设计的三个算法,对原来的粒子群算法进行改进,分别是混沌粒子群,和GAPSO得到的效果还不错,注意这是代码,源代码。

资源截图

代码片段和文件信息

%% 清空环境
clc
clear

%% 参数初始化
%粒子群算法中的两个参数
c1 = 1.49445;
c2 = 1.49445;
D=10;%粒子维数
maxgen=1000;   % 进化次数  
sizepop=20;   %种群规模
u=2;%混沌系数
Vmax=1;
Vmin=-1;
popmax=5;
popmin=-5;
randdata1= xlsread(‘randdata1‘);
randdata2= xlsread(‘randdata2‘);
%% 产生初始粒子和速度
for i=1:sizepop
    %随机产生一个种群
    pop(i:)=randdata1(i:);    %初始种群
    V(i:)=randdata2(i:);  %初始化速度
    %计算适应度
    fitness(i)=fun(pop(i:));   %粒子的适应值
end

%% 个体极值和群体极值
[bestfitness bestindex]=min(fitness);
zbest=pop(bestindex:);   %全局最佳
gbest=pop;    %个体最佳
fitnessgbest=fitness;   %个体最佳适应度值
fitnesszbest=bestfitness;   %全局最佳适应度值

%% 迭代寻优
for i=1:maxgen
    
    for j=1:sizepop
        
        %速度更新
        V(j:) = V(j:) + c1*rand*(gbest(j:) - pop(j:)) + c2*rand*(zbest - pop(j:));
        V(jfind(V(j:)>Vmax))=Vmax;
        V(jfind(V(j:)        
        %种群更新
        pop(j:)=pop(j:)+V(j:);
        pop(jfind(pop(j:)>popmax))=popmax;
        pop(jfind(pop(j:)        
        %适应度值
        fitness(j)=fun(pop(j:)); 
   
    end
    
    for j=1:sizepop
        
        %个体最优更新
        if fitness(j) < fitnessgbest(j)
            gbest(j:) = pop(j:);
            fitnessgbest(j) = fitness(j);
        end
        
        %群体最优更新
        if fitness(j) < fitnesszbest
            zbest = pop(j:);
            fitnesszbest = fitness(j);
        end
    end 
  
    %%对粒子群最优位置进行混沌优化
      y(1:)=(zbest-popmin)/(popmax-popmin);%将最优位置映射到Logistic方程的定义域[01]
      fitness(1)=fun(y(1:)); 
        for t=1:sizepop-1 %通过Logistic方程进行M次迭代,得到混沌序列
            for e=1:D
        y(t+1e)=u*y(te)*(1-y(te)); 
            end
        y(t+1:)=popmin+(popmax-popmin)*y(t+1:);%将混沌序列逆射到原解空间
        fitness(t+1)=fun(y(t+1:)); %计算混沌变量可行解序列的适应度值
        end
[ybestfitness ybestindex]=min(fitness);%寻找最优混沌可行解矢量
  ybest=y(ybestindex:);
        ran=1+fix(rand()*sizepop);%产生一随机数1~sizepop之间
        pop(ran:)=ybest;
    yy(i)=fitnesszbest;    
        
end
%% 结果分析
plot(yy‘m‘‘LineWidth‘5)
title(‘多峰函数-Generaliaed Rastrigin最优个体适应度曲线‘‘fontsize‘20);
xlabel(‘迭代次数‘‘fontsize‘25);ylabel(‘适应度值‘‘fontsize‘25);
legend(‘基本粒子群算法‘‘混沌粒子群算法‘‘fontsize‘30);
grid on
hold on
display(‘混沌粒子群算法输出结果‘);
zbest
minbest=min(yy)
meanbest=mean(yy)
stdbest=std(yy)

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       2615  2012-05-05 15:30  遗传粒子群优化算法-GAPSO\CPSO.m

     文件        713  2012-05-05 18:17  遗传粒子群优化算法-GAPSO\fun.m

     文件       4274  2012-06-19 11:14  遗传粒子群优化算法-GAPSO\GAPSO.m

     文件       1845  2012-05-05 15:30  遗传粒子群优化算法-GAPSO\PSO.m

     文件      20992  2012-04-24 16:29  遗传粒子群优化算法-GAPSO\randdata1.xls

     文件      20992  2012-04-24 16:29  遗传粒子群优化算法-GAPSO\randdata2.xls

     文件      60988  2012-05-05 17:53  遗传粒子群优化算法-GAPSO\Rastrigin.fig

     文件     107023  2012-05-05 17:53  遗传粒子群优化算法-GAPSO\Rastrigin.jpg

     文件      65384  2012-05-05 15:56  遗传粒子群优化算法-GAPSO\Rosenbrock.fig

     文件      89617  2012-05-05 15:57  遗传粒子群优化算法-GAPSO\Rosenbrock.jpg

     文件     138503  2012-05-05 17:57  遗传粒子群优化算法-GAPSO\Schwefels Problem2.22.jpg

     文件     100038  2012-05-05 17:50  遗传粒子群优化算法-GAPSO\SchwefelsProblem 2.fig

     文件      41176  2012-05-05 15:40  遗传粒子群优化算法-GAPSO\Sphere Model.fig

     文件      99297  2012-05-05 15:41  遗传粒子群优化算法-GAPSO\Sphere Model.jpg

     目录          0  2019-07-05 15:26  遗传粒子群优化算法-GAPSO

----------- ---------  ---------- -----  ----

               753457                    15


评论

共有 条评论