当前位置: 首页 > news >正文

【智能优化算法-凌日搜索算法】基于凌日搜索算法求解单目标优化问题附matlab代码

1 内容介绍

在本文中,基于著名的系外行星探测方法,提出了一种新的天体物理学启发式元启发式优化算法,即 Transit Search (TS)。太空望远镜数据库使用凌日技术探测到了 3800 多颗行星。 Transit 是一种比第二种众所周知的成功方法(径向速度)更具潜力的方法,在 2022 年 3 月之前已发现 915 颗行星。由于行星在宇宙尺度上的尺寸很小,因此很难探测到它们。由于过境方法在天体物理学中的高效率及其能力,它已被用于制定本研究的优化技术。在凌日算法中,通过研究每隔一段时间从恒星接收到的光,检查光度的变化,如果观察到接收到的光量减少,则表明有行星从恒星前沿经过。为了评估所提出算法的能力,考虑了 73 个约束和无约束问题,并将结果与 13 个著名的优化算法进行了比较。这组示例包括广泛的问题类型,包括数学函数(28 个高维问题和 15 个低维问题)、CEC 函数(10 个问题)、约束数学基准问题(G01-G13)以及 7 个约束工程问题。结果表明,与其他有效算法相比,所提出算法的总体平均误差是基准问题的最低量

2 部分代码

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% The following code are extracted from the reference below:

% https://authors.elsevier.com/sd/article/S2666-7207(22)00018-2

% Please cite this article as:

%  M. Mirrashid and H. Naderpour, Transit search: An optimization algorithm

%  based on exoplanet exploration; Results in Control and Optimization

%  (2022), doi: https://doi.org/10.1016/j.rico.2022.100127.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

clc; clear; close all

%% Definition of the Cost Function and its variables

Function_name='branin';   % Define your cost function (here is "Branin", a benchmark function"

[Vmin,Vmax,nV,Function] = CostFunction(Function_name);

CostFunction = @(x) Function(x);

%% Definition of the Algorithm Parameters

ns = 5;                 % Number of Stars

SN = 10;                % Signal to Noise Ratio

% Note: (ns*SN)=Number of population for the TS algorithm

maxcycle=100;           % max number of iterations

%% Transit Search Optimization Algorithm

disp('Transit Search is runing...')

[Bests] = TransitSearch (CostFunction,Vmin,Vmax,nV,ns,SN,maxcycle);

Best_Cost = Bests(maxcycle).Cost

Best_Solution = Bests(maxcycle).Location

%% Figure

figure = figure('Color',[1 1 1]);

G1=subplot(1,1,1,'Parent',figure);

x=zeros(maxcycle,1);

y=zeros(maxcycle,1);

for i = 1:maxcycle

    y(i,1) = Bests(i).Cost;

    x(i,1) = i;

end

plot(x,y,'r-','LineWidth',2);

xlabel('Iterations','FontWeight','bold','FontName','Times');

ylabel('Costs','FontWeight','bold','FontName','Times');

title (['Best Cost = ',num2str(Bests(maxcycle).Cost)])

box on

xlim ([1 maxcycle]);

ylim ([Bests(maxcycle).Cost Bests(1).Cost]);

set(G1,'FontName','Times','FontSize',20,'FontWeight','bold',...

    'XMinorGrid','on','XMinorTick','on','YMinorGrid','on','YMinorTick','on');

3 运行结果

4 参考文献

[1] Mirrashid M ,  Naderpour H . Transit search: An optimization algorithm based on exoplanet exploration[J]. Results in Control and Optimization, 2022.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机、雷达通信、无线传感器等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

相关文章:

  • C++11重写muduo网络库5——Thread,EventLoopThread,EventLoopThreadPool
  • NISP的渗透测试怎么操作的
  • 安装Nginx教程
  • Java_接口基本介绍
  • 16、Java——QuickHit游戏
  • SpringBoot--Controller获取HttpServletRequest
  • 牛客刷题笔记
  • 我把华为云的Ubuntu 18.04升级到了Ubuntu 22.04
  • Google Earth Engine-02(主界面介绍)
  • 5.java数据结构与算法 ---- 第七章 八大排序(冒泡;选择;插入/希尔;快排;归并;基数)
  • 新学期你立一个什么样的FLAG?
  • 【数据结构与算法】第九篇:哈希表原理
  • 自动驾驶江湖重新排位:毫末智行“重感知、轻地图”优势初现
  • [JS]变量
  • 用户登录更新中:网关,token,全局异常处理
  • 【Linux系统编程】快速查找errno错误码信息
  • Flex布局到底解决了什么问题
  • Idea+maven+scala构建包并在spark on yarn 运行
  • Intervention/image 图片处理扩展包的安装和使用
  • nginx 配置多 域名 + 多 https
  • Python打包系统简单入门
  • spring + angular 实现导出excel
  • Spring Cloud Alibaba迁移指南(一):一行代码从 Hystrix 迁移到 Sentinel
  • 观察者模式实现非直接耦合
  • 数组大概知多少
  • - 转 Ext2.0 form使用实例
  • Linux权限管理(week1_day5)--技术流ken
  • 东超科技获得千万级Pre-A轮融资,投资方为中科创星 ...
  • #mysql 8.0 踩坑日记
  • #我与Java虚拟机的故事#连载18:JAVA成长之路
  • #中的引用型是什么意识_Java中四种引用有什么区别以及应用场景
  • (C++)八皇后问题
  • (js)循环条件满足时终止循环
  • (JS基础)String 类型
  • (六)什么是Vite——热更新时vite、webpack做了什么
  • (排序详解之 堆排序)
  • (一)Neo4j下载安装以及初次使用
  • (一)u-boot-nand.bin的下载
  • (原創) 如何安裝Linux版本的Quartus II? (SOC) (Quartus II) (Linux) (RedHat) (VirtualBox)
  • (转)scrum常见工具列表
  • (转)如何上传第三方jar包至Maven私服让maven项目可以使用第三方jar包
  • (总结)Linux下的暴力密码在线破解工具Hydra详解
  • (最全解法)输入一个整数,输出该数二进制表示中1的个数。
  • ***通过什么方式***网吧
  • .bat批处理(一):@echo off
  • .NET delegate 委托 、 Event 事件,接口回调
  • .Net IE10 _doPostBack 未定义
  • .NET 服务 ServiceController
  • .NET连接MongoDB数据库实例教程
  • .net用HTML开发怎么调试,如何使用ASP.NET MVC在调试中查看控制器生成的html?
  • .sh文件怎么运行_创建优化的Go镜像文件以及踩过的坑
  • @Autowired和@Resource的区别
  • [ CTF ] WriteUp- 2022年第三届“网鼎杯”网络安全大赛(白虎组)
  • [2024] 十大免费电脑数据恢复软件——轻松恢复电脑上已删除文件
  • [51nod1610]路径计数