最优控制(optimal control)与最优化(optimization)有什么区别?
栏目:行业动态 发布时间:2024-04-22
分享到:
数学外行,搜文章看到optimalcontrol和optimization。从字面上看都有"最优",不知道这两个领域研究的问题和研究方法有什么不同,两个领域有什么相同的地方。最优控制(optimalco
数学外行,搜文章看到optimal control和optimization。从字面上看都有"最优",不知道这两个领域研究的问题和研究方法有什么不同,两个领域有什么相同的地方。

最优控制(optimal control)可以理解为最优化(optimization)领域下的一个子领域。

最优化理论一般研究涉及最优化问题的建模与求解。一个最优化模型一般包括目标函数决策变量,以及约束条件这三个基本要素。最优化问题的目标是选择一组满足约束条件决策变量,使得目标函数最优(如最小化成本,或最大化收益)。常见的问题包括线性规划,整数规划等。

最优化控制问题可视为最优化问题中的一种,该类问题主要针对控制系统进行优化。系统有特定的状态(state),以及相应的控制器(controller),该类问题的目标一般也是选取最优的控制策略(control policy,即告诉我们在什么状态下进行什么样的行动),以使得系统最优(可以是成本最小,也可以是收益最大)。以库存控制问题为例,可将当前库存量视为系统状态,决策变量即为订货量,最优的策略即为在什么样的库存量下,订多少货,使得总体的库存持有成本最低。上述库存问题,同样可以建立成一个数学规划的模型(目标函数,决策变量,约束)。

最优化控制理论根据问题的特点,又可细分为确定型最优化理论(deterministic)与随机型最优化理论(stochastic),根据系统输入输出之前的关系又可分为的线性最优化控制理论(linear)与非线性最优化控制理论(nonlinear)。不同的问题因为其特点不同,也会对应不同的方法,这些就难以一一列举了。

最明显直白的区别,最优控制的约束条件一般都是微分方程等式(也就是系统的动态模型),最优化的约束条件可就广了去了。另外最优控制要想实用一定要求出在线的近似解析解来,但是最优化没这要求

没有什么本质的区别。

有的人说:“不对,一个是静态优化,一个是动态优化。”因为很多人学的最优化都是讨论 R^{n} 中的非线性规划,然后 Optimal Control 一般又是另外开一门课,感觉好像不一样。

其实真没啥区别,从泛函分析的观点看就基本没啥区别。什么静态的动态的,无非就是一个在 R^{n} 中考虑问题,一个是在函数空间,比如 C(\\Omega) 或者 L^{p}(\\Omega) , \\Omega\\subseteq R^{n} 中考虑问题罢了。

其实不论怎么样,优化问题的基本结构就是构造(抽象的) Lagrange Functional :

F(x)+<G(x),\\lambda^{*}> 。(1)

所有具体的拉格朗日函数/泛函都是这个抽象形式的特例罢了

只不过 R^{n}的空间性质实在太好了,比如有界闭集就是紧的,同时对偶空间就是自身,对偶作用表现形式就是内积(一般的 Banach 空间可没有内积,但是可以用“线性泛函的作用”替代,也就是(1)式的尖括号),导致优化问题被大大简化了。

比如 R^{n}的优化问题\\max \\ f(x)\\\\s.t. \\ g(x)\\leq 0

Lagrange函数怎么构造的,那不就是对偶向量作用在约束函数上(有限维就表现为内积)么:

L(x,\\lambda)=f(x)-\\lambda^{T}g(x) 。配合上所谓的KT条件,求导,欧了。

这里的 F(x) 就是 f(x) , <G(x),\\lambda^{*}> 就是 \\lambda^{T}g(x)

这就是(1)式的特例!

一般的希尔伯特空间还好,由于有表示定理,我们知道其对偶空间就是自身,从而那个拉格朗日乘子其实就是空间本身的一个元素(一个向量),这与 R^{n} 中是一样的 。

一个简单的无限维优化问题:

\\max \\ \\int_{a}^{b}f(x(s),s)ds\\\\s.t. \\ \\int_{a}^{b}g(x(s),s)\\geq 0

约束条件是以泛函的形式给出的,泛函的好处就是值域是 R (不考虑复泛函),R 的对偶空间还是 R ,对偶作用那就是内积(数乘)。

所以在这里,(1)式其实就是 L=\\int_{a}^{b}(f+\\lambda g)ds 。同样再配上KT条件就行了。

这里的 F(x) 就是 \\int_{a}^{b}f(x(s),s)ds , 而 <G(x),\\lambda^{*}> 就是 \\lambda \\int_{a}^{b}g(x(s),s)ds

然后求变分,欧了。

什么?无限维空间不会写KT条件?其实一样的,那就是互补松弛条件照写

\\int_{a}^{b}g(x^{*}(s),s)ds\\geq 0 ,若 \\lambda>0\\int_{a}^{b}g(x^{*}(s),s)ds=0

你看,有啥区别嘛!

没有。

然后最优控制无非就是函数空间上一种特殊的最优化问题罢了,只不过约束条件是微分方程。

\\max \\ \\int_{a}^{b}f(t,x,u)dt\\\\s.t. \\frac{dx}{dt}=g(t,x,u)

你依然从最抽象的 Lagrange形式(也就是(1)式)入手(但是这里<G(x),\\lambda^{*}>需要考虑适当的函数空间)。就可以证明 Pontryagin's maximum principle

当然,这个证明可不简单,不过切入点就是这样。

__________________________________________________________________________

有人质疑说“最优控制最重要和主流的方法 不是胖加押金那套 而是贝尔曼……”

我想说首先,任何一本正规的最优控制教材Pontryagin's maximum principle都是重点介绍的核心结论之一,不是你觉得不是就不是了。另外Bellman方程本身跟我回答中提到的抽象 Lagrange形式是两套方法,Bellman方程得益于最优控制问题本身具备递归结构,这根本不妨碍抽象Lagrange形式的适用性和概括性。

另外我通篇都没有谈及数值优化的内容,麻烦搞清楚。

一个是泛函,一个是数分。

最优化是个超大课题, 是对某一目标函数在满足给定的约束条件下求极值. 如果你能精通, 你已经能解决所有(对, 所有!)应用数学问题的70%~80%, 包括最热门的AI的大部分问题(95%以上, 不夸张!). 还能赚最多的钱, 泡最靓的妞, 吃最香的饭, 住最大的房, 走向人生最高峰(人生想白了不过是在有限的时间内追逐最优化的结果, 只是每人目标不同而已).

最优控制是它的一个比较高级的分支, 有控制论背景, 即寻找一个控制方法(开环或闭环反馈, 并有一定的限制)来控制一个系统(一般是微分或差分方程表示, 系统状态也可能有限制)使其达到某种最优的结果(如系统运行能耗最低或响应速度最快等), 需要各种方程(差分, 常微, 偏微, 随机过程, 随机微分方程等), 泛函分析, 控制论, 变分法, 动态规划等比较高深的数学知识.

标准学习途径是数分求极值, 线代/线性规划, 凸分析/非光滑分析/非线性规划, 泛函分析/变分法, 再到线性系统/控制论/最优控制/庞氏最大值原理/动态规划/随机控制, 还有整数规划, 对策论等. 够任何人学一阵子的, 有本事你也可以用适合你的最佳(优)方法来学习.


平台注册入口