• 検索結果がありません。

システム制御最適化特論

N/A
N/A
Protected

Academic year: 2021

シェア "システム制御最適化特論"

Copied!
38
0
0

読み込み中.... (全文を見る)

全文

(1)

システム制御最適化特論

担当:平田 健太郎

前期後半 月

5, 6

14

00-16

10 5

号館 第

16

講義室

7/8

第4回 最適制御

(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

講義日程(予定)

(3)

1

2

3

4

5 50

80

20 10

30

15 15

実行可能基底解が退化

0

解が

7-5

より多い)

⇒注意が必要

(4)

先の例では

,

移動は右または上へ

,

という規則があったため

,

周回路は存在せず

,

最短経路が確定したノードの集合を逐次 求めていることが容易であった

.

これをどう解決するか?

最短経路が確定したノードの集合を

(5)

記号の準備

グラフ

𝐺

は節点集合

𝑉

と枝集合

𝐸

からなる

.

𝑉 = 𝑠, 2,3, ⋯ , 𝑡 , 𝐸 = 𝑖, 𝑗 |

節点

𝑖

𝑗

の間に枝があるとき

(6)

ダイクストラ法

/D

ijkstra Method

多項式時間アルゴリズム

𝑂 𝑛2 cf.

内点法

𝑂 𝑛3

(7)

1

2 4

5 50

15

20 10

30

例題

:

以下の例に

Dijkstra

法を適用してみる

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

java program

(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

(9)

15

1

2

3

4

5 50

80

20 10

30

15

(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

(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, S

bS d

nbs=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);

end end

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

(12)

S=[S v];

xbS=[];

for i=1:nbs, if bS(i)~=v,

xbS=[xbS bS(i)];

end end

bS=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;

end end end

p

route=5;

prev=p(5);

while prev~=1,

route=[route prev];

prev=p(prev);

end

route=[route prev]

(13)

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

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

Dijkstra法の計算量

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

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

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

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

(14)

初期化

終了判定 ノード v を探す

(n 個の比較)

n 回のループ 𝑑 𝑗 の付け替え

𝑂 𝑛

𝑂 𝑚

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

毎回処理するわけではないので, 𝑂 𝑚𝑛 の見積もりは正しくない. 都合何回あるかを考える.

(15)

1

2

3 4

5

1

2

3

4

5

1

2

3

4

5

2 4

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

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

最大でも辺の総数だけ

(16)

動的計画法(

Dynamic Programming

𝑙 𝑖, 𝑗 : 𝑖

から

𝑗

への最短距離

, 𝑉𝑠: 𝑠

から直接行ける節点の集合

𝑙(𝑠, 𝑡) = min

𝑣∈𝑉𝑠 𝑙 𝑣, 𝑡 + 𝑎𝑠𝑣

𝑠

𝑡 𝑣

𝑎𝑠𝑣

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

(17)

最適性の原理

: 𝑙(𝑠, 𝑡) = min

𝑣∈𝑉𝑠 𝑎𝑠𝑣 + 𝑙 𝑣, 𝑡

𝑠

𝑡 𝑣

𝑎𝑠𝑣

今回の選択

𝑣

までの移動コスト

行った先からゴール までの最小コスト

(最短経路長)

(18)

・ 最適制御

(19)

最適制御問題

(20)

最適制御問題

(

一般形

,

非線形)

状態方程式

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

(内部状態 𝑥 𝑡 )

制御入力𝑢(𝑡) 出力

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

.

(21)

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

線形

𝐽 = 𝑥𝑇 𝑇 𝑄𝑓𝑥 𝑇 + න

0 𝑇

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

一般形

状態方程式

評価関数

連続時間系

(22)

線形

(2次評価関数)

一般形

状態方程式

評価関数

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

離散時間系

𝐽 = 𝐿𝑓 𝑥𝑁+1 + ෍

𝑘=0 𝑁

𝐿(𝑥𝑘, 𝑢𝑘)

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

𝑘=0 𝑁

𝑥𝑘𝑇𝑄𝑥𝑘 + 𝑢𝑘𝑇𝑅𝑢𝑘

(23)

動的計画法(

Dynamic Programming

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

状態

𝑥

に決定

𝑢

を与えたときの状態遷移:

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

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

𝑘=1 𝑁

𝐿 𝑥𝑘, 𝑢𝑘

を最小にするよう

𝑢𝑘

を選ぶ

.

𝑥

+𝐿𝑓 𝑥𝑁+1

𝑢

(24)

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

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

𝐽𝑁 𝑥1 = ෍

𝑘=1 𝑁

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

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

(25)

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

.

𝐽𝑁 𝑥1 = min

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

𝑥1 𝑥2 𝑥

𝑘 𝑢

𝑢1 𝑘

⋯ ⋯⋯

⋯⋯⋯

𝑥𝑁+1

𝑢𝑁

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

𝑥

𝑘 𝑢

𝑢1 𝑘

⋯ ⋯⋯

⋯⋯⋯

𝑥𝑁+1

𝑢𝑁

(最適性の原理)

(26)

𝐽𝑁−𝑘+1 𝑥𝑘 ≔ ෍

𝑖=𝑘 𝑁

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

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

𝐽𝑁−𝑘+1 𝑥𝑘 = min

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

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

= min

𝑢𝑘,𝑢𝑘+1,⋯,𝑢𝑁 𝑥𝑘𝑇𝑄𝑥𝑘 + 𝑢𝑘𝑇𝑅𝑢𝑘 + 𝐽𝑁−𝑘 𝑥𝑘+1

= min

𝑢𝑘 𝑥𝑘𝑇𝑄𝑥𝑘 + 𝑢𝑘𝑇𝑅𝑢𝑘 +min

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

= min

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

(27)

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

𝐽1 𝑥𝑁 = min

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

= min

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

𝑥𝑁+1 = 𝐴𝑥𝑁 + 𝐵𝑢𝑁

の制約のもとで上記の最小値を与える

𝑢𝑁

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

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

(28)

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

となる

.

𝐽2 𝑥𝑁−1 = min

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

次のステップは

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

𝑢1, 𝑢2, ⋯ , 𝑢𝑁 が求められる.

(29)

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

𝑘=0

𝑥𝑘𝑇𝑄𝑥𝑘 + 𝑢𝑘𝑇𝑅𝑢𝑘

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

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

Riccati方程式

最適フィードバック則 𝑁 → ∞ のとき, 𝑃−𝑁 → 𝑃 なる定常解となり

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

(30)

積分区間を分割

最適性の原理から

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

最適コスト関数

(31)

𝐽𝑁 𝑥1 = min

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

最適コスト関数

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

𝑥1 𝑥2 𝑥(𝜏) 𝑥(𝜏1)

(32)

𝜕𝐽

𝜕𝜏 = − min

𝑢 𝜏 ∈𝑈

𝜕𝐽

𝜕𝑥

𝑇

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

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

2項については

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

(33)

右辺を最小化する

𝑢

𝑥(𝜏)

𝜕𝐽

𝜕𝑥

に依存するので

,

これを

𝑢 𝑥 𝜏 ,𝜕𝐽

𝜕𝑥

とおくと

𝜕𝐽

𝜕𝜏 = − min

𝑢 𝜏 ∈𝑈

𝜕𝐽

𝜕𝑥

𝑇

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

(34)

一般に, 非線形偏微分方程式であるHJB方程式を解析的に解くことは困難

制御対象を線形システム, 評価関数を2次形式に限定

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

ሶ𝑥 𝑡 = 𝑓 𝑥, 𝑢 = 𝐴𝑥 + 𝐵𝑢 𝐽 = 𝑥𝑇 𝑇 𝑄𝑓𝑥 𝑇 + න

0 𝑇

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

(35)

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

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

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

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

2𝑅−1𝐵𝑇𝑝

𝑇

𝑅 𝑢 + 1

2𝑅−1𝐵𝑇𝑝 + ⋯

𝑢 𝑥, 𝑝

1

2𝑅−1𝐵𝑇𝑝

となる.

(36)

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

𝜕𝜏 = 𝑥𝑇 𝑑

𝑑𝜏 𝑃 𝜏 𝑥, 𝜕𝐽

𝜕𝑥 = 𝑝 = 2𝑃𝑥

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

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

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

(37)

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

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

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

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

となることを用いた.

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

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

(38)

なる無限区間の最適制御問題となり

,

その解は

Riccati

微分方程式 の平衡解

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

すなわち代数

Riccati

方程式の解によって

𝑇 → ∞

とすると

,

考察の対象は

𝐽 = න

0

𝑥𝑇𝑄𝑥 + 𝑢𝑇𝑅𝑢 𝑑𝑡

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

. 𝑢

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

参照

関連したドキュメント

6 6 最適化事業の方向性

Cache SCIMA directive SCIMA HintInfo.. 図 10 SCIMA

本研究では NP-hard な組合せ最適化問題の中から, グラフ分割問題 (GPP) と最も難しい問題の 1 つとさ れる 2 次割当問題 (QAP) に

[13])の存在が明らかになった場合は,

はじめに 加藤[2]

最適解は,制度改善や現行区割の妥当性,一票の格

49 F eatur ed Ar ticles Vol.96 No.12 794–795   産業向けソリューション

Computer