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