⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 initial_param.m

📁 采用标准群粒子优化计算方法
💻 M
字号:

%程序初始化
% flag=1:Spherical函数,表达式为f(x1,x2)=x1^2+x2^2
% flag=2:Rosenbrock函数,表达式为f(x1,x2)=100*(x1^2-x2)^2+(1-x1)^2
% flag=3:Shaffer'sf6函数,表达式为f(x1,x2)=(sin(sqrt(x1^2+x2^2))^2-0.5)/((0.001*(x1^2+x2^2)+1)^2)-0.5
% flag=4:Rastrigrin函数,表达式为f(x1,x2)=x1^2-10*cos(2*pi*x1)+10+x2^2-10*cos(2*pi*x2)+10
% flag=5:Griewank函数,表达式为f(x1,x2)=(1/4000)*(x1^2+x2^2)-cos(x1/sqrt(1))*cos(x2/sqrt(2))+1
% flag=6:Ackley函数,表达式为f(x1,x2)=-20*exp(-0.2*sqrt((x1^2+x2^2)/2))-exp((cos(2*pi*x1)+cos(2*pi*x2))/2)+20+exp(1)
% flag=7:Axis Parallel hyper-ellipsoid函数,表达式为f(x1,x2)=x1^2+2*x2^2
% flag=8:Schwefel函数,表达式为f(x1,x2)=x1*sin(sqrt(abs(x1)))+x2*sin(sqrt(abs(x2)))+418.9829*2

Fun_Select=8;                         %目标函数选择
x_min=-500;                            %搜索区域下限
x_max=500;                             %搜索区域上限

D=2;                                  %搜索空间维数(未知数个数)
popsize=30;                           %种群规模大小
gen=100;                              %进化代数
w=0.7298;                             %惯性权重
c1=1.49445;                            %学习因子(个体最优导向系数)
c2=1.49445;                            %学习因子(全局最优导向系数)
max_velocity=0.5*(x_max-x_min);       %最大速度限制(第1维)
best_fitness=inf;                     %初始化最优粒子适应值为无穷大
best_in_history(gen)=inf;             %初始化全局历史最优解的适应值为无穷大
best_in_history(:)=inf;               %初始化全局历史最优解的适应值为无穷大


%初始化种群,创建popsize行4*D+3列的0矩阵
pop(popsize,4*D+3)=0;

%pop(i,1)为x1位置分量(第1维分量)
%pop(i,2)为x2位置分量(第2维分量)
%......
%pop(i,D)为xD位置分量(第D维分量)

%pop(i,D+1)为x1速度分量
%pop(i,D+2)为x2速度分量
%......
%pop(i,2*D)为xD速度分量

%pop(i,2*D+1)为个体最优解x1位置分量
%pop(i,2*D+2)为个体最优解x2位置分量
%......
%pop(i,3*D)为个体最优解xD位置分量

%pop(i,3*D+1)为局部最优解x1位置分量
%pop(i,3*D+2)为局部最优解x2位置分量
%......
%pop(i,4*D)为局部最优解xD位置分量

%pop(i,4*D+1)为个体最优解的适应值
%pop(i,4*D+2)为当前个体适应值
%pop(i,4*D+3)为局部最优解的适应值

for i=1:popsize   
    for j=1:D
        pop(i,j)=(x_max-x_min)*rand()+x_min;  %初始化种群中的粒子位置(位于x_min与x_max之间)
        pop(i,D+j)=rand();                    %初始化种群微粒速度
        pop(i,2*D+j)=pop(i,j);                %初始状态下个体最优解(pbest)等于初始位置
        pop(i,3*D+j)=pop(i,j);                %初始状态下局部最优解(lbest)等于初始位置
    end
    pop(i,4*D+1)=inf;                         %初始化个体最优解的适应值为无穷大
    pop(i,4*D+2)=inf;                         %初始化当前个体适应值为无穷大
    pop(i,4*D+3)=inf;                         %初始化局部最优解适应值为无穷大
end


gbest(D)=0;
gbest(:)=pop(1,1:D);                          %全局最优初始值为种群第一个粒子的位置


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -