控制问题的求解思路
1、问题建模(自动驾驶、机器控制、工业过程控制、电力系统优化、医疗健康等),明确控制约束(控制动作本身约束、内部外部状态安全约束、控制目标约束等),控制变量(在离散or连续or混合时间间隙中执行离散or连续or混合动作等)等等等
2、系统模拟,对于实际问题一般不直接上真机进行试验,因此要尽可能真实的模拟系统模型(构建系统动力学模型,可能会存在高阶非线性问题,甚至没有明确的物理模型,只有一些运行历史数据)
3、找控制策略求解,(可以是模型预测控制、经典PID控制、鲁棒控制、最优控制、伺服控制等,也可以是启发式算法机器学习算法等)
MPC控制
模型预测控制(Model Predictive Control)控制技术由两部分组成:系统模型用于预测未来状态,优化器用于基于未来状态求解最优控制。
需要程序内在的动态模型、过去的控制讯号、以及正对滚动预测域最佳目标函数,来计算最佳控制信号
强化学习控制
首先学习虚拟环境模型(即系统模型),并基于虚拟环境求解最优控制策略。
二者差异
1、 系统建模方法不同
MPC控制劣势:
(1) MPC控制主要基于人工动力学建模、严重依赖专家经验、建模耗时长、成本高
ps:是啥系统动力学模型?
系统动力学 System Dynamics,SD是利用存量、流量、内部反馈回路、表函数和时滞等信息来理解复杂系统随时间变化的非线性行为的一种方法。
是构建、理解和讨论复杂问题的一种方法论和数学建模技术,一般在工业过程中使用较多,
比如这张图:
https://wiki.swarma.org/index.php/%E6%96%87%E4%BB%B6:Adoption_SFD_ANI_s.gif
(2) 系统模型误差的大小直接决定了最终控制的性能,且难以自动更新减小误差
强化学习控制优势:
(1)主要基于数据驱动,无需动力学建模,可选择性的注入专家经验,建模耗时短、成本低
(2)虚拟环境模型可自然的随数据的积累而更新,贴近真实系统
2、 系统模拟能力不同
MPC控制劣势:
(1)大量采用了近似技术,不可避免的建模误差导致系统模型只能进行短期预测
(2)受限于凸优化技术,难以对多环节的复杂系统进行建模
强化学习控制优势:
(1)基于虚拟环境学习的数学理论突破,可进行数千步以上的长期预测
(2)基于深度神经网络模块的流程建模方式,可以对大至城市级的系统进行建模
3、控制策略能力不同
MPC控制劣势:
(1)基于系统模型和优化器进行实时求解,在线计算开销(滚动优化
(2)受限于凸优化技术,控制策略的代价函数不可随意设置
强化学习控制优势:
(1)得益于深度学习与强化学习的长足发展,具备高度的非线性和自适应能力,且神经网络推理计算开销小
(2)在虚拟环境中接收对应业务需求设计的奖励,可面向全局目标求解有全局约束的问题
ps1:近几年有提到强化学习中的模型预测控制概念,理解为model-based 的RL,在一些问题的性能上相对于model-free有所提升
《2022强化学习控制白皮书》 https://revive-algorithm.hk.ufileos.com/polixir-web/files/%E5%BC%BA%E5%8C%96%E5%AD%A6%E4%B9%A0%E6%8E%A7%E5%88%B6%E7%99%BD%E7%9A%AE%E4%B9%A6.pdf