由来:根据磷虾群觅食的特性,由Gandomi等在2012年首次提出[1]。在运动过程中,磷虾群不断地聚集以增大种群密度,并减少被捕食的几率,同时探索生存区域,尽可能缩短它们与食物的距离,最终使得种群获得食物。

算法描述:

1、磷虾个体的速度(位置X的微分)更新公式:

解释:磷虾群位置的变化受到三种影响:邻居磷虾的诱导,食物位置的影响和扰动

诱导运动N

诱导运动指的是,每一个磷虾个体会受到其一定范围内的邻居磷虾个体和最佳位置的个体的影响。其形式化表达为:

觅食运动F

类似于诱导运动,觅食运动包含两个部分,第一部分是食物位置,第二部分是先前关于食物位置的经验。表达形式是:

4、最后给出算法步骤和流程图

I. Data Structures: 定义边界,确定算法参数(种群规模Np,最大迭代次数t^max,最大诱导速度N^max,最大觅食速度V_f,最大随机扩散速度D^max,诱导惯性权重w_n,觅食惯性权重w_f和步长缩放因子C_t)等. II. Initialization: 在搜索空间里随机产生初始种群. III. Fitness evaluation: 根据磷虾的位置对每个磷虾个体进行评估(适应值函数计算/优化目标函数计算). IV. Motion calculation:速度分量计算,计算运动速度和位置 * Motion induced by the presence of other individuals * Foraging motion * Physical diffusion V. Implement the genetic operators:多只采用交叉操作 VI. Updating: 在搜索空间内更新个体位置. VII. Repeating:t=t+1, 返回步骤 III 直到满足停止条件(最大迭代次数t^max). VIII. End

参考资料:

论文:

  1. Krill herd_ a new bio-inspired optimization algorithm
  2. An improved krill herd algorithm: Krill herd with linear decresing step

编辑于 2020-04-01

``` % Krill Herd Algorithm V 1.1

% Main paper: % Gandomi A.H., Alavi A.H., Krill Herd: A New Bio-Inspired Optimization Algorithm. % Communications in Nonlinear Science and Numerical Simulation,

function KH clc; close all; clear all format long

%% Initial Parameter Setting NR = 10; % Number if Runs NK = 25; % Number if Krills MI = 200; % Maximum Iteration C_flag = 1; % Crossover flag [Yes=1]

% Bounds (Normalize search space in case of highly imbalanced search space) UB = 10ones(1,10); LB = -10ones(1,10);

NP = length(LB); % Number if Parameter(s) Dt = mean(abs(UB-LB))/2; % Scale Factor

F = zeros(NP,NK);D = zeros(1,NK);N = zeros(NP,NK); %R = zeros(NP,NK); Vf = 0.02; Dmax = 0.005; Nmax = 0.01; Sr = 0; %% Optimization & Simulation for nr = 1:NR %Initial Krills positions for z1 = 1:NP X(z1,:) = LB(z1) + (UB(z1) - LB(z1)).*rand(1,NK); end

for z2 = 1:NKK(z2)=cost(X(:,z2));
endKib=K;
Xib=X;
[Kgb(1,nr), A] = min(K);
Xgb(:,1,nr) = X(:,A);for j = 1:MI % Virtual Foodfor ll = 1:NP;Sf(ll) = (sum(X(ll,:)./K));endXf(:,j) = Sf./(sum(1./K)); %Food Location       Xf(:,j) =findlimits(Xf(:,j)',LB,UB,Xgb(:,j,nr)');% Bounds CheckingKf(j) = cost(Xf(:,j));if 2<=jif Kf(j-1)<Kf(j)Xf(:,j) = Xf(:,j-1);Kf(j) = Kf(j-1);endendKw_Kgb = max(K)-Kgb(j,nr);w = (0.1+0.8*(1-j/MI));for i = 1:NK% Calculation of distancesRf = Xf(:,j)-X(:,i);Rgb = Xgb(:,j,nr)-X(:,i);for ii = 1:NKRR(:,ii) = X(:,ii)-X(:,i);endR = sqrt(sum(RR.*RR));% % % % % % % % % % % % % Movement Induced % % % % % % % % % %% Calculation of BEST KRILL effectif Kgb(j,nr) < K(i)alpha_b = -2*(1+rand*(j/MI))*(Kgb(j,nr) - K(i)) /Kw_Kgb/ sqrt(sum(Rgb.*Rgb)) * Rgb;elsealpha_b=0;end% Calculation of NEIGHBORS KRILL effectnn=0;ds = mean(R)/5;alpha_n = 0;for n=1:NKif and(R<ds,n~=i)nn=nn+1;if and(nn<=4,K(i)~=K(n))alpha_n = alpha_n-(K(n) - K(i)) /Kw_Kgb/ R(n) * RR(:,n);endendend% Movement InducedN(:,i) = w*N(:,i)+Nmax*(alpha_b+alpha_n);% % % % % % % % % % % % % Foraging Motion % % % % % % % % % %% Calculation of FOOD attractionif Kf(j) < K(i)Beta_f=-2*(1-j/MI)*(Kf(j) - K(i)) /Kw_Kgb/ sqrt(sum(Rf.*Rf)) * Rf;elseBeta_f=0;end% Calculation of BEST psition attractionRib = Xib(:,i)-X(:,i);if Kib(i) < K(i)Beta_b=-(Kib(i) - K(i)) /Kw_Kgb/ sqrt(sum(Rib.*Rib)) *Rib;elseBeta_b=0;end% Foraging MotionF(:,i) = w*F(:,i)+Vf*(Beta_b+Beta_f);% % % % % % % % % % % % % Physical Diffusion % % % % % % % % %D = Dmax*(1-j/MI)*floor(rand+(K(i)-Kgb(j,nr))/Kw_Kgb)*(2*rand(NP,1)-ones(NP,1));

end

%% Post-Processing [Best, RonNo] = min(Kgb(end,:)) Xgb(:,end,RonNo) Mean = mean(Kgb(end,:)) Worst = max(Kgb(end,:)) Standard_Deviation = std(Kgb(end,:))

% Convergence plot of the best run semilogy(1:MI+1,Kgb(:,RonNo),1:MI+1,mean(Kgb')) xlabel('{\itNo. of Iterations}') ylabel('{\itf}({\bfx{best}})') legend('Best run values','Average run values') ```

【优化求解】磷虾群算法(Krill Herd Algorithm,KHA)相关推荐

  1. 【优化求解】磷虾群算法(Krill Herd Algorithm),KHA

    由来:根据磷虾群觅食的特性,由Gandomi等在2012年首次提出[1].在运动过程中,磷虾群不断地聚集以增大种群密度,并减少被捕食的几率,同时探索生存区域,尽可能缩短它们与食物的距离,最终使得种群获 ...

  2. 【WSN定位】基于matlab磷虾群算法求解WSN定位优化问题【含Matlab源码 448期】

    ⛄一. 磷虾群算法简介 通过研究南极磷虾觅食和生活习性的仿真模拟实验, 2012年Gandomi和Alavi提出了一种处理复杂优化问题的磷虾群算法.KH算法仍然属于粒子智能算法, 它采用实数编码随机产 ...

  3. 蚁群算法(Ant Colony Algorithm, ACA)简介及其MATLAB实现

    目录 算法概述 ACA算法的数学原理 算法步骤 ACA算法特点 补充:启发式算法 旅行商问题(TSP) ACA的MATLAB实现 算法概述 模拟蚂蚁觅食行为设计的算法.讲蚂蚁群觅食的特点抽象出来转化成 ...

  4. 高斯差分变异和对数惯性权重优化的鲸群算法

    文章目录 一.理论基础 1.鲸群优化算法 2.改进鲸群优化算法 (1)高斯差分变异策略 (2)对数惯性权重策略 (3)IGWOA算法步骤 二.实验测试及分析 三.参考文献 一.理论基础 1.鲸群优化算 ...

  5. 【运筹优化】蚁群算法求解二维矩形装箱问题(java代码实现)

    文章目录 1 前言 2 代码迁移 3 蚁群算法 3.1 蚂蚁类 Ant 3.2 蚁群算法类 ACO_Packing 4 运行结果 5 后话 [运筹优化]求解二维矩形装箱问题的算法合辑(Java代码实现 ...

  6. MATLAB优化工具箱 粒子群算法 particleswarm优化包

    记录几篇对我应用MATLAB粒子群particleswarm优化包很有帮助的文档. [1] <Tune Particle Swarm Optimization Process>matlab ...

  7. 【优化求解】飞蛾扑火算法(MFO)matlab源码

    飞蛾扑火优化(Moth-flame optimization,MFO),由Seyedali Mirjalili在2015年提出,为优化领域提供了一种新的启发式搜索范式:螺旋搜索. 飞蛾在夜间有一种特殊的 ...

  8. 基于莱维飞行改进的粒子群算法输电线桩路径优化,粒子群算法通过shubert函数测试效果,混沌粒子群

    摘要 环境保护,节能减排,减少碳排放越来越受到现代社会的重视,本文利用莱维飞行改进的粒子群算法优化输电线桩路径,对输电线路路径进行优化设计并加以合理选择,有助于构建稳定.高效的输电网络,保证电能供给质 ...

  9. 【优化选址】蚁群算法求解电动汽车充电站与换电站选址优化问题【含Matlab源码 1182期】

    ⛄一.蚁群算法简介 1 概要 模拟蚂蚁觅食行为(最短路径原理)设计的算法.讲蚂蚁群觅食的特点抽象出来转化成数学描述. • 蚁群算法(Ant Colony Algorithm, ACA)由Marco D ...

最新文章

  1. 02基于python玩转人工智能最火框架之TensorFlow人工智能深度学习介绍
  2. 借入单的后续处理-借入归还
  3. jcg q8 固件_JCG学院开设了Java设计模式课程!
  4. Elements in iteration expect to have v-bind:key directives错误的解决办法
  5. controller调用controller的方法_SpringBoot 优雅停止服务的几种方法
  6. 有关国土的几个重大项目
  7. Django关联数据库时报错TypeError: __init__() missing 1 required positional argument: 'on_delete'...
  8. Java基础(冒泡排序)
  9. 电脑鼠标右键没有新建选项怎么办?
  10. Excel 如何合并工作簿中多个工作表
  11. 3.接口测试用例书写
  12. 通过Bottledwater同步PostgreSQL中的数据变化到Kafka消息队列
  13. 关爱的艺术 - 致敬疫情前线奋战的医护人员!
  14. Python实现ACO蚁群优化算法优化支持向量机回归模型(SVR算法)项目实战
  15. 游资会带散户炒股吗?
  16. HAUT2021蓝桥杯专题练习第四周记录——贪心
  17. 中国手机充电器行业市场供需与战略研究报告
  18. 数博会”为何落户贵州?
  19. 速卖通买家号怎么注册?
  20. 一个让客户惊呼救急的BLDC电机驱动案例

热门文章

  1. 12.Struts2_通配符映射
  2. SWRM(2022)
  3. 人工智能数学基础---不定积分4:有理函数求积分的方法
  4. windows 打印机架构
  5. 结构体空间的大小计算
  6. ACER 4745G Ati Mobility HD5650 下载安装驱动,
  7. 在子View未知Parent的情况下解决You must call removeView() on the child's parent first的问题
  8. 磁盘分区魔法师Norton PartitionMagic(PQ8.0)使用图解和使用(搜藏)
  9. 浮点数(floating-point number)二进制存储格式
  10. MIT人工智能实验室:如何做AI科研?