天天看點

【控制】模型預測控制 model predictive control 簡介

目錄 模型預測控制的一點筆記和看法
1 ​​【控制】模型預測控制 model predictive control 簡介​​
2 ​​【控制】模型預測控制,公式推導,數值仿真,有程式有圖​​

文章目錄

  • ​​1 模型預測控制簡介​​
  • ​​2 模型預測控制與最優控制​​
  • ​​Ref.​​

1 模型預測控制簡介

模型預測控制(model predictive control)顧名思義有三個主要部分構成,1模型;2預測;3控制(做決策),我們隻要了解這三個部分和它們之間的關系即可。

1 模型,模型可以是機理模型,也可以是一個基于資料的模型(例如用神經網絡training 一個model出來)

2 預測,建立模型的目的是什麼呢?建立一個模型并不是放在那裡拿來看的,多半是用來做預測用的。我們每天的生活中就在不停地做模組化和預測的事情,例如你過馬路的時候,會預測一下是否有車能撞到你,例如我們周末想出去旅遊了,可能就會去看一下天氣預報。在實際生産中也有很多類似的例子,淘寶會預測每件商品未來7天的購買量,實體學家會用牛頓三大定律預測小行星的運動軌迹。

3 控制(做出決策),控制就是我需要做出動作了,在前面的例子中對應起來就是,例如你過馬路的時候,會預測一下是否有車能撞到你,如果沒有你就趕快過馬路(控制動作)。例如淘寶會預測商品未來7天的購買量,就要看如果說有一些商品缺貨了的話就趕緊去調貨或者生産(控制動作),例如實體學家用牛頓三大定律預測小行星運動軌迹,如果預測到小行星會撞擊到地球的話,那就提前需要采取措施來避免小行星的撞擊(控制動作)。

在上面的三個例子中,第一個例子你用的是你的大腦根據以往經驗學到的模型來做預測,第二個例子中可能你會用神經網絡,決策樹啊等等機器學習學習到的模型(說到這裡可能很多童鞋會比較激動,模型預測控制可以和現在很火的人工智能 深度學習結合在一起),第三個例子中實體學家們用到的是機理模型。總之各種各樣的模型都可以做預測,我們身邊天天都在做預測,而預測不單單是預測的準就完事了,預測的目的是為了讓我們更好的去決策。

模型預測控制的設計目标是計算未來控制變量 的軌迹,以優化未來的系統輸出 。優化過程在一個有限的時間視窗進行,并且利用優化時間視窗開始時的系統資訊進行優化。

模型的表示方式有幾種:FIR(有限沖擊響應)模型、階躍響應模型、傳遞函數模型、狀态空間模型等。不同的模型表示方式,對應的預測控制算法不一樣。基于FIR或階躍響應模型的控制算法包括動态矩陣控制(DMC)以及二次型DMC。但是這種方法僅限于穩定的控制對象,而且需要非常大的模型階數和非常多的模型系數。傳遞函數模型能更簡潔的描述過程動力學,适用于穩定和不穩定對象。基于傳遞函數的控制算法代表包括Peterka的預測控制算法和Clarke等人的廣義預測控制算法。但是傳遞函數模型在處理多變量對象時效率較低。今年來,狀态空間模型用于預測控制設計越來越多。本文也将使用狀态空間模型。

2 模型預測控制與最優控制

最優控制強調的是“最優”,一般最優控制需要在整個時間域上進行求優化(這樣才能保證最優性)。最優控制常用的幾類解法有 1變分法,2極大值原理,3動态規劃。變分法和極大值原理一般來說隻能處理線性的模型并且不能含有複雜一點的限制,而動态規劃我們知道實際上在求解最優控制問題中是一種比較聰明的窮舉法,其計算複雜度往往非常高。最優控制由于過于強調最優性,而暴露出兩個問題 1是對于非線性的 包含複雜限制的情況難以求解;2是需要對系統的模型精确的知道。

Ref.

  1. ​​模型預測控制簡介(model predictive control)​​
  2. ​​模型預測控制(MPC)解析(一)​​

繼續閱讀