简述模型预测控制——Introduction to Model Predictive Control (MPC)

本文主要是介绍简述模型预测控制——Introduction to Model Predictive Control (MPC),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文简要介绍下模型预测控制的基本原理与简单应用方法。本文针对有一定控制理论背景的读者。

文章目录

  • 最优控制问题
  • 模型预测控制
    • MPC与最优控制
    • 典型的MPC问题
      • 显式MPC

最优控制问题

给定一个系统模型和控制目标,我们往往可以找到无穷多个控制器,使得该系统的输出收敛到控制目标。难么,我们如何从这无穷多个控制器中找到一个最优的呢?这便是最优控制问题。解决最优控制问题,或者说任何最优化问题,我们首先要明确定义一个优化目标,即一个衡量好坏的量化标准。随后,在该标准下找到一个控制器使得优化目标达到最小/最大。

有关优化问题的具体讨论可参考此文。
最优控制问题的具体细节亦可参考此文。

模型预测控制

在这里插入图片描述
模型预测控制(Model Predictive Control, 以下简称 MPC)是以优化方法来求解控制问题,或者说是以优化问题的求解来给出控制信号。如上图所示,MPC包含3个主要成分:模型、预测、控制,均取其字面意思。

MPC与最优控制

一般的最优控制,强调的是整个控制过程(时间域)的最优性。常用的最优控制方法包括变分法极大值原理动态规划。事实上也是常见的优化方法。最优控制问题存在两个挑战:

  1. 具有复杂约束的最优化问题难以求解;
  2. 最优控制要求系统模型精确已知。

针对上述两个挑战,MPC方法退而求其次地仅仅考虑未来有限个控制周期,这样一来最优控制问题便得到了简化,但是也牺牲了一定的最优性。

考虑下输简单离散LTI最优控制问题:
min ⁡ J = ∑ t = 0 ∞ ℓ ( x ( t ) , u ( t ) ) s.t. u ( t ) ∈ U , x ( t ) ∈ X , t = 0 , 1 , 2 , … x ( t + 1 ) = A x ( t ) + B u ( t ) , x ( 0 ) = z \begin{aligned} \min\quad & J = \sum_{t=0}^{\infty}\ell(x(t),u(t)) \\ \text{s.t.}\quad & u(t) \in \mathcal{U}, x(t)\in\mathcal{X}, t= 0,1,2,\dots \\ &x(t+1) = Ax(t) + Bu(t),\\ &x(0) = z \end{aligned} mins.t.J=t=0

这篇关于简述模型预测控制——Introduction to Model Predictive Control (MPC)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/415404

相关文章

SpringBoot快速接入OpenAI大模型的方法(JDK8)

《SpringBoot快速接入OpenAI大模型的方法(JDK8)》本文介绍了如何使用AI4J快速接入OpenAI大模型,并展示了如何实现流式与非流式的输出,以及对函数调用的使用,AI4J支持JDK8... 目录使用AI4J快速接入OpenAI大模型介绍AI4J-github快速使用创建SpringBoot

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll

浅析如何使用Swagger生成带权限控制的API文档

《浅析如何使用Swagger生成带权限控制的API文档》当涉及到权限控制时,如何生成既安全又详细的API文档就成了一个关键问题,所以这篇文章小编就来和大家好好聊聊如何用Swagger来生成带有... 目录准备工作配置 Swagger权限控制给 API 加上权限注解查看文档注意事项在咱们的开发工作里,API

Spring AI Alibaba接入大模型时的依赖问题小结

《SpringAIAlibaba接入大模型时的依赖问题小结》文章介绍了如何在pom.xml文件中配置SpringAIAlibaba依赖,并提供了一个示例pom.xml文件,同时,建议将Maven仓... 目录(一)pom.XML文件:(二)application.yml配置文件(一)pom.xml文件:首

如何在本地部署 DeepSeek Janus Pro 文生图大模型

《如何在本地部署DeepSeekJanusPro文生图大模型》DeepSeekJanusPro模型在本地成功部署,支持图片理解和文生图功能,通过Gradio界面进行交互,展示了其强大的多模态处... 目录什么是 Janus Pro1. 安装 conda2. 创建 python 虚拟环境3. 克隆 janus

本地私有化部署DeepSeek模型的详细教程

《本地私有化部署DeepSeek模型的详细教程》DeepSeek模型是一种强大的语言模型,本地私有化部署可以让用户在自己的环境中安全、高效地使用该模型,避免数据传输到外部带来的安全风险,同时也能根据自... 目录一、引言二、环境准备(一)硬件要求(二)软件要求(三)创建虚拟环境三、安装依赖库四、获取 Dee

DeepSeek模型本地部署的详细教程

《DeepSeek模型本地部署的详细教程》DeepSeek作为一款开源且性能强大的大语言模型,提供了灵活的本地部署方案,让用户能够在本地环境中高效运行模型,同时保护数据隐私,在本地成功部署DeepSe... 目录一、环境准备(一)硬件需求(二)软件依赖二、安装Ollama三、下载并部署DeepSeek模型选

Spring IOC控制反转的实现解析

《SpringIOC控制反转的实现解析》:本文主要介绍SpringIOC控制反转的实现,IOC是Spring的核心思想之一,它通过将对象的创建、依赖注入和生命周期管理交给容器来实现解耦,使开发者... 目录1. IOC的基本概念1.1 什么是IOC1.2 IOC与DI的关系2. IOC的设计目标3. IOC

Golang的CSP模型简介(最新推荐)

《Golang的CSP模型简介(最新推荐)》Golang采用了CSP(CommunicatingSequentialProcesses,通信顺序进程)并发模型,通过goroutine和channe... 目录前言一、介绍1. 什么是 CSP 模型2. Goroutine3. Channel4. Channe