2025最新群智能优化算法:海市蜃楼搜索优化(Mirage Search Optimization, MSO)算法求解23个经典函数测试集,MATLAB

server/2025/3/10 4:42:50/

一、海市蜃楼搜索优化算法

海市蜃楼搜索优化(Mirage Search Optimization, MSO)算法是2025年提出的一种基于海市蜃楼物理现象的元启发式优化算法,于2025年2月在线发表在JCR一区、中科院2区SCI期刊《Advances in Engineering Software》上。海市蜃楼是一种常见的物理现象,其形成与气象和地理因素密切相关。太阳使地面温度上升,形成温度梯度,进而导致大气密度产生显著差异,造成大气中折射率的分层。光在大气中被折射,但大脑认为光是沿直线传播的,因此人们看到了物体的虚拟图像。MSO算法正是基于这一物理现象,通过模拟海市蜃楼的形成原理,设计了上蜃景策略和下蜃景策略,分别用于全局探索和局部开发,以实现对复杂优化问题的有效求解。

算法原理

海市蜃楼是一种光学现象,其形成与气象和地理因素密切相关。太阳使地面温度上升,形成温度梯度,进而导致大气密度差异和折射率分层。光在大气中传播时发生折射,而人脑认为光沿直线传播,从而形成虚拟图像。MSO 算法正是基于这一物理现象,通过模拟光的折射和虚拟图像的形成,设计了两种更新策略来优化种群的位置。

算法策略

  1. 上蜃景策略:主要用于全局探索。当入射光在水平基准线的左边,或位于水平基准面法线右侧且满足 β < α < π/2 时,通过特定的公式更新个体位置,扩大搜索范围,避免陷入局部最优。
  2. 下蜃景策略:主要用于局部开发。当下蜃景观察到物体的放大虚像时,基于光路折射原理设计局部搜索模式。如果当前个体不是种群最优个体,按一定公式更新位置;如果是种群最优个体,则采用另一种更新方式,以在局部区域内精细搜索,提高解的精度。

算法模型

初始化

和其他群体优化算法一样,MSO 算法采用随机初始化方式。在 D 维搜索空间中,种群大小为 N 的个体位置初始化公式为:

X i , j = X min ⁡ , j + r a n d ( 0 , 1 ) × ( X max ⁡ , j − X min ⁡ , j ) X_{i,j} = X_{\min,j} + rand(0,1) \times (X_{\max,j} - X_{\min,j}) Xi,j=Xmin,j+rand(0,1)×(Xmax,jXmin,j)

其中, X i , j X_{i,j} Xi,j 表示第 i 个个体的第 j 维位置, X min ⁡ , j X_{\min,j} Xmin,j X max ⁡ , j X_{\max,j} Xmax,j 分别为第 j 维的最小和最大边界,rand(0,1) 为 [0,1) 区间的随机数。

位置更新模型
  1. 上蜃景策略位置更新:当满足入射光在水平基准面法线的右侧,且 β < α < π/2 时,海市蜃楼初始位置更新公式为:
    X i t + 1 = X i t + λ ⋅ f ( X i t ) − f ( X best t ) ∥ X i t − X best t ∥ ⋅ ( X i t − X best t ) X_i^{t+1} = X_i^t + \lambda \cdot \frac{f(X_i^t) - f(X_{\text{best}}^t)}{\|X_i^t - X_{\text{best}}^t\|} \cdot (X_i^t - X_{\text{best}}^t) Xit+1=Xit+λXitXbesttf(Xit)f(Xbestt)(XitXbestt)
    其中, X i t X_i^t Xit 为第 t 代第 i 个个体的位置, X best t X_{\text{best}}^t Xbestt 为第 t 代种群最优个体位置, λ \lambda λ 为步长因子,f 为适应度函数。

  2. 下蜃景策略位置更新

    • 如果当前个体不是种群最优个体:
      X i t + 1 = X i t + β ⋅ f ( X i t ) ∥ X i t − X best t ∥ ⋅ ( X best t − X i t ) X_i^{t+1} = X_i^t + \beta \cdot \frac{f(X_i^t)}{\|X_i^t - X_{\text{best}}^t\|} \cdot (X_{\text{best}}^t - X_i^t) Xit+1=Xit+βXitXbesttf(Xit)(XbesttXit)
    • 如果当前个体是种群最优个体:
      X i t + 1 = X i t + γ ⋅ f ( X i t ) ∥ X i t − X mean t ∥ ⋅ ( X mean t − X i t ) X_i^{t+1} = X_i^t + \gamma \cdot \frac{f(X_i^t)}{\|X_i^t - X_{\text{mean}}^t\|} \cdot (X_{\text{mean}}^t - X_i^t) Xit+1=Xit+γXitXmeantf(Xit)(XmeantXit)
      其中, β \beta β γ \gamma γ 为控制参数, X mean t X_{\text{mean}}^t Xmeant 为第 t 代种群个体位置的均值。

算法步骤

  1. 初始化:与其他群体优化算法一样,MSO采用随机初始化的方式,生成一定数量的候选解(个体),构成初始种群。
  2. 上蜃景策略:该策略具有全局探索能力,通过模拟海市蜃楼中光线在不同气象条件下的折射路径,使个体能够在全球范围内进行搜索,避免陷入局部最优解。具体来说,根据入射光的位置和角度,分为以下几种情况:
    • 当入射光在水平基准线的左边时,个体的位置更新遵循特定的折射规律。
    • 当入射光位于水平基准面法线右侧且满足β < α < π/2时,个体的位置更新公式会根据折射原理进行推导,以实现全局探索。
  3. 下蜃景策略:该策略具有局部开发能力,能够对当前解的邻域进行精细搜索,提高解的质量。下蜃景策略主要分为两种情况:
    • 如果当前个体不是种群的最优个体,其位置更新会参考种群中更优个体的信息,向更优区域靠近。
    • 如果当前个体是种群的最优个体,则在较小范围内进行局部扰动,进一步优化自身位置,以期找到更精确的最优解。
  4. 迭代更新:在每次迭代中,根据上蜃景和下蜃景策略更新个体位置后,计算每个个体的适应度值,并更新种群的最优解。重复这一过程,直到满足预设的终止条件(如最大迭代次数或适应度精度要求)。

算法优势

  • 全局与局部搜索平衡:通过上蜃景策略的全局探索和下蜃景策略的局部开发,MSO算法能够在优化过程中兼顾全局搜索和局部搜索,有效避免过早收敛到局部最优解,提高寻找全局最优解的能力。
  • 较强的适应性:适用于多种类型的优化问题,包括无约束优化、带约束优化以及实际工程设计问题等。
  • 高效的优化性能:在多个标准测试函数和实际应用问题上进行了验证,MSO算法均表现出较强的竞争力,能够快速收敛到高质量的解。

参考文献

[1]Jiahao He, Shijie Zhao, Jiayi Ding, Yiming Wang,Mirage search optimization: Application to path planning and engineering design problems,Advances in Engineering Software, Volume 203, 2025, 103883, https://doi.org/10.1016/j.advengsoft.2025.103883.

二、23个函数介绍

在这里插入图片描述
参考文献:

[1] Yao X, Liu Y, Lin G M. Evolutionary programming made faster[J]. IEEE transactions on evolutionary computation, 1999, 3(2):82-102.

三、部分代码及结果

clear;
clc;
close all;
warning off all;SearchAgents_no=50;    %Number of search solutions
Max_iteration=500;    %Maximum number of iterationsFunc_name='F1'; % Name of the test function% Load details of the selected benchmark function
[lb,ub,dim,fobj]=Get_F(Func_name); tic;
[Best_score,Best_pos,cg_curve]=(SearchAgents_no,Max_iteration,lb,ub,dim,fobj); 
tend=toc;% figure('Position',[500 500 901 345])
%Draw search space
subplot(1,2,1);
func_plot(Func_name);
title('Parameter space')
xlabel('x_1');
ylabel('x_2');
zlabel([Func_name,'( x_1 , x_2 )'])%Draw objective space
subplot(1,2,2);
semilogy(cg_curve,'Color','m',LineWidth=2.5)
title(Func_name)% title('Objective space')
xlabel('Iteration');
ylabel('Best score obtained so far');axis tight
grid on
box on
legend('')display(['The running time is:', num2str(tend)]);
display(['The best fitness is:', num2str(Best_score)]);
display(['The best position is: ', num2str(Best_pos)]);

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、完整MATLAB代码见下方名片


http://www.ppmy.cn/server/173848.html

相关文章

RCE漏洞

RCE漏洞学习笔记 1. 基本概念 定义&#xff1a;攻击者通过漏洞在目标服务器上执行任意命令或代码 危害等级&#xff1a;高危&#xff08;直接影响服务器控制权&#xff09; 常见场景&#xff1a; Web应用参数未过滤&#xff08;如URL、表单、HTTP头&#xff09; 反序列化漏…

大模型工程师学习日记(十五):Hugging Face 模型微调训练(基于 BERT 的中文评价情感分析)

1. datasets 库核心方法 1.1. 列出数据集 使用 d atasets 库&#xff0c;你可以轻松列出所有 Hugging Face 平台上的数据集&#xff1a; from datasets import list_datasets# 列出所有数据集 all_datasets list_datasets()print(all_datasets)1.2. 加载数据集 你可以通过 l…

大白话html第十二章

1. 量子计算与网页的结合探索 概念 量子计算是一种超厉害的计算技术&#xff0c;和咱们平时用的计算机原理完全不一样。它能利用量子力学的特性&#xff0c;在处理某些复杂问题时比传统计算机快好多好多倍。把量子计算和网页结合起来呢&#xff0c;就像是给网页配上了一个超级…

WSL安装及问题

1 概述 Windows Subsystem for Linux&#xff08;简称WSL&#xff09;是一个在Windows 10\11上能够运行原生Linux二进制可执行文件&#xff08;ELF格式&#xff09;的兼容层。它是由微软与Canonical公司合作开发&#xff0c;开发人员可以在 Windows 计算机上同时访问 Windows 和…

cdn取消接口缓存

添加cdn后&#xff0c;使用cdn加速域名访问接口 是缓存&#xff0c;不是最新的数据&#xff0c;如果使用局域网则是最新的数据&#xff0c;如果修改配置&#xff0c;确保使用cdn域名请求的接口返回不是缓存 要确保通过CDN加速域名访问接口时返回的是最新的数据&#xff0c;而不…

electron + vue3 + vite 主进程到渲染进程的单向通信

用示例讲解下主进程到渲染进程的单向通信 初始版本项目结构可参考项目&#xff1a;https://github.com/ylpxzx/electron-forge-project/tree/init_project 主进程到渲染进程&#xff08;单向&#xff09; 以Electron官方文档给出的”主进程主动触发动作&#xff0c;发送内容给渲…

【SpringBoot项目】基于SpringBoot的乐校园二手书交易管理系统

【SpringBoot项目】基于SpringBoot的乐校园二手书交易管理系统 技术简介&#xff1a;采用SpringBoot框架、Java技术、MySQL数据库等实现。 系统简介&#xff1a;乐校园二手书交易管理系统主要包括前台和后台功能模块。前台功能模块分为&#xff08;1&#xff09;首页展示模块&a…

广州哪家公司做柔性装备?富唯智能以科技重构镀膜生产新范式

在光学镀膜行业竞争白热化的今天&#xff0c;"广州哪家公司做柔性装备&#xff1f;" 成为众多企业寻求技术突破时最常搜索的关键词。作为扎根广州的智能制造领军企业&#xff0c;富唯智能用创新科技交出了一份令人瞩目的答卷 —— 其自主研发的柔性镀膜上下料设备&am…