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

本文涉及的产品
应用型负载均衡 ALB,每月750个小时 15LCU
传统型负载均衡 CLB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
简介: 【智能优化算法-灰狼算法】基于协调探索和开发能力的改进灰狼优化算法求解单目标优化问题附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

⛄ 运行结果

image.gif编辑

image.gif编辑

image.gif编辑

⛄ 参考文献

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

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

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


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
相关文章
|
7天前
|
机器学习/深度学习 传感器 算法
【高创新】基于优化的自适应差分导纳算法的改进最大功率点跟踪研究(Matlab代码实现)
【高创新】基于优化的自适应差分导纳算法的改进最大功率点跟踪研究(Matlab代码实现)
83 14
|
7天前
|
存储 算法 安全
【多目标工程应用】基于MOGWO的地铁隧道上方基坑工程优化设计研究(Matlab代码实现)
【多目标工程应用】基于MOGWO的地铁隧道上方基坑工程优化设计研究(Matlab代码实现)
|
7天前
|
机器学习/深度学习 运维 算法
【微电网多目标优化调度】多目标学习者行为优化算法MOLPB求解微电网多目标优化调度研究(Matlab代码实现)
【微电网多目标优化调度】多目标学习者行为优化算法MOLPB求解微电网多目标优化调度研究(Matlab代码实现)
|
8天前
|
算法 计算机视觉
【MPDR & SMI】失配广义夹角随输入信噪比变化趋势、输出信干噪比随输入信噪比变化趋势研究(Matlab代码实现)
【MPDR & SMI】失配广义夹角随输入信噪比变化趋势、输出信干噪比随输入信噪比变化趋势研究(Matlab代码实现)
|
8天前
|
编解码 人工智能 算法
【采用BPSK或GMSK的Turbo码】MSK、GMSK调制二比特差分解调、turbo+BPSK、turbo+GMSK研究(Matlab代码实现)
【采用BPSK或GMSK的Turbo码】MSK、GMSK调制二比特差分解调、turbo+BPSK、turbo+GMSK研究(Matlab代码实现)
|
8天前
|
机器学习/深度学习 编解码 并行计算
【改进引导滤波器】各向异性引导滤波器,利用加权平均来实现最大扩散,同时保持图像中的强边缘,实现强各向异性滤波,同时保持原始引导滤波器的低低计算成本(Matlab代码实现)
【改进引导滤波器】各向异性引导滤波器,利用加权平均来实现最大扩散,同时保持图像中的强边缘,实现强各向异性滤波,同时保持原始引导滤波器的低低计算成本(Matlab代码实现)
|
8天前
|
机器学习/深度学习 传感器 边缘计算
【故障诊断】基于时滞反馈随机共振的增强型旋转电机故障诊断(Matlab代码实现)
【故障诊断】基于时滞反馈随机共振的增强型旋转电机故障诊断(Matlab代码实现)
|
7天前
|
存储 编解码 算法
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
|
8天前
|
传感器 机器学习/深度学习 算法
【UASNs、AUV】无人机自主水下传感网络中遗传算法的路径规划问题研究(Matlab代码实现)
【UASNs、AUV】无人机自主水下传感网络中遗传算法的路径规划问题研究(Matlab代码实现)
|
8天前
|
运维 算法
【故障诊断】基于最小熵反卷积、最大相关峰度反卷积和最大二阶环平稳盲反卷积等盲反卷积方法在机械故障诊断中的应用研究(Matlab代码实现)
【故障诊断】基于最小熵反卷积、最大相关峰度反卷积和最大二阶环平稳盲反卷积等盲反卷积方法在机械故障诊断中的应用研究(Matlab代码实现)

热门文章

最新文章