2024国赛A问题5

server/2024/12/27 13:40:22/

问题五

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

问题五在问题四的曲线的基础上对速度进行了约束,即在逐步改变龙头速度的情况下,各个龙身的速度也会依次改变,给出龙头的最大行进速度,使得舞龙队各把手的速度均不超过 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内越过,此时会出现较大的弧度变化,导致板凳龙前把手的运动对后面龙身的运动产生了较大的影响,进而影响了其他所有龙身的速度。
  • 龙身后面的部分逐步通过该圆弧,每个龙身通过过程均会产生较大的弧度变化,进而导致速度出现波动,最终出现速度热力图中的现象。

http://www.ppmy.cn/server/153632.html

相关文章

YOLO11改进-模块-引入星型运算Star Blocks

当前网络设计中&#xff0c;“星型运算”&#xff08;逐元素乘法&#xff09;的应用原理未被充分探究&#xff0c;潜力有待挖掘。为解决此问题&#xff0c;我们引入 Star Blocks&#xff0c;其内部由 DW - Conv、BN、ReLU 等模块经星型运算连接&#xff0c;各模块有特定参数。同…

数据结构(哈希表(下)方法讲解)

前言&#xff1a; 在前一部分中&#xff0c;我们探讨了哈希表的基本原理、设计思想、优势与挑战&#xff0c;并了解了它在实际项目中的应用场景。哈希表作为一种高效的数据结构&#xff0c;在查找、插入和删除等操作上具有显著优势&#xff0c;但要真正掌握它的使用&#xff0…

运行Zr.Admin项目(前端)

1.确认环境信息 我这里装的是node16.17版本的 官网16版本的最新为v16.20.2&#xff0c;下载链接https://nodejs.org/dist/v16.20.2/node-v16.20.2-x64.msi 2.去掉ssl 进入到Zr.Admin项目根目录&#xff0c;进入到ZR.vue 打开package.json 文件&#xff0c;删除启动命令配置中…

数字后端培训项目Floorplan常见问题系列专题续集1

今天继续给大家分享下数字IC后端设计实现floorplan阶段常见问题系列专题。这些问题都是来自于咱们社区IC后端训练营学员提问的问题库。目前这部分问题库已经积累了4年了&#xff0c;后面会陆续分享这方面的问题。 希望对大家的数字后端学习和工作有所帮助。 数字后端项目Floor…

在21世纪的我用C语言探寻世界本质 ——编译和链接(编译环境和运行环境)

人无完人&#xff0c;持之以恒&#xff0c;方能见真我&#xff01;&#xff01;&#xff01; 共同进步&#xff01;&#xff01; 文章目录 一、翻译环境和运行环境二、翻译环境1.编译预处理编译汇编 2.链接 三、运行环境 一、翻译环境和运行环境 在 ANSI C 的任何⼀种实现中&am…

单片机与MQTT协议

MQTT 协议简述 MQTT&#xff08;Message Queuing Telemetry Transport&#xff0c;消息队列遥测传输协议&#xff09;&#xff0c;是一种基于发布 / 订阅&#xff08;publish/subscribe&#xff09;模式的 “轻量级” 通讯协议&#xff0c;该协议构建于 TCP/IP 协议上&#xf…

HDLBits训练4

时间&#xff1a;2024.12.23 Dff8ar 代码 注意敏感信号的写法 module top_module (input clk,input areset, // active high asynchronous resetinput [7:0] d,output [7:0] q );always(posedge clk or posedge areset)beginif(areset) q<8b0;else q<d;end endmodul…

CSS基础-长度单位

&#x1f496;简介 在CSS中&#xff0c;长度单位分为绝对长度单位和相对长度单位。这些单位用于定义元素的尺寸、边距、填充、字体大小等属性值。 ⭐绝对长度单位 绝对长度单位指的是那些无论环境如何变化&#xff0c;其值都是固定不变的单位。它们通常适用于需要精确控制尺寸…