高铁列车粒子群算法及改进粒子群算法多目标单目标运行优化设计

article/2025/10/1 10:05:48

问题介绍

根据表1、2、3 所列数据,以能耗、运行时间、舒适性为目标分别设计列车运行速度—距离曲线;完成单目标以及多目标优化下的列车运行对比;选择其中一种方案,设计列车速度跟踪控制算法并进行性能分析。

                                 1 列车参数设置表

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

优化算法选择:

PSO算法使用粒子群来搜索问题的最佳解决方案。每个粒子表示问题的候选解决方案,粒子在搜索空间中的位置表示解决方案。PSO算法使用“适合度”的概念来评估候选解决方案的质量。粒子的适应度是根据需要优化的目标函数计算的。

MOPSO算法是多目标粒子群优化算法的一种,其主要思想是通过维护一组非支配解(Pareto 最优解集)来实现多目标优化。

问题建模与编码及结果

路况表示

路况包括线路的限速值和线路的坡度,以及其它的参数。本文只考虑限速和坡度。
一般的限速曲线是直角的如图示红线,这个曲线是根据限速值(160km/h,250km/h,120km/h)生成的,它将km/h变化单位为m/s。图示横坐标单位为m,纵坐标单位为m/s。
但如果直接使用红线作为限速曲线,当需要减速时,可能减速较晚,导致列车制动力不足以使列车减速到指定限速值,就会越过曲线,发生危险。
因此我们找到了一种基于制动的限速曲线,如图所示。在限速曲线发生下降的地方,充分考虑列车的制动情况,保证列车在紧挨制动曲线运行时,紧急制动可以将列车安全制动,而不会超过线路实际限速值。
同时,底部的曲线的是线路的坡度(-5,-2,2,3,4,4)。因此下图就是线路包含限速和坡度的路况。
在这里插入图片描述

工况表示

轨道交通系统的控制几乎是提前设定好了的,而且在这个控制过程中如何减少能量的消耗才是最关键的目的。列车在站间运行时会根据线路条件、自身列车特性、前方线路状况计算出一个限制速度。列车运行过程中不允许超过此限制速度。限制速度会周期性更新。在限制速度的约束下列车通常包含四种运行工况:牵引、巡航、惰行和制动。
牵引阶段:列车加速,发动机处于耗能状态。
巡航阶段:列车匀速,列车所受合力为0,列车是需要牵引还是需要制动取决于列车当时受到的总阻力。
惰行阶段:列车既不牵引也不制动,列车运行状态取决于受到的列车总阻力,发动机不耗能。
制动阶段:列车减速,发动机不耗能。如果列车采用再生制动技术,此时可以将动能转换为电能反馈回供电系统供其他用电设备使用,例如其他正在牵引的列车或者本列车的空调等(本列车空调的耗能较小,通常忽略不计)。
因此要提前设计好控制策略,如代码所示,先进行牵引(2)然后巡航(1),之后惰行(0),然后从160km/h的限速达到了250km/h的区段,再进行新一轮的牵引(2)然后巡航(1),之后惰行(0),之后进行制动(-2)到达限速为120km/h的区段,然后惰行一段距离(0),最后减速进站(-2),完成控制。因此代码中stateTable=[2,1,0,2,1,0,-2,0,-2]。而解的上限和解的下限就是需要在这个上限与下限区间内完成工况的转换,具体的转换点是在这个区间随机生成的。

列车牵引力

在这里插入图片描述

阻力

制动力

在这里插入图片描述

目标函数

在这里插入图片描述

粒子群算法设置

保证精度的基础上最大程度保证速度,设置种群大小10,最大迭代次数为10。

单目标优化(能耗/时间/舒适度)

运行图示例

在这里插入图片描述

单目标优化结果

在以能耗为优化目标时,能耗消耗最少。在以时间为优化目标时,时间消耗最少。在以舒适度为优化目标时,舒适度达到较好的程度(舒适度值最小)
在这里插入图片描述

多目标优化

下图是列车在30km的区间的运行状况,横坐标是距离,单位为m,纵坐标为速度,单位m/s。可以看到最上面的曲线是改进后的限速曲线,蓝色曲线是粒子群算法根据能量、时间、舒适度为多目标优化出来的速度距离曲线,列车在这种路况和工况下,按照这个曲线行驶,能耗、时间、舒适度会达到一种较好并且均衡的状态。下面紫色的细线是线路坡度,红色的线则是工况状态。

在这里插入图片描述

总结

以能耗、运行时间、舒适性为目标分别设计列车运行速度—距离曲线;完成单目标以及多目标优化下的列车运行对比;
第一,首先建立列车模型(受力、控制工况)和道路模型(限速、坡度),并把模型用代码进行表示。然后分别以能耗、运行时间、舒适性为目标,通过基本的粒子群算法,设计出列车运行速度-距离曲线。通过优化速度曲线,可以达到降低能耗、缩短运行时间或者保障乘客的舒适体验的目标,并且最终的数据也验证了这一点。
第二,我们在单目标优化的基础上进行了基于MOPSO算法,并在能耗、运行时间、舒适性维度上进行了对比。通过对比实验,我们可以评估不同优化目标对列车运行方案的影响,进一步优化列车运行策略,以达到更加理想的效果。

具体文档、代码、思路欢迎私信我


http://chatgpt.dhexx.cn/article/jRgeOpvr.shtml

相关文章

智能优化算法之粒子群算法

1、粒子群优化算法概述 粒子群优化算法(PSO:Particle swarm optimization) 是一种进化计算技术(evolutionary computation)。源于对鸟群捕食的行为研究。粒子群优化算法的基本思想:是通过群体中个体之间的协作和信息共享来寻找最优…

基于群智能的三维路径规划算法 2 —— 粒子群算法

目录 1 PSO算法的基本理论2 PSO算法程序设计流程3 MATLAB编程实现4 算法举例5 函数1 unifrnd函数 1 PSO算法的基本理论 将三个散点看做一个粒子 惯性分量就是 v i − 1 d v^d_{i-1} vi−1d​ 粒子群(PSO)算法是依托群鸟觅食的模型寻找最优解。群体特征…

粒子群算法(2)

上一期:粒子群算法(1) 线性递减惯性权重 惯性权重w体现的是粒子继承先前的速度的能力,Shi,Y最先将惯性权重w引入到粒子群算法中,并分析指出一个较大的惯性权值有利于全局搜索,而一个较小的权值则更利于局部…

粒子群算法简介

粒子群算法简介 前言 本文内容借鉴于 刘衍民的博士论文:“粒子群算法的研究及应用”. 现有的大多数群智能算法,如:乌鸦算法、鸽子算法、蚁群算法、萤火虫算法和灰狼优化算法等,都可以归类为粒子群算法.(个人觉得,这些算法就是整个稀奇古怪的名字,颇有舞文弄墨,强…

粒子群算法(1)

粒子群算法 1.入门 粒子群算法,其全称为粒子群优化算法(Particle Swarm Optimization,PsO)。它是通过模拟鸟群觅食行为而发展起来的一种基于群体协作的搜索算法。 2.什么是启发式算法? 启发式算法百度百科上的定义:一个基于直观或经验构造的算法,在可…

粒子群优化算法

背景 1995 年,Kennedy 和 Eberhart 两位博士共同 提出了粒子群优化算法 (Particle swarm optimization, PSO) PSO 算法中,将鸟群的个体位置或食物当作优化问题的解,利用群体中个体与最优个体以及个体之间的信息交互,引…

粒子群算法

粒子群算法简介 粒子群算法,其全称为粒子群优化算法(Particle Swarm Optimization,PSO) 。它是通过模拟鸟群觅食行为而发展起来的一种基于群体协作的搜索算法。粒子群算法属于启发式算法也叫智能优化算法,其基本思想在于通过群体中个体之间的协作和信息…

粒子群(PSO)算法的理解与应用

最近在学习粒子群算法,看了很多资料都有点摸不清头脑,直到看了一篇博客中超级简洁的粒子群C实现代码,才明白粒子群算法的原理,真心感谢博主,在此贴出博主的博客地址: http://blog.sina.com.cn/s/blog_4ed02…

6套粒子群算法(内含matlab代码)

粒子群算法(1)----粒子群算法简介 一、粒子群算法的历史 粒子群算法源于复杂适应系统(Complex Adaptive System,CAS)。CAS理论于1994年正式提出,CAS中的成员称为主体。比如研究鸟群系统,每个鸟在这个系统中就称为主体。主体有适…

粒子群算法(PSO)详解

1 粒子群PSO算法简介 1.1 维基百科的解释 粒子群算法(Particle Swarm Optimization,简称PSO),或称粒子群优化,是属于人工智能算法,公元1995年由肯尼迪(Kennedy)与埃伯哈特&#xf…

优化算法——粒子群算法(PSO)

一、粒子群算法的概述 粒子群算法(PSO)属于群智能算法的一种,是通过模拟鸟群捕食行为设计的。假设区域里就只有一块食物(即通常优化问题中所讲的最优解),鸟群的任务是找到这个食物源。鸟群在整个搜寻的过程中,通过相互…

粒子群算法(PSO) 介绍

算法理解 粒子群算法,又叫鸟群算法,可见是受鸟群捕食行为的启发。它属于遗传算法、群智算法。粒子群算法关注于粒子的两个属性:位置和速度。每个粒子在空间中单独搜寻,它们记得自己找到的过最优解,也知道整个粒子群当…

【优秀作业】粒子群算法

粒子群优化算法 一、概述 粒子群优化算法(Particle Swarm Optimization,PSO)的思想来源于对鸟捕食行为的模仿,最初,Reynolds.Heppner 等科学家研究的是鸟类飞行的美学和那些能使鸟群同时突然改变方向,分散…

Dex加固与反编译

编译与反编译 编译 将java代码转换为Dalvik字节码 将res资源文件、AndroidManifest.xml等配置文件编译为二进制文件 反编译 将DEX文件转换为jar包或者Smali文件 将二进制资源文件还原为资源源码文件 编译与反编译是相对的过程,转换过程分别由编译器和反编译器实…

编译与反编译

编译:高级语言转换成计算机认识的低级语言 编译的主要的目的是将便于人编写、阅读、维护的高级语言所写作的源代码程序,翻译为计算机能解读、运行的低级语言的程序,也就是可执行文件。 反编译:Java的反编译,一般是将…

反编译网站

最近帮一个公司反编译了一个他们在用的网站,是一个印照片,然后群(384389229)里面的伙伴们(专指:魂牵悲梦),叫我写个反编译的教程出来,由于前面时间很忙,一拖再拖到了现在终于有空就写…

编译/反编译

1.Android APK 1.软件 1.apktool 1.作用:反编译apk或重新打包apk 2.dex2jar 1.作用:将Android的可执行文件.dex转换为.jar 3.jd-gui 1.作用:方便阅读jar文件的代码工具 2.步骤 1.通过apktool将apk软件反编译2.使用dex2jar将classes.dex文件转…

反编译(Decompilers)

工具下载 调试工具反汇编工具反编译工具PE相关工具编译工具编辑工具.NET工具脱壳工具加壳工具补丁工具监视软件代码计算 密码学工具其它 反编译(Decompilers) VFP程序 UnFoxAll 3.0专业增强版  优点:界面和功能较实用缺点:支持到…

反编译器

转自:https://blog.csdn.net/kongwei521/article/details/54927689 在项目开发过程中,估计也有人和我遇到过同样的经历:运行环境出现了重大Bug亟需解决、或者由于电脑挂了、旧代码覆盖新代码,而在这种情况下,我们不能…

如何构建反汇编代码?

大型的非结构化反汇编指令堆几乎不可能被分析,所以大多数反汇编工具都会以某种简单的分析方法来构造反汇编代码。在本节中,我们将会讨论通过反汇编工具恢复的通用代码和数据结构,以及这些通用代码和数据结构会如何帮助我们进行二进制分析。 …