Simulin万博1manbetxk上的Guy

万博1manbetxSimulink &基于模型的设计

优化超级高铁轨道

本周,马特·布劳尔是回来描述进一步分析的吗超级高铁运输概念

世界不是平的

我们之前发表过二维分析基于横向加速度限制推导出超级高铁路线。这次我着眼于问题的另一个层面:海拔高度.这将完全完成所需的输入数据模拟超级高铁

我通过优化来确定最佳的高程剖面,结合沿途的柱子和隧道。我最后得到了大约86公里隧道,最长的连续隧道长约2公里。的隧道掘进量的三倍左右Alpha设计文档.当然,这一结论在很大程度上受到优化柱子高度和垂直重力的方法的影响。

推导出超级高铁的仰角剖面推导出超级高铁的仰角剖面

我是这样得出这些结果的。

假设和公式

我从二维路径是固定的假设开始。这个假设使得提升成为一个一维问题,这比同时处理三维问题要简单得多。然而,这个问题仍然不容忽视。我决定使用优化工具箱为了搬重物。

根据我的经验,有四个关键因素可以指导成功使用优化技术:

  • 数据的表述
  • 成本函数
  • 优化例程配置
  • 最初的猜测

这些元素的正确组合可以非常有效地解决复杂的问题。我将简要描述如何设置这些元素来解决这个问题。

待优化数据

我为优化数据选择了一个简单的公式。我使用沿路线每30米间隔的柱子高度/深度矢量。我发现,为了保持优化问题的可管理性,我需要将路线分解为12个子部分。收敛时间似乎随着数据集的增大而逐渐增加。

定义成本函数

要执行数值优化,必须对解决方案进行量化评估。然后,可以使用优化工具箱将此代价函数最小化,从而收敛到最佳解决方案。我选择将两个元素合并到成本函数中;(1)管道高度/深度引起的施工成本;(2)基于垂直加速度的乘客舒适度。我创建了下面的表格来量化沿途每个点的成本要素。

建筑成本和乘客舒适度的成本表建筑成本和乘客舒适度的成本表

下面的方程用于得出完整路线的最终值。我可以通过调整来影响乘客舒适度和建筑成本的相对优先级wConst而且wComf

建筑成本与乘客舒适度的成本函数

配置优化例程

为了计算优化数据上的代价函数,我需要额外的数据,如地面高程。我可以把这些数据传递给代价函数elevOpt通过创建下面的函数句柄。这个语句定义了x作为优化数据,但允许z_dist(平移距离),z_elev(地面标高)及z_vel(车辆速度)也作为参数传递。

创建传递附加数据的函数句柄handle_trajOpt = @(x)elevOpt(x,z_dist,z_elev,z_vel);

我尝试了几种不同的优化算法,使用的准牛顿算法得到了最好的结果fminunc.我还必须增加最大迭代次数和函数计算,以确保我得到了一个充分的解决方案。

%设置选项选项= optimoptions(@fminunc,“算法”“拟牛顿”...“显示”“通路”“麦克斯特”, 5000,“PlotFcns”{@optimplotfval, @plotElevOpt},...“MaxFunEvals”1 e7);

最初的猜测

我尝试了两个不同的出发点开始我的调查;距离地面3米的恒定高度和高度恒定的绝对平坦轨道。有趣的是,轨迹的初始猜测将如何影响优化的速度和最终结果。我可以用定制的绘图功能来可视化结果是如何形成的。你可以在上面的代码中看到这个函数,plotElevOpt,被评为PlotFcns参数。

这里有两个均匀和扁平种子的例子。为了保持有趣,这些情节被加速了大约5倍。

[x, ~, ~, ~] = fminunc(handle_trajOpt,x0,options);

下面是优化的演变,从地面上恒定的3米高度开始:

具有均匀高度初始猜测的优化具有均匀高度初始猜测的优化

现在从一个恒定的平面高度开始:

平坦初始猜测优化平坦初始猜测优化

在一些路段,两者的结合效果最好。最后我用了适合函数从曲线拟合工具箱在恒定高度的轨迹上,以更平滑的曲线作为初始猜测。该剖面基本遵循地面高程,但没有过多的垂直加速度峰值。对于较平的截面,最初的猜测与最终的解决方案非常接近。

现在轮到你了

你会如何确定最佳的超级高铁路线?请留下一个这里的评论

|

评论

如欲留言,请点击在这里登录您的MathWorks帐户或创建一个新帐户。