首页 > 编程学习 > 【智能优化算法-灰狼算法】基于协调探索和开发能力的改进灰狼优化算法求解单目标优化问题附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法  神经网络预测 雷达通信  无线传感器

信号处理 图像处理 路径规划 元胞自动机 无人机

⛄ 内容介绍

提出一种协调探索和开发能力的灰狼优化算法.利用佳点集方法初始化灰狼个体的位置,为全局搜索多样性奠定基础;为协调算法的全局探索和局部开发能力,给出一种基于正切三角函数描述的非线性动态变化控制参数;为加快算法的收敛速度,受粒子群优化算法个体记忆功能的启发,设计一种新的个体位置更新公式.10个标准函数的测试结果表明,改进灰狼优化(IGWO)算法能够有效地协调其对问题搜索空间的探索和开发能力.

⛄ 部分代码

%% 清空环境

clc

clear

tic

%% 参数初始化

%粒子群算法中的两个参数

c1 = 1.49445;

% c2 = 1.49445;

% c1 = 1;

c2 = 1;

maxgen=100;   % 进化次数

sizepop=30;   %种群规模

Vmax=3;

Vmin=-3;

% popmax=2;

% popmin=-2;

Dim=5;

lb=ones(1,Dim);

ub=[10 7 15 21 11];

pop = round(rand(sizepop, Dim).*repmat(ub-lb,sizepop,1) + repmat(lb,sizepop,1));

%% 产生初始粒子和速度

for i=1:sizepop

    V(i,:)=3*rands(1,5);  %初始化速度

    %计算适应度

    fitness(i)=fitness1(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(j,find(V(j,:)>Vmax))=Vmax;

        V(j,find(V(j,:)<Vmin))=Vmin;

        %种群更新

        pop(j,:)=pop(j,:)+V(j,:);

        pop=round(pop);

        

        for jj=1:Dim

            if pop(j,jj)>ub(jj)

                pop(j,jj)=ub(jj);

            end

            if pop(j,jj)<lb(jj)

                pop(j,jj)=lb(jj);

            end

        end

        %适应度值

        fitness(j)=fitness1(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

    yy(i)=fitnesszbest;

    

end

%% 结果分析

figure

plot(yy)

title('最优个体适应度','fontsize',12);

xlabel('进化代数','fontsize',12);ylabel('适应度','fontsize',12);

disp(yy(end))

toc

⛄ 运行结果

⛄ 参考文献

[1]龙文, 伍铁斌. 协调探索和开发能力的改进灰狼优化算法[J]. 控制与决策, 2017, 32(010):1749-1757.

❤️ 关注我领取海量matlab电子书和数学建模资料

❤️部分理论引用网络文献,若有侵权联系博主删除

Copyright © 2010-2022 mfbz.cn 版权所有 |关于我们| 联系方式|豫ICP备15888888号