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