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

2024国赛A问题5

问题五

龙头最大速度优化模型的建立

问题五在问题四的曲线的基础上对速度进行了约束,即在逐步改变龙头速度的情况下,各个龙身的速度也会依次改变,给出龙头的最大行进速度,使得舞龙队各把手的速度均不超过 2 m/s。即可依此构建一个龙头速度的优化模型,将各把手的速度范围与计算公式作为约束条件。下面的具体的建立过程:

目标函数

问题五需求解最大的龙头速度,故将龙头速度 v v v作为目标函数,使用 V V V表示,其数学表示为:
max ⁡ V \max V maxV

约束条件
  1. 根据问题五的要求,舞龙队各把手的速度均不得超过 2 m / s 2m/s 2m/s,依据前文, v i v_i vi表示第 i i i个把手的速度,则该约束条件的数学表示为:
    v i ≤ 2 , i = 1 , 2 , … , 22 v_i \leq2,\space i=1,2,\dots,22 vi2, i=1,2,,22

  2. 根据问题四求解的结果,在 v ≥ 1 v \geq 1 v1的情况下,龙身不会出现速度大于 2 m / s 2 m/s 2m/s的情况,故可用数学表示为:
    V ≥ 1 V \geq1 V1

  3. 速度的求解基于在时间的极小步长下的位置变化量,其计算公式为:
    v i = lim ⁡ Δ t → 0 ( x i 1 − x i 2 ) 2 + ( y i 1 − y i 2 ) 2 Δ t v_i=\lim_{\Delta t\to0}\frac{\sqrt{(x_{i1}-x_{i2})^2+(y_{i1}-y{_{i2}})^2}}{\Delta t} vi=Δt0limΔt(xi1xi2)2+(yi1yi2)2

其中 ( x i 1 , y i 1 ) (x_{i1},y_{i1}) (xi1,yi1)为在 t t t时刻下的位置坐标, ( x i 2 , y i 2 ) (x_{i2},y_{i2}) (xi2,yi2)为在 t + 2 ⋅ Δ t t+2\cdot \Delta t t+2Δt下的速度,其中 Δ t = 0.001 s \Delta t=0.001s Δt=0.001s.

综上所述,龙头最大速度优化模型建立如下:
max ⁡ V s . t . { v i ≤ 2 , V ≥ 1 , v i = lim ⁡ Δ t → 0 ( x i 1 − x i 2 ) 2 + ( y i 1 − y i 2 ) 2 Δ t , i = 1 , 2 , … , 22 , \begin{aligned}&\max V\\&\mathrm{s.t.}\begin{cases}v_i\leq2,\\V\geq1,\\v_i=\lim_{\Delta t\to0}\frac{\sqrt{(x_{i1}-x_{i2})^2+(y_{i1}-y_{i2})^2}}{\Delta t},&\end{cases}i=1,2,\ldots,22,\end{aligned} maxVs.t. vi2,V1,vi=limΔt0Δt(xi1xi2)2+(yi1yi2)2 ,i=1,2,,22,

模型的求解

由于第五问模型比较简单,求解起来较为容易,故可采取二分变步长搜索策略与小步长时间数值模拟结合的办法进行求解,具体步骤如下:

Step1 设定初始解与搜索步长

设定初始解为前四问中的初始速度 v 0 = 1 m / s v_0=1m/s v0=1m/s,初始搜索步长为 Δ v = 0.1 m / s \Delta v=0.1m/s Δv=0.1m/s,开始进行搜索。

Step2 大步长快速搜索

从初始速度 v 0 v_0 v0开始搜索,以 Δ v = 0.1 m / s \Delta v=0.1m/s Δv=0.1m/s为步长开始遍历,快速搜索解空间直达搜索到不满足约束条件 v i ≤ 2 v_i\leq2 vi2,设该点为 V i V_i Vi,则该点前一个搜索点为 V i − 1 V_{i-1} Vi1为最后一个满足约束条件的解。

Step3 二分精细搜索

取两点中点值 v i + v i − 1 2 \frac{v_i+v_{i-1}}{2} 2vi+vi1进行计算,若仍不满足约束条件则搜索空间 [ v i − 1 , v i + v i − 1 2 ] [v_{i-1},\frac{v_i+v_{i-1}}{2}] [vi1,2vi+vi1],若满足则搜索空间 [ v i + v i − 1 2 , v i ] [\frac{v_i+v_{i-1}}{2},v_i] [2vi+vi1,vi],修改步长为 Δ v 2 \frac{\Delta v}{2} 2Δv。仍然搜索各解空间中点,按照上述二分法则精细搜索空间。

Step4 导出搜索结果

当搜索步长抵达 Δ v ≤ 0.001 m / s \Delta v\leq 0.001m/s Δv0.001m/s时,抵达搜索误差容限,导出此时解空间的中点作为最终搜索结果 v b e s t v_{best} vbest

误差检验

各个搜索模型的检验(注,把几个模型前面的问题几去掉)

由于本文对于问题三,问题四与问题五的求解涉及到定步长,变步长与双重模拟退火算法等搜索模型,模型搜索的正确性和可靠性直接影响了本题最后结果是否正确,故需要对搜索模型进行检验。

首先检验定步长搜索模型,在满足约束条件的情况下,本文遍历了问题四的所有解空间,绘制了自变量 θ C \theta_C θC θ D \theta_D θD与最终结果弧长 L L L的图像,如下图所示。

通过对整个图像的观察可知,该函数的最终应为在 θ C = 16.63 r a d \theta_C=16.63 rad θC=16.63rad θ D = − 16.63 r a d \theta_D=-16.63rad θD=16.63rad的情况下取得,即整个图像左下角递减区间的最底处,与定步长搜索模型求得的结果几乎完全相同,证明了定步长搜索模型的可靠性。

其次是对变步长搜索模型的检验,在问题三与问题五的结果分析中均对结果进行了遍历与可视化,可视化图可见图多少,多少,均处于图像的最小值处,可证明该模型的可靠性。

最后是对模拟退火算法进行检验,本文在问题三中采取了双重模拟退火算法与变步长搜索模型进行比对的策略,其中模拟退火算法的结果 0.4680 0.4680 0.4680,而变步长搜索算法的结果是 0.45 0.45 0.45,两者相对误差 δ \delta δ计算结果为:
δ = ∣ 0.4680 − 0.45 ∣ 0.45 = 3.96 % < 5 % \delta=\frac{|0.4680-0.45|}{0.45}=3.96\%<5\% δ=0.45∣0.46800.45∣=3.96%<5%
故认为模拟退火算法搜索得到的结果较为可靠,证明了该模型的可靠性。

灵敏度检验

根据题意,板凳的尺寸大小是恒定不变。但考虑到实际生活中板凳龙板凳尺寸大小并不固定,为对模型进行灵敏度检验并探究板凳大小的改变对舞龙队行进轨迹等影响,令板凳长度 L a L_a La [ 1.8 m , 3.4 m ] [1.8m,3.4m] [1.8m,3.4m]内以 0.2 m 0.2m 0.2m为步长变化;板凳宽度 L b L_b Lb [ 0.1 m , 0.6 m ] [0.1m,0.6m] [0.1m,0.6m]内,以 0.1 m 0.1m 0.1m为步长变化。遍历由 [ L a , L b ] [L_a,L_b] [La,Lb]组成的向量空间,计算得到在不同板凳尺寸下板凳龙出现碰撞的时间,可视化如下图所示:

由图可知,在板凳龙长度 L a L_a La减小且 L b L_b Lb长度在 [ 0.1 m , 0.4 m ] [0.1m,0.4m] [0.1m,0.4m]以内的情况下,板凳龙的出现碰撞时间 t C t_C tC出现了明显延长,而板凳宽度 L b L_b Lb增大直接导致了碰撞时间 t C t_C tC的减小,尤其是 L b > 0.5 m L_b>0.5m Lb>0.5m后,可发现板凳龙无法成功进入问题一的螺线模型中,说明了在最开始就出现了碰撞。

上述结果不仅符合实际情况,即板凳的长度 L a L_a La L b L_b Lb尺寸越小,越不容易出现碰撞,同时也说明了本文模型的灵敏性高,能够对板凳微小的变化作出正确的输出。

结果分析

问题一结果分析

观察图可知,随着时间增加,各个把手的速度整体上呈现为下降趋势。下降幅度 随螺线的几何性质变化。观察把手轴可以知道,龙头到龙尾的速度呈增长趋势。

观察结果可视化图可得出如下结论:

  • 对于单个把手而言,虽然速度呈现波动的趋势,但是其整体速度呈现下降趋势,这与其运动轨迹在螺线上,螺线曲率半径越来越小相对应。
  • 对于整个队伍而言,龙头到龙尾的速度呈现递减的趋势,其原因应为龙头的运动速度虽为1m/s,但是在运动固定位移后,由于运动轨迹为螺线,运动的传递存在迟滞与消耗,故后面的龙身速度会存在减小。

问题二结果分析

观察图可知,问题二除了龙头到龙尾速度仍然满足递减趋势外,还可以发现,板凳龙中板凳的最近距离呈现出一个类似周期性的变化规律,即在某个时间最近距离突然增大,然后再减小,重复这个周期,但是整体呈现减小的趋势,可以推断:

  • 随着板凳龙进入螺线的推进,螺线的曲率半径减小,板凳之间的最近距离应该是呈现减小的趋势。
  • 最近距离的求得与板凳之间的实际位置相关,运动过程中螺线每一圈存在板凳对角突出的情况,导致最近距离呈现类周期的变化规律,这与螺线本身呈现一圈圈环绕的形状相关。

问题四结果分析

在求解出问题四的结果之外,通过对问题四所有板凳的速度进行可视化,可发现在 t < 10 s t<10s t<10s时,所有的板凳速度几乎保持一致,趋近于 1 m / s 1m/s 1m/s,但是在 t = 10 s t=10s t=10s处,几乎所有板凳出现了一个速度的突变,且在此之后板凳的速度分别出现变化,通过对该时间的板凳龙位置进行可视化,得出了如下结论:

  • t = 10 s t=10s t=10s时候板凳龙前把手刚好进入后段圆弧,由于求解得到的后段圆弧半径仅有 1.50 m 1.50m 1.50m左右,故板凳龙前把手几乎可以在 1 s − 2 s 1s-2s 1s2s内越过,此时会出现较大的弧度变化,导致板凳龙前把手的运动对后面龙身的运动产生了较大的影响,进而影响了其他所有龙身的速度。
  • 龙身后面的部分逐步通过该圆弧,每个龙身通过过程均会产生较大的弧度变化,进而导致速度出现波动,最终出现速度热力图中的现象。

相关文章:

2024国赛A问题5

问题五 龙头最大速度优化模型的建立 问题五在问题四的曲线的基础上对速度进行了约束&#xff0c;即在逐步改变龙头速度的情况下&#xff0c;各个龙身的速度也会依次改变&#xff0c;给出龙头的最大行进速度,使得舞龙队各把手的速度均不超过 2 m/s。即可依此构建一个龙头速度的…...

Kalilinux下MySQL的安装

MySQL是一个广泛使用的开源关系型数据库管理系统&#xff0c;它是最流行的关系型数据库之一。在Kalilinux下安装MySQL可以为我们提供方便的数据库管理和开发环境。本文将介绍如何在Kalilinux中安装MySQL&#xff0c;并提供一些常用的代码示例。 步骤一&#xff1a;更新软件包 …...

文件路径与Resource接口详解

目录 第一章、快速了解文件路径1.1&#xff09;什么是文件路径&#xff1f;1.1.1&#xff09;绝对路径1.1.2&#xff09;相对路径 1.2&#xff09;重要&#xff1a;相对路径的表示方法1.2.1) ./ 与 ../ 1.3&#xff09;文件路径与环境变量1.3.1&#xff09;什么是环境变量1.3.2…...

极狐GitLab 17.7正式发布,可从 GitLab 丝滑迁移至极狐GitLab【二】

GitLab 是一个全球知名的一体化 DevOps 平台&#xff0c;很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab 是 GitLab 在中国的发行版&#xff0c;专门为中国程序员服务。可以一键式部署极狐GitLab。 学习极狐GitLab 的相关资料&#xff1a; 极狐GitLab 官网极狐…...

分布式光纤传感|分布式光纤测温|线型光纤感温火灾探测器DTS|DTS|DAS|BOTDA的行业16年的总结【2024年】

背景&#xff1a; 从2008年&#xff0c;从事分布式光纤传感行业已经过了16年时间了&#xff0c;依稀记得2008年&#xff0c;看的第一遍论文就是中国计量大学张在宣老爷子的分布式光纤测温综述&#xff0c;我的经历算是行业内极少数最丰富的之一。混过学术圈&#xff1a; 发表…...

存储过程实现多个分类不同计算规则得到对应的分类、月份和款号

该存储过程 PRO_MON_MDCODE 实现多个分类不同计算规则得到对应的分类、月份和款号,其中线下分类的款最早出现时间会在20230101,最晚是当前月份后12月,电商的款取商品维表的23,24,25年商品年份的A款,其他业务分类逻辑(A-线上,B电商公司,C品牌公司)的款最早出现时间会在2…...

aj-report本地前后端分离部署运行

github项目地址 aj-report-mine 在源代码v1.4版本基础上&#xff0c;本地进行前后端分离部署开发 这里我是进行了整合&#xff0c;把自己在拉取源代码到成功运行过程中的一些东西直接整合&#xff0c;根据下面的步骤即可成功运行 资源获取 夸克网盘(16-github-aj-report-re…...

CSS 过渡动画效果

在 CSS 中&#xff0c;transition 是用来实现元素属性平滑过渡的一个属性。通过 transition&#xff0c;你可以指定当元素的状态发生变化时&#xff0c;如何在一定时间内平滑地过渡到新的样式&#xff0c;而不是立即跳变。 使用于侧边栏展开和收起了&#xff0c;左侧区域的自适…...

网络安全 - DOS

1.1.1 摘要 最近网络安全成了一个焦点&#xff0c;除了国内明文密码的安全事件&#xff0c;还有一件事是影响比较大的——Hash Collision DoS&#xff08;通过Hash碰撞进行的拒绝式服务攻击&#xff09;&#xff0c;有恶意的人会通过这个安全漏洞让你的服务器运行巨慢无比&…...

【强化学习】Stable-Baselines3学习笔记

【强化学习】Stable-Baselines3学习笔记 Stable-Baselines3是什么安装ExampleReinforcement Learning Tips and TricksVecEnv相关在stablebaselines中使用自定义环境 Stable-Baselines3是什么 Stable Baselines3&#xff08;简称SB3&#xff09;是一套基于PyTorch实现的强化学习…...

前端真实面试题自用

一、写在前面 笔者&#xff0c;经过计算机学硕考研的失败后&#xff0c;想谋求一份前端工作实在是太难了。一方面&#xff0c;确实曾经学习过的东西很久没有拾起&#xff0c;另一方面&#xff0c;对于前端面经还是记忆不深刻&#xff0c;特地写此贴记录笔者在真实前端面试中遇…...

vue3和springboot使用websocket通信

前端端口&#xff1a;9090 后端端口&#xff1a;8080 vue3 引入依赖&#xff1a; npm install sockjs-client stomp/stompjs vue页面 <template><div><h1>WebSocket 示例</h1><button click"sendMessage">发送消息</button>…...

JS 解构、数组扩展符和模板字符串的常见用法

文章目录 解构1. 对象解构2. 数组解构 数组扩展符模板字符串 解构 1. 对象解构 想把对象中的属性赋值给变量时, 需要一次一次的赋值&#xff0c;很麻烦。而对象解构, 就是把对象的结构拆解开, 然后把拆解后的属性自动赋值给匹配的变量。 (1) 对象属性赋值变量的传统写法&…...

低代码开源项目Joget的研究——Joget7社区版安装部署

大纲 环境准备安装必要软件配置Java配置JAVA_HOME配置Java软链安装三方库 获取源码配置MySql数据库创建用户创建数据库导入初始数据 配置数据库连接配置sessionFactory编译下载tomcat启动下载aspectjweaver移动jw.war文件编写脚本运行 测试参考资料 Joget&#xff0c;作为一款开…...

Golang 为什么没有注解?

Go 的哲学是:“少就是多,显式优于隐式。”注解虽然方便,但会违背 Go 追求简洁和清晰的设计理念。 什么是注解?为什么看起来很实用? 注解的定义:注解是一种特殊的元信息,用于修饰代码(如类、方法、字段等),让程序或工具在运行时或编译时解析和处理这些信息。例如: …...

Visual Studio Code(VS Code)配置C/C++环境

一、Visual Studio Code安装 Visual Studio Code&#xff0c;下文中简称为VS Code的详细安装方法请参考VSCode安装教程&#xff08;超详细&#xff09;-CSDN博客 二、MinGW编译器下载与配置 1、MinGW介绍 MinGW(Minimalist GNU for Windows)是一款用于Windows 平台的轻…...

LabVIEW软件开发的未来趋势

LabVIEW软件开发的未来趋势可以从以下几个方面来分析&#xff1a; ​ 1. 与AI和机器学习的深度结合 趋势&#xff1a;LabVIEW正在向集成AI和机器学习方向发展&#xff0c;尤其是在数据处理、预测性维护和自动化控制领域。 原因&#xff1a;AI技术的普及使得实验和工业场景中的…...

Node.js 助力前端开发:自动化操作实战

前端开发中&#xff0c;重复性任务如新建文件、配置路由、生成组件等&#xff0c;往往耗时且容易出错。借助 Node.js 的强大能力&#xff0c;我们可以实现开发过程中的自动化操作&#xff0c;提高效率。 文章目录 自动生成 router 配置文件自动生成组件模板动态构建导航菜单自…...

HuggingFace peft LoRA 微调 LLaMA

1. 安装必要库 pip install transformers peft accelerate2. 加载 LLaMA 模型和分词器 从 Hugging Face Transformers 加载预训练的 LLaMA 模型和分词器。 from transformers import AutoModelForCausalLM, AutoTokenizer# 加载 LLaMA 模型和分词器 model_name "meta-…...

记-编译magisk_v22

1) 下载源码 git clone gitgitee.com:MayuriNFC/Magisk.git 使用国内镜像站 2) 切换标签: git checkout v22.0 3)下载/更新依赖 git submodule initgit sumodule update 4)下载对应ndk(自动下载出错了,用了手动下载), wget -c https://dl.google.com/android/reposito…...

Xshell远程连接Kali(默认 | 私钥)Note版

前言:xshell远程连接&#xff0c;私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...

k8s从入门到放弃之Ingress七层负载

k8s从入门到放弃之Ingress七层负载 在Kubernetes&#xff08;简称K8s&#xff09;中&#xff0c;Ingress是一个API对象&#xff0c;它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress&#xff0c;你可…...

HTML前端开发:JavaScript 常用事件详解

作为前端开发的核心&#xff0c;JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例&#xff1a; 1. onclick - 点击事件 当元素被单击时触发&#xff08;左键点击&#xff09; button.onclick function() {alert("按钮被点击了&#xff01;&…...

go 里面的指针

指针 在 Go 中&#xff0c;指针&#xff08;pointer&#xff09;是一个变量的内存地址&#xff0c;就像 C 语言那样&#xff1a; a : 10 p : &a // p 是一个指向 a 的指针 fmt.Println(*p) // 输出 10&#xff0c;通过指针解引用• &a 表示获取变量 a 的地址 p 表示…...

论文阅读:Matting by Generation

今天介绍一篇关于 matting 抠图的文章&#xff0c;抠图也算是计算机视觉里面非常经典的一个任务了。从早期的经典算法到如今的深度学习算法&#xff0c;已经有很多的工作和这个任务相关。这两年 diffusion 模型很火&#xff0c;大家又开始用 diffusion 模型做各种 CV 任务了&am…...

CppCon 2015 学习:Time Programming Fundamentals

Civil Time 公历时间 特点&#xff1a; 共 6 个字段&#xff1a; Year&#xff08;年&#xff09;Month&#xff08;月&#xff09;Day&#xff08;日&#xff09;Hour&#xff08;小时&#xff09;Minute&#xff08;分钟&#xff09;Second&#xff08;秒&#xff09; 表示…...

2.3 物理层设备

在这个视频中&#xff0c;我们要学习工作在物理层的两种网络设备&#xff0c;分别是中继器和集线器。首先来看中继器。在计算机网络中两个节点之间&#xff0c;需要通过物理传输媒体或者说物理传输介质进行连接。像同轴电缆、双绞线就是典型的传输介质&#xff0c;假设A节点要给…...

2025-05-08-deepseek本地化部署

title: 2025-05-08-deepseek 本地化部署 tags: 深度学习 程序开发 2025-05-08-deepseek 本地化部署 参考博客 本地部署 DeepSeek&#xff1a;小白也能轻松搞定&#xff01; 如何给本地部署的 DeepSeek 投喂数据&#xff0c;让他更懂你 [实验目的]&#xff1a;理解系统架构与原…...

理想汽车5月交付40856辆,同比增长16.7%

6月1日&#xff0c;理想汽车官方宣布&#xff0c;5月交付新车40856辆&#xff0c;同比增长16.7%。截至2025年5月31日&#xff0c;理想汽车历史累计交付量为1301531辆。 官方表示&#xff0c;理想L系列智能焕新版在5月正式发布&#xff0c;全系产品力有显著的提升&#xff0c;每…...

可视化预警系统:如何实现生产风险的实时监控?

在生产环境中&#xff0c;风险无处不在&#xff0c;而传统的监控方式往往只能事后补救&#xff0c;难以做到提前预警。但如今&#xff0c;可视化预警系统正在改变这一切&#xff01;它能够实时收集和分析生产数据&#xff0c;通过直观的图表和警报&#xff0c;让管理者第一时间…...