38
1 システム制御最適化特論 担当:平田 健太郎 前期後半 月 5, 61400-1610 5号館 第16講義室 7/8 第4回 最適制御

システム制御最適化特論imclab.sys.okayama-u.ac.jp/~kent/DIR/opt04.pdf2 6/17 第1回最適化問題と線形計画法(LP) 6/24 第2回内点法 7/1 第3回最短経路問題と動的計画法(DP)

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: システム制御最適化特論imclab.sys.okayama-u.ac.jp/~kent/DIR/opt04.pdf2 6/17 第1回最適化問題と線形計画法(LP) 6/24 第2回内点法 7/1 第3回最短経路問題と動的計画法(DP)

1

システム制御最適化特論

担当:平田健太郎

前期後半月 5, 6限 14:00-16:10 5号館第16講義室

7/8 第4回 最適制御

Page 2: システム制御最適化特論imclab.sys.okayama-u.ac.jp/~kent/DIR/opt04.pdf2 6/17 第1回最適化問題と線形計画法(LP) 6/24 第2回内点法 7/1 第3回最短経路問題と動的計画法(DP)

2

6/17 第1回 最適化問題と線形計画法(LP)6/24 第2回 内点法7/1 第3回 最短経路問題と動的計画法(DP)7/8 第4回 最適制御7/18* 第5回 二次計画法(QP)とモデル予測制御(MPC)

7/22 第6回 凸解析と線形行列不等式7/29 第7回 線形行列不等式(LMI)による制御系解析・設計8/5 第8回 非線形最適化

* irregular

講義日程(予定)

Page 3: システム制御最適化特論imclab.sys.okayama-u.ac.jp/~kent/DIR/opt04.pdf2 6/17 第1回最適化問題と線形計画法(LP) 6/24 第2回内点法 7/1 第3回最短経路問題と動的計画法(DP)

3

1

2

3

4

5

50

80

20 10

30

15

15

Matlab計算例: shortest_path.m

実行可能基底解が退化(0解が7-5より多い)

⇒注意が必要

Page 4: システム制御最適化特論imclab.sys.okayama-u.ac.jp/~kent/DIR/opt04.pdf2 6/17 第1回最適化問題と線形計画法(LP) 6/24 第2回内点法 7/1 第3回最短経路問題と動的計画法(DP)

4

先の例では, 移動は右または上へ, という規則があったため,

周回路は存在せず, 最短経路が確定したノードの集合を逐次求めていることが容易であった. これをどう解決するか?

最短経路が確定したノードの集合を合理的に拡大していく方法

Page 5: システム制御最適化特論imclab.sys.okayama-u.ac.jp/~kent/DIR/opt04.pdf2 6/17 第1回最適化問題と線形計画法(LP) 6/24 第2回内点法 7/1 第3回最短経路問題と動的計画法(DP)

5

記号の準備

グラフ 𝐺は節点集合 𝑉 と枝集合 𝐸からなる.

𝑉 = 𝑠, 2,3,⋯ , 𝑡 , 𝐸 = 𝑖, 𝑗 |節点𝑖と𝑗の間に枝があるとき

Page 6: システム制御最適化特論imclab.sys.okayama-u.ac.jp/~kent/DIR/opt04.pdf2 6/17 第1回最適化問題と線形計画法(LP) 6/24 第2回内点法 7/1 第3回最短経路問題と動的計画法(DP)

6

ダイクストラ法/Dijkstra Method

多項式時間アルゴリズム 𝑂 𝑛2

cf. 内点法 𝑂 𝑛3

Page 7: システム制御最適化特論imclab.sys.okayama-u.ac.jp/~kent/DIR/opt04.pdf2 6/17 第1回最適化問題と線形計画法(LP) 6/24 第2回内点法 7/1 第3回最短経路問題と動的計画法(DP)

7

1

2

3

4

5

50

15

80

20 10

30

15

例題: 以下の例に Dijkstra 法を適用してみる

ダイクストラ法の大規模な実行例: java program

Page 8: システム制御最適化特論imclab.sys.okayama-u.ac.jp/~kent/DIR/opt04.pdf2 6/17 第1回最適化問題と線形計画法(LP) 6/24 第2回内点法 7/1 第3回最短経路問題と動的計画法(DP)

8

1

2

3

4

5

50

15

80

20 10

30

15

1

2

3

4

5

50

15

80

20 10

30

15

Page 9: システム制御最適化特論imclab.sys.okayama-u.ac.jp/~kent/DIR/opt04.pdf2 6/17 第1回最適化問題と線形計画法(LP) 6/24 第2回内点法 7/1 第3回最短経路問題と動的計画法(DP)

9

15

1

2

3

4

5

50

80

20 10

30

15

Page 10: システム制御最適化特論imclab.sys.okayama-u.ac.jp/~kent/DIR/opt04.pdf2 6/17 第1回最適化問題と線形計画法(LP) 6/24 第2回内点法 7/1 第3回最短経路問題と動的計画法(DP)

10

10

30

15

1

2

3

4

5

50

80

20 10

15

30

15

1

2

3

4

5

50

80

20

15

Page 11: システム制御最適化特論imclab.sys.okayama-u.ac.jp/~kent/DIR/opt04.pdf2 6/17 第1回最適化問題と線形計画法(LP) 6/24 第2回内点法 7/1 第3回最短経路問題と動的計画法(DP)

11

clear;E=zeros(5,5);E(1,2)=50;E(1,3)=80;E(2,3)=20;E(2,4)=15;E(3,4)=10;E(3,5)=15;

% initialize

S=[];bS=[1,2,3,4,5];d=9999*ones(1,5);d(1)=0;p=[];

while length(S)<5,SbSdnbs=length(bS);mind=d(bS(1));v=bS(1);

% Find v

for i=2:nbs,if d(bS(i))<mind,mind=d(bS(i));v=bS(i);endend

5ノードの toy problem に対する Dijkstra法の program code (Octave)

Page 12: システム制御最適化特論imclab.sys.okayama-u.ac.jp/~kent/DIR/opt04.pdf2 6/17 第1回最適化問題と線形計画法(LP) 6/24 第2回内点法 7/1 第3回最短経路問題と動的計画法(DP)

12

S=[S v];xbS=[];

for i=1:nbs,if bS(i)~=v,xbS=[xbS bS(i)];end

endbS=xbS;nbs=length(bS);

for k=1:nbs,j=bS(k);if E(v,j)>0,if d(j) > d(v)+E(v,j);

d(j)=d(v)+E(v,j);p(j)=v;

endend

endend

proute=5;prev=p(5);while prev~=1,

route=[route prev];prev=p(prev);

endroute=[route prev]

Page 13: システム制御最適化特論imclab.sys.okayama-u.ac.jp/~kent/DIR/opt04.pdf2 6/17 第1回最適化問題と線形計画法(LP) 6/24 第2回内点法 7/1 第3回最短経路問題と動的計画法(DP)

13

𝑆の要素を1つずつ増やす: 𝑛反復高々n個の 𝑑 𝑖 を比較

⇒ 𝑂 𝑛2オーダー(最高次の次数のみ係数は無視)

Dijkstra法の計算量

𝑆から外に出るエッジについて 𝑑 𝑖の更新 高々𝑚回の処理 ⇒ 𝑂 𝑚

(ループ内の処理に見えるが)

エッジの本数は最大でも𝑚 =𝑛 𝑛 − 1

2(𝑛個のノードをすべて相互につなぐとき)

ノード数: 𝑛,エッジ本数:𝑚

𝑚 < 𝑛2 より,全体では 𝑂 𝑛2

Page 14: システム制御最適化特論imclab.sys.okayama-u.ac.jp/~kent/DIR/opt04.pdf2 6/17 第1回最適化問題と線形計画法(LP) 6/24 第2回内点法 7/1 第3回最短経路問題と動的計画法(DP)

初期化

終了判定

ノード v を探す(n個の比較)

n 回のループ

𝑑 𝑗 の付け替え

14

𝑂 𝑛

𝑂 𝑚

𝑂 𝑚 > 𝑂 𝑛 だから全体では 𝑂 𝑚𝑛 ?

毎回処理するわけではないので,

𝑂 𝑚𝑛 の見積もりは正しくない.都合何回あるかを考える.

Page 15: システム制御最適化特論imclab.sys.okayama-u.ac.jp/~kent/DIR/opt04.pdf2 6/17 第1回最適化問題と線形計画法(LP) 6/24 第2回内点法 7/1 第3回最短経路問題と動的計画法(DP)

15

1

2

3

4

5

1

2

3

4

5

1

2

3

4

5

1

2

3

4

5

∴ 𝑑 𝑗 の付け替えは各ノードに入ってくる矢印の数だけ行われる.

(行われない場合もある.)

最大でも辺の総数だけ

Page 16: システム制御最適化特論imclab.sys.okayama-u.ac.jp/~kent/DIR/opt04.pdf2 6/17 第1回最適化問題と線形計画法(LP) 6/24 第2回内点法 7/1 第3回最短経路問題と動的計画法(DP)

23

→ 動的計画法(Dynamic Programming)

𝑙 𝑖, 𝑗 : 𝑖から 𝑗への最短距離, 𝑉𝑠: 𝑠から直接行ける節点の集合

𝑙(𝑠, 𝑡) = min𝑣∈𝑉𝑠

𝑙 𝑣, 𝑡 + 𝑎𝑠𝑣

𝑠

𝑡

𝑣

𝑎𝑠𝑣

𝑙 𝑣, 𝑡 , 𝑣 ≠ 𝑠を解くことが 𝑙 𝑠, 𝑡 を解くよりも小さな部分問題になっていれば, 再帰的に解くことができる(?).

Page 17: システム制御最適化特論imclab.sys.okayama-u.ac.jp/~kent/DIR/opt04.pdf2 6/17 第1回最適化問題と線形計画法(LP) 6/24 第2回内点法 7/1 第3回最短経路問題と動的計画法(DP)

24

最適性の原理: 𝑙(𝑠, 𝑡) = min𝑣∈𝑉𝑠

𝑎𝑠𝑣 + 𝑙 𝑣, 𝑡

𝑠

𝑡

𝑣

𝑎𝑠𝑣

今回の選択

𝑣までの移動コスト

行った先からゴールまでの最小コスト(最短経路長)

Page 18: システム制御最適化特論imclab.sys.okayama-u.ac.jp/~kent/DIR/opt04.pdf2 6/17 第1回最適化問題と線形計画法(LP) 6/24 第2回内点法 7/1 第3回最短経路問題と動的計画法(DP)

25

・ 最適制御

Page 19: システム制御最適化特論imclab.sys.okayama-u.ac.jp/~kent/DIR/opt04.pdf2 6/17 第1回最適化問題と線形計画法(LP) 6/24 第2回内点法 7/1 第3回最短経路問題と動的計画法(DP)

26

最適制御問題

時間関数 𝑢 𝑡 , 𝑡 ∈ [0,∞) を決定変数とする最適化問題

Page 20: システム制御最適化特論imclab.sys.okayama-u.ac.jp/~kent/DIR/opt04.pdf2 6/17 第1回最適化問題と線形計画法(LP) 6/24 第2回内点法 7/1 第3回最短経路問題と動的計画法(DP)

27

最適制御問題 (一般形, 非線形)

状態方程式

終端条件の重み関数 状態,制御入力の重み関数

システム(内部状態 𝑥 𝑡 )

制御入力 𝑢(𝑡) 出力

システムの動特性は(非線形な)常微分方程式で与えられるとする.

Page 21: システム制御最適化特論imclab.sys.okayama-u.ac.jp/~kent/DIR/opt04.pdf2 6/17 第1回最適化問題と線形計画法(LP) 6/24 第2回内点法 7/1 第3回最短経路問題と動的計画法(DP)

28

ሶ𝑥 𝑡 = 𝐴𝑥 𝑡 + 𝐵𝑢(𝑡)

線形系

𝐽 = 𝑥𝑇 𝑇 𝑄𝑓𝑥 𝑇

+න0

𝑇

𝑥𝑇 𝑡 𝑄𝑥 𝑡 + 𝑢𝑇 𝑡 𝑅𝑢 𝑡 𝑑𝑡

(2次評価関数)

一般形

状態方程式

評価関数

連続時間系

Page 22: システム制御最適化特論imclab.sys.okayama-u.ac.jp/~kent/DIR/opt04.pdf2 6/17 第1回最適化問題と線形計画法(LP) 6/24 第2回内点法 7/1 第3回最短経路問題と動的計画法(DP)

29

線形系

(2次評価関数)

一般形

状態方程式

評価関数

𝑥𝑘+1 = 𝑓 𝑥𝑘 , 𝑢𝑘 𝑥𝑘+1 = 𝐴𝑥𝑘 + 𝐵𝑢𝑘

離散時間系

𝐽 = 𝐿𝑓 𝑥𝑁+1 +

𝑘=0

𝑁

𝐿(𝑥𝑘 , 𝑢𝑘)

𝐽 = 𝑥𝑁+1𝑇 𝑃𝑁+1𝑥𝑁+1

+

𝑘=0

𝑁

𝑥𝑘𝑇𝑄𝑥𝑘 + 𝑢𝑘

𝑇𝑅𝑢𝑘

Page 23: システム制御最適化特論imclab.sys.okayama-u.ac.jp/~kent/DIR/opt04.pdf2 6/17 第1回最適化問題と線形計画法(LP) 6/24 第2回内点法 7/1 第3回最短経路問題と動的計画法(DP)

30

動的計画法(Dynamic Programming)

離散過程に対する多段階決定問題

状態 𝑥 に決定 𝑢 を与えたときの状態遷移: 𝑓(𝑥, 𝑢)

𝑥𝑘+1 = 𝑓 𝑥𝑘 , 𝑢𝑘 , 𝑘 = 1,⋯ ,𝑁

各段階におけるコストと終端コストの和

𝑘=1

𝑁

𝐿 𝑥𝑘 , 𝑢𝑘

を最小にするよう 𝑢𝑘 を選ぶ.

𝑥1 𝑥2

𝑥

𝑘⋯⋯⋯ 𝑥𝑁 𝑥𝑁+1

+𝐿𝑓 𝑥𝑁+1

𝑢

𝑘𝑢1 ⋯⋯⋯ 𝑢𝑁

Page 24: システム制御最適化特論imclab.sys.okayama-u.ac.jp/~kent/DIR/opt04.pdf2 6/17 第1回最適化問題と線形計画法(LP) 6/24 第2回内点法 7/1 第3回最短経路問題と動的計画法(DP)

31

初期値 𝑥1 から始めたとき 𝑁 段決定過程のコスト関数を

𝐽𝑁∗ 𝑥1 で表す. これは初期値の関数なので, 最適コスト関数とよぶ.

𝐽𝑁 𝑥1 =

𝑘=1

𝑁

𝐿 𝑥𝑘 , 𝑢𝑘 + 𝐿𝑓 𝑥𝑁+1

とし, 𝐽𝑁 𝑥1 を最小化する系列 𝑢𝑘 , 𝑘 = 1,⋯ , 𝑁を与えたときのコストを

Page 25: システム制御最適化特論imclab.sys.okayama-u.ac.jp/~kent/DIR/opt04.pdf2 6/17 第1回最適化問題と線形計画法(LP) 6/24 第2回内点法 7/1 第3回最短経路問題と動的計画法(DP)

終端時刻から逆向きに解いていくことを考えると次式が成り立つ.

32

𝐽𝑁∗ 𝑥1 = min

𝑢1𝐿 𝑥1, 𝑢1 + 𝐽𝑁−1

∗ 𝑥2

𝑥1 𝑥2

𝑥

𝑘

𝑢

𝑘𝑢1

⋯⋯⋯

⋯⋯⋯

𝑥𝑁+1

𝑢𝑁

𝑥1を初期値とする𝑁段決定過程

𝐽𝑁∗ 𝑥1 : その最適値

𝑥2を初期値とする𝑁 − 1段決定過程

𝐽𝑁−1∗ 𝑥2 : その最適値

𝑥1 𝑥2

𝑥

𝑘

𝑢

𝑘𝑢1

⋯⋯⋯

⋯⋯⋯

𝑥𝑁+1

𝑢𝑁

(最適性の原理)

Page 26: システム制御最適化特論imclab.sys.okayama-u.ac.jp/~kent/DIR/opt04.pdf2 6/17 第1回最適化問題と線形計画法(LP) 6/24 第2回内点法 7/1 第3回最短経路問題と動的計画法(DP)

33

𝐽𝑁−𝑘+1 𝑥𝑘 ≔

𝑖=𝑘

𝑁

𝑥𝑖𝑇𝑄𝑥𝑖 + 𝑢𝑖

𝑇𝑅𝑢𝑖 + 𝑥𝑁+1𝑇 𝑃𝑁+1𝑥𝑁+1

最適コスト関数の初期値 𝐽0∗ 𝑥𝑁+1 = 𝑥𝑁+1

𝑇 𝑃𝑁+1𝑥𝑁+1

𝐽𝑁−𝑘+1∗ 𝑥𝑘 = min

𝑢𝑘,𝑢𝑘+1,⋯,𝑢𝑁𝐽𝑁−𝑘+1 𝑥𝑘

= 𝑥𝑘𝑇𝑄𝑥𝑘 + 𝑢𝑘

𝑇𝑅𝑢𝑘 + 𝐽𝑁−𝑚 𝑥𝑚+1

= min𝑢𝑘,𝑢𝑘+1,⋯,𝑢𝑁

𝑥𝑘𝑇𝑄𝑥𝑘 + 𝑢𝑘

𝑇𝑅𝑢𝑘 + 𝐽𝑁−𝑘 𝑥𝑘+1

= min𝑢𝑘

𝑥𝑘𝑇𝑄𝑥𝑘 + 𝑢𝑘

𝑇𝑅𝑢𝑘 +min𝑢𝑘+1,⋯,𝑢𝑁

𝐽𝑁−𝑘 𝑥𝑘+1

= min𝑢𝑘

𝐿 𝑥𝑘 , 𝑢𝑘 + 𝐽𝑁−𝑘∗ 𝑥𝑘+1

Page 27: システム制御最適化特論imclab.sys.okayama-u.ac.jp/~kent/DIR/opt04.pdf2 6/17 第1回最適化問題と線形計画法(LP) 6/24 第2回内点法 7/1 第3回最短経路問題と動的計画法(DP)

34

始めに以下の1段の決定問題を考える.

𝐽1∗ 𝑥𝑁 = min

𝑢𝑁𝐿 𝑥𝑁, 𝑢𝑁 + 𝐽0

∗ 𝑥𝑁+1

= min𝑢𝑁

𝑥𝑁𝑇𝑄𝑥𝑁 + 𝑢𝑁

𝑇𝑅𝑢𝑁 + 𝑥𝑁+1𝑇 𝑃𝑁+1𝑥𝑁+1

𝑥𝑁+1 = 𝐴𝑥𝑁 + 𝐵𝑢𝑁 の制約のもとで上記の最小値を与える 𝑢𝑁は

𝑅 > 0, 𝑃𝑁+1 ≥ 0 ⇒ 𝑅 + 𝐵𝑇𝑃𝑁+1𝐵 > 0であるので

𝑥𝑁𝑇𝑄𝑥𝑁 + 𝑢𝑁

𝑇𝑅𝑢𝑁 + 𝑥𝑁+1𝑇 𝑃𝑁+1𝑥𝑁+1 = 𝑣𝑇 𝑅 + 𝐵𝑇𝑃𝑁+1𝐵 𝑣 + 𝑥𝑁

𝑇𝑃𝑁𝑥𝑁

𝑣 ≔ 𝑢𝑁 + 𝑅 + 𝐵𝑇𝑃𝑁+1𝐵−1𝐵𝑇𝑃𝑁+1𝐴𝑥𝑁

𝑃𝑁: = 𝐴𝑇𝑃𝑁+1𝐴 + 𝑄 − 𝐴𝑇𝑃𝑁+1𝐵 𝑅 + 𝐵𝑇𝑃𝑁+1𝐵−1𝐵𝑇𝑃𝑁+1𝐴

と平方完成でき,

Page 28: システム制御最適化特論imclab.sys.okayama-u.ac.jp/~kent/DIR/opt04.pdf2 6/17 第1回最適化問題と線形計画法(LP) 6/24 第2回内点法 7/1 第3回最短経路問題と動的計画法(DP)

35

𝑢𝑁 = − 𝑅 + 𝐵𝑇𝑃𝑁+1𝐵−1𝐵𝑇𝑃𝑁+1𝐴𝑥𝑁 が最小化入力であり

𝐽1∗ 𝑥𝑁 = 𝑥𝑁

𝑇𝑃𝑁𝑥𝑁 となる.

𝐽2∗ 𝑥𝑁−1 = min

𝑢𝑁−1𝐿 𝑥𝑁−1, 𝑢𝑁−1 + 𝐽1

∗ 𝑥𝑁

次のステップは

の最小化であるが, これは先の問題の添字 𝑁 を𝑁 − 1 にしたものになっているので, 𝑢⋅ , 𝑃⋅ を漸化的に更新することにより, 最適解の系列𝑢1, 𝑢2, ⋯ , 𝑢𝑁 が求められる.

Page 29: システム制御最適化特論imclab.sys.okayama-u.ac.jp/~kent/DIR/opt04.pdf2 6/17 第1回最適化問題と線形計画法(LP) 6/24 第2回内点法 7/1 第3回最短経路問題と動的計画法(DP)

36

𝑥𝑘+1 = 𝐴𝑥𝑘 + 𝐵𝑢𝑘 𝐽 =

𝑘=0

𝑥𝑘𝑇𝑄𝑥𝑘 + 𝑢𝑘

𝑇𝑅𝑢𝑘

無限区間 (Infinite Horizon) の最適制御問題

𝑃 = 𝐴𝑇𝑃𝐴 + 𝑄 − 𝑃𝐵 𝑅 + 𝐵𝑇𝑃𝐵 −1𝐵𝑇𝑃𝐴

𝑢𝑘 = − 𝑅 + 𝑃𝐵 −1𝐵𝑇𝑃𝐴𝑥𝑘

Riccati方程式

最適フィードバック則

𝑁 → ∞のとき, 𝑃−𝑁 → 𝑃 なる定常解となり

上記の問題は有限区間 (Finite Horizon) を考慮

Page 30: システム制御最適化特論imclab.sys.okayama-u.ac.jp/~kent/DIR/opt04.pdf2 6/17 第1回最適化問題と線形計画法(LP) 6/24 第2回内点法 7/1 第3回最短経路問題と動的計画法(DP)

37

積分区間を分割

最適性の原理から

動的計画法に基づく連続時間系に対する最適条件の導出

最適コスト関数

Page 31: システム制御最適化特論imclab.sys.okayama-u.ac.jp/~kent/DIR/opt04.pdf2 6/17 第1回最適化問題と線形計画法(LP) 6/24 第2回内点法 7/1 第3回最短経路問題と動的計画法(DP)

38

𝐽𝑁 𝑥1 = min𝑢1

𝐽𝑁−1 𝑥2 + 𝐿 𝑥1, 𝑢1

最適コスト関数

(離散時間の場合の次式に相当)

𝑥1𝑥2

𝑥(𝜏) 𝑥(𝜏1)

Page 32: システム制御最適化特論imclab.sys.okayama-u.ac.jp/~kent/DIR/opt04.pdf2 6/17 第1回最適化問題と線形計画法(LP) 6/24 第2回内点法 7/1 第3回最短経路問題と動的計画法(DP)

39

𝜕𝐽∗

𝜕𝜏= − min

𝑢 𝜏 ∈𝑈

𝜕𝐽∗

𝜕𝑥

𝑇

𝑓 𝑥 𝜏 , 𝑢 𝜏 + 𝐿(𝑥 𝜏 , 𝑢 𝜏 )

とし, 右辺第1項をテーラー展開する. (2変数関数)

第2項については

中の を と近似し, の極限をとる.

Page 33: システム制御最適化特論imclab.sys.okayama-u.ac.jp/~kent/DIR/opt04.pdf2 6/17 第1回最適化問題と線形計画法(LP) 6/24 第2回内点法 7/1 第3回最短経路問題と動的計画法(DP)

40

最適であるための必要条件 (十分性もいえる)

右辺を最小化する 𝑢 は 𝑥(𝜏)と𝜕𝐽∗

𝜕𝑥に依存するので, これを

ത𝑢 𝑥 𝜏 ,𝜕𝐽∗

𝜕𝑥とおくと

𝜕𝐽∗

𝜕𝜏= − min

𝑢 𝜏 ∈𝑈

𝜕𝐽∗

𝜕𝑥

𝑇

𝑓 𝑥 𝜏 , 𝑢 𝜏 + 𝐿(𝑥 𝜏 , 𝑢 𝜏 )

Page 34: システム制御最適化特論imclab.sys.okayama-u.ac.jp/~kent/DIR/opt04.pdf2 6/17 第1回最適化問題と線形計画法(LP) 6/24 第2回内点法 7/1 第3回最短経路問題と動的計画法(DP)

41

一般に, 非線形偏微分方程式であるHJB方程式を解析的に解くことは困難⇒ 制御対象を線形システム, 評価関数を2次形式に限定

さらに最適コスト関数も 𝐽∗ 𝑥, 𝜏 = 𝑥𝑇𝑃 𝜏 𝑥 という2次形式に限定する

ሶ𝑥 𝑡 = 𝑓 𝑥, 𝑢 = 𝐴𝑥 + 𝐵𝑢

𝐽 = 𝑥𝑇 𝑇 𝑄𝑓𝑥 𝑇 + න0

𝑇

𝐿 𝑥, 𝑢 𝑑𝑡, 𝐿 𝑥, 𝑢 = 𝑥𝑇𝑄𝑥 + 𝑢𝑇𝑅𝑢

Page 35: システム制御最適化特論imclab.sys.okayama-u.ac.jp/~kent/DIR/opt04.pdf2 6/17 第1回最適化問題と線形計画法(LP) 6/24 第2回内点法 7/1 第3回最短経路問題と動的計画法(DP)

42

下線部のベクトルを 𝑝 とおくと, 括弧内は 𝑝𝑇 𝐴𝑥 + 𝐵𝑢 + 𝑥𝑇𝑄𝑥 + 𝑢𝑇𝑅𝑢

となるので, 平方完成すると

を得る. したがって最小化を達成する 𝑢 ( ത𝑢 𝑥, 𝑝 ) は

𝑝𝑇 𝐴𝑥 + 𝐵𝑢 + 𝑥𝑇𝑄𝑥 + 𝑢𝑇𝑅𝑢 = 𝑢 +1

2𝑅−1𝐵𝑇𝑝

𝑇

𝑅 𝑢 +1

2𝑅−1𝐵𝑇𝑝 +⋯

ത𝑢 𝑥, 𝑝 =−1

2𝑅−1𝐵𝑇𝑝

となる.

Page 36: システム制御最適化特論imclab.sys.okayama-u.ac.jp/~kent/DIR/opt04.pdf2 6/17 第1回最適化問題と線形計画法(LP) 6/24 第2回内点法 7/1 第3回最短経路問題と動的計画法(DP)

43

𝐽∗ 𝑥, 𝜏 = 𝑥𝑇𝑃 𝜏 𝑥𝜕𝐽∗

𝜕𝜏= 𝑥𝑇

𝑑

𝑑𝜏𝑃 𝜏 𝑥,

𝜕𝐽∗

𝜕𝑥= 𝑝 = 2𝑃𝑥

以上から, 最小化する 𝑢 を代入したあとのHJB方程式は

𝑥𝑇 ሶ𝑃𝑥 = −2𝑥𝑇𝑃 𝐴 − 𝐵𝑅−1𝐵𝑇𝑃 𝑥 − 𝑥𝑇𝑄𝑥 − −𝑅−1𝐵𝑇𝑃𝑥 𝑇𝑅(−𝑅−1𝐵𝑇𝑃𝑥)

となる. これが任意の 𝑥 に対して成立するとき

Page 37: システム制御最適化特論imclab.sys.okayama-u.ac.jp/~kent/DIR/opt04.pdf2 6/17 第1回最適化問題と線形計画法(LP) 6/24 第2回内点法 7/1 第3回最短経路問題と動的計画法(DP)

44

𝑥𝑇 ሶ𝑃𝑥 = −2𝑥𝑇𝑃 𝐴 − 𝐵𝑅−1𝐵𝑇𝑃 𝑥 − 𝑥𝑇𝑄𝑥 − −𝑅−1𝐵𝑇𝑃𝑥 𝑇𝑅(−𝑅−1𝐵𝑇𝑃𝑥)

− ሶ𝑃 = 𝑃𝐴 + 𝐴𝑇𝑃 − 2𝑃𝐵𝑅−1𝐵𝑇𝑃 + 𝑄 + 𝑃𝐵𝑅−1𝐵𝑇𝑃

= 𝑃𝐴 + 𝐴𝑇𝑃 − 𝐵𝑅−1𝐵𝑇𝑃 + 𝑄

ただし, 両辺はスカラー量なので 2𝑥𝑇𝑃 𝐴𝑥 = 𝑥𝑇𝑃𝐴𝑥 + 𝑥𝑇𝑃𝐴𝑥 𝑇

となることを用いた.

よって連続時間線形システムに対する最適制御問題の解は, Riccati微分方程式

− ሶ𝑃(𝑡) = 𝑃(𝑡)𝐴 + 𝐴𝑇𝑃(𝑡) − 𝑃 𝑡 𝐵𝑅−1𝐵𝑇𝑃(𝑡) + 𝑄

を境界条件 𝑃 𝑇 = 𝑄𝑓 のもとで, 逆の時間方向に解くことで求められる.

Page 38: システム制御最適化特論imclab.sys.okayama-u.ac.jp/~kent/DIR/opt04.pdf2 6/17 第1回最適化問題と線形計画法(LP) 6/24 第2回内点法 7/1 第3回最短経路問題と動的計画法(DP)

45

なる無限区間の最適制御問題となり, その解はRiccati微分方程式の平衡解

𝑃𝐴 + 𝐴𝑇𝑃 − 𝑃𝐵𝑅−1𝐵𝑇𝑃 + 𝑄 = 0, 𝑃 > 0

すなわち代数Riccati方程式の解によって

𝑇 → ∞ とすると, 考察の対象は

𝐽 = න0

𝑥𝑇𝑄𝑥 + 𝑢𝑇𝑅𝑢 𝑑𝑡

なる定数状態フィードバックとして与えられる.

𝑢=− 𝐾𝑥,𝐾 = 𝑅−1𝐵𝑇𝑃