评论区有人说是否能放上直接拉升的对应曲线。我并没有找到这么一个图(有兴趣的话大家可以去看看Bryson那篇论文,我这里下载不了只能去图书馆查看,有空我会去看看)。我个人觉得也许在Bryson之前美国空军也不是就真的直接拉升到底,他们一定也有他们的经验,他们一定也有相应的飞行方案。但只是那些方案在最优解面前都相形见绌罢了吧。
这是一个很重要的问题。试想在战争中你的飞机能比对方的飞机提早达到一个既定高度,节省了时间就是掌握了主动。也不难想为什么Bryson的研究会触发大面积的最优控制研究。
再补一个最优解的攻角(angle of attack)的图。
神奇的地方在于最后拼命爬升的阶段,攻角一下子变成负的。大家可以想象一下这是个什么样的姿势。当然这肯定和空气动力学有关,从之前的速度图可以看出来,最后爬升阶段飞机的速度是不停地在减小的。所以飞机以一个负攻角,减速的状态,迅速爬升到20km。这里面当然不只有数学的知识,空气动力学一定有相应的解释。但数学的魅力就在于,通过数值模拟,就能得到一个最优的方案,即使我对空气动力学等等毫不了解。
以下为原答案。
————————————————————
说一个计算数学的吧。这个问题是由Arthur E. Bryson在1969年的一篇paper里面提出。Arthur E. Bryson被称为“现代最优控制理论之父(father of modern optimal control theory)”。而这篇paper里所计算的这个问题正是optimal control被真正重视的开端。
用通俗易懂的语言表达他所考虑的问题。假设有一架飞机,目标是让飞机爬升到20km的高空,问题是如何飞行才能爬升到20km的高度而所用的时间最短?
正常的思路或者说“显然”的思路,应当是起飞后就全速向上爬升,因为我想要在最短的时间内爬升到20km的高度,当然我会不停地向上加速。事实上在Bryson以前,美国军方就是这么做的。想在最短时间内爬升到一个既定的高度,他们就是冲着上方不停加速拉升。
但事实不仅不是这样,而且非常反直觉。
首先我们需要将这个问题转化为一个数学问题。本质上,这是一个最优控制问题。
我们要优化的是时间,也就是说目标函数是t,也就是要取最优的t,但我们要控制的是飞机的速度,攻角(angle of attack)等等。所以就是有一个目标函数加上一系列的约束(常微分方程的约束),这就是标准的最优控制(optimal control)问题。
当然这个模型比较复杂,这里就不细说。但总归他是一个常微分方程约束的优化问题。那个年代可能还没有完整的理论,不过Bryson确切地说是一个工程师,所以理论不理论的不重要,把这个问题算出来才是关键。
我们直接跳到结论,下图就是Bryson计算出的结果。
这张图的横坐标是时间,纵坐标是高度。仔细看下这张图,首先,我们可以看到飞机大约用了320秒爬升到20km的高度。其次,在前30多秒,飞机并没有爬升,而是在一个比较低的高度持续飞行。再次,当飞机爬升到快10km的高度的时候(100秒左右),它居然开始降低高度。一直到大约160秒之后才继续爬升。
如果按照“正常“的思路,这张图应当是一条直线,从原点到20km高度的直线。然而最优的结果,也就是用时最少的结果,居然是一个这么奇怪的飞法。再来看下一张图。
这张图的横坐标是速度,纵坐标是高度。所以从这张图里可以看出,在刚起飞的时候,飞机并没有爬升,而是在不停地加速,等速度到了300m/s的时候飞机开始爬升,但爬升的时候速度是在减小的。到了10km左右的高度,飞机再次提速,但是是往下俯冲的而不是爬升的。直到超过500m/s的时候,飞机再迅速爬升,而这时速度却在不停减小。
所以从这两张图可以看出来,最优的方案显然和“直觉”相差太多。所以当Bryson把这个结果交给美国军方的时候,那些经验丰富的空军是完全不买账的。但是,最终Bryson还是说服他们用这样的方案试飞几次,看看是否爬升到20km的时间比之前的要少。结果当然是amazing的,实际操作所用的时间和Bryson计算出来的最优时间相差不到5秒(当然小于直接不停爬升的飞法)。
这在当时是一个令人震惊的结果。也是由这个结论开始,最优控制才走上了一个重要的舞台。现如今所有的飞行都会以最优控制为标准,事实上很多航空航天的问题都在寻求实时最优控制,也就是给出问题,数据,地面马上计算给出最优方案, 这就是所谓的“实时”。这要求有非常快速的算法支持,这方面现在已经有很多很快的软件。
这个反直觉的事实实际上是在一个最优控制的workshop上由一位speaker用来做motivation的。因为它非常出名而且非常反“直觉”,所以才有必要进行最优控制。而不是凭着所谓的直觉去飞行。我想再有经验的飞行员,也不能凭经验去飞出刚才上图所描述的飞法。
随着最优控制的重要性体现出来,对其求解的快速算法就变得重要。而快速算法就得依靠数学。这样计算数学家才会去提出各种算法,研究此类的问题。我想这是一个非常好的,体现数学在科技领域的重要性的例子。
来源:知乎 www.zhihu.com
作者:sjing
【知乎日报】千万用户的选择,做朋友圈里的新鲜事分享大牛。
点击下载
此问题还有 531 个回答,查看全部。