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

— 動的システムと固有値設定

ドキュメント内 スライド (ページ 120-164)

— 固有値設定 —

演習 2 — 動的システムと固有値設定

宇都宮大学 工学研究科 吉田 勝俊

http://edu.katzlab.jp/lec/dsys/

演習の進め方

テキスト の 12 章「演習 2 」を自習せよ.

グループワークを成績評価の前提条件とする.

決して単独では進めず,2 名以上のグループで取り組むこと.

分からないことがあれば,まずグループで解決せよ.

それでも分からなければ,周辺のグループと共同で解決せよ.

分かる学生がクラスに 1 人も居なければ,代表者が教員に相談せよ.

グループワークの重要性

10 回 動的システム入門

関数の最小化 ( 微分法 )

宇都宮大学 工学研究科 吉田 勝俊

http://edu.katzlab.jp/lec/dsys/

学習目標

関数の最小化 ( 微分法 )

拘束条件付きの最小化 ( ラグランジュの未定乗数法 )

最適制御問題

最小化と微分法

例えば,4 次曲線 y = f(x) = x2(x + 1)(x 2).

最小点 x = a を探すには,微分 0 の点を求めればよい.

f0(x) = 2x(x + 1)(x 2) + x2(x 2) + x2(x + 1)

= 4x3 3x2 4x = 0 最小点の候補 a ≈ −0.693,0,1.443.

最小化の必要条件

最小値と微分の関係:

f(x) が x = a で最小値をとる

| {z }

P

ならば= 微分| f{z0(a) = 0}

Q

因果関係 P = Q

{ P は,Q であるための十分条件.

Q は,P であるための必要条件.

@@

@@

@@

@@

@@

@@@@@@@@@@@@@@@@@@@@

算法 7.1

0

2 変数関数 f (x, y ) の最小化

例えば,2 次曲面 z = f(x) = f(x, y) = x2 + y2

a = (a, b) で最小となる必要条件 … 増分 ∆z が 0 になること.

∆z f(a + ∆x, b + ∆y) f(a, b)

= (a + ∆x)2 + (b + ∆y)2 a2 b2

= (2a)∆x + (2b)∆y + (∆x2 + ∆y2) = 0

最小点は a = b = 0

n 変数関数 f (x

1

, · · · , x

n

) の最小化

表記

minx : f(x) ※ x = (x1,· · · , xn)

∆z f(a1 + ∆x1,· · · , an + ∆xn) f(a1,· · · , an)

= ∂f

∂x1(a) ∆x1 + · · · + ∂f

∂xn(a) ∆xn = 0

@@

@@@@

@@

@@

@@@@@@@@@@@@@@@@@@@@

n 変数関数の最小化

関数 f(x1,· · · , xn) が,a = (a1,· · · , an) で最小となる必要条件は,

拘束条件付きの最小化

表記

minx : f(x) sub.to : g(x) = 0x = (x1,· · · , xn)

拘束条件 g(x) = 0 を満足する x のなかで,f(x) を最小化する!

代入法は面倒くさい!

例題:



minx : f(x, y) = x2 + y2

sub.to : g(x, y) = (x 2)2 + (y 2)2 1 = 0 ※中心 (2,2) の単位円

g(x, y)y について解く @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@ y = 2 ±

1 (x 2)2 代入すると,1 変数関数 f(x) に帰着.

f(x, y) = x2 + {

2 ±

1 (x 2)2 }2

f(x)

ラグランジュの未定乗数法

未定乗数法

拘束条件付き最小化 minx : f(x)

sub.to : g(x) = 0

変形できる!

@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@

ラグランジュ乗数 λ

拘束条件なし最小化 min

(x,λ) : h(x,λ)

h(x, λ) f(x) + λg(x)

@@

@@

@@

@@

@@

@@@@@@@@@@@@@@@@@@@@

新しい必要条件

∂h

∂x1(x,λ) = · · · = ∂h

∂xn(x,λ) = ∂h

∂λ(x,λ) = 0

未定乗数法の例題

例題:

minx : f(x, y) = x2 + y2

sub.to : g(x, y) = (x 2)2 + (y 2)2 1 = 0 ※中心 (2,2) の単位円

未定乗数法 @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@ min : h(x, y, λ) x2+y2+λ {

(x2)2+(y2)21 }

必要条件: 0 = ∂ h∂x = 2x + 2λ(x 2) ∴ x = 1+λ 0 = ∂ h∂y = 2x + 2λ(x 2) ∴ y = 1+λ

0 = ∂ h∂λ = (x 2)2 + (y 2)2 1 ∴ λ = 1 ± 2 2

//

練習問題



minx : f(x, y) = 2x + 2y ※長方形の周長 sub.to : g(x, y) = xy 1 = 0 ※面積 1

h(x, y, λ) = f(x, y) + λg(x, y)

∂h

∂x = ∂h

∂y = ∂h

∂λ = 0

解答例

未定乗数法 @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@ min : h(x, y,λ) 2x + 2y + λ {

xy 1 }

必要条件: 0 = ∂ h∂x = 2 + λyy = λ2 0 = ∂ h∂y = 2 + λxx = λ2

0 = ∂λ∂ h = xy 1 = λ4 1 ∴ λ = ±2

//

最小点の候補:(x, y) = (1,1)

最小

, (1,1)

最小

//

多次元の未定乗数法

n 変数関数 … f(x) = f(x1,· · · , xn). m 本の拘束条件式 … g(x) =

g1(x1,· · · , xn) ...

gm(x1,· · · , xn)

 =

0 ...

0

 = 0

ラグランジュ乗数 (m 個) @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ λ =

λ1 ...

λm

h(x,λ) f(x) + λTg(x) = f(x) + λ1g1(x) + · · · + λmgm(x) 未定乗数法 (拘束条件 m )

minx : f(x) sub.to : g(x) = 0

等価

@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@

min

(x,λ) : h(x,λ) 必要条件

@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@

8>

>>

<

>>

>:

∂ h

∂xi(a,b) = 0

∂ h (a,b) = 0

( 補足:転置部分の詳細 )

h(x,λ) f(x) + λTg(x)

= f(x) + (λ1,· · · m)

g1(x) ...

gm(x)

= f(x) + λ1g1(x) + · · · + λmgm(x)

最適制御問題

与えられた評価関数 (省エネ,乗り心地,…) を,最小化 or 最大化 する制御入力 u(t) を求める問題のこと.

最適制御の例





minu(t) : J =

t1

t0

q x(s)2 + r u(s)2ds (評価関数) sub.to : ˙x(t) = a x(t) + b u(t) (状態方程式)

評価関数の係数 q, r を「重み」という.

特徴 1: 最小化する関数 J の値が,関数形 x(t), u(t) で決まる.

特徴 2: 拘束条件が「微分方程式」である.

∴ 微分法では解けない!   @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 「変分法」だと解ける (次回)

境界条件

両端固定 … 積分区間 ∫ t1

t0 の両端で,状態量を指定

x(t0) = x0, x(t1) = x1

具体例  停止状態にある自動車を ,5 秒後に 100m 地点を 時速 100km/s で通過させ (両端固定),このときの消費エネルギーを最小 化せよ (最適制御).

終端自由 … 初期値のみ指定

x(t0) = x0, x(t1) = 任意

11 回 動的システム入門

最適制御入門 ( 変分法 )

宇都宮大学 工学研究科 吉田 勝俊

http://edu.katzlab.jp/lec/dsys/

学習目標

最適制御問題の定式化 ( 復習 ) 汎関数の最小化問題

@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@

変分法 最適制御問題の解法 (1 次元 ) 例題 (1 次元 )

n 次元の解法

( 最適制御問題 )

与えられた評価関数 (省エネ,乗り心地,…) を,最小化 or 最大化 する制御入力 u(t) を求める問題.

最適制御の例





minu(t) : J =

t1

t0

q x(τ)2 + r u(τ)2 (評価関数) sub.to : ˙x(t) = a x(t) + b u(t) (状態方程式)

評価関数の係数 q, r を「重み」という.

特徴 1: 最小化する関数 J の値が,関数形 x(t), u(t) で決まる.

特徴 2: 拘束条件が「微分方程式」である.

∴ 微分法では解けない!   @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 「変分法」だと解ける (今回)

変分法

汎関数

汎関数

「関数の関数」のこと.関数形 x(t) を代入すると値が定まる.

J[x(t)] = 値

積分型の汎関数 (典型例)

J[x(t)] =

t1 t0

L(

x(τ),x(τ˙ ))

@@

@@

@@

@@

@@

@@@@@@@@@@@@@@@@@@@@

最小化の必要条件

汎関数の増分:δJ[x(t)] J[x(t) + δx(t)] J[x(t)] = 0

関数 x(t) の微小な「ずれ 」δx(t) を変分という.

変分の境界条件

求める関数 x(t)

(x(t0) = x0, δx(t1) = x1 (両端固定)

x(t0) = x0, δx(t1) = 任意 (終端自由) に合せて……

両端固定

δx(t0) = 0, δx(t1) = 0

終端自由

δx(t0) = 0, δx(t1) = 任意

汎関数の増分 δJ [x(t)]

定理

δJ[x(t)] J[x(t) + δx(t)] J[x(t)]

= ∂ L

x˙

˛˛

˛t=t1

δx(t1) ∂ L

x˙

˛˛

˛t=t0

δx(t0) +

Z t1 t0

∂ L

∂x d dt

∂ L

x˙

«ff

δxdτ

証明の方針:

関数の全微分と同様の展開,

L(

x + δx,x˙ + δx˙)

L(

x, x˙)

= ∂L

∂x(x, x)δx˙ + ∂L

∂x˙ (x,x)δ˙ x˙ と部分積分を使う.

最小化の必要条件 ( 両端固定 )

オイラーの方程式

∂L

∂x d dt

(∂L

∂x˙ )

= 0

証明:

両端固定の変分 δx(t0) = 0, δx(t1) = 0 を,汎関数の増分 δJ[x(t)]

に代入すると,積分の項だけが残り,

δJ[x(t)] =

t1 t0

{

∂L

∂x d dt

(∂L

∂x˙

)}

δxdτ = 0

最小化の必要条件 ( 終端自由 )

オイラーの方程式 + 追加の終端条件

∂L

∂x d dt

(∂L

∂x˙ )

= 0, ∂L

∂x˙

t=t1 = 0

証明:

終端自由より,一般に δx(t1) 6= 0 なので,2 つ項が残る.

δJ[x(t)] = ∂L

∂x˙

t=t1δx(t1) +

t1 t0

{∂L

∂x d dt

(∂L

∂x˙ )}

δxdτ = 0

δx(t1) 6= 0 より,下線も 0 となる.

汎関数の最小化 (n 次元 )

x(t) = [xi(t)] の各成分 xi(t) に対して,同様な算法が成立する.

∂L

∂xi d dt

(∂L

∂x˙i )

= 0 (i = 1,· · · , n)

終端自由「x(t0) = x0, x(t1) = 任意」に対して,

∂L

∂xi d dt

(∂L

∂x˙i )

= 0, ∂L

∂x˙i

t=t1 = 0 (i = 1,· · · , n) ベクトルで @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 短縮表記

最小化の必要条件 (n 次元 )

オイラーの方程式 (n 次元)

積分型の汎関数,

J[x(t)] =

t1 t0

L(

x(τ),x(τ˙ ))

dτ, x(t0) = x0, x(t1) = x1 を最小化するベクトル値関数 x(t) は,オイラーの方程式,

∂L

x d dt

(∂L

x˙ )

[∂L

∂xi d dt

(∂L

∂x˙i )]

= 0

の解となる.終端自由 (x1 = 任意) では,追加の終端条件が課される.

∂L

x˙

t=t1

[∂L

∂x˙i

t=t1

]

= 0

最適制御の解法

解法 (1 次元 )

最適制御問題 (1 次元)





minx,u : J =

t1 t0

L(

x(τ), u(τ)) sub.to : ˙x(t) = f(

x(t), u(t)) with x(t0) = x0, x(t1) = x1

ラグランジュの @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 未定乗数法 (λ)





x,u,λmin : J0 =

t1 t0

L0(

x(τ), u(τ),λ(τ)) L0(x, u, λ) L(x, u) + λ(f(x, u) x)˙

with x(t0) = x0, x(t1) = x1

@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 必要条件は,オイラーの方程式

必要条件 (1 次元 )

最適制御の必要条件 (1 次元)











λ˙ =

∂x(L + λf) (随伴方程式) 0 =

∂u(L + λf) (入力の条件)

˙

x = f(

x, u)

(状態方程式)

with

{両端固定

x(t0) = x0, x(t1) = x1 {終端自由

x(t0) = x0, λ(t1) = 0

証明: オイラーの方程式より,

0 = ∂ L0

∂x d dt

∂ L0

x˙

«

= ∂ L

∂x + λ∂ f

∂x d

dt (λ) λ˙ =

∂x(L + λf)

0 0«

証明の続き

また,終端自由の場合は,x(t1) = x1 の代りに,λ(t) の終端条件,

0 = ∂L0

∂x˙

t=t1 = −λ(t1) ∴ λ(t1) = 0 が課される.

例題 (1 次元 )

例題と解法

冒頭の例題





min

u(t) : J =

t1 t0

q x(τ)2 + r u(τ)2 (評価関数) sub.to : ˙x(t) = a x(t) + bu(t) (状態方程式)

L = q x2 +r u2, f = a x+ b u @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 最適制御の必要条件 (1 次元)に代入

λ˙ = 2q x a λ, 0 = 2r u + b λ, x˙ = a x + b u 最適入力 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ u(t) = 2rb λ(t)

整理された必要条件



˙

x(t) = a x(t) 2rb2 λ(t) (状態方程式)

λ(t) =˙ 2q x(t) a λ(t) (随伴方程式)

with



x(t0) = x0, x(t1) = x1 or

x(t0) = x0, λ(t1) = 0

実習 8.1 「整理された必要条件」の数値解を求め,状態 x(t) と最適 入力 u(t) の時間応答を観察せよ.境界条件は,

{両端固定 x(0) = 1, x(1) = 2 終端自由 x(0) = 1, λ(1) = 0

の 2 種類とし ,その他のパラメータは,a = 1, b = 1, q = 100, r = 1 とせよ.次に,重み q, r を変化させて,重みの効果を考察せよ.

解答例

テキストの解答例の要領で,整理された必要条件と等価な初期値問題を導く.これを

Code 13 で解くと,次の結果が得られる.

0 0.5 1 1.5 2

0 0.2 0.4 0.6 0.8 1 Both sides fixed

x(t)

-10 -5 0 5 10 15

0 0.2 0.4 0.6 0.8 1 u(t)

0 0.2 0.4 0.6 0.8 1

0 0.2 0.4 0.6 0.8 1 Free endpoint

x(t)

-12 -10 -8 -6 -4 -2 0

0 0.2 0.4 0.6 0.8 1 u(t)

n 次元の解法

最適制御の解法 (n 次元)

n 次元の最適制御問題,

(min : J = R t1 t0 L`

x(τ),u(τ))dτ sub.to : x(t) = f`

x(t),u(t)´ with x(t0) = x0, x(t1) = x1 を達成する制御入力 u(t) は,次の方程式の解となる.(T は転置)

H(x,u,λ) L(x,u) + λTf(x,u) (ハミルトニアン) λ˙ =

∂ H

x

«T

=

∂ L

∂x

«T

f

∂x

«T

λ (随伴方程式)

0 =

∂ H

u

«T

=

∂ L

∂u

«T +

f

∂u

«T

λ (入力の条件)

˙ x =

∂ H

x

«T

= f(x,u) (状態方程式) 終端自由の場合は,終端条件 x(t1) = x1 の代りに,λ(ti) = 0 を課す.

12 回 動的システム入門

最適レギュレータ

宇都宮大学 工学研究科 吉田 勝俊

学習目標

最適レギュレータとは?

最適レギュレータの必要条件 状態フィード バック表示

リカッチ方程式 ( 有限時間 )

リカッチ方程式 ( 無限時間 )

最適レギュレータとは?

別名: LQR

状態方程式が,線形 (Linear) 評価関数が,2 (Quadratic)



 である最適制御のこと!

境界条件が,終端自由

レギュレータ (Regulator) … 掛けっぱなしの定値制御 ∴終端自由 最適レギュレータ (LQR) 問題





min : J =

t1 t0

{xTQx + uTRu} sub.to : ˙x = Ax + Bu

with x(t0) = x0

x(t1) = 終端自由

必要条件

最適制御の解法 (n 次元)

n 次元の最適制御問題,

(min : J = R t1 t0 L`

x(τ),u(τ))dτ sub.to : x(t) = f`

x(t),u(t)´ with x(t0) = x0, x(t1) = x1 を達成する制御入力 u(t) は,次の方程式の解となる.(T は転置)

λ˙ =

∂ L

∂x

«T

f

x

«T

λ (随伴方程式)

0 =

∂ L

u

«T +

f

u

«T

λ (入力の条件)

x˙ = f(x,u) (状態方程式) 終端自由の場合は,終端条件 x(t1) = x1 の代りに,λ(ti) = 0 を課す.

必要条件の導出



















λ˙ =

(∂L

x )T

(f

x )T

λ = 2Qx ATλQT = Q

0 =

(∂L

u )T

+

(f

u )T

λ = 2Ru + BTλRT = R

˙

x = f(x,u) = Ax + B u @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

最適入力 u = 1

2R1BTλ 整理された必要条件

x˙ = Ax + B

(1R1BTλ )

(状態方程式) x(t ) = x

ドキュメント内 スライド (ページ 120-164)

関連したドキュメント