首页 > 编程语言 >【智能算法应用】白鲸优化算法求解二维路径规划问题

【智能算法应用】白鲸优化算法求解二维路径规划问题

时间:2024-05-24 23:00:07浏览次数:22  
标签:理工大学 优化 路径 二维 搜索算法 白鲸 算法 智能算法 规划

目录


1.算法原理

【智能算法】白鲸优化算法(BWO)原理及实现

2.路径规划数学模型

优化目标

路径规划问题需要考虑三点:

  • 全局总路径最优
  • 避免碰撞到障碍物
  • 路径平滑性

全局总路径最优

考虑路径规划问题的全局最优路径长度最短,适应度函数可以定义为:
F 1 = ∑ i = 0 m − 1 ( x i + 1 − x i ) 2 + ( y i + 1 − y i ) 2 (1) F_1 = \sum_{i = 0}^{m-1}\sqrt{\left( x_{i+1} - x_i \right)^2 + \left( y_{i+1} - y_i \right)^2}\tag{1} F1​=i=0∑m−1​(xi+1​−xi​)2+(yi+1​−yi​)2 ​(1)

避免碰撞到障碍物

通常考虑添加惩罚函数,当下一步路径将与障碍物发生碰撞时,对其进行惩罚:
F 2 = ϕ ⋅ Q (2) F_2=\phi\cdot Q\tag{2} F2​=ϕ⋅Q(2)

路径平滑性

通常采用方法包括三次样条插值、B样条曲线、贝塞尔曲线、最小路径曲率等。

3.结果展示

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

4.参考文献

[1] 梁景润,刘丽桑,陈炯晖,等.多策略优化麻雀搜索算法及其路径规划的应用[J].福建理工大学学报,2023,21(06):605-612.
[2] 邓明杰.面向路径规划的群智能优化算法研究[D].江西理工大学,2023.
[3] 张恩浩.基于麻雀搜索算法的移动机器人路径规划算法研究[D].重庆理工大学,2022.

5.代码获取

资源清单

标签:理工大学,优化,路径,二维,搜索算法,白鲸,算法,智能算法,规划
From: https://blog.csdn.net/Logic_9527/article/details/139137776

相关文章

  • C语言中二维数组和数组名的二意性
    1.二维数组二维数组的本质,也是一维数组,一维数组中的每个元素,又是一个一维数组声明/定义:int[4]array[3]=>intarray[3][4];intmain(){inta[3][4];printf("&arr[0][0]=%p\n",&a[0][0]);//0x16f38b2e8printf("&arr[0]=%p\n",&a[0]);//0......
  • 二维码生成器,一个支持多文件在线转二维码的的工具,免费二维码生成器
    随着科技的飞速发展,二维码已成为我们生活中不可或缺的一部分。从支付到信息分享,再到活动报名,二维码以其独特的优势,为我们带来了极大的便利。在众多二维码生成器平台中,易易二维码凭借其丰富的功能和卓越的性能,逐渐崭露头角,成为众多用户的首选。本文将对易易二维码生成器平台工具的......
  • 二维码生成器,连接物理与数字世界的桥梁
    在这个数字化时代,二维码作为信息传递的桥梁,已悄然渗透到我们生活的方方面面,从支付交易、信息查询到社交互动,无所不在。易易二维码生成器,正是这样一款集多功能于一体的在线工具,它不仅简化了从链接、图文到文件的转化过程,还融入了设计美学与数据分析功能,成为了企业和个人高效传播信......
  • 自定义可移动点二维坐标轴控件
    自定义可移动点二维坐标轴控件目录路由参数坐标轴控件定义Demo路由参数X_YResultCollection为当前X轴对应Y轴值存储字典publicclassResultCollectionChangedEventArgs(RoutedEventroutedEvent,objectsource,IDictionary<double,double>resultCollection):Route......
  • 生成二维码
    需要的依赖<!--生成二维码所需依赖--><!--https://mvnrepository.com/artifact/com.google.zxing/core--><dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId&g......
  • 二维CAD二次开发
         CAD二次开发语言主要有VBA,Lisp,C#,C++。Lisp是内置语言,和二维CAD本身交换容易,在实现开发中,一般先用C#语言,满足大部分功能,C++objectarx功能最为强大,C++本身难学,只是对于大型程序有用。这里主要介绍C#语言。C#主要通过以下方式进行开发。1, 编译为dll的方式,启动CAD......
  • 二维数组排序
    为了更灵活地控制排序字段和排序顺序,可以修改DataSorter类,使其能够通过参数指定排序字段和排序顺序。以下是实现方法:DataSorter类<?phpclassDataSorter{/***按指定字段和顺序排序二维数组**@paramarray$data要排序的二维数组*@param......
  • 创建二维动态数组
    1//#include<bits/stdc++.h>2#include<iostream>3#include<vector>4usingnamespacestd;5intmain(){6intn;7cin>>n;8//writeyourcodehere......910////1.使用一维数组模拟11//int*num=......
  • 使用ZXing.Net生成二维码
    所需依赖组件从工程安装的ZXing.NetNuget包查看,ZXing.Net不依赖其他组件。查看package包内容,发现内部就zxing.dll和zxing.presentation.dll两个动态库文件。ZXing.Net生成的二维码形式生成的二维码形式为内存Bitmap图像对象,如果需保存为文件或Base64字符串需另外书写代码实......
  • 易易二维码,多功能在线文件预览与二维码生成器
    一、引言在数字化时代,信息的传递与分享变得尤为重要。无论是商务文件、个人文档,还是活动宣传、产品推广,都需要一种高效、便捷的方式来进行信息的展示与分享。易易二维码,作为一款集多WPS、Office文件在线预览、二维码设计、二维码在线报名、网址、图文、文件转二维码以及二维码浏......