您當前的位置:首頁 > 舞蹈

最優控制內容總結-變分法(3)

作者:由 新世紀碼農戰士 發表于 舞蹈時間:2021-04-03

不同終端約束條件下的最優控制問題,是有約束條件下的最優控制問題在不同的邊界條件下的特殊情形。由於邊界條件的不同,使得該問題呈現出不同的特點。

歸納起來,主要根據終點時間和終端狀態的情況分為四種:時間固定、狀態自由,時間固定、狀態受約束,時間自由、狀態自由,時間自由、狀態受約束。

需要說明的是,對於終端狀態固定的情況屬於狀態受約束的特殊情形,在無約束泛函極值時候曾經分開討論,並且在無約束問題中,將終端約束放置在終端狀態變分項中處理;而在有約束的最優控制問題中,則將其分別處理。

最優控制問題一般描述 :

與前述問題一致,考慮控制系統狀態受限情況下的最優控制問題,

\[J{\rm{ = }}\phi \left( {{x_{{t_f}}}} \right) + \int_{{t_0}}^{{t_f}} {L\left( {x,u,t} \right)dt} \]

狀態受到的狀態動力模型的約束:

\[\dot x = f\left( {x,u,t} \right)\]

前述方法一致,引入協調變數,將問題轉化為無約束問題:

\[J{\rm{ = }}\phi \left( {{x_{{t_f}}}} \right)+ \int_{{t_0}}^{{t_f}} {L\left( {x,u,t} \right) + {\lambda ^T}\left( {f\left( {x,u,t} \right) - \dot x} \right)dt} \]

這裡,

\[\begin{array}{l} J{\rm{ = }}\phi \left( {{x_{{t_f}}}} \right)+ \int_{{t_0}}^{{t_f}} {L\left( {x,u,t} \right) + {\lambda ^T}\left( {f\left( {x,u,t} \right) - \dot x} \right)dt} \\       {\rm{   }} = \phi \left( {{x_{{t_f}}}} \right) + \int_{{t_0}}^{{t_f}} {H\left( {x,u,\lambda ,t} \right) - {\lambda ^T}\dot xdt} \end{array}\]

1、時間固定、狀態自由

\[{t_f} = t_f^*\]

,隱含意思就是\[\delta {t_f} = 0\]

透過對目標函式兩側求變分,可得:

\[\delta J = \frac{{\partial \phi }}{{\partial x}}{\left. {\delta x} \right|_{{t_f}}} + \int_{{t_0}}^{{t_f}} {{{\left( {\frac{{\partial H}}{{\partial x}}} \right)}^T}\delta x + {{\left( {\frac{{\partial H}}{{\partial u}}} \right)}^T}\delta u + {{\left( {\frac{{\partial H}}{{\partial \lambda }}} \right)}^T}\delta \lambda  - {{\dot x}^T}\delta \lambda  - {\lambda ^T}\delta \dot xdt} \]

推導到這裡,需要做的工作是對最後一項進行分步積分,目的是將

\[{{\lambda ^T}\delta \dot x}\]

這項變成

\[{\delta \lambda }\]

\[{\delta x}\]

的形式表示,進一步可與前面的項進行同類項合併。

由此得出:

\[\begin{array}{l} \delta J = \frac{{\partial \phi }}{{\partial x}}{\left. {\delta x} \right|_{{t_f}}} - {\lambda ^T}\left. {\delta x} \right|_{{t_0}}^{{t_f}} + \int_{{t_0}}^{{t_f}} {{{\left( {\frac{{\partial H}}{{\partial x}}} \right)}^T}\delta x + {{\left( {\frac{{\partial H}}{{\partial u}}} \right)}^T}\delta u + {{\left( {\frac{{\partial H}}{{\partial \lambda }}} \right)}^T}\delta \lambda  - {{\dot x}^T}\delta \lambda  + \dot \lambda \delta {x^T}dt} \\ {\rm{     }} = {\left( {\frac{{\partial \phi }}{{\partial x}} - \lambda } \right)^T}{\left. {\delta x} \right|_{{t_f}}} + \int_{{t_0}}^{{t_f}} {{{\left( {\frac{{\partial H}}{{\partial x}} + \dot \lambda } \right)}^T}\delta x + {{\left( {\frac{{\partial H}}{{\partial u}}} \right)}^T}\delta u + {{\left( {\frac{{\partial H}}{{\partial \lambda }} - \dot x} \right)}^T}\delta \lambda dt} \end{array}\]

在進行上述推導的時候,需要用到的式子就是:

\[\int_{{t_0}}^{{t_f}} {{\lambda ^T}\delta \dot x} dt = \left. {{\lambda ^T}\delta x} \right|_{{t_0}}^{{t_f}} - \int_{{t_0}}^{{t_f}} {{{\dot \lambda }^T}\delta x} dt\]

另外,還需要說明的一點是由於邊界條件

\[{x\left( {{t_0}} \right)}=x_0\]

,故

\[{\lambda ^T}\delta x\left( {{t_0}} \right) = 0\]

在之前的學習中總是由於忘記這個技巧,所以推匯出來的式子總是出問題。

由此,我們就可以得到在時間固定,狀態自由情況下最優控制的必要條件:

正則方程:

\[\dot \lambda  =  - \frac{{\partial H}}{{\partial x}}\]

\[\dot x = \frac{{\partial H}}{{\partial \lambda }}\]

控制方程:

\[\frac{{\partial H}}{{\partial u}} = 0\]

橫截條件:

\[\lambda \left( {{t_f}} \right) = {\left. {\frac{{\partial \phi }}{{\partial x}}} \right|_{{t_f}}}\]

邊界條件:

\[{x\left( {{t_0}} \right) = {x_0}}\]

至此,我們得到了時間固定、狀態自由條件下的必要條件。

2、時間固定、狀態受約束條件下

這裡狀態受約束指的是終端狀態收到約束,用等式\[G\left( {{x_{{t_f}}}} \right) = 0\]來描述。

這個描述區別於前面的終端狀態滿足

\[\delta x\left( {{t_f}} \right) = \dot c\left( t \right)\delta {t_f}\]

,我的理解是前者的適用條件更廣泛。因此,這時候給出的處理方式更普遍。

將引入協態變數

\[v\]

將等式約束

\[G\left( {{x_{{t_f}}}} \right) = 0\]

整合到目標函式中,可得:

 \[J = \phi \left( {{x_{{t_f}}}} \right) + {v^T}G\left( {{x_{{t_f}}}} \right) + \int_{{t_0}}^{{t_f}} {H\left( {x,u,\lambda ,t} \right) - {\lambda ^T}\dot xdt} \]

與內容(1)處理方法相同,對目標函式兩側求變分,可得泛函極值的最優條件

需要指出的是,等式約束主要是在lagrange項中,因此只是對橫截條件有影響,而積分項中不變,因此

協態變數可寫成如下式子:

\[{\left( {{{\left. {\frac{{\partial \phi }}{{\partial x}}} \right|}_{{x_{{t_f}}}}}} \right)^T}\delta x\left( {{t_f}} \right) - {\lambda ^T}\left( {{t_f}} \right)\delta x\left( {{t_f}} \right) + {\left( {{{\left( {{{\left. {\frac{{\partial G}}{{\partial x}}} \right|}_{{x_{{t_f}}}}}} \right)}^T}v} \right)^T}\delta x\left( {{t_f}} \right)=0\]

合併後得出:

\[{\left( {{{\left. {\frac{{\partial \phi }}{{\partial x}}} \right|}_{{x_{{t_f}}}}} - \lambda \left( {{t_f}} \right) - {{\left( {{{\left. {\frac{{\partial G}}{{\partial x}}} \right|}_{{x_{{t_f}}}}}} \right)}^T}v} \right)^T}\delta x\left( {{t_f}} \right) = 0\]

因此,得出時間固定、狀態受約束條件下泛函取極值的必要條件為:

正則方程:

\[\dot \lambda  =  - \frac{{\partial H}}{{\partial x}}\]

\[\dot x = \frac{{\partial H}}{{\partial \lambda }}\]

控制方程:

\[\frac{{\partial H}}{{\partial u}} = 0\]

橫截條件:

\[\lambda \left( {{t_f}} \right) = {\left. {\frac{{\partial \phi }}{{\partial x}}} \right|_{{x_{{t_f}}}}} - {\left( {{{\left. {\frac{{\partial G}}{{\partial x}}} \right|}_{{x_{{t_f}}}}}} \right)^T}v\]

邊界條件:

\[{x\left( {{t_0}} \right) = {x_0}}\]

\[G\left( {{x_{{t_f}}}} \right) = 0\]

3、時間自由、狀態自由條件

在時間自由條件下導致泛函為終點時刻的函式,因此,需要參考無約束條件下的處理方法進行推導。

這裡有式子

\[{t_f} = t_f^ *  + \delta {t_f}\]

因此泛函可以進行拆分

\[\begin{array}{l} J = \phi \left( {{x_{{t_f}}}} \right) + \int_{{t_0}}^{{t_f}} {H\left( {x,u,\lambda ,t} \right) - {\lambda ^T}\dot xdt} \\ {\rm{  }} = \phi \left( {{x_{{t_f}}}} \right) + \int_{t_f^*}^{t_f^* + \delta {t_f}} {H\left( {x,u,\lambda ,t} \right) - {\lambda ^T}\dot xdt}  + \int_{{t_0}}^{t_f^*} {H\left( {x,u,\lambda ,t} \right) - {\lambda ^T}\dot xdt} \\ {\rm{  }} = {J_1} + {J_2} + {J_3} \end{array}\]

上式中,

\[{J_1}\]

由於終點時間自由,導致Lagrange項包含了時間變數;

\[ {J_3} \]

可以看做是終點時間固定的式子。

所以需要對

\[{J_1}\]

\[{J_3}\]

進行特殊處理。

\[\delta {J_1} = \frac{{\partial \phi }}{{\partial x}}\delta {x_{{t_f}}} + \frac{{\partial \phi }}{{\partial {t_f}}}\delta {t_f}\]

對於

\[J_2\]

利用中值定理得

\[\delta {J_2} = \left( {H\left( {{x^*},{u^*},{\lambda ^*},{t^*}} \right) - {\lambda ^*}^T{{\dot x}^*}} \right)\delta {t_f} \]

這裡,為了後續計算,引入了一個替換公式:

\[\delta x\left( {{t_f}} \right) = \delta x\left( {t_f^*} \right) + {{\dot x}^*}\delta {t_f}\]

引入這個公式的目的在於,抵消掉

\[J_3\]

中關於

\[\dot x\]

的函式;

所以上式可以替換得到

\[\delta {J_2} = H\left( {{x^*},{u^*},{\lambda ^*},{t^*}} \right)\delta {t_f} - {\lambda ^*}^T\delta x\left( {{t_f}} \right) + {\lambda ^*}^T\delta x\left( {t_f^*} \right)\]

同樣,對

\[{J_3}\]

項求變分,可得

\[\begin{array}{l} \delta {J_3} = \int_{{t_0}}^{t_f^*} {\frac{{\partial H}}{{\partial x}}\delta x + \frac{{\partial H}}{{\partial u}}\delta u + \frac{{\partial H}}{{\partial \lambda }}\delta \lambda  - {\lambda ^T}\delta \dot x - {{\dot x}^T}\delta \lambda dt} \\ {\rm{     }} = \int_{{t_0}}^{t_f^*} {\frac{{\partial H}}{{\partial x}}\delta x + \frac{{\partial H}}{{\partial u}}\delta u + \frac{{\partial H}}{{\partial \lambda }}\delta \lambda  + {{\dot \lambda }^T}\delta x - {{\dot x}^T}\delta \lambda dt}  - {\lambda ^*}^T\delta x\left( {t_f^*} \right) \end{array}\]

對上述三項式子進行合併,即可得:

\[\delta J = {\left( {\frac{{\partial \phi }}{{\partial x}} - \lambda } \right)^T}\delta {x_{{t_f}}} + {\left( {\frac{{\partial \phi }}{{\partial {t_f}}} + H} \right)^T}\delta {t_f} + \int_{{t_0}}^{t_f^*} {{{\left( {\frac{{\partial H}}{{\partial x}} + \dot \lambda } \right)}^T}\delta x + {{\left( {\frac{{\partial H}}{{\partial u}}} \right)}^T}\delta u + {{\left( {\frac{{\partial H}}{{\partial \lambda }} - \dot x} \right)}^T}\delta \lambda dt} \]

由此得出泛函得極值的必要條件:

正則方程:

\[\dot \lambda  =  - \frac{{\partial H}}{{\partial x}},\dot x = \frac{{\partial H}}{{\partial \lambda }}\]

控制方程:

\[\frac{{\partial H}}{{\partial u}} = 0\]

橫截條件:

\[\lambda \left( {{t_f}} \right) = {\left. {\frac{{\partial \phi }}{{\partial x}}} \right|_{{x_{{t_f}}}}}\]

\[\frac{{\partial \phi }}{{\partial {t_f}}} =  - H\]

邊界條件:

\[x\left( {{t_0}} \right) = {x_0}\]

4、時間自由、終端受約束條件下

與內容2類似,終端約束可以表徵為

\[G\left( {{x_{{t_f}}},{t_f}} \right) = 0\]

同樣,引入協態變數\[v\]對等式約束進行處理,最終

\[\begin{array}{*{20}{l}} {J = \phi \left( {{x_{{t_f}}}} \right) + {v^T}G\left( {{x_{{t_f}}},{t_f}} \right) + \int_{{t_0}}^{{t_f}} {H\left( {x,u,\lambda ,t} \right) - {\lambda ^T}\dot xdt} }\\ { = \phi \left( {{x_{{t_f}}}} \right) + \int_{t_f^*}^{t_f^* + \delta {t_f}} {H\left( {x,u,\lambda ,t} \right) - {\lambda ^T}\dot xdt}  + \int_{{t_0}}^{t_f^*} {H\left( {x,u,\lambda ,t} \right) - {\lambda ^T}\dot xdt} }\\ { = {J_1} + {J_2} + {J_3}} \end{array}\]

對上式求變分,與內容3比較,不同部分為\[J_1\];

\[\delta {J_1} = \frac{{\partial \phi }}{{\partial x}}\delta {x_{{t_f}}} + \frac{{\partial \phi }}{{\partial {t_f}}}\delta {t_f} + {\frac{{\partial G}}{{\partial x}}^T}v\delta {x_{{t_f}}} + {\frac{{\partial G}}{{\partial t}}^T}v\delta {t_f}\]

將此項與原式子合併可得時間自由、終端受約束條件下的泛函極值必要條件:

正則方程:

\[\dot \lambda  =  - \frac{{\partial H}}{{\partial x}},\dot x = \frac{{\partial H}}{{\partial \lambda }}\]

控制方程:

\[\frac{{\partial H}}{{\partial u}} = 0\]

橫截條件:

\[\lambda \left( {{t_f}} \right) = {\left. {\frac{{\partial \phi }}{{\partial x}}} \right|_{{x_{{t_f}}}}} + {\left. {{{\frac{{\partial G}}{{\partial x}}}^T}v} \right|_{{x_{{t_f}}}}},\frac{{\partial \phi }}{{\partial {t_f}}} + {\frac{{\partial G}}{{\partial t}}^T}v =  - H\]

邊界條件:

\[x\left( {{t_0}} \right) = {x_0}\]

\[G\left( {{x_{{t_f}}},{t_f}} \right) = 0\]