4.3.1 論理式から線形不等式への置き換え
混合論理動的システム(Mixed Logical Dynamical System, MLDS)とは,PWARXモ デルのような論理条件を含むシステムを,0-1変数と不等式制約条件によって等価的に表 すシステム表現の一種である.本節で使用する変数を表4.1にまとめる.
置き換えの例として,次の論理命題Xを考える.
X ≡ {f(x)≤0} (4.3)
この命題の真偽を0-1変数δで関連づけることを考える.つまり,
{{f(x)≤0} ↔ {δ= 1}
{f(x)>0} ↔ {δ= 0} (4.4) が成り立つとする.式(4.4)を幾何学的に考えると,図4.3のようになる.
図4.3のf(x)について,δを用いた不等式で表わすと,
{
f(x)≤M(1−δ)
f(x)≥+ (m−)δ (4.5)
表4.1 置換例の変数一覧
M :f(x)の最大値 m:f(x)の最小値 :微小正数 δ : 0-1変数 z:連続値補助変数
図4.3 MLDSの置換例1 図4.4 MLDSの置換例2
となる.したがって,式(4.4)で表わされる関連付けは,式(4.5)の線形不等式群と等価 であるといえる.
もう一つの例として,0-1変数δと,線形関数f(x)の積
z≡δf(x) (4.6)
により新たな補助変数zを導入する場合に適用することについて考える.式(4.6)は,
{{δ = 0} → {z= 0}
{δ = 1} → {z=f(x)} (4.7)
と等価である.式(4.7)は,幾何学的に考えると図4.4のようになる.
図4.4のzについて,f(x)およびδを用いた不等式で表わすと,
z≤M δ z≥mδ
z≤f(x)−m(1−δ) z≥f(x)−M(1−δ)
(4.8)
が成り立つ.したがって,非線形な表現である式(4.6)が,線形不等式群である式(4.8) と等価であるといえる.
ここで,MLDSの簡単な例を紹介する (文献[25] から抜粋).次のように,連続変数
x(t)のとる値によりダイナミクスが異なるシステムを取り上げる.
x(t+ 1) = {
0.8x(t) +u(t) if x(t)≥0,
−0.8x(t) +u(t) if x(t)<0, (4.9) ここで,m ≤x(t)≤M とする.つぎに,x(t) ≥0 の条件は,表現変換として論理変数 δ(t) を用いることで {
[δ(t) = 1]↔[x(t)≥0]
[δ(t) = 0]↔[x(t)<0] (4.10)
と関連付ける.これにより,場合分けを含む式(4.9)を,単一式(4.11)のように書き換え ることが可能となる.
x(t+ 1) = 1.6δ(t)x(t)−0.8x(t) +u(t) (4.11)
これで式(4.11)は単一式になったが,その前提となる式(4.10)が新たに導入されてし
まった.そこで,式(4.10)を式(4.5)と同様に {−mδ(t)≤x(t)−m
−(M+)δ ≤ −x(t)− (4.12)
と不等式表現に書き換える.ここで,は微小正数である.
また,式(4.11)にはδ(t)x(t)という非線形項を含むので,これにも対処する必要があ
る.そこで,z(t) =δ(t)x(t) と定義される連続値補助変数を用いると,式(4.8)と同様に
z(t)≤M δ z(t)≥mδ
z(t)≤x(t)−m(1−δ(t)) z(t)≥x(t)−M(1−δ(t))
(4.13)
となり,これらの制約を組み合わせることで,式(4.9)は次のように表現可能となる.
x(t+ 1) = 1.6z(t)−0.8x(t) +u(t) (4.14) 以上をまとめると,式(4.9)のシステム方程式は,線形等式表現である式(4.14)と線形 不等式表現である式(4.12), 式(4.13)の組み合わせで記述できることになる.
4.3.2 MLDS システムの一般形
MLDSシステムは次のような状態方程式と線形不等式によって表される.
x(t+ 1) =Atx(t) +B1tu(t) +B2tδ(t) +B3tz(t) y(t) =Ctx(t) +D1tu(t) +D2tδ(t) +D3tz(t) E2tδ(t) +E3tz(t)≤E1tu(t) +E4tx(t) +E5t
(4.15)
し,δ(t)は,離散値入力あるいは離散値補助変数を表している.z(t)は連続値補助変数で ある.A,B,C,D,Eは適当な次数の行列であり,添え字tは時変を意味している.
結局,式(4.15)は通常の状態方程式表現にδ,zといった補助変数が加わり,さらにδ,z を一意に定めるために第3式の線形不等式が加わった表現方法となっている.後の計算負 荷を小さくするためには,第3式をできるだけ簡潔に表現する必要がある.
4.3.3 運転行動モデルの MLDS 表現
この節では,式(4.16)に示すシステムをMLDSで表現する手法を示す.なお,5.3.1節 で記したように,計算負荷を小さくするために運転行動モデルのMode数を2として表現 する.以下,iは0.2秒ごとのステップ数を表す.
{
y[i] =θ11·u1[i−3] +θ12·u2[i−3] +θ13·u3[i−3] +θ14·y[i−1] if u∈[M odeA]
y[i] =θ21·u1[i−3] +θ22·u2[i−3] +θ23·u3[i−3] +θ24·y[i−1] if u∈[M odeB]
(4.16) モードの切り替え条件を表す分離面の線形式を式(4.17)に示す.
S1[i] =η11·u1[i−3] +η12·u2[i−3] +η13·u3[i−3] +η14·y[i−1] +η15 (4.17) S1[i]>0とS1[i]≤0でModeが分離されるので,表現変換として論理変数δ[i]を用いる
ことで {
[δ1[i] = 1]↔[S1[i]>0]
[δ1[i] = 0]↔[S1[i]≤0] (4.18) と関連付ける.これを式(4.5)と同様にして不等式表現に書き換えると,
{
S1[i]≤S1,M ·δ1[i]
S1[i]≥+ (s1,m−)·(1−δ1[i]) (4.19) となる.したがって,式(4.18)で表わされる関連付けを,式(4.19)の線形不等式群で表 現することが可能となる.式(4.16)を,δ1を用いた表現に書き直してみる.
{
y[i] =θ11·u1[i−3] +θ12·u2[i−3] +θ13·u3[i−3] +θ14·y[i−1] if δ1[i] = 1 y[i] =θ21·u1[i−3] +θ22·u2[i−3] +θ23·u3[i−3] +θ24·y[i−1] if δ1[i] = 0
(4.20) ここで,0−1変数δと変数u, yの積zを次のように定義する.
z11[i] =δ1·u1[i] z12[i] =δ1·u2[i]
z13[i] =δ1·u3[i] z14[i] =δ1·y[i]
z21[i] = (1−δ1)·u1[i] z22[i] = (1−δ1)·u2[i]
z23[i] = (1−δ1)·u3[i] z24[i] = (1−δ1)·y[i]
(4.21)
式(4.21)で定義した変数zを用いて式(4.20)の人間モデルは以下のように表現すること ができる.
y[i] =θ11·z11[i−3] +θ12·z12[i−3] +θ13·z13[i−3] +θ14·z14[i−1]
+θ21·z21[i−3] +θ22·z22[i−3] +θ23·z23[i−3] +θ24·z24[i−1] (4.22) しかし,式(4.21)には非線形項が含まれているので,これに対処する必要がある.そこ
で,式(4.8)と同様にして不等式群を作ると,
z11[i]≤u1M ·δ1[i] z11[i]≥u1m·δ1[i]
z11[i]≤u1[i]−u1m·(1−δ1[i]) z11[i]≥u1[i]−u1M ·(1−δ1[i]) ...
z14[i]≤u4M ·δ1[i] z14[i]≥u4m·δ1[i]
z14[i]≤u4[i]−u4m·(1−δ1[i]) z14[i]≥u4[i]−u4M ·(1−δ1[i])
(4.23)
z21[i]≤u1M ·(1−δ1[i]) z21[i]≥u1m·(1−δ1[i]) z21[i]≤u1[i]−u1m·δ1[i] z21[i]≥u1[i]−u1M ·δ1[i]
...
z24[i]≤u4M ·(1−δ1[i]) z24[i]≥u4m·(1−δ1[i]) z24[i]≤u4[i]−u4m·δ1[i] z24[i]≥u4[i]−u4M ·δ1[i]
(4.24)
となる.
以上をまとめると,式(4.16)のシステムは,線形等式表現である式(4.22)と線形不等 式表現である式(4.19), 式(4.23),式(4.24)の組み合わせで記述できることになる.