next up previous
Next: 一般的な最適制御 Up: 最適制御理論 Previous: 概要

最終状態指定の場合

ラグランジュの未定乗数法によると

\begin{displaymath}
g_u(x_1,x_2,\cdots,x_n) = 0 \qquad\mu = 1,2,\cdots,m \qquad m < n
\end{displaymath} (2.172)

という拘束条件のもとで、連続関数 $F(x_1,x_2,\cdots,x_n)$ を極値にするには $\lambda_1,\lambda_2,\cdots,\lambda_m$ を未定の乗数としたとき、次の補助関数
\begin{displaymath}
V(x_1,\cdots,x_n;\lambda_1,\cdots,\lambda_m) = F + \sum^{m}_{\mu = 1}
\lambda_{\mu} g_{\mu}
\end{displaymath} (2.173)

の、 $x_{\nu}(\nu = 1,2,\cdots,n)$ および $\lambda_{\mu}$ に対する 極値を求めればよい。

制御系の場合はシステム方程式

\begin{displaymath}
\mbox{\boldmath$f$}(\mbox{\boldmath$x$},\mbox{\boldmath$u$},t) - \dot{\mbox{\boldmath$x$}} = 0
\end{displaymath} (2.174)

が拘束条件となり、評価関数
\begin{displaymath}
J = \int^{t_f}_{t_i} L(\mbox{\boldmath$x$},\mbox{\boldmath$u$},t) d t
\end{displaymath} (2.175)

を最小とする問題となるから、補助関数は
$\displaystyle V$ $\textstyle =$ $\displaystyle \int^{t_f}_{t_i} [L(\mbox{\boldmath$x$},\mbox{\boldmath$u$},t)
+ ...
...}(\mbox{\boldmath$x$},\mbox{\boldmath$u$},t) - \dot{\mbox{\boldmath$x$}} \}]d t$  
  $\textstyle \equiv$ $\displaystyle \int^{t_f}_{t_i} L'(\mbox{\boldmath$x$},\dot{\mbox{\boldmath$x$}},t)d t$ (2.176)
    $\displaystyle 但し、 \mbox{\boldmath$\lambda$}^T = [\lambda_1,\lambda_2,\cdots,\lambda_n]
は未定の乗数$  

となり、この $\mbox{\boldmath$x$}$ および $\mbox{\boldmath$\lambda$}$ に対する極小値を求めれば、 最適制御が得られる。

いま、ある軌道を通ったとき $\mbox{\boldmath$x$},\dot{\mbox{\boldmath$x$}}$ であり、その近傍を通ったとき $\mbox{\boldmath$x$} + \varepsilon(\delta \mbox{\boldmath$x$}),
\dot{\mbox{\boldmath$x$}} + \varepsilon(\delta \dot{\mbox{\boldmath$x$}})$$\varepsilon$ は微少な定数) であったとする。そのとき両者の補助関数の差を $\Delta V$ とすると

\begin{displaymath}
\Delta V = \int^{t_f}_{t_i} [L' \{ (\mbox{\boldmath$x$} + \v...
... L' \{ \mbox{\boldmath$x$},\dot{\mbox{\boldmath$x$}},t \} ]d t
\end{displaymath} (2.177)

になる。上式の被積分関数は Taylor 展開をすると
$\displaystyle {L' \{ (\mbox{\boldmath$x$} + \varepsilon(\delta \mbox{\boldmath$...
...oldmath$x$}})),t \}
- L' \{ \mbox{\boldmath$x$},\dot{\mbox{\boldmath$x$}},t \}}$
  $\textstyle =$ $\displaystyle L' \{ \mbox{\boldmath$x$},\dot{\mbox{\boldmath$x$}},t \}
+ \varep...
...}
\delta \dot{\mbox{\boldmath$x$}}
+ (\varepsilon^2,\varepsilon^3,\cdots, の項)$  
    $\displaystyle - L' \{ \mbox{\boldmath$x$},\dot{\mbox{\boldmath$x$}},t \}$  
  $\textstyle =$ $\displaystyle \varepsilon \frac{\partial L'}{\partial \mbox{\boldmath$x$}} \del...
...}
\delta \dot{\mbox{\boldmath$x$}}
+ (\varepsilon^2,\varepsilon^3,\cdots, の項)$ (2.178)

となる。したがって
\begin{displaymath}
\Delta V(\varepsilon) = \int^{t_f}_{t_i} \left[
\varepsilon...
...$x$}}
+ (\varepsilon^2,\varepsilon^3,\cdots, の項) \right]d t
\end{displaymath} (2.179)

になる。補助関数が極値となるための必要条件は
\begin{displaymath}
\left. \frac{\partial(\Delta V)}{\partial \varepsilon}
\right\vert _{\varepsilon = 0} = 0
\end{displaymath} (2.180)

である。これから
\begin{displaymath}
\int^{t_f}_{t_i} \left[
\frac{\partial L'}{\partial \mbox{\...
...oldmath$x$}}}
\delta \dot{\mbox{\boldmath$x$}} \right]d t = 0
\end{displaymath} (2.181)

という条件が得られる。

この積分の第2項を部分積分すると、

\begin{displaymath}
\int^{t_f}_{t_i} \frac{\partial L'}{\partial \dot{\mbox{\bol...
...{\mbox{\boldmath$x$}}} \right)
\delta \mbox{\boldmath$x$} d t
\end{displaymath} (2.182)

となる。最終状態指定の場合は $\delta \mbox{\boldmath$x$}(t_f) = 0$ であり、初期状態も $\delta \mbox{\boldmath$x$}(t_i) = 0$ ゆえ、上式右辺第一項は0となり、したがって (2.181)式は
\begin{displaymath}
\int^{t_f}_{t_i} \left[
\frac{\partial L'}{\partial \dot{\m...
...math$x$}}} \right)
\right] \delta \mbox{\boldmath$x$} d t = 0
\end{displaymath} (2.183)

になる。すべての $\delta \mbox{\boldmath$x$}$ に対してこの式が成立するためには
\begin{displaymath}
\frac{\partial L'}{\partial \mbox{\boldmath$x$}}
- \frac{d}{...
...c{\partial L'}{\partial \dot{\mbox{\boldmath$x$}}} \right) = 0
\end{displaymath} (2.184)

が条件となる。これをオイラー(Euler)方程式という。この式に(2.176)式 を適用すると
$\displaystyle { \frac{\partial}{\partial \mbox{\boldmath$x$}} [
L(\mbox{\boldma...
...$}(\mbox{\boldmath$x$},\mbox{\boldmath$u$},t)
- \dot{\mbox{\boldmath$x$}} \} ]}$
    $\displaystyle - \frac{d}{d t} \frac{\partial}{\partial \dot{\mbox{\boldmath$x$}...
...f$}(\mbox{\boldmath$x$},\mbox{\boldmath$u$},t)
- \dot{\mbox{\boldmath$x$}} \} ]$  
    $\displaystyle = \frac{\partial}{\partial \mbox{\boldmath$x$}} [
L(\mbox{\boldma...
...ox{\boldmath$x$},\mbox{\boldmath$u$},t) ]
+ \dot{\mbox{\boldmath$\lambda$}} = 0$ (2.185)

いま
\begin{displaymath}
L(\mbox{\boldmath$x$},\mbox{\boldmath$u$},t) + \mbox{\boldma...
...\boldmath$x$},\mbox{\boldmath$u$},\mbox{\boldmath$\lambda$},t)
\end{displaymath} (2.186)

とする。これをハミルトン関数(またはH関数)という。そのとき
\begin{displaymath}
\dot{\mbox{\boldmath$\lambda$}} = - \frac{\partial H(\mbox{\...
...,\mbox{\boldmath$\lambda$},t)}
{\partial \mbox{\boldmath$x$}}
\end{displaymath} (2.187)

になる。

同様にして、 $\mbox{\boldmath$u$}$ に対するオイラー方程式は

\begin{displaymath}
\frac{\partial L'}{\partial \mbox{\boldmath$u$}}
- \frac{d}{d t} \frac{\partial L'}{\partial \dot{\mbox{\boldmath$u$}}} = 0
\end{displaymath} (2.188)

となり、
$\displaystyle { \frac{\partial}{\partial \mbox{\boldmath$u$}} [
L(\mbox{\boldma...
...}(\mbox{\boldmath$x$},\mbox{\boldmath$u$},t)
- \dot{\mbox{\boldmath$x$}} \} ] }$
    $\displaystyle - \frac{d}{d t} \frac{\partial}{\partial \dot{\mbox{\boldmath$u$}...
...f$}(\mbox{\boldmath$x$},\mbox{\boldmath$u$},t)
- \dot{\mbox{\boldmath$x$}} \} ]$  
    $\displaystyle = \frac{\partial}{\partial \mbox{\boldmath$u$}} [
L(\mbox{\boldma...
...th$\lambda$}^T \mbox{\boldmath$f$}(\mbox{\boldmath$x$},\mbox{\boldmath$u$},t) ]$  
    $\displaystyle = \frac{\partial H(\mbox{\boldmath$x$},\mbox{\boldmath$u$},\mbox{\boldmath$\lambda$},t)}
{\partial \mbox{\boldmath$u$}} = 0$ (2.189)

となる。
$\displaystyle \frac{\partial H(\mbox{\boldmath$x$},\mbox{\boldmath$u$},\mbox{\boldmath$\lambda$},t)}
{\partial \mbox{\boldmath$\lambda$}}$ $\textstyle =$ $\displaystyle \frac{\partial}{\partial \mbox{\boldmath$\lambda$}} [
L(\mbox{\bo...
...th$\lambda$}^T \mbox{\boldmath$f$}(\mbox{\boldmath$x$},\mbox{\boldmath$u$},t) ]$  
  $\textstyle =$ $\displaystyle \mbox{\boldmath$f$}(\mbox{\boldmath$x$},\mbox{\boldmath$u$},t)$ (2.190)

であるので、以上をまとめると
\begin{displaymath}
\left \{ \begin{array}{l}
\dot{\mbox{\boldmath$\lambda$}} =...
...t)}
{\partial \mbox{\boldmath$\lambda$}}
\end{array} \right.
\end{displaymath} (2.191)

となる。
最適制御を求める手順
(第1段階)
\begin{displaymath}
H(\mbox{\boldmath$x$},\mbox{\boldmath$u$},\mbox{\boldmath$\l...
...boldmath$u$},t) + L(\mbox{\boldmath$x$},\mbox{\boldmath$u$},t)
\end{displaymath} (2.192)

を求める。
(第2段階)
\begin{displaymath}
\frac{\partial H(\mbox{\boldmath$x$},\mbox{\boldmath$u$},\mbox{\boldmath$\lambda$},t)}{\partial \mbox{\boldmath$u$}} = 0
\end{displaymath} (2.193)

より $\mbox{\boldmath$u$}_0$ を求める。
(第3段階)
最適の $H$ 関数
\begin{displaymath}
H_0(\mbox{\boldmath$x$},\mbox{\boldmath$\lambda$},t) = H(\mb...
...oldmath$x$},\mbox{\boldmath$u$}_0,\mbox{\boldmath$\lambda$},t)
\end{displaymath} (2.194)

を求める。
(第4段階)
\begin{displaymath}
\left \{ \begin{array}{l}
\dot{\mbox{\boldmath$x$}} = \frac...
...bda$},t)}
{\partial \mbox{\boldmath$x$}}
\end{array} \right.
\end{displaymath} (2.195)

$\mbox{\boldmath$x$}_i,\mbox{\boldmath$x$}_f$ の境界条件で $2n$ 組の方程式を解く。
(第5段階)

上記で求めた結果を $\mbox{\boldmath$u$}_0$ に代入して最適制御を得る。なお最終時刻 $t_f$ が 規定されていないときは $0 \leq t \leq t_f$ の期間中 $
H(\mbox{\boldmath$u$}_0) = 0
$ となる。
[例1]

図 2.16:
\begin{figure}\begin{center}
\psbox[scale=0.80]{eps/2-7-2.eps}\\
\end{center} \end{figure}

2.16の一次遅れ制御対象に対し、最小の制御力 $(u)$ によって制御量 $(x)$ の 自乗積分値を最小にする最適制御を求める。

評価関数は

\begin{displaymath}
J = \int^{t_f}_{t_i} (x^2 + u^2) d t
\end{displaymath} (2.196)

システム方程式は
\begin{displaymath}
\dot{x} = -2 x + 2 u
\end{displaymath} (2.197)

(第1段階)
\begin{displaymath}
H(x,u,\lambda,t) = \lambda(-2 x + 2 u) + (x^2 + u^2)
\end{displaymath} (2.198)

(第2段階)
    $\displaystyle \frac{\partial H(x,u,\lambda,t)}{\partial u} = 2 \lambda + 2 u = 0$ (2.199)
    $\displaystyle u_0 = -\lambda$  

(第3段階)
\begin{displaymath}
H_0(x,\lambda,t) = -2 \lambda x - \lambda^2 + x^2
\end{displaymath} (2.200)

(第4段階)
    $\displaystyle \dot{x} = \frac{\partial H_0}{\partial \lambda} = -2 x - 2 \lambda$ (2.201)
    $\displaystyle \dot{\lambda} = - \frac{\partial H_0}{\partial x} = 2 \lambda - 2 x$ (2.202)

両式より
\begin{displaymath}
\ddot{x} - 8 x = 0
\end{displaymath} (2.203)

解は
    $\displaystyle x = K_1 e^{-2 \sqrt{2} t} + K_2 e^{2 \sqrt{2} t}$ (2.204)
    $\displaystyle \lambda = - K_1 (1 - \sqrt{2}) e^{-2 \sqrt{2} t}
- K_2 (1 + \sqrt{2}) e^{2 \sqrt{2} t}$ (2.205)

境界条件として、 $x(0) = 1,x(\infty) = 0$ を代入すると、
\begin{displaymath}
\left \{ \begin{array}{l}
K_1 = 1 \\
K_2 = 0
\end{array} \right.
\end{displaymath} (2.206)

ゆえに
\begin{displaymath}
x(t) = e^{-2 \sqrt{2} t}
\end{displaymath} (2.207)

(第5段階)
\begin{displaymath}
u_0(t) = (1 - \sqrt{2}) e^{-2 \sqrt{2} t}
\end{displaymath} (2.208)

[例2]

前例で $x(0) = 1,x(1) = 0$ とした場合、(第4段階)で

    $\displaystyle K_1 + K_2 = 1$ (2.209)
    $\displaystyle K_1 e^{-2 \sqrt{2}} + K_2 e^{2 \sqrt{2}} = 0$ (2.210)


となり
$\displaystyle \left \{ \begin{array}{l}
K_1 = \frac{1}{1 - e^{-4 \sqrt{2}}} \\
K_2 = \frac{1}{1 - e^{4 \sqrt{2}}}
\end{array} \right.$     (2.211)

(第5段階)
\begin{displaymath}
u_0(t) = \frac{(1 - \sqrt{2})}{(1 - e^{-4 \sqrt{2}})} e^{-2 ...
...+ \frac{(1 + \sqrt{2})}{(1 - e^{4 \sqrt{2}})} e^{2 \sqrt{2} t}
\end{displaymath} (2.212)

この場合は $t_f= 1$ と指定されているので $H(\mbox{\boldmath$u$}_0) \neq 0$ である。
[例3]

上記の制御対象に対し、最小制御力で制御量の自乗積分偏差も最小、かつ最短時間で 目標に達せしめる最適制御を求める。

評価関数は

\begin{displaymath}
J = \int^{t_f}_{t_i} (x^2 + u^2 + 1) d t
\end{displaymath} (2.213)

システム方程式は

\begin{displaymath}
\dot{x} = -2 x + 2 u
\end{displaymath} (2.214)

であり、 $t = 0$ $x(0) = 1,t = t_f$$x(t_f) = 0$ とする。
(第1段階)
\begin{displaymath}
H(x,u,\lambda,t) = \lambda(-2 x + 2 u) + (x^2 + u^2 + 1)
\end{displaymath} (2.215)

(第2段階)
    $\displaystyle \frac{\partial H(x,u,\lambda,t)}{\partial u} = 2 \lambda + 2 u = 0$ (2.216)
    $\displaystyle u_0 = -\lambda$ (2.217)

(第3段階)
\begin{displaymath}
H_0(x,\lambda,t) = -2 \lambda x - \lambda^2 + x^2 + 1
\end{displaymath} (2.218)

(第4段階)
\begin{displaymath}
\left \{ \begin{array}{l}
\dot{x} = -2 x - 2 \lambda \\
\dot{\lambda} = 2 \lambda - 2 x
\end{array} \right.
\end{displaymath} (2.219)

解は
$\displaystyle x$ $\textstyle =$ $\displaystyle K_1 e^{-2 \sqrt{2} t} + K_2 e^{2 \sqrt{2} t}$ (2.220)
$\displaystyle \lambda$ $\textstyle =$ $\displaystyle - K_1(1 - \sqrt{2}) e^{-2 \sqrt{2} t}
- K_2(1 + \sqrt{2}) e^{2 \sqrt{2} t}$ (2.221)
$\displaystyle u_0$ $\textstyle =$ $\displaystyle K_1(1 - \sqrt{2}) e^{-2 \sqrt{2} t}
+ K_2(1 + \sqrt{2}) e^{2 \sqrt{2} t}$ (2.222)

$t = 0$$x(0) = 1$ ゆえ
\begin{displaymath}
K_1 + K_2 = 1
\end{displaymath} (2.223)

である。また $t_f$ が指定されていないので、 $0 \leq t \leq t_f$ $H_0(\mbox{\boldmath$u$}_0) = 0$ である。したがって $x,\lambda$$H_0$ に代入すると
$\displaystyle H_0$ $\textstyle =$ $\displaystyle - 2 \{ - K_1(1 - \sqrt{2}) e^{-2 \sqrt{2} t}
- K_2(1 + \sqrt{2}) e^{2 \sqrt{2} t} \} \cdot$  
    $\displaystyle \{ K_1 e^{-2 \sqrt{2} t} + K_2 e^{2 \sqrt{2} t} \}$  
    $\displaystyle - \{ - K_1(1 - \sqrt{2}) e^{-2 \sqrt{2} t}
- K_2(1 + \sqrt{2}) e^{2 \sqrt{2} t} \}^2$  
    $\displaystyle + \{ K_1 e^{-2 \sqrt{2} t} + K_2 e^{2 \sqrt{2} t} \}^2 + 1$  
  $\textstyle =$ $\displaystyle 2 K_{1}^{2}(1 - \sqrt{2}) e^{-4 \sqrt{2} t}
+ 2 K_1 K_2(1 - \sqrt{2})$  
    $\displaystyle + 2 K_1 K_2(1 + \sqrt{2})$  
    $\displaystyle + 2 K_{2}^{2}(1 + \sqrt{2}) e^{4 \sqrt{2} t}
- K_{1}^{2}(1 - \sqrt{2})^2 e^{-4 \sqrt{2} t} + 2 K_1 K_2$  
    $\displaystyle - K_{2}^{2}(1 + \sqrt{2})^2 e^{4 \sqrt{2} t}
+ K_{1}^{2} e^{-4 \sqrt{2} t} + 2 K_1 K_2
+ K_{1}^{2} e^{4 \sqrt{2} t}$  
    $\displaystyle + 1$  
  $\textstyle =$ $\displaystyle 8 K_1 K_2 + 1 = 8 K_1(1 - K_1) + 1$  
  $\textstyle =$ $\displaystyle - 8 K^{2}_{1} + 8 K_1 + 1 = 0$ (2.224)

したがって
    $\displaystyle K_1 = 1.1124 又は -0.1124$  
    $\displaystyle K_2 = -0.1124 又は 1.1124$  

となる。 $x(t_f) = 0$ となるためには $K_2 = -0.1124$ でなければならないから、 $K_1 = 1.1124$ となる。
(第5段階)
    $\displaystyle x(t) = 1.1124 e^{-2 \sqrt{2} t} - 0.1124 e^{2 \sqrt{2} t}$ (2.225)
    $\displaystyle u_0(x) = -0.460 e^{-2 \sqrt{2} t} - 0.272 e^{2 \sqrt{2} t}$ (2.226)
    $\displaystyle x(t_f) = 0 より t_f = 0.406$  

[例4]

図 2.17:
\begin{figure}\begin{center}
\psbox[scale=0.80]{eps/2-7-3.eps} \end{center} \end{figure}

2.17の系において最短時間で目標に達するための最適制御を求める。

システム方程式

\begin{displaymath}
\left \{ \begin{array}{l}
\dot{x}_1 = x_2 \\
\dot{x}_2 = u
\end{array} \right.
\end{displaymath} (2.227)

評価関数
\begin{displaymath}
J = \int^{t_1}_{0} d t = t_1
\end{displaymath} (2.228)

(第1段階)
\begin{displaymath}
H = \lambda_1 x_2 + \lambda_2 u + 1
\end{displaymath} (2.229)

(第2段階)

この式の極大を得るには、 $
\left. \begin{array}{ll}
\lambda_2 > 0 の時 & u を最大 \\
\lambda_2 < 0 の時 & u を最小
\end{array} \right \} にする。
$ このことは、オンオフ制御(バング・バング制御)を意味する。オンとオフの 切換条件は $\lambda_2 = 0$ のところとなる。しかし実際にこの方法で $\lambda_2 = 0$ のところを見出すのは容易ではない。この問題は後述するような非線形制御系の 問題として別の方法で容易に得ることができる。


next up previous
Next: 一般的な最適制御 Up: 最適制御理論 Previous: 概要
Yasunari SHIDAMA
平成15年5月12日