人在仿真软件金宝app

金宝app仿真软件和基于模型的设计

优化Hyperloop轨迹

本周,马特·布劳尔描述进一步的分析吗hyperloop运输概念

世界不是平的

我们之前发表的二维分析为推导路线hyperloop基于横向加速度的限制。这次我看的其他维度存在的问题:海拔高度。这将完成所需的输入数据模拟Hyperloop

我以前优化确定最佳高程剖面,结合沿线的支柱和隧道。我结束了86公里的隧道,最长的连续隧道长约2公里。这个结果是关于隧道的数量表示的三倍α设计文档。当然,这一结论是深受方法用于优化柱高度和垂直重力。

派生hyperloop高程剖面派生hyperloop高程剖面

这就是我来到我的结果。

假设和配方

我开始与假设2 d的路线是固定的。这种假设使海拔一维问题,比解决三维空间中同时简单。然而,问题仍然是重要的。我决定使用优化工具箱的重任。

在我的经验中,有四个关键的元素引导成功使用优化技术:

  • 制定的数据
  • 成本函数
  • 优化常规配置
  • 最初的猜测

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

数据优化

我选择了一个简单的配方,优化数据。我用一个向量的支柱高度/深度间隔沿途每隔30米。我发现保持优化问题可控的我需要分解成12小节的路线。渐近收敛时间似乎上升和更大的数据集。

定义代价函数

进行数值优化,必须有一个解决方案的量化评价。这可以最小化代价函数使用收敛的优化工具箱最好的解决方案。我选择了两个元素合并到成本函数;(1)建设成本由于管的高度/深度和(2)基于垂直加速度的旅客舒适度。我创建了以下表量化这些成本元素沿线的每一点。

成本表建设成本和旅客舒适度成本表建设成本和旅客舒适度

下面的方程用于完整的路线到达最后一个值。我可以影响旅客舒适度和施工成本的相对优先级调整wConstwComf

成本函数为建筑成本和旅客舒适度

配置优化程序

计算代价函数的优化数据,我需要额外的数据,如地面高程。我能将这些数据传递给我的成本函数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。

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

这是优化的演变从一个常数离地面3米高度:

与统一的高度优化初始猜测与统一的高度优化初始猜测

现在开始一个平恒高度:

优化与平初始猜测优化与平初始猜测

路线的几个部分,一个混合的两个效果最好。我最终使用适合函数的曲线拟合工具箱在恒定的高度轨迹开始流畅的曲线作为初始猜测。这个概要文件通常遵循地面高程,但没有过度的垂直加速度峰值。平坦的部分,这最初的猜测是非常接近最后的解决方案。

现在轮到你了

你会如何的方法确定最优Hyperloop路线?让我们知道你的意见这里的评论

|

评论

留下你的评论,请点击在这里MathWorks账户登录或创建一个新的。