1、简介

这项研究介绍了云漂移优化(数位长)算法,这是一种创新的自然启发的元启发式方法来解决复杂的优化问题。CDO模仿受大气力影响的云粒子的动态行为,在探索和利用之间取得了微妙的平衡。它具有自适应权重调整机制,可以改变云的实时漂移行为,从而在搜索空间中进行高效导航。使用基于云的漂移策略,数位长利用概率运动更有效地在优化环境中机动。该算法经过了各种既定的单峰和多模态基准函数的严格测试,与当代顶级优化技术相比,它展示了卓越的性能,具有更快的收敛速度、高鲁棒性和卓越的解算精度。

2、算法

云是大气中的动态形成,由悬浮在空气中的水滴或冰晶组成。它们在地球的天气模式和气候调节中至关重要。云的生命周期和运动是受各种气象因素影响的复杂过程。尽管云经常被单独观察到,但它们也可以形成跨越大地理区域的庞大系统,在大陆范围内影响天气条件。云运动的独特之处在于它对不同大气条件的适应性。在其初始阶段,云形成缓慢,并在当地天气模式的影响下逐渐移动。随着它们的成熟和规模的增长,云可以在强风和压力梯度的驱动下表现出快速和不可预测的运动。
这种行为允许云长距离旅行,影响跨区域的天气状况。云运动的主要特征之一是它能够为生长和发展寻求有利的大气条件。云自然地向含水量较高、温度梯度适宜的地区吸引,这为它们的形成和持续提供了必要的条件。这种目标寻找行为对于云在动态大气中的生存和进化至关重要。在受自然启发的算法的背景下,搜索过程在逻辑上可以分为两种倾向:探索和开发。探索鼓励搜索代理突然移动并探索新的区域,而开发则侧重于局部细化和优化。云通过其自适应运动和环境相互作用自然地执行这两个功能和目标搜索。因此,如果我们能够对这种行为进行数学建模,我们就可以基于云运动原理设计一种新的自然启发算法。虽然接下来的模拟和讨论强调了数位长算法在搜索空间内定位全局最优的有效性,但随后的部分将使用各种数学函数和三个苛刻的现实世界问题来评估算法的性能。
CDO是一种受自然启发的优化算法,基于对地球大气中云的动态行为进行严格的数学建模。与通常使用线性或固定模型的传统元启发式方法不同,数位长独特地利用了云运动的两个自然阶段——开发和探索。这两个阶段相互作用,以实现高效的搜索空间探索和智能收敛以获得最佳解决方案。在该算法中,每个搜索代理(人造云)根据其相对于其他代理的性能获得动态权重,类似于大气中较重和更活跃的云如何对周围云的方向产生更大的影响。
此外,为了防止过早收敛,使用递减概率因子对云中的随机运动和意外扰动(如天气突变)进行数位长模拟。所有这些步骤都被设计成一个全面而连贯的过程,包括:随机初始化、动态加权、双峰位置更新(沉浸/探索)、自适应随机扰动和智能收敛条件。

2.1 问题定义

给定一个优化问题,其目标是最小化(或最大化)目标函数 f(x)f(x)f(x)在有界搜索空间 Ω\OmegaΩ内,目标是找到:

min⁡x∈Ωf(x)(1) \min_{x \in \Omega} f(x) \tag{1} xΩminf(x)(1)

其中 Ω={x∈Rd∣lb≤xi≤ub}\Omega = \{x \in \mathbb{R}^d | lb \leq x_i \leq ub\}Ω={xRdlbxiub}lblblbububub分别是解的第 iii维的下界和上界。

2.2 初始化

算法以 NNN个候选解(云)在搜索空间内的随机初始化开始,确保对整个空间的无偏探索:

Xi0=lb+(ub−lb)⋅U(0,1),∀i∈{1,2,…,N}(2) X_i^0 = lb + (ub - lb) \cdot U(0, 1), \quad \forall i \in \{1, 2, \ldots, N\} \tag{2} Xi0=lb+(ublb)U(0,1),i{1,2,,N}(2)

其中 U(0,1)U(0, 1)U(0,1)表示在范围 [0, 1] 上的均匀随机分布。此步骤模拟了天空中云粒子的随机初始分布,其中初始位置未知且分散。

2.3 权重自适应

每个云(或粒子)根据其相对于群体中其他粒子的适应度值被分配一个动态权重。这权重决定了粒子受其他粒子位置影响的程度。每个云的权重基于适应度函数更新:

wi,j={1+(0.3+0.7⋅U(0,1))⋅log⁡10(f∗−Xi(j)f∗−fmax⁡+1),if i≤N21−(0.3+0.7⋅U(0,1))⋅log⁡10(Xi(j)−f∗S+1),otherwise(3) w_{i,j} = \begin{cases} 1 + (0.3 + 0.7 \cdot U(0, 1)) \cdot \log_{10} \left( \frac{f^* - X_i(j)}{f^* - f_{\max}} + 1 \right), & \text{if } i \leq \frac{N}{2} \\ 1 - (0.3 + 0.7 \cdot U(0, 1)) \cdot \log_{10} \left( \frac{X_i(j) - f^*}{S} + 1 \right), & \text{otherwise} \end{cases} \tag{3} wi,j=1+(0.3+0.7U(0,1))log10(ffmaxfXi(j)+1),1(0.3+0.7U(0,1))log10(SXi(j)f+1),if i2Notherwise(3)

其中 f∗f^*f是迄今为止找到的最佳适应度值,S=f∗−fmax⁡+εS = f^* - f_{\max} + \varepsilonS=ffmax+ε,其中 ε\varepsilonε是一个小值以避免除以零。这种权重自适应允许算法关注适应度较低的粒子,允许适应度较低的粒子探索新区域。适应性权重更新公式中的值0.3和0.7是基于广泛的经验调整确定的。它们使得缩放因子在 [0.3, 1.0] 范围内可控变化,确保有效多样性的同时自适应平衡探索和开发动态。

这种方法复制了云的自然行为,其中主要大气力影响附近粒子。在数学术语中,这类似于进化算法中常见的适应度比例选择方法。通过不断修改权重,CDQ防止早期收敛并继续有效探索,即使在后期阶段。

2.4 位置更新

每个云的位置通过探索和开发行为的组合迭代更新,决定每个云的位置。

2.4.1 开发阶段:局部细化

在此阶段,云向迄今为止找到的最佳解(即全局最佳位置)移动。位置更新方程为:

Xi(t+1)(j)=X∗(j)+0.8⋅vb(j)⋅(wi,j⋅XA(j)−XB(j))(4) X_i^{(t+1)}(j) = X^*(j) + 0.8 \cdot v_b(j) \cdot (w_{i,j} \cdot X_A(j) - X_B(j)) \tag{4} Xi(t+1)(j)=X(j)+0.8vb(j)(wi,jXA(j)XB(j))(4)

其中 X∗(j)X^*(j)X(j)是迭代 ttt时的最佳已知解。vb(j)∼U(−0.2a,0.2a)v_b(j) \sim U(-0.2a, 0.2a)vb(j)U(0.2a,0.2a)表示受因子 a=atanh(−t/T+1)a = \text{atanh}(-t/T + 1)a=atanh(t/T+1)影响的小随机调整,控制开发程度。这种细化行为模拟了云在初始运动后如何逐渐细化其形状,根据最佳附近解调整其位置。

2.4.2 探索阶段:全局搜索

在探索阶段,算法通过允许云在搜索空间内随机移动来确保搜索的多样性:

Xi(t+1)(j)=vc(j)⋅Xi(j)(5) X_i^{(t+1)}(j) = v_c(j) \cdot X_i(j) \tag{5} Xi(t+1)(j)=vc(j)Xi(j)(5)

其中 vc(j)∼U(−0.2b,0.2b)v_c(j) \sim U(-0.2b, 0.2b)vc(j)U(0.2b,0.2b)是另一个影响粒子运动的随机因子,其参数随时间递减,使算法从探索转向开发。

2.5 随机扰动

一些云可能会随机重新初始化,以防止过早收敛并引入算法后期阶段的探索。这以概率 zzz发生,随着算法的进展而减小:

Xi(j)=lb+(ub−lb)U(0,1),with probability z=0.002+0.003⋅(1−tT)(6) X_i(j) = lb + (ub - lb)U(0, 1), \quad \text{with probability } z = 0.002 + 0.003 \cdot \left( 1 - \frac{t}{T} \right) \tag{6} Xi(j)=lb+(ublb)U(0,1),with probability z=0.002+0.003(1Tt)(6)

这种随机化模拟了大气条件中不可预测的变化,可以改变漂移云的路径,确保搜索即使在最后阶段也能继续。这种技术类似于遗传算法中的模拟退火或变异算子。它模拟了突然的天气变化,使漂移的云重新定向,确保即使在后期阶段也能继续探索。通过引入偶尔的大扰动,算法保持了有效逃离局部最优并细化全局解的能力。

2.6 收敛:全局最优

当最佳解的适应度值达到预定阈值 ε\varepsilonε或达到最大迭代次数 TTT时,算法收敛:

Stop if f∗≤ε or t=T(7) \text{Stop if } f^* \leq \varepsilon \text{ or } t = T \tag{7} Stop if fε or t=T(7)

在最后阶段,搜索更加本地化,因为云收敛于全局最优,类似于云形成稳定的静止模式。CDQ算法的整体流程可以总结如下:

  • 初始化:在搜索空间内随机初始化 NNN个云。
  • 权重自适应:根据两个阶段更新权重。
  • 探索和开发:根据两个阶段更新位置。
  • 随机扰动:引入随机重新初始化以避免过早收敛。
  • 收敛检查:当适应度达到迭代限制的阈值时停止。

动态权重调整、概率两阶段搜索方法和随机重新初始化的整合有助于算法可靠地收敛于全局最优。非线性控制函数(如 atanh\text{atanh}atanhtanh⁡\tanhtanh)的引入促进了探索和开发阶段之间的平稳过渡。这些函数使算法能够在搜索强度上自适应地管理,而无需突然改变参数,从而实现稳定的收敛行为。云漂移优化(CDO)算法模拟了云的自然行为,通过探索和开发优化云。运动的数学建模,结合自适应行为(如权重调整和随机扰动),使算法能够避免局部最优并收敛于各种优化问题的全局解。图1展示了云和目标之间的基本相互作用和校正行为。
在这里插入图片描述

图1展示了云群中的基本相互作用和校正行为。它强调了三个关键力:吸引力:云在一定距离内相互吸引,鼓励它们更接近。排斥力:当云太接近时,排斥力将它们推开,防止重叠并确保有效的搜索空间探索。目标区域:“这代表目标区域,这些力帮助引导云朝向这个最优区域。吸引力和排斥力之间的相互作用帮助引导云朝向这个最优区域。图2展示了这些力如何平衡探索(搜索新区域)和开发(专注于有希望的区域),使群体能够有效地找到最佳解决方案。图2展示了使用该方程在2D空间中20个人工云的行为。在图中,20个人工云被要求在10次迭代中找到全局最优解。

function [Best_fitness, Best_position, Convergence_curve] = CDO(N, Max_iter, lb, ub, dim, fobj)% InitializationBest_position = zeros(1, dim);Best_fitness = inf;AllFitness = inf * ones(N, 1);weight = ones(N, dim);X = initialization(N, dim, ub, lb);Convergence_curve = zeros(1, Max_iter);it = 1;search_history = X;% Algorithm parametersz = 0.005;  % Initial probability of random movementStoppingThreshold = 1e-300;  % Lower stopping threshold for higher precisionwhile it <= Max_iter% Evaluate objective function for each solutionfor i = 1:NX(i, :) = min(max(X(i, :), lb), ub);  % Keep solutions within boundsAllFitness(i) = fobj(X(i, :));end% Sort solutions based on fitness values[SmellOrder, SmellIndex] = sort(AllFitness);bestFitness = SmellOrder(1);worstFitness = SmellOrder(N);S = bestFitness - worstFitness + eps;% Update weights dynamicallyfor i = 1:Nfor j = 1:dimif i <= (N / 2)weight(SmellIndex(i), j) = 1 + (0.3 + 0.7 * rand()) * log10((bestFitness - SmellOrder(i)) / S + 1);elseweight(SmellIndex(i), j) = 1 - (0.3 + 0.7 * rand()) * log10((SmellOrder(i) - bestFitness) / S + 1);endendend% Update the best solution found so farif bestFitness < Best_fitnessBest_position = X(SmellIndex(1), :);Best_fitness = bestFitness;end% Stop early if precision target is reachedif Best_fitness < StoppingThresholddisp(['Converged at iteration ', num2str(it)]);break;end% Adjust control parameters dynamicallya = atanh(-it / Max_iter + 1);b = 1 - it / Max_iter;z = 0.002 + 0.003 * (1 - it / Max_iter);  % Reduce random jumps over iterations% Update particle positionsfor i = 1:Nif rand < z% Random reinitialization of some solutionsX(i, :) = min(max((ub - lb) .* rand(1, dim) + lb, lb), ub);elsep = tanh(abs(AllFitness(i) - Best_fitness));vb = unifrnd(-0.2 * a, 0.2 * a, 1, dim);vc = unifrnd(-0.2 * b, 0.2 * b, 1, dim);for j = 1:dimr = rand();A = randi([1, N]);B = randi([1, N]);if r < p% Exploitation phaseX(i, j) = Best_position(j) + 0.8 * vb(j) * (weight(i, j) * X(A, j) - X(B, j));else% Exploration phaseX(i, j) = vc(j) * X(i, j);end% Fine-tuning in the final iterationsif it > 0.9 * Max_iterX(i, j) = X(i, j) * (1 - 1e-12 * randn());endendendX(i, :) = min(max(X(i, :), lb), ub);end% Store convergence dataConvergence_curve(it) = Best_fitness;it = it + 1;end
end

Alibabaei Shahraki, M. Cloud drift optimization algorithm as a nature-inspired metaheuristic. Discov Computing 28, 173 (2025). https://doi.org/10.1007/s10791-025-09671-6

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

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VS Code进行.NET开发时使用断点和热重载

VS Code 调试热重载 1. VS Code 设置 安装扩展&#xff1a;C#、C# Dev Kit设置中搜索hot reload&#xff0c;选择C#开发工具包&#xff0c;把下图的几项全部打勾2. 启动项目&#xff08;仅用左侧“运行和调试”&#xff09; 打开解决方案&#xff0c;选你的启动项目的“.NET La…

mysqlbinlog解析命令

解析 MySQL Binlog 详细信息的命令以下是解析 MySQL Binlog 详细信息的常用命令&#xff1a;1. 基本 binlog 解析命令# 查看 binlog 文件内容&#xff08;基本格式&#xff09; mysqlbinlog /var/lib/mysql/mysql-bin.000001# 查看特定时间段的 binlog mysqlbinlog --start-dat…

算法训练营day60 图论⑩ Bellman_ford 队列优化算法、判断负权回路、单源有限最短路(修改后版本)

增加对最短路径的优化算法、负权回路、单源有限最短的讲解 Bellman_ford 队列优化算法 -------------------------------------------------------------------------------- 8.24更新&#xff1a;该算法是针对带负值的最短路径的优化算法&#xff0c;核心通过队列来实现&…

Python 学习(十六) 下一代 Python 包管理工具:UV

目录1. UV 介绍1.1 什么是UV&#xff1f;1.2 UV的核心优势1.3 UV和其他工具对比1&#xff09;UV vs. pipvirtualenv2&#xff09;UV vs. Conda3&#xff09;UV vs. Poetry4&#xff09;功能对比表2. UV的安装与常用命令2.1 安装UV1&#xff09;使用官方安装脚本&#xff08;推荐…

Redis学习笔记 ----- 缓存

一、什么是缓存 缓存&#xff08;Cache&#xff09;是数据交换的缓冲区&#xff0c;是存储数据的临时地方&#xff0c;一般读写性能较高。 &#xff08;一&#xff09;缓存的作用 降低后端负载&#xff1a;减少对数据库等后端存储的直接访问压力。提高读写效率&#xff0c;降低…

React响应式链路

文章目录响应式链路的核心环节1.状态定义与初始化2.状态更新触发&#xff08;状态变更&#xff09;3.调度更新&#xff08;Scheduler&#xff09;4.重新渲染&#xff08;Render 阶段&#xff09;5.协调&#xff08;Reconciliation&#xff09;与 Fiber 架构6.提交更新&#xff…

软件设计师——计算机网络学习笔记

一、计算机网络 网络基础 1. 计算机网络的分类2. 网络拓扑结构 总线型(利用率低、干扰大、价格低) 星型(交换机形成的局域网、中央单元负荷大) 环型(流动方向固定、效率低扩充难) 树型(总线型的扩充、分级结构) 分布式(任意节点连接、管理难成本高)一般来说&#xff0c;办公室局…

1200 SCL学习笔记

一. IF. 如果。下面是一个起保停IF #I_start AND NOT #I_stop THEN //如果I_start接通 和 I_stop没有接通#Q_run : 1; //输出Q_run 接通 ELSIF #I_stop THEN //如果I_stop接通#Q_run : 0; //。。。。。。 END_IF;二. CASECASE…

单例模式与线程池

1. 单例模式单例模式是一种常用的设计模式&#xff0c;它确保一个类只有一个实例&#xff0c;并提供一个全局访问点来获取这个实例。这种模式在需要控制资源访问、管理共享状态或协调系统行为时非常有用。单例模式的核心特点&#xff1a;私有构造函数&#xff1a;防止外部通过n…

Chrome和Edge如何开启暗黑模式

Edge和Chrome浏览器都提供了实验性功能&#xff0c;可以通过修改实验性设置来开启暗黑模式。 在浏览器地址栏中输入edge://flags/&#xff08;Edge&#xff09;或chrome://flags/&#xff08;Chrome&#xff09;。在搜索框中输入“dark”&#xff0c;找到与暗黑模式相关的选项。…

【科研绘图系列】浮游植物的溶解性有机碳与初级生产力的关系

禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍 数据准备 数据处理 溶解性有机碳(DOC)与初级生产力(NPP)的关系 溶解性有机碳(DOC)与光照强度(PAR)的关系 数据可视化 加载R包 数据下载 导入数据 画图1 画图2 总结 系统信…

IDEA相关的设置和技巧

IDEA相关的设置和技巧 我的博客对应文章地址 1.布局设置 IDEA的布局自定义程度很高&#xff0c;顶部工具栏&#xff0c;侧边栏都可以随意定制&#xff0c;设置好的布局方案可以保存&#xff0c;在新项目中快速使用 1.1 工具栏设置 [!tip] 举个例子&#xff1a;比如我要在顶部…

AWS Lambda 完全指南:解锁无服务器架构的强大力量

在云计算的发展浪潮中,无服务器(Serverless) 架构已然成为构建现代应用的新范式。而在这场变革的中心,AWS Lambda 作为开创性的 Function-as-a-Service (FaaS) 服务,彻底改变了我们部署和运行代码的方式。 本文将带您深入探索 AWS Lambda,从核心概念、工作原理到高级实践…

人工智能时代下普遍基本收入(UBI)试验的实践与探索——以美国硅谷试点为例

一、硅谷UBI试验的最新进展&#xff08;2025年&#xff09;1. 试验规模与资金来源圣克拉拉县试点&#xff1a;硅谷所在地圣克拉拉县针对脱离寄养家庭的年轻人开展UBI试验&#xff0c;每月发放1000美元补贴&#xff0c;持续1-2年&#xff0c;覆盖约60名参与者&#xff0c;成本约…

云计算之云主机Linux是什么?有何配置?如何选?

一、云环境如何选择Linux发行版 1.1、Linux在各个领域的发展 Linux在各个领域的发展序号Linux发展领域说明1Linux在服务器领域的发展目前Linux在服务器领域已经占据95%的市场份额&#xff0c;同时Linux在服务器市场的迅速崛起&#xff0c;已经引起全球IT产业的高度关注&#xf…

XCVU13P-2FHGB2104E Xilinx(AMD)Virtex UltraScale+ FPGA

XCVU13P-2FHGB2104E 是 Xilinx&#xff08;AMD&#xff09;Virtex UltraScale FPGA 系列中的一款高性能芯片&#xff0c;适用于需要大量逻辑资源、高带宽和高速数据传输的应用场景。作为该系列中的旗舰产品&#xff0c;XCVU13P-2FHGB2104I 结合了强大的处理能力和灵活的可编程性…

自动化单词例句获取系统设计方案

方案一 (网络爬虫) 这个方案的核心思路是:创建一个自动化的脚本,该脚本会读取你 MongoDB 中的单词,然后去一个免费的在线词典网站上抓取这些单词的例句,最后将抓取到的例句存回你的 MongoDB 数据库中对应的单词条目下。 一、 核心思路与技术选型 自动化脚本: 我们将使用 P…

WPF Alert弹框控件 - 完全使用指南

WPF Alert弹框控件 - 完全使用指南概述快速开始nuget安装与引用基本用法功能特性详细说明AlertType 枚举方法参数详解Show 方法&#xff08;局部弹窗&#xff09;ShowGlobal 方法&#xff08;全局弹窗&#xff09;完整示例代码XAML 布局C# 代码实现界面演示功能特性对比表格自定…

可视化-模块1-HTML-01

1-软件下载&#xff1a; 软件名称&#xff1a;HBuilderX 官网地址&#xff1a; https://www.dcloud.io/hbuilderx.html 下载文佳-解压缩-打开exe文件 创建快捷方式至桌面 2-创建项目 【普通项目】-【基本HTML项目】-【项目名&#xff1a;week1-1】 【index】输入&#xff1…

机器翻译 (Machine Translation) 经典面试笔试50题(包括详细答案)

更多内容请见: 机器翻译修炼-专栏介绍和目录 文章目录 第一部分:基础理论与概念 (1-15题) 1. 题目: 什么是机器翻译(MT)?请简述其发展历程中的几个主要范式。 2. 题目: 机器翻译的主要评价指标有哪些?请详细解释BLEU指标的计算原理和优缺点。 3. 题目: 什么是平行语料…