基于引力搜索算法的涵数优化分析matlab优化算法十三
Posted 张叔zhangshu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于引力搜索算法的涵数优化分析matlab优化算法十三相关的知识,希望对你有一定的参考价值。
基于引力搜索算法的涵数优化分析
万有引力搜索算法( Gravitational Search algorithm,GSA)是由伊朗克曼大学的Esmat rashed等人于2009年所提出的一种新的启发式优化算法,其源于对物理学中的万有引力进行模拟产生的群体智能优化算法。万有引力搜索算法GSA的原理是通过将搜索粒子看作一组在空间运行的物体,物体间通过万有引力相互作用吸引,物体的运行遵循动力学的规律。适度值较大的粒子其惯性质量越大,因此万有引力会促使物体们朝着质量最大的物体移动,从而逐渐逼近求出优化问题的最优解。万有引力搜索算法GSA具有较强的全局搜索能力与收敛速度。随着GSA理论研究的进展,其应用也越来越广泛,逐渐引起国内外学者的关注。但是万有引力搜索算法GSA与其他全局算法一样,存在易陷入局部解,解精度不商等问题,有很多待改进之处本章将着重向广大编程爱好者介绍最基本的万有引力算法,各编程科研人员可以基于本章算法加以改进并应用到实际案例中
惯性质量计算
参数分析
万有引力算法实际上跟差分进化算法(DE)有些类似,公式的后半部分是粒子与其他粒子的差分向量与惯性质量,以及随机向量跟距离的乘积之和。由于粒子间的距离同样可由各向量之间的差分向量得到,因此,万有引力搜索算法GSA算法中实际中有作用的参数为常量Go,变化量a,以及惯性质量M。
% 万有引力搜索算法
function [Fbest,Lbest,BestChart,MeanChart]=GSA(F_index,N,max_it,ElitistCheck,min_flag,Rpower)
%V: 速度
%a: 加速度
%M: 质量. Ma=Mp=Mi=M;
%dim: 待求解未知量维数
%N: 智能粒子个数
%X: 种群个体位置. dim-by-N matrix.
%R: 种群之间的距离
%[low-up]: 取值范围
%Rnorm: 范数
%Rpower: Power of R
Rnorm=2; % 2阶范数,即欧氏距离
% 获取待求解目标方程的未知数个体以及取值范围
[low,up,dim]=test_functions_range(F_index);
% 随机的初始化个体
X=initialization(dim,N,up,low);
% 适应度值数组初始化
BestChart=[];
MeanChart=[];
V=zeros(N,dim); % 速度初始化
for iteration=1:max_it % 迭代开始
% iteration
% 检查x个体是否在取值范围内
X=space_bound(X,up,low);
% 计算适应度值
fitness=evaluateF(X,F_index);
if min_flag==1
[best best_X]=min(fitness); %minimization.
else
[best best_X]=max(fitness); %maximization.
end
if iteration==1
Fbest=best;Lbest=X(best_X,:);
end
if min_flag==1
if best<Fbest % 极小值求解
Fbest=best;Lbest=X(best_X,:);
end
else
if best>Fbest % 极大值求解
Fbest=best;Lbest=X(best_X,:);
end
end
BestChart=[BestChart Fbest]; % 最优适应度值
MeanChart=[MeanChart mean(fitness)]; % 平均适应度值
% M计算
[M]=massCalculation(fitness,min_flag);
%万有引力常数计算
G=Gconstant(iteration,max_it);
%加速度a计算
a=Gfield(M,X,G,Rnorm,Rpower,ElitistCheck,iteration,max_it);
% 个体更新
[X,V]=move(X,a,V);
end % 迭代终止
以上是关于基于引力搜索算法的涵数优化分析matlab优化算法十三的主要内容,如果未能解决你的问题,请参考以下文章
ELM预测基于matlab引力搜索算法优化极限学习机预测(含前后对比)含Matlab源码 2205期
优化分配基于matlab模拟退火策略优化免疫算法求解无人机协同优化分配问题含Matlab源码 1978期
优化算法基于matlab内存进化算子和局部搜索改进灰狼优化算法含Matlab源码 2378期