焦点娱乐-焦点注册-焦点官方站
全国免费预订热线

400-123-4567

站内公告:

诚信为本:市场永远在变,诚信永远不变。
焦点资讯

当前位置: 首页 > 焦点资讯

最优控制理论是什么?

2024-03-12 11:56:05

数学专业理解的最优控制,大概讲的是什么?研究的是哪些课题?有什么发展前景和实际应用?请教各位了。

我虽然推荐了不少书,但绝非“几乎所有控制话题的回答都是「推荐一本书」「推荐一篇文章」”,可参考我的回答(按赞同数排序):


知乎用户


@李崇 更是极少推荐书(不过他回答中推荐的这本书确实不错啊,对很多人包括我都有参考价值),参见他的回答:


知乎用户


不过我最近也很少在知乎推荐书了,现在推荐书主要在公众号“写在智能时代边上(ID: xiaoxinjiashe)”。


---


推荐一本非常好的书。


REINFORCEMENT LEARNING AND OPTIMAL CONTROL

by Dimitri P. Bertsekas

Athena Scientific, 2019


虽然明年才能出版,但 draft 已经放在网上了:


web.mit.edu/dimitrib/ww

Dimitri P. Bertsekas: 9781886529083: Amazon.com: Books

A book by Dimitri P. Bertsekas from MIT that provides a modern and profound perspective on Optimal control, by revealing its connection to general decision making and planning algorithms such as graph search with look ahead (i.e., A*), as well as reinforcement learning. Most importantly, this book covers approximate solution of OP (approximate dynamic programming), which helps to overcome the well-known 'curse of dimension' that limited the application of classical, exact dynamic programming.

知乎和贴吧本来就没有本质上的区别,或者有人认为有,那我们允许这些人这样认为,或者有人不认为有,那我们也应该允许这些人不这样认为,这难道不是自由言论的本质吗,为什么这个世界要像你希望的一样运作?


知乎应当是更自由地知乎,不是某个人的,人们可以敢说他们真正想说的内容,说的不一定是对的,不一定就是真理,没关系,你不同意,可以留言讨论。我更希望评委有更明智的投票机制,答案优胜劣汰,至于优秀回答者,那是评价算法的事情,我听过道德绑架的,今天是第一次听说优秀回答者绑架的。


小心假设我认识,他是一个专业上非常厉害又极其低调的人,他关于推荐书的回答可能只有少部分对我有用,而大部分我看不懂,但是那又如何,其精髓难道不就在于:每个人都能从其中找到对自己有用的部分吗?至少我认为他的回答帮助到了我。


李崇私下跟我很熟,他是控制理论优秀回答者,他的回答和文章很好,很浅显易懂,但是对我来说又太过于浅显易懂了,或许对我称不上什么帮助,可是我相信他的回答帮助了更多的人。


我也写过很多专业的回答,其点赞的每次都是那十几个人,你要求每个人都能看明白你的领域内你在说什么本来就是很不现实的事情,你要接受这件事。我不希望某一天我觉得某本书真的很不错,我想推荐一下的时候,又被这个问题下面的某个回答恶心到。至少我入门控制任何领域都不是,也不可能是来源于知乎。


至于最优控制理论是什么,最好的办法就是翻开任何一本最优控制的书,他们每本书的第一章都用了整整一个章节在讲这个事情,关于这一点,我推荐的是哈工大的《最优控制》,嘿嘿。

《最优控制》(李传江)【简介_书评_在线阅读】 - 当当图书





常乐

Optimal control顾名思义就是control based on optimization。什么样的optimization function呢?就是含有状态量和输入的cost function。数学上来说,根据cost function的形式、求解方式、是否含有约束、混合系统、不确定性或者噪音等等要求,最优控制理论里也就有不同的方法。

最基本的我们可以谈谈LQR。比如你LQR里面要分finite horizon还是infinite horizon,他们的cost function都是quadratic的形式,也是QP Programming最基本的例子;QP Programming的求解则要看是否有constraint,没有constraints就可以用gradient-based的方法,有constraints的话就得用诸如Interior point或者active set等方法。

比较实用的optimal control的代表例子是MPC,QP Programming则可以看作MPC每一步的一个子问题;基本的MPC求解方法主要有两种batch approach(对应LQR里面的riccati equation)和dynamic approach;根据cost function的形式的不同则又要继续讨论,比如1/inf的cost function求解的时候便需要额外注意;至于MPC的各种形式和求解就有很多可以说的了,比如input bounded(如何将gradient projection如何应用在这个情况上),input uncertainty(constrained robust optimal control的求解,closed loop和open loop各有什么好处),hybrid system(logic和mixed-integrer之间的变化)等等。以上举了一个MPC小例子,其他的最优控制也是类似的研究方式和套路。

至于更广义形式的dynamic programming的求解问题或者如何将non-convex的问题convexification并且求解,则需要阅读一些较近的论文来了解了。

已经有很多大神说了不少好书了,这里就不赘述了。

广义来说,个人觉得很多“其他的”的控制方法其实也可以算某种程度上的“最优控制”,如果构造一个含有状态量和输入的Lyapunov函数,并且当作目标函数进行优化的话,那该根据函数所得的最优解所求得control design为什么不能算是最优控制呢?

最优控制难理解的点在于它是在用优化方法来做控制问题,所以需要对优化理论和控制理论都有所了解才能对最优控制有一个深入一点的认识。博士期间做过一些最优控制和模型预测控制所以来聊聊这个问题。

抄一段wiki上面关于最优控制的定义:Optimal control theory is a branch of mathematical optimization that deals with finding a control for a dynamical system over a period of time such that an objective function is optimized.

怎么理解这个定义呢?最优控制研究的问题和传统控制问题是一样的,都是针对动态系统(被控对象)来设计控制器。区别于传统控制方法的地方是在 最优控制会定义一个目标函数(cost function/objective function)来定量描述控制器的性能,这样就将控制器设计的问题转化为一个优化问题,然后通过优化方法极小化目标函数即可得到最优控制的控制器。如果把控制器看做一个类似于黑箱的东西,输入是状态,输出是控制量。那么PID就是对输入进行一通比例积分微分运算得到控制量,而在最优控制里的控制器是通过求解优化问题得到的。

下面给出最优控制的数学模型:

目标函数: \\min J=\\int_{t_0}^{t_f}{L\\left( x\\left( t \\right) ,u\\left( t \\right) ,t \\right)}

约束条件(动态系统): \\dot{x}=f\\left( x,u,t \\right)

约束条件(业务要求): a\\leq x(t) \\leq b,c\\leq u(t)\\leq d

其中 x(t) 是状态变量, u(t) 是控制量, L 是目标函数。

目标函数是人为定义出来,根据你问题的需求来定义合适的目标函数。约束条件有两大类,一类是动态系统本身,数学上来看就是一个微分方程(组)了,另外一类约束是实际问题中的一些限制,最常见的就是控制量一般不可能是 无穷大的,所以对控制量有一个上下限的约束。

整个最优控制的问题就是 找一个最好的控制量 u(t) 使得目标函数最小。那么这其实就是一个优化问题了,需要注意的是 这个优化问题的决策变量 u(t) 所在空间是一个函数空间(无限维空间),而不是常见的 R^n 空间(有限维空间)。

最优控制问题解法大致分为两大类:1是 direct method(直接法),思路很简单就是一上来先把微分方程离散掉,变成了差分方程。好了那么这个问题就被转化为非线性规划问题了。关于非线性规划问题在优化理论中也有很多研究,我们就可以利用现有的工具求解非线性规划问题即可。2是 indirect method(间接法),基本思路是要先推导出最优性条件,然后通过求解最优性条件来求解最优控制问题。

下面是两种方法的对比,左边就是直接法,右边是间接法,可以明显看到直接法是通过离散化之后把无限维的问题转化为有限维然后再来求解,而间接法是直接在无限维空间来进行操作的。


笼统的来说最优控制有着广泛的应用,我了解的应用场景有

机械系统(机器人):常见的机械臂的模型就是一个微分方程。

过程控制:过程控制的问题有很多都属于最优控制范畴,例如温度控制,液位控制,浓度控制等等,这些状态变量都可以用微分方程建模,进而写成最优控制的形式。

轨迹跟踪:例如飞机飞行轨迹的规划,卫星升空的轨迹的规划等等。这些问题所涉及的运动方程,一般都包含位置,速度,加速度等信息,显而易见这些问题很多都可以建模成最优控制问题。

金融/量化投资:金融我了解不多,但是很多很多金融,股票或者期货什么的都存在着大量的微分方程。同时我们可以定义出 收益最大化的目标函数,进而构成我们的优化问题,很明显着也是一个最优控制问题。

在介绍完了最优控制后,不可避免的我们要谈谈它的局限性了。当然这些观点属于我个人的经验和理解吧,仅供大家参考了。

1 最优控制的效果严重依赖动态系统的机理模型,对机理模型要求过高

这个很好理解了,最优控制需要知道动态系统的机理模型,而动态机理模型的精确与否严重影响最优控制的效果。那么实际应用问题中很多问题就没有机理模型,压根就无法写成一个微分方程,或者即使写成一个微分方程也是经过大量简化后的结果,里边的参数也需要辨识来得到。近年来很火的强化学习就很好的弥补了这个问题。

2 最优控制很多时候是一个开环控制,难以抵抗干扰

经典的最优控制是一个开环控制,因为在最优控制里边一切的一切都事先要被模型描述出来,不能被模型描述的就很难被考虑进最优控制的控制器里。如果突发一个干扰,单纯依靠最优控制是无法抑制干扰的。

3 最优控制过于追求优的性能,在很多实际应用场景下,性能优越并非第一考量

最优控制从名字也可以看出来追求的是对性能极致的优化,这使得最优控制从理论上来看是很漂亮,可以求到最优的一个控制器,实际场景里我们确实也是需要考虑 性能的优越性的,但是同时也需要对其它因素进行考虑。单纯追求最优在数学理论上是没有问题的,但是在应用上来说会受到一定的局限性。

4 考虑全时间段的最优在应用问题上很多时候是不必要的

最优控制一般都是考虑整个时间段上的最优,但是实际上这个在应用问题上来说很多时候是不必要的。原因很简单例如我们要做学习计划,我们可以很详细的做出明天的学习计划,但是一般没人做一年后的某一天的学习计划吧。这意味着大多数情况下我们仅仅只是需要看未来几天(向前看几步就行),而无需一下子计划到底(考虑全时间段)。这也是模型预测控制比最优控制更加实用的原因。更多关于模型预测控制的介绍可参考

王源:模型预测控制简介(model predictive control)

近几年来强化学习有了很多的发展,强化学习里边的无模型版本就是依赖采样进行优化决策,而非依赖机理模型。模型预测控制也在过程控制领域得到了长足的应用。模型预测控制可以理解为贪婪版本的最优控制。可以说强化学习和模型预测控制在实用性上比最优控制是要好的,而且所能的应用场景更加广泛。如果是做应用数学研究或者理论研究,我觉得研究最优控制方向是没有问题的。如果是工科出身,想要在实际应用场景work的话 建议更多的考虑 强化学习和模型预测控制等方法。

最后我也推荐一本书 Practical Methods for Optimal Control Using Nonlinear Programming,本书主要介绍的是直接法求解最优控制问题。本书前几章会复习一下经典优化方法,对于优化理论薄弱的童鞋来说比较合适。

Copyright © 2012-2018 焦点娱乐-焦点注册-焦点官方站 版权所有

ICP备案编号:琼ICP备xxxxxxxx号

电话:400-123-4567 地址:广东省广州市天河区88号

平台注册入口