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

2022年亚太杯APMCM数学建模大赛B题高速列车的优化设计求解全过程文档及程序

2022年亚太杯APMCM数学建模大赛

B题 高速列车的优化设计

原题再现:

  2022年4月12日,中国高铁复兴号CR450动车组在开放线上成功实现单车时速435公里,相对速度870公里,创造了高铁动车组列车穿越开放线和隧道速度的世界纪录。新一代标准动车组“复兴号”是中国自主研发的具有完全知识产权的新一代高速列车。它集成了大量国内现代高科技,在牵引、制动、网络、转向架、车轴等关键技术上取得了重要突破。这是中国科技创新的又一重大成果。图1是高速铁路几何结构的简化模型。
在这里插入图片描述
  中国高速铁路的车头结构为子弹头,日本高速铁路采用鸭嘴结构。图2显示了四种典型高速铁路头部结构的简化模型,包括TP1、TP2、TP3和TP4。其中,高铁轨头结构的设计主要考虑空气阻力和噪声水平。
在这里插入图片描述
  高速铁路弹头的设计过程不仅要以空气动力学为基本原理,还要反复进行仿真和实验。为了实现车头和车身周围的气流、空气动力等相关参数之间的优化方案,可以经过数千次计算和实验进行优化。图3显示了流线型高速轨头结构的不同区域。
在这里插入图片描述
  请收集相关数据,建立几个数学模型,并回答以下问题:

  问题1:请建立高速铁路空气阻力的数学模型,考虑一般条件和极端天气(如雨、雪、风)下高速铁路几何形状与受力之间的关系,模拟圆锥形和四种典型高速铁路的空气阻力分布,如图2所示,并选择空气阻力最小的最佳高速铁路形状。

  问题2:请分析高铁轨头曲线弧度对空气阻力的影响,建立高铁外形优化模型,设计出最佳的高铁外形,使高铁受空气阻力最小,并绘制出优化后的高铁形状草图。

  问题3:请建立高铁产生噪声的数学模型,分析锥形和四种典型高铁产生的噪声强度,如图2所示,模拟它们各自的噪声分布,选择产生噪声最小的最佳高铁形状。

  问题4:请结合前三个问题的结果,建立高铁形状的综合优化模型,设计出最佳的高铁形状,同时提高高铁列车的速度,降低噪音。绘制高速铁路的形状草图,并给出相应的结构参数。

整体求解过程概述(摘要)

  随着计算领域的快速发展,追求高速、低噪声污染的气动外形显得尤为重要。本文建立了相应的数学模型来研究高速铁路的速度域和噪声域,并进行了仿真。

  对于问题1,基于标准𝑘 − 𝜀 模型,分别建立了四个初步的高速列车模型,并对通用车头进行了二维受力分析,并利用RWIND风洞软件对四个模型进行了仿真,定义了用于描述的Δ因子,并对每个模型的Δ因子进行了比较,得出TP1是空气阻力最小的最佳高速列车形状。

  对于问题2,我们将TP1分为5个部分,采用Pareto搜索方法对其进行优化和微调,并建立了优化的高铁模型。针对问题3,以及许多学者对高速列车噪声污染进行了研究,许多国家也出台了相应的限速规定。基于湍流的物理特性,我们对以85m/s速度行驶的高速列车进行了建模和分析,并得出结论,TP4是产生最小噪声的最佳高速列车形状。

  最后,我们结合TP1和TP4的特点,使用多目标粒子群算法设计了一种新的列车,该列车在风洞实验中具有更平衡的力分布,即良好的速度上限和对环境的低噪声,并且与Δ因子相比,新列车的Δ非常好。𝚫TP1=0.0105,𝚫TP4=0.0031,𝚫TPbest=0.0029。比较优化前后的模型可以发现,鼻锥高度减小,鼻锥长度增加,鼻锥变得更光滑;驾驶员室的高度向下调整,流线型的前半部分变得更窄,后半部分的宽度增加。

模型假设:

  1.不同高速铁路的材料相同。

  2.高铁是直的。

  3.风速相同。

  4.身体长度相同。

问题分析:

  问题1
  通过我们对流体连续性原理的分析,本质上流体在流动中的质量守恒,对于理想流体可以得到伯努利方程它是机械能守恒,对于实际流体可以得到泊肃耳定理它是粘性摩擦的存在,这种粘性摩擦会对流体和固体的相对运动产生一种阻力,据此建立空气阻力模型来研究高速铁路的空气阻力。当流体速度非常快时,会产生湍流。在这方面𝑘 − 𝜀 应用该模型求解湍流动能及其耗散率方程。对于四种高速铁路形状,在极端天气(如雨雪)下,我们使用受力分析方法来表示受力关系,对于不同形状的高速铁路,我们使用Blender软件制作了四个高速铁路前端模型,并对这四个模型进行了风洞实验,可以直观地感受到空气对每个部件的阻力,通过比较空气阻力分布来选择空气阻力分布,我们选择了空气阻力最小的高速铁路形状。最终的TP1是空气阻力最小的最佳高速铁路模型。

  问题2
  在TP1的基础上,基于Pareto搜索过程建立了优化模型,设计出空气阻力最小的最优高铁模型。

  问题3
  我们首先收集了相关的噪声数据,对各国高速列车(列车)的噪声有了一定的了解,然后得出当车速很快时,波面加速了积聚,使空气摩擦增加,噪声也随之增加。对此,建立了高速列车的外部空气动力学噪声模型,并通过湍流中的空气阻力模型提取每个节点的湍流动能湍流耗散率,从而确定每个节点的声功率。然后将Lighthill-Colle声学类比理论与高速铁路压力分布进行比较,实现了空气动力学噪声仿真。TP4最终被确定为产生最小噪声的高速铁路的最佳形状。

  问题4
  在第二个问题中Pareto搜索的基础上,我们使用多目标粒子群算法(MOPSO)结合TP1和TP4的特性来找到近似模型,并在风洞中对该模型进行模拟以获得相关数据。结合第三个问题中理论圆锥曲线的模拟值,优化模型𝚫TPbest=0.0029是TP1和TP4中Δ系数最小的(越小越好),与TP1相比降低了72.38%,降低了6.45%,验证了模型的可行性。

模型的建立与求解整体论文缩略图

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

全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可

程序代码:

部分程序如下:
present00=importdata(’ex00_.txt’);
present01=importdata(’ex01_.txt’);
present02=importdata(’ex02_.txt’);
present03=importdata(’ex03_.txt’);
present04=importdata(’ex04_.txt’);
a00=present00(1:300,3:3);
a01=present01(1:300,3:3);
a02=present02(1:300,3:3);
a03=present03(1:300,3:3);
a04=present04(1:300,3:3);
x=present00(1:300,1:1);
deltaY1 = (a01-a00).ˆ2;
deltaY2 = (a02-a00).ˆ2;
deltaY3 = (a03-a00).ˆ2;
deltaY4 = (a04-a00).ˆ2;
k1=sum(deltaY1);
k2=sum(deltaY2);
k3=sum(deltaY3);
k4=sum(deltaY4);
\begin{tikzpicture}
\draw[->](0,0.1)arc(165:120:5 and 3);
\draw[->](0,-0.3)arc(165:120:5 and 3);
\draw[->](0,-0.5)arc(165:120:5 and 3);
\draw[->](0,-0.7)arc(165:120:5 and 3);
\draw[->](0,-0.1)arc(165:120:5 and 3) ;
\draw[->](0,0.3)arc(165:120:5 and 3);
\draw[rotate around={93:(1.8,1.42)}](1.8,1.3) ellipse(0.5 and 0.3);
\draw[rotate around={-45:(0.4,-0.2)}](0,0) ellipse(0.3 and 0.15);
\end{tikzpicture}
\begin{tikzpicture}
\draw(0,0)arc(80:20:5 and 3);
\draw(0,1)arc(80:20:5 and 3);
\draw(0,-3)--(4,-3);
\draw(0.5,-3)--(0.5,-0.1);
\draw(2.8,-0.9)--(2.8,-3);
\draw(0.6,0.41) ellipse(0.2 and 0.49);
\draw(0.4,0.45) ellipse(0.2 and 0.48);
\draw[rotate around={-45:(3.2,-0.75)}](3.2,-0.75) ellipse(0.15 and 0.38);
\draw(2.5,-0.75)arc(149:100:0.8 and 1.4);
\node[left]at(0.5,-2){$h_{1}$};
\node[left]at(2.8,-2){$h_{2}$};
\node[above]at(0.5,1){$a_{1}b_{1}$};
\draw[->](-0.5,0.45)--(0.2,0.45);
\draw[->](3.8,-1.4)--(3.3,-0.9);
\node[below]at(3.8,-1.4){$p_{2}S_{2}$};
\node[above]at(-0.2,0.45){$p_{1}S_{1}$};
\node[above]at(3.2,-0.2){$a_{2}$};
\node[above]at(3.6,-0.6){$b_{2}$};
\end{tikzpicture}
\begin{tikzpicture}
\draw(2,2) ellipse(1 and 3);
\draw(2,2)ellipse(0.8 and 2.5);
\draw(10,2) ellipse(1 and 3);
\draw(10,2) ellipse(0.8 and 2.5);
\draw(2,-1)--(10,-1);
\draw(2,5)--(10,5);
\draw(2,-0.5)--(10,-0.5);
\draw(2,4.5)--(10,4.5);
\node[above]at (2,5){$a$};
\node[above]at (10,5){$b$};
\draw(2,-1.1)--(2,-2);
\draw(10,-1.1)--(10,-2);
\draw[->](6,-1.5)--(2,-1.5);
\draw[->](6.3,-1.5)--(10,-1.5);
\node[right]at(6,-1.5){$l$};
\draw[->](7,5.2)--(5,5.2);
\draw(1.9,5)--(0.1,5);
\draw(10,4.5)--(0.9,4.5);
\draw[->](5,4.3)--(7,4.3);
\draw(0.3,2)--(1.8,2);
\draw[->](2.1,2)--(4,2);
\draw(4.2,2)--(8,2);
\draw(8.2,2)--(10,2);
\draw(10.2,2)--(12,2);
\draw[->](0.5,3.8)--(0.5,5);
\node[below]at(0.5,3.8){$r+dr$};
\draw[->](0.5,3.3)--(0.5,2);
\draw[->](1,3.3)--(1,4.5);
\node[below]at(1,3.3){$r$};
\draw[->](1,3)--(1,2);
\node[below]at(10.5,2){$p_{b}$};
\node[above]at(6,5.2){$f_{r+dr}$};
\node[below]at(6,4.3){$f_{r}$};
\node[below]at(0.5,2){$P_{a}$};
\node[above]at(4,2){$v$};
\end{tikzpicture}
全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可

相关文章:

2022年亚太杯APMCM数学建模大赛B题高速列车的优化设计求解全过程文档及程序

2022年亚太杯APMCM数学建模大赛 B题 高速列车的优化设计 原题再现: 2022年4月12日,中国高铁复兴号CR450动车组在开放线上成功实现单车时速435公里,相对速度870公里,创造了高铁动车组列车穿越开放线和隧道速度的世界纪录。新一代…...

OSI网络分层模型

OSI英文全文是Open System Interconnection Reference Model,翻译成中文就是开放式系统互联通信参考模型。 OSI模型分成了七层,部分层次与 TCP/IP 很像,从下到上分别是: 第一层:物理层,网络的物理形式&…...

EOS区块链keosd的RPC API

list_wallets 查看钱包列表 post v1/wallet/list_walletsapi: http://127.0.0.1:8888/v1/wallet/list_walletsparams: 无returns: ["testnet *" ]testnet:钱包名称create 创建钱包 post v1/wallet/createapi: http://127.0.0.1:8888/v1/wallet/createpa…...

React +AntD + From组件重复提交数据(已解决)

开发场景: react Hooks andt 提交form表单内容给数据库(使用antd的form组件) 问题描述 提交是异步的,请提交方式是POST 方式 提交表单内容给后端,却产生了两次提交记录(当然,数据新增了两条数据)。可以…...

spring的简单使用(配合Druid操作数据库)

文章目录 准备数据pom.xml文件中引用需要的库准备好dao层接口和service层接口和实现类准备好 jdbc.properties 和 user.properties编写Druid的jdbcConfig配置类编写spring的配置类SpringConfig编写Dao层的实现类的逻辑测试类参考文献 准备数据 create database if not exists …...

10.20作业

#include “widget.h” #include “ui_widget.h” Widget::Widget(QWidget *parent) QWidget(parent) , ui(new Ui::Widget) { ui->setupUi(this); t new QTimer(this); connect(t, &QTimer::timeout, this, &Widget::timeout_Slot); ui->text->setPlacehold…...

笔记1 Compute Shaders

Wending 2022/10/29 15:43:54 Compute Shaders是在GPU运行却又在普通渲染管线之外的程序,通过Compute Shader我们可以将大量可以并行的计算放到GPU中计算从而节省CPU资源 Wending 2022/10/29 15:44:27 反正不是传统的shader 不常用 博毅创为Blake老师 2022/10/29 15…...

IntelliJ IDEA 2023版本 Debug 时没有Force Step Into 按钮解决方法

IntelliJ IDEA 2023版本 Debug 时没有Force Step Into 按钮解决方法 force step into作用是能够去查看原码, 新版本idea默认移除了这个按钮😢 那么让我们来把它找出来叭✋ 但是我们可以通过设置,使用step into就可以进入系统方法。 1.单击…...

【2024秋招】用友后端BIP部门hr面-2023.8.31

反思 首先,我想为你提供一个背景:HR面试不仅仅是为了了解你的背景和经验,还包括你的性格、沟通能力、问题解决技巧、团队合作精神和其他软性技能。基于你提供的信息,我会提供一些可能影响offer级别的点: 答案的质量&a…...

[ Windows ] ping IP + Port 测试 ip 和 端口是否通畅

开发过程中经常会黑窗口中手动测试一下计划请求的目标ip和端口是否通畅,测试方式如下: 一、单纯测试ip是否能够 ping 通,这个比较熟悉了,运行 cmd 打开黑窗口 输入如下指令,能够如下提示信息,表示端口是通…...

Golang协程的概念、用法、场景及案例

在当今的软件开发领域中,高性能和并发性是很重要的。开发人员需要编写能够有效利用多核处理器的程序,以提高应用程序的性能和响应能力。Go语言(Golang)就是一种在这方面非常强大的编程语言,它提供了一种称为协程&#…...

Redis 主从复制,哨兵,集群——(3)集群篇

目录 1. 前篇回顾 2. Redis 集群是什么? 3. Redis 集群的优点 4. Redis 集群的槽位概念 5. 什么是分片? 6. 如何找到给定key的分片? 7. 分片槽位的设计有什么好处? 8. key映射到节点的三种解决方案 8.1 哈希取余分区 8.…...

Flink之Watermark水印、水位线

Watermark水印、水位线 水位线概述水印本质生成WatermarkWatermark策略WatermarkStrategy工具类使用Watermark策略 内置Watermark生成器单调递增时间戳分配器固定延迟的时间戳分配器 自定义WatermarkGenerator周期性Watermark生成器标记Watermark生成器Watermark策略与Kafka连接…...

uni-app:对数组对象进行以具体某一项的分类处理

一、原始数据 这里定义为五个数组,种类product有aaa,bbb两种 原始数据在data中进行定义 res: {"success": true,"devices": [{no: 0,product: aaa,alias: "设备1",assign: [["a1", "a2", "a3"],[&q…...

顺序队列----数据结构

队列的概念 队列,符合先进先出特点的一种数据结构,是一种特殊的线性表,但它不像线性表一样可以任意插入和删除操作,而是只允许在表的一端插入,也就是在队列的尾部进行插入;只允许在表的另一端进行删除&…...

【Python学习笔记】字符串格式化

1. printf 风格 这种格式化语法 和 传统的C语言printf函数 一样 。 salary input(请输入薪资:)# 计算出缴税额,存入变量tax tax int(salary) *25/100 # 计算出税后工资,存入变量aftertax aftertax int(salary) *75/100 print(税前薪资&…...

RIP,EIGRP,OSPF区别

1. 动态路由协议的作用是什么? 2. 路由协议都有哪些种类? 3. 如何判断路由协议的优劣? -- RIP,EIGRP,OSPF - 动态路由协议 -- 路由协议 - 路由器上的软件 -- 帮助路由器彼此之间同步路由表 -- 相互的传递…...

驱动day2作业

编写应用程序控制三盏灯亮灭 head.h #ifndef __HEAD_H__ #define __HEAD_H__ #define PHY_LED1_MODER 0x50006000 #define PHY_LED2_MODER 0x50007000 #define PHY_LED1_ODR 0x50006014 #define PHY_LED2_ODR 0x50007014 #define PHY_RCC 0x50000A28#endif demo1.c #includ…...

MySQL基本操作之创建数据表

设计表: 学生表(Student): 学号(StudentID)- 主键,用于唯一标识每个学生姓名(Name)性别(Gender)年龄(Age)出生日期(BirthDate)地址(Address)电话(Phone)邮箱(Email)课程表(Course): 课程号(CourseID)- 主键,用于唯一标识每门课程课程名(CourseNam…...

rk平台android12修改dp和喇叭同时输出声音

客户的rk3588主板android12系统,要求接上type-c 进行dp输出显示以后,dp端和主板端都有声音。rk原有系统默认是接上dp显示以后,主板的喇叭声音会被切掉,导致没有声音。要让喇叭和dp同时输出声音需要做如下修改: --- a/…...

Android Wi-Fi 连接失败日志分析

1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分: 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析: CTR…...

Flask RESTful 示例

目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题: 下面创建一个简单的Flask RESTful API示例。首先,我们需要创建环境,安装必要的依赖,然后…...

调用支付宝接口响应40004 SYSTEM_ERROR问题排查

在对接支付宝API的时候,遇到了一些问题,记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...

【Java学习笔记】Arrays类

Arrays 类 1. 导入包:import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序(自然排序和定制排序)Arrays.binarySearch()通过二分搜索法进行查找(前提:数组是…...

DBAPI如何优雅的获取单条数据

API如何优雅的获取单条数据 案例一 对于查询类API,查询的是单条数据,比如根据主键ID查询用户信息,sql如下: select id, name, age from user where id #{id}API默认返回的数据格式是多条的,如下: {&qu…...

工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配

AI3D视觉的工业赋能者 迁移科技成立于2017年,作为行业领先的3D工业相机及视觉系统供应商,累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成,通过稳定、易用、高回报的AI3D视觉系统,为汽车、新能源、金属制造等行…...

SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)

上一章用到了V2 的概念,其实 Fiori当中还有 V4,咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务),代理中间件(ui5-middleware-simpleproxy)-CSDN博客…...

【JavaSE】多线程基础学习笔记

多线程基础 -线程相关概念 程序(Program) 是为完成特定任务、用某种语言编写的一组指令的集合简单的说:就是我们写的代码 进程 进程是指运行中的程序,比如我们使用QQ,就启动了一个进程,操作系统就会为该进程分配内存…...

android13 app的触摸问题定位分析流程

一、知识点 一般来说,触摸问题都是app层面出问题,我们可以在ViewRootImpl.java添加log的方式定位;如果是touchableRegion的计算问题,就会相对比较麻烦了,需要通过adb shell dumpsys input > input.log指令,且通过打印堆栈的方式,逐步定位问题,并找到修改方案。 问题…...

在 Spring Boot 中使用 JSP

jsp&#xff1f; 好多年没用了。重新整一下 还费了点时间&#xff0c;记录一下。 项目结构&#xff1a; pom: <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://ww…...