產品分類
山東合運電氣有限公司
手機:15588886921(同微信)
官網:www.zcps.com.cn
郵箱:2466458158@qq.com
最優控制
時間:2022-12-14 人氣: 來源:山東合運電氣有限公司
最優控制理論是數學最優化中的分支,要找到動力系統在特定一段時間的控制,可以使特定的損失函數優化。最佳控制在科學、工程及作業研究上都有很多應用,例如其控制的系統可能是航天器,控制為其動力來源的火箭推進器,目標是在消耗最小燃料的情形下登陸月球,其系統也可能是國家的經濟,目標是使失業降到最低,控制是財政政策及貨幣政策。系統也可以是作業研究的運籌學,以最佳控制的框架來進行研究。
最優控制理論是變分法的推廣,著重于研究使控制系統的指標達到最優化的條件和方法。這門學科的開創性工作主要是由1950年代前蘇聯的龐特里亞金和美國的貝爾曼所完成,這些是以愛德華J.麥克沙恩所發展的變分法為其基礎。最優控制可以視為是控制理論中的一種控制策略。
通用方法
最佳控制是要找到一系統的控制律,以滿足特定的優化準則。控制問題會包括費用泛函(costfunctional),是狀態以及控制變量的泛函。最佳控制要將費用泛函最小化,會表示成一組描述控制變量路徑的微分方程。最佳控制可以用龐特里亞金最大化原理推導(這是必要條件),或是求解哈密頓-雅可比-貝爾曼方程(充份條件)。
以一個簡單的例子來說明。考慮一部車開在山區的直線道路上。問題是,駕駛需如何駕駛才能最快到目的地?此例中的“控制律”是指控制油門、換檔或是剎車的方式。“系統”包括車輛以及道路,“優化準則”是指使駕駛時間最短。控制問題中一般也會有輔助的限制條件,例如車輛的油量有其限制、油門可提供的加速度及車速也都有限制。適當的費用函數會是數學表示式,將駕駛時間表示為速度、道路條件以及系統初始條件的函數。
另一個相關的優化問題是在車輛在一定時間抵達目標的前提下,讓油耗降到最低。
更通用的最佳控制問題架構如下:最小化以下的連續時間費用泛函
{\displaystyleJ[{\textbf{x}}(\cdot),{\textbf{u}}(\cdot),t_{0},t_{f}]:=E\,[\,{\textbf{x}}(t_{0}),t_{0},{\textbf{x}}(t_{f}),t_{f}\,]+\int\limits_{t_{0}}^{t_{f}}F\,[\,{\textbf{x}}(t),{\textbf{u}}(t),t\,]\,\operatorname66666666666t}{\displaystyleJ[{\textbf{x}}(\cdot),{\textbf{u}}(\cdot),t_{0},t_{f}]:=E\,[\,{\textbf{x}}(t_{0}),t_{0},{\textbf{x}}(t_{f}),t_{f}\,]+\int\limits_{t_{0}}^{t_{f}}F\,[\,{\textbf{x}}(t),{\textbf{u}}(t),t\,]\,\operatorname66666666666t}
需符合以下的一階動態限制(狀態方程)
{\displaystyle{\dot{\textbf{x}}}(t)={\textbf{f}}\,[\,{\textbf{x}}(t),{\textbf{u}}(t),t\,],}{\displaystyle{\dot{\textbf{x}}}(t)={\textbf{f}}\,[\,{\textbf{x}}(t),{\textbf{u}}(t),t\,],}
幾何的“路徑限制”
{\displaystyle{\textbf{h}}\,[\,{\textbf{x}}(t),{\textbf{u}}(t),t\,]\leq{\textbf{0}},}{\displaystyle{\textbf{h}}\,[\,{\textbf{x}}(t),{\textbf{u}}(t),t\,]\leq{\textbf{0}},}
以及終點條件
{\displaystyle{\textbf{e}}\,[\,{\textbf{x}}(t_{0}),t_{0},{\textbf{x}}(t_{f}),t_{f}\,]=0}{\displaystyle{\textbf{e}}\,[\,{\textbf{x}}(t_{0}),t_{0},{\textbf{x}}(t_{f}),t_{f}\,]=0}
其中{\displaystyle{\textbf{x}}(t)}{\displaystyle{\textbf{x}}(t)}是狀態,{\displaystyle{\textbf{u}}(t)}{\displaystyle{\textbf{u}}(t)}是控制,{\displaystylet}t是自變量(一般來說,是時間),{\displaystylet_{0}}t_{0}是初始時間,{\displaystylet_{f}}t_f是結束時間。{\displaystyleE}E和{\displaystyleF}F稱為“結束點成本”及“運行成本”。在變分法中,{\displaystyleE}E和{\displaystyleF}F會稱為Mayer項以及拉格朗日乘數。其中的路徑限制多半是不等式的限制,在最佳解時,該限制不等式多半不會在恰好為零的情形。以上的最佳控制問題也可能有多個解(其解不唯一),此時的解會稱為是“局部最小化”。
LQ控制器
在通用的最佳控制問題中,有一種特殊的問題是線性二次(linearquadratic,LQ)最佳控制問題,其解稱為LQR控制器。LQ問題可以表示為,將以下二次形式的連續時間費用泛函最小化
{\displaystyleJ={\tfrac{1}{2}}\mathbf{x}^{\mathsf{T}}(t_{f})\mathbf{S}_{f}\mathbf{x}(t_{f})+{\tfrac{1}{2}}\int_{t_{0}}\limits^{t_{f}}[\,\mathbf{x}^{\mathsf{T}}(t)\mathbf{Q}(t)\mathbf{x}(t)+\mathbf{u}^{\mathsf{T}}(t)\mathbf{R}(t)\mathbf{u}(t)\,]\,\operatorname66666666666t}{\displaystyleJ={\tfrac{1}{2}}\mathbf{x}^{\mathsf{T}}(t_{f})\mathbf{S}_{f}\mathbf{x}(t_{f})+{\tfrac{1}{2}}\int_{t_{0}}\limits^{t_{f}}[\,\mathbf{x}^{\mathsf{T}}(t)\mathbf{Q}(t)\mathbf{x}(t)+\mathbf{u}^{\mathsf{T}}(t)\mathbf{R}(t)\mathbf{u}(t)\,]\,\operatorname66666666666t}
需符合以下的線性一階動態限制
{\displaystyle{\dot{\mathbf{x}}}(t)=\mathbf{A}(t)\mathbf{x}(t)+\mathbf{B}(t)\mathbf{u}(t),}{\displaystyle{\dot{\mathbf{x}}}(t)=\mathbf{A}(t)\mathbf{x}(t)+\mathbf{B}(t)\mathbf{u}(t),}
以及初始條件
{\displaystyle\mathbf{x}(t_{0})=\mathbf{x}_{0}}{\displaystyle\mathbf{x}(t_{0})=\mathbf{x}_{0}}
在LQ問題中,有一種特殊型式的問題稱為LQR控制器,是指其中所有的矩陣({\displaystyle\mathbf{A}}\mathbf{A}、{\displaystyle\mathbf{B}}\mathbf{B}、{\displaystyle\mathbf{Q}}{\mathbf{Q}}及{\displaystyle\mathbf{R}}\mathbf{R})都是常量,其初始時間為0,其結束時間設置為{\displaystylet_{f}\rightarrow\infty}{\displaystylet_{f}\rightarrow\infty}(最后一個假設稱為是無限時間長度)。LQR控制器如下,要針對無限時間的二次連續時間成本泛函進行最小化
{\displaystyleJ={\tfrac{1}{2}}\int\limits_{0}^{\infty}[\,\mathbf{x}^{\mathsf{T}}(t)\mathbf{Q}\mathbf{x}(t)+\mathbf{u}^{\mathsf{T}}(t)\mathbf{R}\mathbf{u}(t)\,]\,\operatorname66666666666t}{\displaystyleJ={\tfrac{1}{2}}\int\limits_{0}^{\infty}[\,\mathbf{x}^{\mathsf{T}}(t)\mathbf{Q}\mathbf{x}(t)+\mathbf{u}^{\mathsf{T}}(t)\mathbf{R}\mathbf{u}(t)\,]\,\operatorname66666666666t}
其限制條件是要滿足以下的線性非時變一階動態方程式
{\displaystyle{\dot{\mathbf{x}}}(t)=\mathbf{A}\mathbf{x}(t)+\mathbf{B}\mathbf{u}(t),}{\displaystyle{\dot{\mathbf{x}}}(t)=\mathbf{A}\mathbf{x}(t)+\mathbf{B}\mathbf{u}(t),}
以及初始條件
{\displaystyle\mathbf{x}(t_{0})=\mathbf{x}_{0}}{\displaystyle\mathbf{x}(t_{0})=\mathbf{x}_{0}}
若是有限時間的例子,矩陣會有額外的限制,{\displaystyle\mathbf{Q}}{\mathbf{Q}}及{\displaystyle\mathbf{R}}\mathbf{R}需分別是半正定矩陣及正定矩陣。無限時間的情形下,矩陣無此限制,但需要常量矩陣。有關有限時間下,矩陣的額外限制{\displaystyle\mathbf{Q}}{\mathbf{Q}}and{\displaystyle\mathbf{R}}\mathbf{R}可以確保成本泛函仍為正。而且,為了要確保成本泛函有界,會有一個額外條件,會要求系統{\displaystyle(\mathbf{A},\mathbf{B})}{\displaystyle(\mathbf{A},\mathbf{B})}有可控制性。LQ或是LQR的成本泛函都可以視為是最小化“控制能量”(以二次式表示)的手段。
無限時間的問題(LQR問題)限制太多,而且假設系統運作在零狀態,因此也會使系統輸出維持在零狀態,在本質上用處不大。不過若要求解使系統運作在非零輸出準位下的問題,可以先求解零輸出準位的問題,再以此為基礎求解。實際上,可以證明非零輸出準位的問題可以用以下的直接方式求解。在經典最佳控制理論中可以證明LQ(或LQR)最佳控制可以表示為以下的回授型式
{\displaystyle\mathbf{u}(t)=-\mathbf{K}(t)\mathbf{x}(t)}{\displaystyle\mathbf{u}(t)=-\mathbf{K}(t)\mathbf{x}(t)}
其中{\displaystyle\mathbf{K}(t)}{\displaystyle\mathbf{K}(t)}是適當維度的矩陣,定義如下
{\displaystyle\mathbf{K}(t)=\mathbf{R}^{-1}\mathbf{B}^{\mathsf{T}}\mathbf{S}(t),}{\displaystyle\mathbf{K}(t)=\mathbf{R}^{-1}\mathbf{B}^{\mathsf{T}}\mathbf{S}(t),}
且{\displaystyle\mathbf{S}(t)}{\displaystyle\mathbf{S}(t)}是微分Riccati方程的解,微分Riccati方程如下:
{\displaystyle{\dot{\mathbf{S}}}(t)=-\mathbf{S}(t)\mathbf{A}-\mathbf{A}^{\mathsf{T}}\mathbf{S}(t)+\mathbf{S}(t)\mathbf{B}\mathbf{R}^{-1}\mathbf{B}^{\mathsf{T}}\mathbf{S}(t)-\mathbf{Q}}{\displaystyle{\dot{\mathbf{S}}}(t)=-\mathbf{S}(t)\mathbf{A}-\mathbf{A}^{\mathsf{T}}\mathbf{S}(t)+\mathbf{S}(t)\mathbf{B}\mathbf{R}^{-1}\mathbf{B}^{\mathsf{T}}\mathbf{S}(t)-\mathbf{Q}}
在有限時間的LQ問題中,Riccati方程會用終端邊界條件,以逆轉時間的方式積分
{\displaystyle\mathbf{S}(t_{f})=\mathbf{S}_{f}}{\displaystyle\mathbf{S}(t_{f})=\mathbf{S}_{f}}
在無限時間的LQR問題中,微分Riccati方程會變成以下的代數Riccati方程(algebraicRiccatiequation,ARE):
{\displaystyle\mathbf{0}=-\mathbf{S}\mathbf{A}-\mathbf{A}^{\mathsf{T}}\mathbf{S}+\mathbf{S}\mathbf{B}\mathbf{R}^{-1}\mathbf{B}^{\mathsf{T}}\mathbf{S}-\mathbf{Q}}{\displaystyle\mathbf{0}=-\mathbf{S}\mathbf{A}-\mathbf{A}^{\mathsf{T}}\mathbf{S}+\mathbf{S}\mathbf{B}\mathbf{R}^{-1}\mathbf{B}^{\mathsf{T}}\mathbf{S}-\mathbf{Q}}
由于代數Riccati方程是由無限時間的LQR問題產生的,矩陣{\displaystyle\mathbf{A}}\mathbf{A}、{\displaystyle\mathbf{B}}\mathbf{B}、{\displaystyle\mathbf{Q}}{\mathbf{Q}}及{\displaystyle\mathbf{R}}\mathbf{R}都是常量。代數Riccati方程一般會有很多個解,要用正定(或半正定)的解去計算回授增益。LQ(LQR)問題后來是由魯道夫·卡爾曼所解[9]。
最佳控制的數值方法
最優控制問題多半是非線性的,一般而言沒有解析解(例如LQ最佳控制問題)。因此,需要用數值方法來求解最佳控制問題。在最佳控制的初期(約1950年代到1980年代),常用來求解最佳控制問題的方式是“間接法”(indirectmethods)。間接法會用變分法來求得一階的優化條件。條件會形成二點(或是復雜的問題,可能會是三點)的邊值問題。邊值問題有一種特殊的結構,因為是計算其哈密頓量微分而得的。因此,所得的動力系統是以下形式的哈密頓系統
{\displaystyle{\begin{array}{lcl}{\dot{\textbf{x}}}&=&\partialH/\partial{\boldsymbol{\lambda}}\\{\dot{\boldsymbol{\lambda}}}&=&-\partialH/\partial{\textbf{x}}\end{array}}}{\displaystyle{\begin{array}{lcl}{\dot{\textbf{x}}}&=&\partialH/\partial{\boldsymbol{\lambda}}\\{\dot{\boldsymbol{\lambda}}}&=&-\partialH/\partial{\textbf{x}}\end{array}}}
其中
{\displaystyleH=F+{\boldsymbol{\lambda}}^{\mathsf{T}}{\textbf{f}}-{\boldsymbol{\mu}}^{\mathsf{T}}{\textbf{h}}}{\displaystyleH=F+{\boldsymbol{\lambda}}^{\mathsf{T}}{\textbf{f}}-{\boldsymbol{\mu}}^{\mathsf{T}}{\textbf{h}}}
是間接法的擴增哈密頓量(augmentedHamiltonian),在間接法中,用適當的邊值條件或橫截條件(ransversalityconditions)可以求解邊值問題。其優點是可以求解狀態以及adjoint變量({\displaystyle{\boldsymbol{\lambda}}}{\displaystyle{\boldsymbol{\lambda}}}),所得的解是極值軌跡,很容易驗證。缺點是所得的邊值問題多半不容易求解(特別是大時間范圍或是有內在點限制條件的問題)。像BNDSCO就是用間接法求解的著名軟件。
在1980年代之后,有另外一種數值求解最佳控制的方式,稱為直接法(directmethods)。在直接法中,會用適當的函數來近似狀態或是控制(也有可能兩者都有),近似用的函數可能是多項式近似或是片段常量的參數化近似。同時也會用費用函數來近似費用泛函。函數近似的系數視為是優化的變量,最佳控制問題則變成以下的非線性優化問題:
最小化
{\displaystyleF(\mathbf{z})\,}{\displaystyleF(\mathbf{z})\,}
在以下的代數限制式下
{\displaystyle{\begin{array}{lcl}\mathbf{g}(\mathbf{z})&=&\mathbf{0}\\\mathbf{h}(\mathbf{z})&\leq&\mathbf{0}\end{array}}}{\displaystyle{\begin{array}{lcl}\mathbf{g}(\mathbf{z})&=&\mathbf{0}\\\mathbf{h}(\mathbf{z})&\leq&\mathbf{0}\end{array}}}
依使用的直接法不同,非線性優化問題的大小可能會很小(例如用直接射擊法或擬線性化方法),中等大小(例如用擬譜最佳控制),也有可能會非常大(例如用直接搭配方法)。若是用直接搭配方法,非線性優化問題的變量及限制會從上千個到上萬個不等。由于許多非線性規劃(NLP)的大小是由直接法產生的,以直覺來看,直接求解一些非線性優化問題會比求解邊界值問題要簡單。不過,NLP的求解比求解邊界值問題要簡單。計算比較簡單的原因(特別是用直接搭配方法)是產生的NLP比較稀疏,而且已有許多著名的程序可以求解大型稀疏的NLP問題(例如SNOPT)。因此,用直接法可以求解問題的范圍(特別是近來很流行的直接搭配方法)比用間接法可以求解的問題范圍要大很多。事實上,近來直接法非常的流行,許多人已經撰寫程序用這種方式來求解最佳控制。有許多這類程序,例如DIRCOL、SOCS、OTIS、GESOP/ASTOS、DITAN[及PyGMO/PyKEP等。近來因為MATLAB編程語言的盛行,MATLAB上的最佳控制軟件也越來越曾遍。學術界開發,直接法求解最優控制的MATLAB軟件工具有RIOTS、DIDODIRECT,、FALCON.m,、GPOPS,產業界開發的MATLAB工具有PROPT。這些軟件工具提升學術界以及產業界的人士處理復雜最佳控制問題的能力。透過近來泛用MATLAB優化的環境(例如TOMLAB),要處理最佳控制問題已比早期用C語言或FORTRAN程序來處理要簡單許多。
離散時間的最佳控制
以上的例子是連續時間的系統以及最佳控制的解。最佳控制的解也可以用數字的方式來實現。當代的控制理論主要在關注離散時間的系統以及解。一致近似(ConsistentApproximations)理論可以提供在什么情形下,可以用一連串確準度逐漸提升的離散最佳控制問題的解來收斂到原始的連續問題的解。不是所有的離散方式都有這種特性,就算是看似有此特質的都不一定有。例如,用變動步長的程序來積分問題的動態方程,會產生一個不會收斂到0的梯度。直接法RIOTS就是以一致近似理論為基礎。
關于最優控制,小編為大家就分享這些。歡迎聯系我們合運電氣有限公司,以獲取更多相關知識。
上一篇:空調扇