【优化算法】莲花效应优化算法(LEA):一种基于莲花自然启发的工程设计优化算法

news2025/2/28 4:54:05

目录

    • 1.摘要
    • 2.算法原理
    • 3.结果展示
    • 4.参考文献
    • 5.代码获取


在这里插入图片描述

1.摘要

本文提出了一种新的进化算法——莲花效应算法(LEA),该算法结合了蜻蜓算法中的高效操作算子,例如蜻蜓在花朵授粉中的运动方式用于探索,以及水在花叶上的自清洁特性——即莲花效应,用于提取和局部搜索操作。

在这里插入图片描述

2.算法原理

探索阶段

在LEA算法中,蜻蜓模拟了授粉过程,其基于昆虫群体的三个基本行为原则——分离、对齐和凝聚,以及食物和敌人两个概念,来模拟蜻蜓的智能行为。分离原则旨在避免个体与邻近个体发生碰撞;对齐原则则要求个体与邻域内其他个体的速度相匹配;凝聚原则则促使个体向邻域的质量中心聚集。每个群体的最终目标是生存,因此个体必须朝向食物源并远离敌人。分离行为:
S i t = − ∑ j = 1 N X i t − X j t S_i^t=-\sum_{j=1}^NX_i^t-X_j^t Sit=j=1NXitXjt
对齐行为:
A i t = ∑ j = 1 N X j t N A_i^t=\frac{\sum_{j=1}^NX_j^t}{N} Ait=Nj=1NXjt
凝聚行为:
C i t = ∑ j = 1 N X j t N − X i t C_i^t=\frac{\sum_{j=1}^NX_j^t}{N}-X_i^t Cit=Nj=1NXjtXit

对食物来源的吸引力计算如下:
F i t = X + t − X i t F_i^t=X_+^t-X_i^t Fit=X+tXit
天敌干扰力计算如下:
E i t = X − t + X i t E_{i}^{t}=X_{-}^{t}+X_{i}^{t} Eit=Xt+Xit
其中, X + t X_+^t X+t食物来源的位置, X − t X_{-}^{t} Xt天敌位置。

蜻蜓的行为是由五种假设模式的组合而成。为了更新蜻蜓在搜索空间中的位置并模拟它们的运动,算法考虑了步长和位置:
Δ X i t + 1 = ( s S i t + a A i t + c C i t + f F i t + e E i t ) + w Δ X i t \Delta X_i^{t+1}= \begin{pmatrix} sS_i^t+aA_i^t+cC_i^t+fF_i^t+eE_i^t \end{pmatrix}+w\Delta X_i^t ΔXit+1=(sSit+aAit+cCit+fFit+eEit)+wΔXit
位置更新:
X i t + 1 = X i t + w Δ X i t + 1 X_i^{t+1}=X_i^t+w\Delta X_i^{t+1} Xit+1=Xit+wΔXit+1

为了提高蜻蜓在搜索空间中的随机探索行为,当周围没有解时,蜻蜓会随机飞行并调整其步长:
X i t + 1 = X i t + L e v y ( d ) × X i t X_i^{t+1}=X_i^t+\mathrm{Levy}(d)\times X_i^t Xit+1=Xit+Levy(d)×Xit

开发阶段

局部授粉阶段是该算法中的提取过程,在这一过程中使用一个系数来确定每朵花周围的生长区域大小,最佳解成为其他解的吸引源,其他解则朝着最佳解移动。在算法的初始阶段,步长较长,以便快速探索解空间;随着优化的进行,步长逐渐缩短,从而精细化搜索并增强局部优化能力:
X i t + 1 = X i t + R ( X i t − g ∗ ) X_{i}^{t+1}=X_{i}^{t}+R\left(X_{i}^{t}-g^{*}\right) Xit+1=Xit+R(Xitg)
其中, R R R表示增长区域:
R = 2 e − ( 4 t L ) 2 R=2e^{-\left(\frac{4t}{L}\right)^2} R=2e(L4t)2

伪代码

在这里插入图片描述

3.结果展示

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

4.参考文献

[1] Dalirinia E, Jalali M, Yaghoobi M, et al. Lotus effect optimization algorithm (LEA): a lotus nature-inspired algorithm for engineering design optimization[J]. The Journal of Supercomputing, 2024, 80(1): 761-799.

5.代码获取

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2264762.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Next.js v15 - 服务器操作以及调用原理

约定 服务器操作是在服务器上执行的异步函数。它们可以在服务器组件和客户端组件中调用,用于处理 Next.js 应用程序中的表单提交和数据修改。 服务器操作可以通过 React 的 “use server” 指令定义。你可以将该指令放在 async 函数的顶部以将该函数标记为服务器操…

DataV的安装与使用(Vue3版本)

1、DataV(vue3)地址:DataV Vue3TSVite版 | DataV - Vue3 2、使用 npm install kjgl77/datav-vue3 安装 3、全局引入。 4、此时就可以按需使用了~

隐藏指定文件/文件夹和自动提示功能消失解决方案

一. 隐藏指定文件/文件夹 Idea中隐藏指定文件或指定类型文件 Setting → File Types → Ignored Files and Folders输入要隐藏的文件名,支持*号通配符回车确认添加 二. 自动提示功能消失解决方案 指定SpringBoot配置文件 File → Project Structure → Facets选…

Echarts连接数据库,实时绘制图表详解

文章目录 Echarts连接数据库,实时绘制图表详解一、引言二、步骤一:环境准备与数据库连接1、环境搭建2、数据库连接 三、步骤二:数据获取与处理1、查询数据库2、数据处理 四、步骤三:ECharts图表配置与渲染1、配置ECharts选项2、动…

Springboot应用开发:配置类整理

目录 编写目的 一、线程池 1.1 setCorePoolSize 1.2 setMaxPoolSize 1.3 setQueueCapacity 1.4 setKeepAliveSeconds 1.5 setThreadNamePrefix 1.6 setRejectedExecutionHandler 1.7 示例代码 二、Durid数据库连接池 2.1 ServletRegistrationBean 2.2 FilterRegist…

AI新书推荐:深度学习和大模型原理与实践(清华社)

本书简介 在这个信息爆炸、技术革新日新月异的时代,深度学习作为人工智能领域的重要分支,正引领着新一轮的技术革命。《深度学习和大模型原理与实践》一书,旨在为读者提供深度学习及其大模型技术的全面知识和实践应用的指南。 本书特色在于…

java如何使用poi-tl在word模板里渲染多张图片

1、poi-tl官网地址 http://deepoove.com/poi-tl/ 2、引入poi-tl的依赖 <dependency><groupId>com.deepoove</groupId><artifactId>poi-tl</artifactId><version>1.12.1</version></dependency>3、定义word模板 释义&#xf…

电力通信规约-104实战

电力通信规约-104实战 概述 104规约在广泛应用于电力系统远动过程中&#xff0c;主要用来进行数据传输和转发&#xff0c;本文将结合实际开发实例来讲解104规约的真实使用情况。 实例讲解 因为个人技术栈是Java&#xff0c;所以本篇将采用Java实例来进行讲解。首先我们搭建一…

linux socket编程之udp_dict_serve服务端--引入配置文件

注意&#xff1a;本篇博客只是对上一篇博客功能的增加 1.创建配置文件(翻译) Dict.txt apple: 苹果 banana: 香蕉 cat: 猫 dog: 狗 book: 书 pen: 笔 happy: 快乐的 sad: 悲伤的 run: 跑 jump: 跳 teacher: 老师 student: 学生 car: 汽车 bus: 公交车 love: 爱 hate: 恨 hell…

stm32定时器输出比较----驱动步进电机

定时器输出比较理论 OC(Output Compare)输出比较输出比较可以通过比较CNT与CCR寄存器值的关系,来对输出电平进行置1、置0或翻转的操作,用于输出一定频率和占空比的PWM波形每个高级定时器和通用定时器都拥有4个输出比较通道高级定时器的前3个通道额外拥有死区生成和互补输出…

ArrayList 类 (顺序表)

目录 一. ArrayList 基本介绍 二. ArrayList 中的法及其应用 1. 添加元素 (1) add() (2) addAll() 2. 删除元素 (1) remove() (2) removeAll() 3. 遍历元素 (1) for 循环遍历 (2) for - each 遍历 (3) 迭代器遍历 (4) 列表迭代器遍历 4. 判断 (1) cotains() (2…

ubuntu22.04安装PaddleX3

PaddleOCR 安装过程可以参考PaddleX本地安装教程 我的电脑环境配置&#xff1a; ubuntu22.04 cuda11.8&#xff08;之前安装的是12.4没有匹配的paddle-gpu;这里改成11.8&#xff09; 一、安装基础环境 1、 conda create -n ppx1 python3.10 2、 conda activate ppx1 3、…

圣诞快乐(h5 css js(圣诞树))

一&#xff0c;整体设计思路 圣诞树h5&#xff08;简易&#xff09; 1.页面布局与样式&#xff1a; 页面使用了全屏的黑色背景&#xff0c;中央显示圣诞树&#xff0c;树形由三层绿色的三角形组成&#xff0c;每一层的大小逐渐变小。树干是一个棕色的矩形&#xff0c;位于三角…

行业观察|西门子收购Altair:从多学科仿真到工业元宇宙

在当今数字化时代&#xff0c;工业领域正经历着深刻的变革。而CAE软件作为工业领域关键工具&#xff0c;在产品设计、验证和优化等环节发挥着越来越重要的作用。 11月&#xff0c;西门子宣布收购Altair的新闻屠版了整个朋友圈&#xff0c;无疑验证了CAE在制造业的核心地位。对A…

【Verilog】UDP用户原语

User-defined primitives 概述基本语法组合逻辑的UDP时序逻辑的UDPUDP 符号表 Verilog HDL&#xff08;简称 Verilog &#xff09;是一种硬件描述语言&#xff0c;用于数字电路的系统设计。可对算法级、门级、开关级等多种抽象设计层次进行建模。 Verilog 不仅定义了语法&…

计算机网络压缩版

计算机网络到现在零零散散也算过了三遍&#xff0c;一些协议大概了解&#xff0c;但总是模模糊糊的印象&#xff0c;现在把自己的整体认识总结一下&#xff0c;&#xff08;本来想去起名叫《看这一篇就够了》&#xff0c;但是发现网上好的文章太多了&#xff0c;还是看这篇吧&a…

单元测试使用记录

什么是单元测试 简单来说就是对一个类中的方法进行测试&#xff0c;对输出的结果检查判断是否符合预期结果 但是在多年的工作中&#xff0c;从来没有哪个项目中真正系统的用到了单元测试&#xff0c;因此对它还是很陌生的&#xff0c;也就造成更加不会在项目中区使用它。 如何…

bridge between Lua world and the .NET

一、新建项目&#xff1a;luademo 安装包&#xff1a;<PackageReference Include"NLua" Version"1.7.3" /> using NLua; using System;namespace luademo {internal class Program{static void Main(string[] args){Lua state new Lua();for (int …

路径规划之启发式算法之二十三:免疫算法(Immune Algorithm,IA)

免疫算法(Immune Algorithm,IA)是基于人工免疫系统的理论,受生物免疫系统的启发而推出的一种新型的智能搜索算法。通过模拟生物免疫系统的工作原理来解决优化问题。 一、定义与原理 免疫算法是以人工免疫系统的理论为基础,实现了类似于生物免疫系统的抗原识别、细胞分化、…

2.5.1 文件管理基本概念

文章目录 文件文件系统文件分类 文件 文件&#xff1a;具有符号名&#xff0c;逻辑上有完整意义的一组相关信息的集合。 文件包含文件体、文件说明两部分。文件体存储文件的真实内容&#xff0c;文件说明存放操作系统管理文件所用的信息。 文件说明包含文件名、内部标识、类型、…