Logistic模型描述控制参数的灰狼优化算法

合集下载

灰 狼 优 化 算 法 ( G W O ) 原 理

灰 狼 优 化 算 法 ( G W O ) 原 理

灰狼优化算法--简单易懂附python代码ps:本博文为个人理解,如有错误请不吝赐教本博文部分引用了1、算法原理:简单的讲,狼群中有 Alpha、Beta、Delta三只灰狼做头狼,Alpha是狼王,Beta、Delta分别排第二第三,Beta要听老大Alpha 的,Delta要听Alpha、Beta的。

这三头狼指导着狼群里其他的狼寻找猎物。

狼群寻找猎物的过程就是我们寻找最优解的过程。

2、公式方面大家可以看另一博主的博文。

3、代码如下:import randomimport numpydef GWO(objf, lb, ub, dim, SearchAgents_no, Max_iter):# 初始化 alpha, beta, and delta_posAlpha_pos = numpy.zeros(dim) # 位置.形成30的列表Alpha_score = float("inf") # 这个是表示“正负无穷”,所有数都比 +inf 小;正无穷:float("inf"); 负无穷:float("-inf") Beta_pos = numpy.zeros(dim)Beta_score = float("inf")Delta_pos = numpy.zeros(dim)Delta_score = float("inf") # float() 函数用于将整数和字符串转换成浮点数。

# list列表类型if not isinstance(lb, list): # 作用:来判断一个对象是否是一个已知的类型。

其第一个参数(object)为对象,第二个参数(type)为类型名,若对象的类型与参数二的类型相同则返回Truelb = [lb] * dim # 生成[100,100,.100]30个if not isinstance(ub, list):ub = [ub] * dim# Initialize the positions of search agents初始化所有狼的位置Positions = numpy.zeros((SearchAgents_no, dim))for i in range(dim): # 形成5*30个数[-100,100)以内Positions[:, i] = numpy.random.uniform(0, 1, SearchAgents_no) * (ub[i] - lb[i]) + lb[i] # 形成[5个0-1的数]*100-(-100)-100Convergence_curve = numpy.zeros(Max_iter)#迭代寻优for l in range(0, Max_iter): # 迭代1000for i in range(0, SearchAgents_no): # 5# 返回超出搜索空间边界的搜索代理for j in range(dim): # 30Positions[i, j] = numpy.clip(Positions[i, j], lb[j], ub[j]) # clip这个函数将将数组中的元素限制在a_min(-100),a_max(100)之间,大于a_max的就使得它等于 a_max,小于a_min,的就使得它等于a_min。

改进灰狼优化算法及其数值仿真研究

改进灰狼优化算法及其数值仿真研究
Keywords:grey wolf optimization algorithm;convergence factor;Logistic map
0引言
灰狼优化(GWO)算法是一种新型群智能算法 [1],模拟 了自然界中具有严格等级制度的灰狼群的捕食行为。GWO 算法原理简单,依赖参数少,全局搜索能力较强,已经广泛 应用在仓库作业优化调度 [2]、移动机器人路径规划 [3]、传感 网络节点定位 [4]、电力负荷控制 [5] 中。研究表明,GWO 算 法的收敛速度、寻优精度明显要优于粒子群优化(PSO)算 法、差分进化(DE)算法及引力搜索算法(GSA)。但传统 GWO 算法具有与其它群体智能算法一样的不足,即:当函 数维数增加到一定位置时,GWO 算法会逐渐出现寻优解精 度低、收敛速度慢、易于陷入局部最优等问题。为此,研究 人员给出了各自的解决方案。文献 [6] 利用柯西变异和混沌 改进 GWO 算法的初始种群结构和个体寻优能力,能有效跳 离局部最优,提升寻优精度。文献 [7] 则对 GWO 算法的收 敛系数进行了改进,将线性调整为非线性,可以在局部开发 和全局搜索之间更好地协调。文献 [8] 提出利用针对精英个 体的对立学习结合混沌扰动机制,改进灰狼寻优能力。然 而,已有改进工作总体来看还是比较局部和片面的,在综合 性能上仍有性能提升空间。
关键词:灰狼优化算法;收敛因子;Logistic 映射
中图分类号:TP18
文献标识码:A
文章编号:2096-4706(2020)20-0138-04
Improved Grey Wolf Optimization Algorithm and Its Numerical Simulation Research
步骤 5:按式(2)、(7)、(9)更新参数 a、A、C。

灰狼优化算法(GWO)原理(2020)

灰狼优化算法(GWO)原理(2020)

灰狼优化算法(GWO)原理(2020)混合灰狼优化(HGWO,DE-GWO)算法matlab源码今天学习一个比较新的优化算法,用差分进化(DE)改进原始的灰狼优化(GWO)得到的HGWO(也可以叫DE-GWO)算法。

仍然以优化SVR参数为例,需要的同学可以根据需要自己修改源码。

function[bestc,bestg,test_pre]=my_HGWO_SVR(para,input_train,out put_ train,input_test,output_test)% 参数向量parameters [n,N_iteration,beta_min,beta_max,pCR]% n为种群规模,N_iteration为迭代次数% beta_min 缩放因子下界 Lower Bound of Scaling Factor% beta_max=0.8; % 缩放因子上界Upper Bound of Scaling Factor% pCR 交叉概率 Crossover Probability% 要求输入数据为列向量(矩阵)%% 数据归一化[input_train,rule1]=mapminmax(input_train');[output_train,rule2]=mapminmax(output_train');input_test=mapminmax('apply',input_test',rule1);output_test=mapminmax('apply',output_test',rule2);input_train=input_train';output_train=output_train';input_test=input_test';output_test=output_test';%% 利用差分进化-灰狼优化混合算法(DE_GWO)选择最佳的SVR 参数nPop=para(1); % 种群规模 Population SizeMaxIt=para(2); % 最大迭代次数Maximum Number ofIterations nVar=2; % 自变量维数,此例需要优化两个参数c和g Number of Decision VariablesVarSize=[1,nVar]; % 决策变量矩阵大小Decision Variables Matrix Sizebeta_min=para(3); % 缩放因子下界Lower Bound of Scaling Factorbeta_max=para(4); % 缩放因子上界 Upper Bound of Scaling FactorpCR=para(5); % 交叉概率 Crossover Probabilitylb=[0.01,0.01]; % 参数取值下界ub=[100,100]; % 参数取值上界%% 初始化% 父代种群初始化parent_Position=init_individual(lb,ub,nVar,nPop); % 随机初始化位置parent_Val=zeros(nPop,1); % 目标函数值for i=1:nPop % 遍历每个个体parent_Val(i)=fobj(parent_Position(i,:),input_train,output_ train,input_test,output_test); % 计算个体目标函数值% 突变种群初始化mutant_Position=init_individual(lb,ub,nVar,nPop); % 随机初始化位置mutant_Val=zeros(nPop,1); % 目标函数值for i=1:nPop % 遍历每个个体mutant_Val(i)=fobj(mutant_Position(i,:),input_train,output_ train,input_test,output_test); % 计算个体目标函数值% 子代种群初始化child_Position=init_individual(lb,ub,nVar,nPop); % 随机初始化位置child_Val=zeros(nPop,1); % 目标函数值for i=1:nPop % 遍历每个个体child_Val(i)=fobj(child_Position(i,:),input_train,output_tr ain,input_test,output_test); % 计算个体目标函数值%% 确定父代种群中的Alpha,Beta,Delta狼[~,sort_index]=sort(parent_Val); % 父代种群目标函数值排序parent_Alpha_Position=parent_Position(sort_index(1),:); % 确定父代Alpha狼parent_Alpha_Val=parent_Val(sort_index(1)); % 父代Alpha 狼目标函数值parent_Beta_Position=parent_Position(sort_index(2),:); % 确定父代Beta狼parent_Delta_Position=parent_Position(sort_index(3),:); % 确定父代Delta狼%% 迭代开始BestCost=zeros(1,MaxIt);BestCost(1)=parent_Alpha_Val;for it=1:MaxIta=2-it*((2)-MaxIt); % 对每一次迭代,计算相应的a值,a decreases linearly fron 2 to 0% 更新父代个体位置for par=1:nPop % 遍历父代个体for var=1:nVar % 遍历每个维度% Alpha狼Huntingr1=rand(); % r1 is a random number in [0,1]r2=rand(); % r2 is a random number in [0,1]A1=2*a*r1-a; % 计算系数AC1=2*r2; % 计算系数CD_alpha=abs(C1*parent_Alpha_Position(var)-parent_Position(p ar,var));X1=parent_Alpha_Position(var)-A1*D_alpha;% Beta狼Huntingr1=rand();r2=rand();A2=2*a*r1-a; % 计算系数AC2=2*r2; % 计算系数CD_beta=abs(C2*parent_Beta_Position(var)-parent_Position(par ,var));X2=parent_Beta_Position(var)-A2*D_beta;% Delta狼Huntingr1=rand();r2=rand();A3=2*a*r1-a; % 计算系数AC3=2*r2; % 计算系数CD_delta=abs(C3*parent_Delta_Position(var)-parent_Position(par,var));X3=parent_Delta_Position(var)-A3*D_delta;% 位置更新,防止越界X=(X1+X2+X3)-3;X=max(X,lb(var));X=min(X,ub(var));parent_Position(par,var)=X;parent_Val(par)=fobj(parent_Position(par,:),input_train,out put_train,input_test,output_test); % 计算个体目标函数值 % 产生变异(中间体)种群for mut=1:nPopA=randperm(nPop); % 个体顺序重新随机排列A(A==i)=[]; % 当前个体所排位置腾空(产生变异中间体时当前个体不参与)beta=unifrnd(beta_min,beta_max,VarSize); % 随机产生缩放因子y=parent_Position(a)+beta.*(parent_Position(b)-parent_Posit ion(c)); % 产生中间体% 防止中间体越界y=max(y,lb);y=min(y,ub);mutant_Position(mut,:)=y;% 产生子代种群,交叉操作 Crossoverfor child=1:nPopx=parent_Position(child,:);y=mutant_Position(child,:);z=zeros(size(x)); % 初始化一个新个体j0=randi([1,numel(x)]); % 产生一个伪随机数,即选取待交换维度编号for var=1:numel(x) % 遍历每个维度if var==j0 || rand=pCR % 如果当前维度是待交换维度或者随机概率小于交叉概率z(var)=y(var); % 新个体当前维度值等于中间体对应维度值z(var)=x(var); % 新个体当前维度值等于当前个体对应维度值child_Position(child,:)=z; % 交叉操作之后得到新个体child_Val(child)=fobj(z,input_train,output_train,input_test ,o utput_test); % 新个体目标函数值% 父代种群更新for par=1:nPopif child_Val(par)parent_Val(par) % 如果子代个体优于父代个体parent_Val(par)=child_Val(par); % 更新父代个体% 确定父代种群中的Alpha,Beta,Delta狼[~,sort_index]=sort(parent_Val); % 父代种群目标函数值排序parent_Alpha_Position=parent_Position(sort_index(1),:); % 确定父代Alpha狼parent_Alpha_Val=parent_Val(sort_index(1)); % 父代Alpha 狼目标函数值parent_Beta_Position=parent_Position(sort_index(2),:); % 确定父代Beta狼parent_Delta_Position=parent_Position(sort_index(3),:); % 确定父代Delta狼BestCost(it)=parent_Alpha_Val;bestc=parent_Alpha_Position(1,1);bestg=parent_Alpha_Position(1,2);%% 图示寻优过程plot(BestCost);xlabel('Iteration');ylabel('Best Val');%% 利用回归预测分析最佳的参数进行SVM网络训练cmd_cs_svr=['-s 3 -t 2',' -c ',num2str(bestc),' -g ',num2str(bestg)];model_cs_svr=svmtrain(output_train,input_train,cmd_cs_sv r); % SVM模型训练%% SVM网络回归预测[output_test_pre,~]=svmpredict(output_test,input_test,mo del_cs_svr); % SVM模型预测及其精度test_pre=mapminmax('reverse',output_test_pre',rule2);test_pre = test_pre';function x=init_individual(xlb,xub,dim,sizepop)% 参数初始化函数% lb:参数下界,行向量% ub:参数上界,行向量% dim:参数维度% sizepop 种群规模% x:返回sizepop*size(lb,2)的参数矩阵xRange=repmat((xub-xlb),[sizepop,1]);xLower=repmat(xlb,[sizepop,1]);x=rand(sizepop,dim).*xRange+xLower;%% SVR_fitness -- objective functionfunctionfitness=fobj(cv,input_train,output_train,input_test,output_ test)% cv为长度为2的横向量,即SVR中参数c和v的值cmd = ['-s 3 -t 2',' -c ',num2str(cv(1)),' -g ',num2str(cv(2))];model=svmtrain(output_train,input_train,cmd); % SVM模型训练[~,fitness]=svmpredict(output_test,input_test,model); % SVM模型预测及其精度fitness=fitness(2); % 以平均均方误差MSE作为优化的目标函数值close allload wndspd % 示例数据为风速(时间序列)数据,共144个样本%% HGWO-SVR% 训练-测试数据准备(用前3天预测后一天),用前100天做训练数据input_train(1,:)=wndspd(1:97);input_train(2,:)=wndspd(2:98);input_train(3,:)=wndspd(3:99);output_train=[wndspd(4:100)]';input_test(1,:)=wndspd(101:end-3);input_test(2,:)=wndspd(102:end-2);input_test(3,:)=wndspd(103:end-1);output_test=(wndspd(104:end))';para=[30,500,0.2,0.8,0.2];[bestc,bestg,test_pre]=my_HGWO_SVR(para,input_train',out put_train',input_test',output_test');%% 预测结果图err_pre=output_test'-test_pre;figure('Name','测试数据残差图')set(gcf,'unit','centimeters','position',[0.5,5,30,5])plot(err_pre,'*-');figure('Name','原始-预测图')plot(test_pre,'*r-');hold on;plot(output_test,'bo-');legend('预测','原始',0)set(gcf,'unit','centimeters','position',[0.5,13,30,5]) %__________ _____________________________________________ ____________% 随机梯度下降法不同于批量梯度下降,随机梯度下降是每次迭代使用一个样本来对参数进行更新。

灰狼算法的改进及在机器人路径规划中的应用

灰狼算法的改进及在机器人路径规划中的应用

灰狼算法的改进及在机器人路径规划中的应用灰狼算法的改进及在机器人路径规划中的应用引言:随着机器人在各个领域的广泛应用,路径规划作为机器人导航中的重要问题,一直备受关注。

传统的路径规划方法存在着很多问题,如在复杂环境中效率低下、易受局部最优解的限制等。

为了克服这些问题,灰狼算法作为一种新型的智能优化算法在机器人路径规划中得到了应用。

本文将介绍灰狼算法的基本原理,并探讨其在机器人路径规划中的应用和改进措施。

一、灰狼算法的基本原理灰狼算法是由Mirjalili等人于2014年提出的一种新兴的优化算法,其灵感来源于灰狼群体中的自然行为。

在灰狼群体中,存在着一种等级制度,Alpha狼位于群体的顶端,其余的狼按照等级进行排列。

灰狼算法的基本原理是通过模拟狼群的行为来搜索解空间中的最优解。

灰狼算法的步骤如下:1. 初始化一群随机的灰狼,每个灰狼代表一个解。

2. 根据目标函数的值,确定Alpha狼。

3. 根据Alpha狼的位置和其他狼的位置,通过一定的运算方式更新每个狼的位置。

4. 更新后,通过目标函数的值确定新的Alpha狼。

5. 重复步骤3和步骤4,直到满足终止条件。

灰狼算法以其简单而高效的特点,被广泛应用于各种最优化问题中。

二、灰狼算法在机器人路径规划中的应用在机器人路径规划中,目标是找到从起点到终点的最优路径,同时需要考虑到避免障碍物和优化路径长度等问题。

传统的路径规划算法如A*算法、Dijkstra算法等存在着一些问题,如不适用于复杂环境、易受局部最优解的限制等。

因此,利用灰狼算法解决机器人路径规划问题成为了一种新的选择。

灰狼算法在机器人路径规划中的应用可以概括为以下几个方面:1. 路径搜索空间的表示:将路径规划问题转化为一个优化问题,将路径搜索空间中的每个解表示为一只灰狼的位置,使用目标函数来评估解的质量。

2. 适应度函数的定义:根据实际的问题需求,设计适应度函数以评估每个解的质量。

适应度函数考虑的因素包括路径长度、避碰能力、安全性等。

新型灰狼优化算法在函数优化中的应用

新型灰狼优化算法在函数优化中的应用

新型灰狼优化算法在函数优化中的应用罗佳;唐斌【摘要】针对灰狼优化算法在求解连续函数优化问题时精度不高、易出现早熟收敛等缺陷,提出一种改进的灰狼优化算法.该算法在初始种群个体时采用混沌序列方法,为算法全局搜索的多样性奠定基础.根据个体适应度值将种群分为两个子种群,分别执行不同的搜索方式,以平衡算法的开采能力和勘探能力.选取几个标准测试函数对算法性能进行测试,测试结果表明,与其他群智能优化算法相比,该算法在求解精度和收敛速度方面均具有较强的竞争力.【期刊名称】《兰州理工大学学报》【年(卷),期】2016(042)003【总页数】6页(P96-101)【关键词】灰狼优化算法;函数优化;群智能;混沌【作者】罗佳;唐斌【作者单位】贵州民族大学人文科技学院,贵州贵阳550025;贵州财经大学信息学院,贵州贵阳550004【正文语种】中文【中图分类】TP301.6工程应用领域中的许多问题可以转化为求解一个连续函数优化问题,可描述为式中:f(x)为目标函数,x=(x1,x2,…,xd)为d维决策变量,li和ui分别为变量xi的上界和下界.由于问题(1)的复杂性,传统优化方法难以对其进行有效的求解.群体智能优化算法如遗传算法(genetic algorithm,GA)、粒子群优化(particle swarm optimization,PSO)算法、差分进化(differential evolution,DE)算法、人工蜂群(Artificial bee colony,ABC)算法、布谷鸟搜索算法(cuckoo search algorithm,CSA)、蝙蝠算法(bat algorithm,BA)、万有引力搜索算法(gravitational search algorithm,GSA)和果蝇优化算法(fruit fly optimization,FFA)等,具有结构简单、参数设置少和容易实现等特点,因此在连续函数优化问题中有着广泛的应用[1-6].灰狼优化(grey wolf optimization,GWO)算法是Mirjalili等[7]于2014年提出的一种新型群体智能优化算法,它源于对灰狼群体捕食行为的模拟,通过狼群跟踪、包围、追捕、攻击猎物等过程实现优化的目的.GWO算法具有结构简单、需要调节的参数少、编程容易实现、有较强的搜索能力等特点,在函数优化方面,已被证明在收敛精度和收敛速度上均优于粒子群算法[7].因此,GWO算法在特征子集选择[8]、多输入多输出电力系统[9]、直流电机最优控制[10]和多层传感器训练[11]等领域中有着广泛的应用.然而,GWO算法与其他群体智能优化算法一样,存在易陷入局部最优、求解精度不高、收敛速度慢等缺点.针对GWO算法存在的缺点,研究者对其进行了改进,如Saremi等[12]将动态进化种群算子引入到GWO算法中,以加强算法的局部搜索能力和加快收敛速度;Muangkote等[13]提出一种改进的GWO算法用于训练高斯径向基函数链接网络.本文将混沌序列方法引入初始化种群个体,根据个体适应度值将种群分为两个子种群,分别执行不同的搜索方式,提出一种改进的GWO算法.标准测试函数的实验结果表明了该算法的有效性.1.1 灰狼群体捕食行为灰狼是顶级食肉动物,位于食物链的顶端,其生活方式大多以群居为主,通常每个群体中平均有5~12只狼,构建了灰狼种群等级金字塔,并具有严格的等级管理制度,如图1所示.金字塔第一层为种群中的头狼称为α,它在狼群中是最具有管理能力的个体,主要负责群体各项决策事务,包括捕食行动、作息时间与地点、食物分配等.金字塔第二层称为β,它是α的智囊团队,协助α做出管理决策,并辅助处理群体组织的行为活动.当α出现空缺时,β将替补成为α.β对狼群中除了α以外的其他成员具有支配权,同时还起着协调反馈的作用,它将α狼的命令下达给群体中其他成员,并监督执行情况反馈给α狼.金字塔第三层为δ,δ听从α及β的指令,但可以指挥其他底层个体,主要负责侦察、放哨、捕猎、看护等事务.年老的α及β也将降为δ级别.金字塔最底层称为ω,主要负责平衡种群内部关系,以及照看幼狼的事务.灰狼的种群等级在实现群体高效捕杀猎物的过程中发挥着至关重要的作用.捕食过程由α带领完成,首先狼群以团队模式搜索、跟踪、靠近猎物,然后从各个方位包围猎物,当包围圈足够小且完善时,狼群在α的指挥下由离猎物最近的β、δ展开进攻,在猎物逃跑时,其余个体进行补给,实现群狼包围圈的跟随变换移动,从而对猎物不断实施各个方向的攻击,最终捕获猎物.1.2 GWO算法描述由1.1小节可知,在GWO算法中,由α、β、δ执行追捕行为,ω跟随前三者进行猎物跟踪围剿,最终完成捕食任务.利用GWO算法求解连续函数优化问题时,假设灰狼种群中的灰狼数目为N,搜索空间为d维,其中第i只灰狼在d维空间中的位置可表示为xi=(xi1,xi2,…,xid),种群中当前最优个体记为α,将适应度值排名第二及第三的对应个体记为β和δ,剩余个体记为ω,猎物的位置对应于优化问题的全局最优解.GWO算法的寻优过程为:在搜索空间中随机产生一群灰狼,在进化过程中,由α、β、δ负责对猎物的位置(全局最优解)进行评估定位,群内其余个体以此为标准计算自身与猎物之间的距离,并完成对猎物的全方位靠近、包围、攻击等行为,最终捕获猎物.下面给出算法中的三个定义.定义1 灰狼与猎物间的距离.在捕食过程中,灰狼首先需要对猎物进行包围,对应在GWO算法中,需要确定个体与猎物之间的距离:其中:Xp(t)表示第t代时猎物的位置;X(t)表示第t代时灰狼个体的位置;常数C 为摆动因子,由下式决定:C=2r1r1为[0,1]之间的随机数.定义2 灰狼位置更新:A=2ar2-a其中:A为收敛因子;r2为[0,1]的随机数;a随着迭代次数增加从2线性递减到0.定义3 猎物位置定位.当灰狼判断出猎物所在位置时,将由头狼α带领β、δ发动追捕行为.在狼群中,α、β、δ三者最靠近猎物,可以利用这三者的位置来判断猎物所在方位.狼群内个体跟踪猎物方位的机制如图2所示.狼群中个体跟踪猎物方位的数学描述如下:由式(6~11)计算出群内个体与α、β、δ的距离,然后由式(12)即可综合判断出个体向猎物移动的方向. GWO算法的伪代码如下:Initialize the grey wolf population Xi (i =1,2,…,N)Initialize a,A,and CCalculate the fitness of each individualXα= the best search individualXβ= the second best search ind ividualXδ= the third best search individualWhile (t Max number of iterations)For each search individualUpdate the position of the current search individual by equation (12)End forUpdate a,A,and CCalculate the fitness of all search individualUpdate Xα,Xβ,and Xδt=t +1End whileReturn Xα2.1 种群初始化对基于种群迭代的智能优化算法来说,初始种群的好坏影响着算法的全局收敛速度和解的质量,多样性较好的初始种群对提高算法的寻优性能很有帮助[14].另外,在求解函数优化问题前,全局最优解处于什么位置没有任何先验知识.因此,在种群初始化时应尽可能使个体能均匀分布在搜索空间中.然而,在标准GWO算法中,初始种群是随机产生的,无法保证个体在搜索空间中均匀分布,从而影响算法的搜索效率.混沌是一种非线性现象,可在一定范围内按自身规律不重复地遍历所有状态,将混沌算子引入到优化算法中可提高算法的全局搜索能力[15].因此,本文利用Tent混沌序列来产生初始种群.Tent映射比Logistic映射具有更好的遍历均匀性和更快的收敛速度,并通过严格的数学推理,证明了Tent映射可以作为产生优化算法的混沌序列.Tent映射表达式为Tent映射经贝努利位移变换后表示如下:根据Tent映射的特性,在可行域中产生Tent混沌序列的步骤详见文献[15].2.2 动态搜索策略在GWO算法中,α、β、δ作为种群的最高决策层,引导整个狼群靠近并捕获目标猎物.显然,最高决策层个体为种群内个体提供了启发式信息,能够有效激励群体智慧,是狼群进化的根本动力.然而,不可忽略的是,最高决策层同时也约束了狼群的多样性发展.因为在群体进化过程中,所有个体均朝着最优个体方向移动,在进化后期,导致整个种群进化停滞,从而陷入局部最优.因此,本文提出一种动态搜索策略,其原理如下:首先,根据群体中个体的适应度值,将种群分为两个子种群,即局部子种群和全局子种群,适应度值较优的个体作为局部子种群,适应度值较差的个体作为全局子种群,两个子种群的个体数目分别为N1和N2,且满足N1+N2=N(N为种群规模).然后,对局部子种群中的个体,按照式(6~11)进行移动,它们将逐步向全局最优解方向靠近,主要完成局部搜索任务.对全局子种群中的个体,主要进行全局搜索,同时保持种群的多样性,根据下式进行移动搜索:其中:X(t)为全局子种群中随机选择的个体.考虑到基于种群迭代的群体智能优化算法在进化前期需要具有较强的全局搜索能力,能使种群在整个解空间中进行大范围的全局搜索,这时全局子种群中个体数目N2应取一较大数;在进化中期,应平衡算法的全局搜索和局部搜索能力,这时两个子种群个体数目N1和N2的取值相当;在进化后期,算法的主要任务是进行局部精确搜索,这时局部子种群个体数目N1应取一较大值.由此可知,两个子种群中的个体数目N1和N2不是固定不变,而是随着进化过程动态变化的,从而在一定程度上协调了算法的全局搜索和局部搜索能力.2.3 IGWO算法步骤Step 1:设置算法参数,种群规模N,最大迭代次数,在解空间中随机生成a、A、C等参数;Step 2:在解空间中利用混沌序列产生N个灰狼个体位置构成初始种群,令t=1;Step 3:计算种群中每个灰狼个体的适应度值,并将适应度值进行排序,记录最优适应度值及对应位置;Step 4:将适应度值排列前三位的灰狼个体位置分别记为Xα、Xβ和Xδ;Step 5:对局部子种群中的灰狼个体,按照式(6~8)计算剩余个体与Xα、Xβ和Xδ的距离,并根据式(9~12)更新各灰狼个体的位置;Step 6:对全局子种群中的灰狼个体,按照式(15)更新个体的位置;Step 7:更新a、A、C等参数的值;Step 8. 判断算法是否满足结束条件,若满足,则算法结束,输出最优解Xα;否则,返回Step 3.3.1 测试函数为了验证IGWO算法的寻优能力,从文献中选取5个标准测试函数进行数值实验,5个测试函数表达式及变量范围见表1,其中,f1(x)~f5(x)分别称为Sphere函数、Rosenbrock函数,Rastrigin函数、Ackley函数和Griewank函数.除了Sphere 函数为单峰函数以外,其他4个函数均为多峰函数,5个测试函数的理论最优解均为0.5个测试函数的空间特征如图3所示.3.2 实验结果及分析利用IGWO算法对上述5个标准测试函数进行数值实验,其参数设置如下:种群规模N=30,最大迭代次数为1 000,每个函数的维数均设置为30维,每个测试函数在上述参数设置下独立运行30次,记录其最优值、平均值、最差值和标准差,并与ABC算法、GSA算法和GWO算法的结果进行比较.三种算法的参数设置如下:在ABC算法中,种群规模N=30,最大迭代次数为1 000,limit的值设为100;在GSA算法中,种群规模N=30,G0=100,β=20;GWO 算法的参数与IGWO算法相同.表2给出了IGWO算法与ABC算法、GSA算法和GWO算法对5个标准测试函数的实验结果比较.从表2可以看出,对于Sphere函数、Rastrigin函数、Ackley函数和Griewank函数,本文提出的IGWO算法在30次实验中均能一致地找到全局最优解,尤其是Rastrigin函数和Griewank函数,均能找到理论精确值0;另外,IGWO算法对这4个函数30次实验得到的标准差非常小,甚至为0,这也充分说明IGWO算法具有较强的鲁棒性.由于Rosenbrock函数是非常复杂的函数,IGWO算法没找到全局最优解.与ABC算法相比,在5个测试函数上无论是最优值、平均值、最差值,还是标准差值,IGWO算法均获得了较好的结果.与GSA算法和GWO算法相比,对于Sphere 函数、Rastrigin函数、Ackley函数和Griewank函数,IGWO算法获得了较好的寻优结果.对于复杂的Rosenbrock函数,IGWO算法得到了较好的最优值、平均值和最差值,而GSA算法和GWO算法则获得了较好的标准差.图4~8给出四种算法对5个测试函数的进化收敛曲线,可以清晰地看出,除了复杂的Rosenbrock函数,IGWO算法对其他4个测试函数均能快速地收敛到全局最优解.作为一种新型的群体智能优化方法,灰狼优化算法自提出以来受到了广泛的关注,但其存在收敛速度慢、易陷入局部最优等缺陷.为了克服其缺点,本文提出一种基于动态搜索策略的改进灰狼优化算法用于求解无约束优化问题.在改进算法中,首先利用混沌序列产生初始种群个体,以保证狼群个体能均匀分布在解空间中;然后将初始种群分为全局子种群和局部子种群,分别执行不同的搜索方式,以协调算法的全局搜索和局部搜索能力,且子种群个体数目自适应动态调整.最后,对几个标准测试函数进行仿真实验,结果表明,与其他几种智能优化算法相比,改进灰狼优化算法具有较强的寻优性能和鲁棒性.【相关文献】[1] ISLAM S M,DAS S,GHOSH S,et al.An adaptive differentialevolution algorithm with novel mutation and crossover strategies for global numericaloptimization [J].IEEE Transactions on System,Man,and Cybernetics,2012,42(2):482-500. [2] 龙文.自适应调整子种群个体数目的遗传算法及其应用 [J].兰州理工大学学报,2013,39(4):80-84.[3] YAZDANI S,NUZAMABADI-POUR H,KAMYAB S.A gravitational search algorithm for multimodal optimization [J].Swarm and Evolutionary Computation,2014,14(1):1-14.[4] 肖辉辉,段艳明.基于差分进化的布谷鸟搜索算法 [J].计算机应用,2014,34(6):1631-1635,1640.[5] 王伟,龙文.基于交叉算子的改进人工蜂群算法 [J].兰州理工大学学报,2014,41(1):101-106.[6] GAO W F,LIU S Y,HUANG L L.Enhancing artificial bee colony algorithm using more information-based search equations [J].Information Sciences,2014,270(3):112-133.[7] MIRJALILI S,MIRJALILI S M,LEWIS A.Grey wolf optimizer [J].Advances in Engineering Software,2014,69(7):46-61.[8] EMARY E,ZAWBAA H M,GROSAN C,et al.Feature subset selection approach by gray-wolf optimization [C]//Proceedings of the International Afro-European Conference on Industrial Advancement.Berlin:Springer,2014:1-13.[9] EI-GAAFARY A A M,MOHAMED Y S,HEMEIDA A M,et al.Grey wolf optimization for multi input multi output system [J].Universal Journal of Communications and Networks,2015,3(1):1-6.[10] MADADI A,MOTLAGH M M.Optimal control of DC motor using grey wolf optimizer algorithm [J].Technical Journal of Engineering and Applied Sciences,2014,4(4):373-379. [11] MIRJALILI S.How effective is the grey wolf optimizer in training multi-layer perceptrons [J].Applied Intelligence,2015,42(4):608-619.[12] SAREMI S,MIRJALILI S Z,MIRJALILI S M.Evolutionary population dynamics and grey wolf optimizer [J].Neural Computing and Applications,2015,26(5):983-989.[13] MUANGKOTE N,SUNAT K,CHIEWCHANWATTANA S.An improved grey wolf optimizer for training q-Gaussian radial basis functional-link nets [C]//Proceedings of the International Conference on Computer Science and Engineering.Khon Kaen:IEEE,2014:209-214.[14] HAUPT R,HAUPT S.Practical genetic algorithm [M].New York:John Wiley &Rons,2004.[15] 单梁,强浩,李军,等.基于Tent映射的混沌优化算法 [J].控制与决策,2005,20(2):179-182.。

灰狼算法和粒子群算法

灰狼算法和粒子群算法

灰狼算法和粒子群算法灰狼算法和粒子群算法是两种常用的进化计算算法,它们在优化问题中具有广泛的应用。

本文将分别介绍灰狼算法和粒子群算法的原理和特点,并通过比较它们的优缺点,探讨其适用的场景。

1. 灰狼算法灰狼算法是由灰狼群体的行为和特性启发而来的一种群体智能算法。

灰狼群体中的每只狼都有一个适应度值,适应度值越高表示狼的位置越好。

算法的核心思想是模拟灰狼群体中的寻食行为,通过迭代更新每只狼的位置,最终找到最优解。

灰狼算法的具体步骤如下:1)初始化灰狼群体的位置和适应度值;2)通过适应度值的大小确定群体中的Alpha狼、Beta狼和Delta 狼;3)根据Alpha狼的位置和其他狼的位置,更新每只狼的位置;4)更新每只狼的适应度值;5)重复步骤3和4,直到满足停止条件。

灰狼算法的优点是简单易实现,收敛速度快,适用于解决复杂的非线性优化问题。

然而,灰狼算法在处理高维优化问题时,容易陷入局部最优解。

2. 粒子群算法粒子群算法是一种模拟鸟群觅食行为的群体智能算法。

算法中的每个粒子都有一个位置和速度,通过更新粒子的速度和位置,最终找到最优解。

粒子群算法的核心思想是通过个体和群体的交互合作来搜索最优解。

粒子群算法的具体步骤如下:1)初始化粒子群体的位置和速度;2)根据粒子的适应度值,更新局部最优解;3)根据局部最优解和全局最优解,更新粒子的速度和位置;4)更新粒子的适应度值;5)重复步骤2、3和4,直到满足停止条件。

粒子群算法的优点是容易实现,具有较好的全局搜索能力,适用于解决多峰优化问题。

然而,粒子群算法在处理高维优化问题时,易陷入局部最优解。

3. 算法比较与适用场景灰狼算法和粒子群算法都是基于群体智能的优化算法,它们在某些方面具有相似之处,但也存在一些差异。

灰狼算法与粒子群算法相比,优点是收敛速度快,适用于解决复杂的非线性优化问题;缺点是在处理高维优化问题时,容易陷入局部最优解。

粒子群算法与灰狼算法相比,优点是具有较好的全局搜索能力,适用于解决多峰优化问题;缺点是在处理高维优化问题时,易陷入局部最优解。

gwo控制参数

gwo控制参数

gwo控制参数GWO(Grey Wolf Optimizer)是一种模拟灰狼群体行为的优化算法,它通过模拟灰狼的社会行为来解决复杂的优化问题。

在GWO算法中,存在一些重要的控制参数,这些参数会直接影响算法的性能和收敛速度。

本文将介绍GWO算法中的几个重要控制参数,并讨论它们的作用以及如何选择合适的参数值。

1. 灰狼群体数量(N)灰狼群体数量是指参与算法优化的灰狼个体数量。

较大的群体数量可以增加搜索空间的覆盖度,提高算法的全局搜索能力。

然而,过大的群体数量会增加计算复杂度,降低算法的收敛速度。

因此,在选择灰狼群体数量时,需要综合考虑问题的复杂度和计算资源的限制。

2. 迭代次数(Max_iter)迭代次数是指算法执行的总次数。

较大的迭代次数可以增加算法的搜索深度,提高优化效果。

然而,过大的迭代次数会增加计算时间,降低算法的执行效率。

因此,在选择迭代次数时,需要根据问题的复杂度和时间资源的限制进行权衡。

3. 狼群的迁徙速度(a)狼群的迁徙速度参数控制了狼群在搜索空间中的移动速度。

较大的迁徙速度可以增加算法的全局搜索能力,但可能会导致算法陷入局部最优解。

较小的迁徙速度可以提高算法的局部搜索能力,但可能会导致算法收敛速度较慢。

因此,在选择狼群的迁徙速度时,需要根据问题的性质和优化目标进行调整。

4. 狼群的迁徙距离(A)狼群的迁徙距离参数控制了狼群在搜索空间中的移动范围。

较大的迁徙距离可以增加算法的搜索范围,提高全局搜索能力。

然而,过大的迁徙距离可能会导致算法的震荡和不稳定。

较小的迁徙距离可以提高算法的局部搜索能力,但可能会导致算法陷入局部最优解。

因此,在选择狼群的迁徙距离时,需要综合考虑问题的复杂度和优化目标。

5. 狼的位置更新系数(C)狼的位置更新系数参数控制了狼的位置更新的幅度。

较大的位置更新系数可以增加算法的搜索速度,但可能会导致算法在搜索空间中跳跃过大。

较小的位置更新系数可以增加算法的稳定性,但可能会导致算法的收敛速度较慢。

灰狼算法的参数-概述说明以及解释

灰狼算法的参数-概述说明以及解释

灰狼算法的参数-概述说明以及解释1.引言1.1 概述灰狼算法是一种新兴的优化算法,受到了越来越多研究者的关注和重视。

灰狼算法模拟了自然界中灰狼群体的协同行为,利用优胜劣汰的原理来搜索最优解。

在实际问题中,选择适当的参数设置对于算法的性能至关重要。

因此,深入研究灰狼算法的参数对算法的性能提升具有重要意义。

本文将重点介绍灰狼算法的参数及其调优方法,希望能够为灰狼算法的进一步发展提供参考。

1.2 文章结构文章结构部分主要介绍了整篇文章的组织结构,包括了引言、正文和结论三个主要部分。

在引言部分,将会对灰狼算法的参数进行简要介绍,同时呈现出整篇文章的目的和重要性。

在正文部分,将详细探讨灰狼算法的背景、参数的重要性以及参数调优方法。

最后在结论部分,会对整篇文章的主要内容做一个总结,并展望灰狼算法在未来的应用前景和研究方向。

整个文章结构清晰明了,逻辑性强,有助于读者更好地理解和掌握灰狼算法的参数优化问题。

1.3 目的灰狼算法作为一种新兴的优化算法,在解决各种优化问题中展现出了很好的性能和效果。

本文的目的旨在深入探讨灰狼算法的参数对算法性能的影响,通过对参数的调整和优化来提高算法的收敛速度和优化能力,从而进一步提高算法的实用性和效率。

在深入研究灰狼算法参数的基础上,我们还希望结合实际问题进行案例分析,验证参数调优后算法的实际效果,为灰狼算法在实际工程和科学研究中的应用提供更有力的支持和指导。

通过本文的研究,希望能够为推动灰狼算法在优化问题中的应用,以及进一步推动优化算法的发展做出贡献。

2.正文2.1 灰狼算法简介灰狼算法是一种启发式算法,基于自然界灰狼群体的行为特征而设计。

这种算法最初由米尔扎·赛利曼·拉希迪(Mirjalili)等人提出,并于2014年首次发表。

灰狼算法的灵感来源于灰狼群体的社会结构和行为,灰狼群体以一种复杂的等级结构来协调捕猎活动,这种结构包括首领、子群体和普通成员。

在灰狼算法中,解决问题的种群被建模为一群灰狼。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第44卷 第2期 2018 年 4 月
兰暋州暋理暋工暋大暋学暋学暋报 JournalofLanzhou UniversityofTechnology
暋 暋 文 章 编 号 :1673灢5196(2018)02灢0095灢07
Vol.44 No.2 Apr.2018

Logistic模型描述控制参数的灰狼优化算法
鱼 群 算 法 (artificialfishswarm,AFS)[3]和 人 工 蜂 群 算 法 (artificialbeecolony,ABC)[4]等 . 暋暋2016 年 澳 大 利 亚 学 者 Mirjalili等 提 [5] 出 了 灰 狼优 化 算 法 (grey wolfoptimization,GWO),它 是 一种模拟自然界中灰狼群体的社会等级制度和捕食 行为的新型群 体 智 能 优 化 算 法.由 于 GWO 算 法 具 有实现简单、求解 精 度 高、稳 定 性 强 等 特 点,在 函 数 全局优化方面,已被 证 明 在 收 敛 精 度 和 速 度 上 均 优 于 PSO 和引力搜索 算 法(gravitationalsearchalgo灢
Greywolfoptimizationalgorithm withLogisticmodel describedcontrolparameter
CHEN Qing灢rong,TANGBin
(SchoolofInformation,Guizhou UniversityofFinanceandEconomics,Guiyang暋550025,China)
Keywords:greywolfoptimizationalgorithm;Logisticmodel;chaotic;functionoptimization
暋暋自20世纪90 年 代 以 来,通 过 模 拟 生 物 群 体 协 同合作机 制 而 衍 生 的 群 体 智 能 算 法 得 到 了 快 速 发 展 ,并 取 得 了 极 为 丰 富 的 研 究 成 果 ,典 型 成 果 包 括 粒 子群优 化 算 法(particleswarmoptimization,PSO)[1]、 蚁群优化算法(antcolonyoptimization,ACO)[2]、人工
暋 暋 收 稿 日 期 :2016灢10灢17 暋 暋 基 金 项 目 :贵 州 省 科 学 技 术 基 金 (黔 科 合 基 础 [2016]1022) 暋 暋 作 者 简 介 :陈 清 容 (1985灢),女 ,四 川 泸 州 人 ,硕 士 ,助 教 . 暋 暋 通 信 作 者 :唐 暋 斌 (1983灢),男 ,湖 南 隆 回 人 ,硕 士 ,讲 师 .
Abstract:Aimedattheproblemthatthesolutionofthegreywolfoptimization (GWO)algorithmisease
tobetrappedintolocaloptimumandhaslowprecision,anadaptivegreywolfoptimizationGWO(AGWO) algorithm withLogisticmodel灢basecontrolparameterwasproposed.Theimportantroleofthecontrolpa灢 rameteraintheevolutionprocessofthealgorithm wasanalyzed.TheLogisticmodeltheorywasimbedded intotheGWOalgorithmto makeadaptiveadjustmentofthecontrolparametera.Inaddition,inorderto enhancetheglobalconvergencespeedofthealgorithmaninitialpopulationwasgeneratedwithchaoticse灢 quencemethod.Itwasshownbynumericexperimenton8complexstandardtestfunctionsthattheoverall performanceofAGWO wassuperiortothatofthestandardGWO,NGWO,GWO灢DE,IGWO,andGA灢 GWO whenthenumberofevaluationofmaximumfitnessfunction wasidentical.Thesimulationresult showedthatinframeworkofGWOalgorithmtheadaptiveadjustmentofcontrolparameterwithLogistic modelwouldremarkablybesuperiortothelinearprogressivedecreaseadjustment methodinconnection withitsperformance.
陈清容,唐暋斌
(贵州财经大学 信息学院,贵州 贵阳暋550025)
摘要:针对标准灰狼优化算法(GWO)易陷入局部最优和求解精度低的问题,提出 一 种 基 于 Logistic模 型 的 控 制 参 数自适应调整 GWO(AGWO)算法.分析了控制参数a 在算法进化过程中的重要作用,将 Logistic模 型 理 论 嵌 入 到 GWO 算法中自适应调整控制参数a.此外,为了提高算法的 全 局 收 敛 速 度,用 混 沌 序 列 方 法 产 生 初 始 种 群.采 用 8 个复杂基准测试函数进行数值实验,在相同的最大适应度函数评价次数下,AGWO 总 体 性 能 上 均 优 于 标 准 GWO、 NGWO、GWO灢DE、IGWO 和 GA灢GWO 算法.实验结果表明,在 GWO 算 法 框 架 内,采 用 Logistic模 型 自 适 应 调 整 控制参数在性能上明显优于线性递减调整方式. 关 键 词 :灰 狼 优 化 算 法 ;Logistic模 型 ;混 沌 ;函 数 优 化 中 图 分 类 号 :TP301.6暋 暋 文 献 标 志 码 :A
相关文档
最新文档