【智能优化算法-灰狼算法】基于协调探索和开发能力的改进灰狼优化算法求解单目标优化问题附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电子书和数学建模资料

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

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

matlab科研助手

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值