基于竞争学习的混沌神经网络算法用于全局优化(Matlab代码实现)

目录

1 概述

2 数学模型 

3 运行结果

4 参考文献 

5 Matlab代码实现


1 概述

目前,很多工程领域都涉及到优化问题,如小规模负荷预测问题[1]、光伏模型参数识别[2]、作业车间调度问题[3]、机器人路径规划[4] , 风电预测[5], 能源管理问题[6], 彩色图像分割[7], 联合能源-储备市场清洁问题[8], 复杂网络聚类[9], 工程结构设计问题[10], 风能和太阳能短期功率预测[11] ,智能皮肤癌检测问题 [12],无线传感器网络的节能路由问题 [13] 以及为承诺的储备提取适当的节点边际价格 [14]。因此,开发优化方法可以解决不同类型的实际优化问题,这一直是一个热门的研究课题。经过不懈努力,研究人员开发了很多优化方法,大致可分为确定性方法和元启发式方法。

确定性方法通常基于数值线性和非线性规划方法,这些方法需要大量梯度信息并寻求改进起点附近的解决方案 [15,16]。请注意,确定性算法的性能已经变得高度依赖于所选的起点。对于确定性算法,一旦起点固定,获得的解决方案就已经确定。事实上,大多数现实世界的优化问题非常复杂,其目标函数通常是指多个局部最优解并且具有非线性特征[17]。考虑到起点的敏感性,确定性算法倾向于陷入局部最优解以解决复杂的现实世界问题 [16,18,19]。与确定性算法相比,元启发式算法不依赖梯度信息和复杂的数学原理,而是基于定义的简单规则来模仿自然现象,例如微分进化[20]inspiredbybiologicalevolution,cuckoosearch[21]灵感来自传性育雏寄生一些杜鹃物种的行为,排队搜索[22]受人类活动排队过程的启发,以及受万有引力定律启发的引力搜索算法[23]。需要注意的是,随机性可视为元启发式方法最显着的特征。

神经网络算法(NNA)是最新提出的元启发式算法之一。由于人工神经网络的独特结构,NNA具有很强的全局搜索能力。此外,NNA 是一种无需任何努力微调初始参数的算法。因此,NNA 很容易解决不同类型的优化问题。然而,当用于解决复杂的优化问题时,收敛速度慢和过早收敛是它的缺点。为了克服这两个缺点,这项工作提出了一种改进的 NNA,即具有竞争学习的混沌神经网络算法(CCLNNA),用于全局优化。在CCLNNA中,首先根据建立的竞争机制将群体分为优秀亚群和普通亚群。然后,为了平衡CCLNNA的探索和利用,通过设计的转移算子优化优秀子群,而通过设计的偏差算子和转移算子的组合更新普通子群。此外,引入混沌理论以增加CCLNNA脱离局部最优的机会。为了研究改进策略的有效性,CCLNNA 首次用于求解具有 30 个基准函数的著名 CEC 2014 测试套件。然后将其用于解决三个受约束的现实世界工程设计问题。实验结果表明,引入 NNA 的改进策略可以显着提高 NNA 的优化性能,与其他竞争算法相比,CCLNNA 是解决具有多模态属性的复杂优化问题的非常强大的算法。

2 数学模型 

\boldsymbol{x}_{\text {new }, j}^{t}=\sum_{i=1}^{N} w_{i, j}^{t} \times \boldsymbol{x}_{i}^{t}, i=1,2, \ldots, N, j=1,2, \ldots, N

\boldsymbol{x}_{\mathrm{E}, i}^{t+1}=\boldsymbol{x}_{\mathrm{E}, i}^{t}+\underbrace{2 \times \kappa_{1} \times\left(\boldsymbol{x}_{\mathrm{obj}}^{t}-\boldsymbol{x}_{\mathrm{E}, i}^{t}\right)}_{\text {Guidance term }}+\underbrace{2 \times \eta^{t} \times \kappa_{2} \times\left(\boldsymbol{M}^{t}-\boldsymbol{x}_{\mathrm{E}, i}^{t}\right)}_{\text {Penalty term }}

基于竞争学习的混沌神经网络算法用于全局优化(Matlab代码实现)_第1张图片

基于竞争学习的混沌神经网络算法用于全局优化(Matlab代码实现)_第2张图片  

详细数学模型见第6部分。 

3 运行结果

基于竞争学习的混沌神经网络算法用于全局优化(Matlab代码实现)_第3张图片

基于竞争学习的混沌神经网络算法用于全局优化(Matlab代码实现)_第4张图片

基于竞争学习的混沌神经网络算法用于全局优化(Matlab代码实现)_第5张图片

基于竞争学习的混沌神经网络算法用于全局优化(Matlab代码实现)_第6张图片

基于竞争学习的混沌神经网络算法用于全局优化(Matlab代码实现)_第7张图片

clc
clear all
lb = -100.*ones(1,10);
ub = 100.*ones(1,10);
maxit = 1000;
objf= @Sphere;
n = 50;
d = 10;
for i=1:n
    X(i,:)=lb+rand(1,d).*(ub-lb);
end
[BestCost,BestValue]=CCLNNA(objf,n,d,lb,ub,maxit,X);
figure()
plot(BestCost,'r','linewidth',1)
xlabel('迭代次数','fontsize',15);
ylabel('最优解','fontsize',15);

4 参考文献 

部分理论来源于网络文献,如有侵权请联系删除。

[1]伦泽明.改进混沌遗传算法优化BP神经网络的短时交通流预测[J].电脑编程技巧与维护,2017(05):18-20.DOI:10.16184/j.cnki.comprg.2017.05.005.

5 Matlab代码实现

你可能感兴趣的:(#,神经网络预测预测与分类,#,机器学习,深度学习,学习,神经网络,算法)