【多种优化算法比较】混沌引力搜索算法(CGSA)(Matlab代码实现)

简介: 【多种优化算法比较】混沌引力搜索算法(CGSA)(Matlab代码实现)

b2988ba78fe041d0a1c4a2b71bd3b2d0.png24175243dd654a53badc2497736238ed.png


💥💥💞💞欢迎来到本博客❤️❤️💥💥


🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。


⛳️座右铭:行百里者,半于九十。


📋📋📋本文目录如下:🎁🎁🎁


目录


💥1 概述


📚2 运行结果


🎉3 参考文献


🌈4 Matlab代码及文献


💥1 概述

文献来源:


d126125ef28a487c882eced6b108b6c2.png


2bd16278ef28407bbb51f18c999331d0.png


自过去十年以来,启发式优化算法正在国际计算智能界的研究人员中引起涟漪。启发式算法在各个领域的研究工作和应用是惊人的。启发式算法因其随机性和简单性而越来越受欢迎。根据无免费午餐定理(NFLT)(Wolpert and Macready,1997),单一算法无法解决所有优化问题。简单来说,如果一个优化算法以高性能解决了某个问题,那么它在解决其他类型的优化问题时很有可能表现不佳。因此,研究人员发明了许多优化算法,并且每年都有新的算法被提出。著名的优化算法包括受鸟类和鱼类社会行为启发的PSO(Kennedy and Eberhart,1995),基于蚂蚁搜索行为的ACO (Dorigo and Caro, 1995),BBO (Simon, 2008)灵感来自物种的分布和迁移模型,以及DE(Storn and Price, 1995)和GA(Tang, 1996) 这是由进化论驱动的。此外,还有数学驱动的优化算法,如SCA(Mirjalili,2016),它在数学上模拟正弦和余弦函数的行为。此外,Mirjalili等人(2017)最近开发了一种基于salps的组和导航行为的新型元启发式算法,即SSA。它们已被应用于解决计算机科学和其他研究领域的各种问题,如电子、生物学和石油工业。在计算机科学中,它们被用于函数优化(Du和Li,2008; 姚等,1999),控制目标(宝江和世勇,2007; 卡拉库祖,2008年; Kim等人,2008),模式识别(Liu等人,2008; Tan和Bhanu,2006),过滤器建模(Kalinlia和Karabogab,2005)和图像的最佳处理(Cordon等人,2006; Nezamabadi-pour 等人,2006 年)。在电子科学中,负载调度(Beigvand 等人,2016,2017)和最优潮流(Bhowmik and Chakraborty,2015)问题已通过优化算法得到有效解决。


所有优化算法都由随机的代理群体组成,用于在搜索空间中查找候选解决方案。该过程从问题域中的代理初始化开始。然后,该算法经过多次迭代,每次迭代都给出可行的候选解决方案,直到满足条件的结束。所有迭代中的最佳可行候选解是最优解。令人惊讶的是,随机算法由一些基本步骤组成,例如探索和开发。探索是指算法的搜索空间。在此阶段,候选解决方案将经历许多更改。此外,开发是围绕不同的可行解决方案找到局部最优的能力。候选解决方案会导致开发阶段的微小变化。已经看到,如果优化算法具有良好的探索能力,那么它将缺乏良好的开发能力,反之亦然(Eiben and Schippers, 1998)。因此,它们彼此成反比。以前,研究人员分别使用随机游走和梯度下降方法来改善勘探和开发。但它的缺点是增加了算法的整体计算成本。自过去十年以来,研究人员正在使用混沌地图来增加搜索空间的多样化和局部开发,以找到最佳解决方案(Mirjalili 等人,2017 年; 甘多米等人,2012 年)。


混沌理论是对动态系统的研究。这些系统的有趣特性是,当系统中发生微小变化时,整个系统都会受到影响。简而言之,初始参数的变化会在整个系统中产生变化。此外,随机性对于混沌系统不是必需的,而确定性系统也表现出混沌行为(Kellert,2017)。该优化算法利用混沌图的初始参数敏感度(IPS)特性,快速开发、全局探索,缓解局部极小值陷阱问题。


元启发式算法在基准函数上显示出良好的结果,但它们在实际问题上表现不佳。实际问题是检查优化算法解决问题能力的实际测试。


研究人员使用各种优化技术,如GA,PSO,DE,GSA,BBO,来解决其他领域的应用问题。大多数算法本质上是进化的,但GSA是一种基于物理学的最新元启发式算法。GSA(Rashedi 等人,2009 年)是一种优化算法,其灵感来自牛顿的万有引力定律和运动定律。标准GSA中增加了<>个混沌图,并已应用于三个工程设计问题,用于研究其杂交潜力和处理复杂的非线性基准。所有这些问题都有未知的搜索空间,非常适合检查算法的问题解决能力。此外,还将检查CGSA的约束处理和工程设计问题的参数优化。


📚2 运行结果


93a335d2faee4f278d1c80ecf11989ee.png

523d4b1d7e314bd18fcbb41322c4d7ea.png


部分代码:

N = 50;                              % Number of Searcher Agents "
Max_Iteration  = 100;                % Maximum number of "iterations"
Q=1;            % ACO Parameter
tau0=10;        % Initial Phromone             (ACO)
alpha=0.3;      % Phromone Exponential Weight  (ACO)
rho=0.1;        % Evaporation Rate             (ACO)
beta_min=0.2;   % Lower Bound of Scaling Factor (DE)
beta_max=0.8;   % Upper Bound of Scaling Factor (DE)
pCR=0.2;        % Crossover Probability         (DE)
 ElitistCheck=1; % GSA Parameter
 Rpower=1;       % GSA Parameter
 min_flag=1; % 1: minimization, 0: maximization (GSA)
 Algorithm_num=2;  %% These are 10 chaotic maps mentioned in the paper. So, change the value of Algorithm_num from 2 to 11 as 1 is for standard GSA.
 chValueInitial=20; % CGSA
 Benchmark_Function_ID=1 %Benchmark function ID
    RunNo  = 20; 
for k = [ 1 : 1 : RunNo ]   
% % %   
[gBestScore,gBest,GlobalBestCost]= CPSOGSA(Benchmark_Function_ID, N, Max_Iteration);
BestSolutions1(k) = gBestScore;
[Fbest,Lbest,BestChart]=GSA(Benchmark_Function_ID,N,Max_Iteration,ElitistCheck,min_flag,Rpower);
BestSolutions2(k) = Fbest;
  [PcgCurve,GBEST]=pso(Benchmark_Function_ID,N,Max_Iteration);
     BestSolutions3(k) = GBEST.O;
 [BestCost,BestSol] = bbo( Benchmark_Function_ID, N, Max_Iteration);
     BestSolutions4(k) = BestSol.Cost;
[BestSolDE,DBestSol,BestCostDE] = DE(Benchmark_Function_ID, N, Max_Iteration,beta_min,beta_max,pCR);
BestSolutions5(k) = BestSolDE.Cost ;
  [BestSolACO,BestAnt,BestCostACO] = ACO(Benchmark_Function_ID, N, Max_Iteration,Q,tau0,alpha,rho);
BestSolutions6(k) = BestSolACO.Cost ;
[Best_score,Best_pos,SSA_cg_curve]=SSA(Benchmark_Function_ID, N, Max_Iteration);
BestSolutions7(k) = Best_score ;
[Best_scoreSCA,Best_pos,SCA_cg_curve]=SCA(Benchmark_Function_ID, N, Max_Iteration);
BestSolutions8(k) = Best_scoreSCA ;
[Best_scoreGWO,Best_pos,GWO_cg_curve]=GWO(Benchmark_Function_ID, N, Max_Iteration);
BestSolutions9(k) = Best_scoreGWO ;


🎉3 参考文献

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


[1]Rather, S. and Bala, P. (2020), "Swarm-based chaotic gravitational search algorithm for solving mechanical engineering design problems", World Journal of Engineering, Vol. 17 No. 1, pp. 97-114.


🌈4 Matlab代码及文献


































相关文章
|
2天前
|
算法 数据安全/隐私保护 计算机视觉
基于二维CS-SCHT变换和LABS方法的水印嵌入和提取算法matlab仿真
该内容包括一个算法的运行展示和详细步骤,使用了MATLAB2022a。算法涉及水印嵌入和提取,利用LAB色彩空间可能用于隐藏水印。水印通过二维CS-SCHT变换、低频系数处理和特定解码策略来提取。代码段展示了水印置乱、图像处理(如噪声、旋转、剪切等攻击)以及水印的逆置乱和提取过程。最后,计算并保存了比特率,用于评估水印的稳健性。
|
1天前
|
机器学习/深度学习 算法 数据挖掘
基于GWO灰狼优化的CNN-LSTM-Attention的时间序列回归预测matlab仿真
摘要: 本文介绍了使用matlab2022a中优化后的算法,应用于时间序列回归预测,结合CNN、LSTM和Attention机制,提升预测性能。GWO算法用于优化深度学习模型的超参数,模拟灰狼社群行为以求全局最优。算法流程包括CNN提取局部特征,LSTM处理序列依赖,注意力机制聚焦相关历史信息。GWO的灰狼角色划分和迭代策略助力寻找最佳解。
|
2天前
|
算法 计算机视觉
基于高斯混合模型的视频背景提取和人员跟踪算法matlab仿真
该内容是关于使用MATLAB2013B实现基于高斯混合模型(GMM)的视频背景提取和人员跟踪算法。算法通过GMM建立背景模型,新帧与模型比较,提取前景并进行人员跟踪。文章附有程序代码示例,展示从读取视频到结果显示的流程。最后,结果保存在Result.mat文件中。
|
2天前
|
资源调度 算法 块存储
m基于遗传优化的LDPC码OMS译码算法最优偏移参数计算和误码率matlab仿真
MATLAB2022a仿真实现了遗传优化的LDPC码OSD译码算法,通过自动搜索最佳偏移参数ΔΔ以提升纠错性能。该算法结合了低密度奇偶校验码和有序统计译码理论,利用遗传算法进行全局优化,避免手动调整,提高译码效率。核心程序包括编码、调制、AWGN信道模拟及软输入软输出译码等步骤,通过仿真曲线展示了不同SNR下的误码率性能。
9 1
|
2天前
|
存储 算法 数据可视化
基于harris角点和RANSAC算法的图像拼接matlab仿真
本文介绍了使用MATLAB2022a进行图像拼接的流程,涉及Harris角点检测和RANSAC算法。Harris角点检测寻找图像中局部曲率变化显著的点,RANSAC则用于排除噪声和异常点,找到最佳匹配。核心程序包括自定义的Harris角点计算函数,RANSAC参数设置,以及匹配点的可视化和仿射变换矩阵计算,最终生成全景图像。
|
2天前
|
算法 Serverless
m基于遗传优化的LDPC码NMS译码算法最优归一化参数计算和误码率matlab仿真
MATLAB 2022a仿真实现了遗传优化的归一化最小和(NMS)译码算法,应用于低密度奇偶校验(LDPC)码。结果显示了遗传优化的迭代过程和误码率对比。遗传算法通过选择、交叉和变异操作寻找最佳归一化因子,以提升NMS译码性能。核心程序包括迭代优化、目标函数计算及性能绘图。最终,展示了SNR与误码率的关系,并保存了关键数据。
16 1
|
2天前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
|
2天前
|
算法 调度
考虑需求响应的微网优化调度模型【粒子群算法】【matlab】
考虑需求响应的微网优化调度模型【粒子群算法】【matlab】
|
2天前
|
算法 调度
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
|
2天前
|
运维 算法
基于改进遗传算法的配电网故障定位(matlab代码)
基于改进遗传算法的配电网故障定位(matlab代码)