2026年3月中科院一区SCI-贝塞尔曲线优化算法Bezier curve-based optimization-附Matlab免费代码

引言

近年来,在合理框架内求解优化问题的元启发式算法的发展引起了全球科学界的极大关注。本期介绍一种新的创新算法------贝塞尔曲线优化算法Bezier curve-based optimization,BCO。该算法灵感来自于贝塞尔曲线理论。BCO利用不同阶Bezier曲线的几何特性,利用线性Bezier曲线实现开发,利用二次Bezier曲线实现局部最优规避,利用三次Bezier曲线实现勘探,于2026年1月最新发表 在 JCR 1区,中科院1区期刊 Advanced Engineering Informatics 。

贝塞尔曲线是一种通过控制点生成光滑曲线的参数化数学工具,由法国工程师皮埃尔·贝塞尔(Pierre Bezier)于1962年提出。它广泛应用于计算机图形学和工业设计。其核心思想是利用Bernstein多项式对控制点进行插值,得到连续且灵活可调的曲线。对于由n + 1个控制点P0, P1,...,Pn定义的n阶Bezier曲线,这些控制点决定了曲线的形状。曲线上任意点B(u)的坐标可以表示为

线性贝塞尔曲线由两个控制点P0和P1决定,其公式为:

我们采用控制点P1, P2, P3,通过三次线性Bezier曲线公式定义二次Bezier曲线

我们采用P0, P1, P2, P3四个控制点来定义三次贝塞尔曲线

  1. 初始化:和其他群优化算法一样,采用随机初始化。
  1. 开发策略:利用策略旨在详细模拟一组搜索代理如何向可能揭示新的全局最优的搜索空间移动。这个过程说明了群体局部搜索行为的特点。为了在BCO中实现这种搜索模式,在此阶段引入Bezier曲线来构造三种局部搜索策略。这些策略的目标是更有效地探索有前途的局部空间,允许搜索代理快速收敛到最优解决方案。

在开发阶段,由于大多数智能体开始在特定区域进行局部搜索,种群的中心位置趋向于当前最优解。因此,第二种开发策略的重点是利用线性Bezier曲线,参考当前agent的位置,在种群中心位置附近建立一个搜索空间。在该策略中,忽略当前全局最优智能体和其他随机选择的智能体,更强调彻底探测总体的中心位置,从而缩小范围

第三种策略侧重于利用来自其他智能体的信息在不同方向上进行更详细的局部搜索,扰动某些维度并生成更好的解决方案,从而加速收敛。为了实现这一点,使用线性Bezier曲线对每个agent的每个维度进行位置更新可以表示为

  1. 局部回避策略:在解决复杂问题时,有效逃避局部最优的能力极大地影响了算法的性能。将二次贝塞尔曲线引入BCO,提高了算法的搜索效率。这条曲线可以引导当前搜索代理离开它的位置,帮助它有效地退出局部区域。
  1. 探索策略:探索策略旨在模拟一组搜索代理如何广泛调查不同区域以定位潜在的全局最优。这种方法强调了团队避免局部最优并发现新的有希望的区域的能力。为了实现这一目标,我们充分利用了三次贝塞尔曲线的广泛特性进行全局勘探。三次贝塞尔曲线生成搜索路径,允许代理探索解决方案空间的相当一部分。策略定义如下。
  1. 探索开发平衡因子:BCO迭代过程中的勘探-开采平衡算子自适应调整了开采和勘探之间的权衡,提高了算法在不同贝塞尔曲线上搜索行为的平衡性。该操作符定义如下:

算法伪代码:

03. 对比验证

原文作者在23个标准基准函数上测试BCO。接下来,我们使用CEC2017测试套件评估其性能,其中包含10维、30维、50维和100维问题。然后,我们通过结合来自CEC2014、CEC2020和CEC2022套件的测试集进一步验证BCO的有效性。最后,我们通过将BCO成功应用于15个具有约束条件的实际工程问题,证实了它的实用性。将BCO应用于三维无人机的路径规划中,该路径规划涵盖了两种类型的航路点,每种航路点对应8种不同的地形场景,并考虑了有效规避多种威胁的要求。与原来27个算法中选出的7个优秀算法相比,BCO在Friedman测试中名列前茅,突出了其优势和竞争力。这些发现表明,BCO是解决复杂现实挑战的强大新工具,具有推进未来优化的巨大潜力。

参考文献

Zhao, W., Xie Y., Wang, L., Zhang. Z., Khodadadi, N., Mirjalili, S. (2026). An effective Bezier curve-based optimization (BCO) for large-scale numerical problems and 3D unmanned aerial vehicle path planning with efficient multiple threats evasion, Advanced Engineering Informatics, 73, 104524. https://doi.org/10.1016/j.aei.2026.104524..

Matlab代码下载

微信搜索并关注-优化算法侠(英文名:Swarm-Opti),或扫描下方二维码关注,以算法名字搜索历史文章即可下载。

完整代码

BCO.zip

链接:https://pan.quark.cn/s/29556d4fcd1c

点击链接跳转

400多种优化算法免费下载-matlab

https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247488871&idx=1&sn=ea026691584099bc23b5d9a8c0d9d9cf&scene=21&poc_token=HG5-tWijLKDzrao_cHY0NlLHnIgBxRgsfIQFxbLihttps://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247488871&idx=1&sn=ea026691584099bc23b5d9a8c0d9d9cf&scene=21&poc_token=HG5-tWijLKDzrao_cHY0NlLHnIgBxRgsfIQFxbLi

求解cec测试函数-matlab

cec2017测试函数使用教程及matlab代码免费下载

cec2018测试函使用教程及matlab代码免费下载

cec2019测试函使用教程及matlab代码免费下载

cec2020测试函使用教程及matlab代码免费下载

cec2021测试函使用教程及matlab代码免费下载

cec2022测试函使用教程及matlab代码免费下载
绘制cec2017/018/2019/2020/2021/2022函数的三维图像教程,SO EASY!

215种群智能优化算法python库

Amazing!Python版215种群智能优化算法https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247486669&idx=1&sn=6b439e55b37b6482b8d3831ca85f1d55&chksm=c12be0c8f65c69de71ad51d3b736b871ff52f8646e90624f95dd32b024dfaad369d654aaf8fc#rd

解决12工程设计优化问题-matlab

略微出手,工程设计问题(12)(附Matlab代码)https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247485052&idx=1&sn=80e5573c1c005ee5640e44935044ee35&chksm=c12bea79f65c636fc73758b4f4893502bd89cbd1c5d15d7db15e8b5c94eeae40450439d44944&token=681266555&lang=zh_CN#rd

求解11种cec测试函数-python

【选择自由,免费下载】215种优化算法求解11种cec测试函数-python代码https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247486669&idx=2&sn=eea8fb04dc507ab9119e2c97c03ca2f6&chksm=c12be0c8f65c69decd6c8109f6b997986bf58725fdbbd7ab03752cb6f61aacdb5a2dc7fec762#rd

解决30种工程设计优化问题-python

【一码解决】215种优化算法求解30个现实世界的工程设计优化问题,让你的论文增色10倍(附Python代码)https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247486669&idx=3&sn=ea6d26ae7cb651e5c368f4c73ade228e&chksm=c12be0c8f65c69de739af72d9793838f59ab77bfee36bc2c204f96e2a9e5c6d87dfbbbae698e#rd

《一行破万法》:80余种改进策略仅需一行,可改进所有优化算法(附matlab代码)

https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247487693&idx=1&sn=2e112a6ecad1a302179ed83a955fb26b&scene=21&poc_token=HBF_tWijdJadHRqwV2szg8ee9k-p1DTwa8W7GF4Chttps://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247487693&idx=1&sn=2e112a6ecad1a302179ed83a955fb26b&scene=21&poc_token=HBF_tWijdJadHRqwV2szg8ee9k-p1DTwa8W7GF4C

【有经典,有最新】24种信号分解方法(附matlab代码)

沙场大点兵:24种信号分解方法(附matlab代码)https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247486001&idx=1&sn=a87c24cb401017a78a90bd1b1439fcb0&chksm=c12be634f65c6f22368b7229a59ac5ef330b89d710c826dbfd1a1c34a02b1dd7e909c7f40d79&token=25423484&lang=zh_CN#rd

【分类新范式】28种一维数据转换成二维图像的方法-matlab代码

2025年故障诊断的创新思路在哪里?赶紧来学习这28种创新方法!https://mp.weixin.qq.com/s/EdRYeziIhnZE5zK0ZZhwmg

相关推荐
t198751281 小时前
三维点云最小二乘拟合MATLAB程序
开发语言·算法·matlab
m0_726965982 小时前
面面面,面面(1)
java·开发语言
x_xbx2 小时前
LeetCode:148. 排序链表
算法·leetcode·链表
Darkwanderor2 小时前
三分算法的简单应用
c++·算法·三分法·三分算法
2401_831920742 小时前
分布式系统安全通信
开发语言·c++·算法
~无忧花开~2 小时前
React状态管理完全指南
开发语言·前端·javascript·react.js·前端框架
WolfGang0073213 小时前
代码随想录算法训练营 Day17 | 二叉树 part07
算法
温九味闻醉3 小时前
关于腾讯广告算法大赛2025项目分析1 - dataset.py
人工智能·算法·机器学习
炽烈小老头3 小时前
【 每天学习一点算法 2026/03/23】数组中的第K个最大元素
学习·算法·排序算法