システムとモデリング

modelica, Julia, Design Structure Matrix, SysML, 他モデリング全般について。

DSMに必要な数学:行列で行列を置換する

今回はDSM(Design Structure Matrix)の活用に必要な行列の並べ替えについて実施してみます。

DSMについては以下の記事を参照してください。

otepipi.hatenablog.com

行列の並べ替え

DSMでは分析過程で行列の並べ替えを行います。

f:id:Otepipi:20190511212237p:plain

例えば上のようなDSMを次のように行・列を並べ替えて対角線近傍にマークが集中させるように並べかえることを「クラスタリング」といいます。これによって相互作用の集中するサブシステム部を見分けることができるようになります。

f:id:Otepipi:20190511212437p:plain

この図は以下の文献から来ています。

Yassine, A. A. (2004). An Introduction to Modeling and Analyzing Complex Product Development Processes Using the Design Structure Matrix ( DSM ) Method. Urbana, (January 2004), 1–17. Retrieved from http://ie406.cankaya.edu.tr/uploads/files/Modeling and Analyzing Complex Product Development Processes Using the Design Structure Matrix.pdf

置換行列

今回、行列の置換の演算を行うのに、「置換行列」を使用します。置換行列は以下のように定義されます。

置換行列Pは、単位行列Iの行を任意の順番で並べたものである。

この置換行列を並べ替えたい行列にかけることで、行列の並べ替えを行います。

たとえば以下の行列の「2行目に3行目を、3行目に2行目を置換する」とします。


A =
\begin{bmatrix}
1 & 2 & 3 \\\ 
4 & 5 & 6 \\\
7 & 8 & 9
\end{bmatrix}

この行列を並べ替える置換行列は3x3単位行列の「2行目に3行目を、3行目に2行目を置換し」たものになります。


P =
\begin{bmatrix}
1 & 0 & 0 \\\ 
0 & 0 & 1 \\\
0 & 1 & 0
\end{bmatrix}

Aの「2行目に3行目を、3行目に2行目を置換する」した行列Bは以下のように求めることができます。


B =PA =
\begin{bmatrix}
1 & 2 & 3 \\\ 
7 & 8 & 9 \\\
4 & 5 & 6
\end{bmatrix}

では、列の置換はどうでしょうか? Aの「2目に3目を、3目に2目を置換する」行列は、「2目に3目を、3目に2目を置換する」置換行列Pを転置したものになります。


A=
\begin{bmatrix}
1 & 2 & 3 \\\ 
4 & 5 & 6 \\\
7 & 8 & 9
\end{bmatrix}
,

P^t=
\begin{bmatrix}
1 & 0 & 0 \\\ 
0 & 0 & 1 \\\
0 & 1 & 0
\end{bmatrix}
,

AP^t = 
\begin{bmatrix}
1 & 3 & 2 \\\ 
4 & 6 & 5 \\\
7 & 9 & 8
\end{bmatrix}


では最後にAの「2目に3目を、3目に2目を置換し、同じ置換をについても実施した行列C」 を求めてみます。



A=
\begin{bmatrix}
1 & 2 & 3 \\\ 
4 & 5 & 6 \\\
7 & 8 & 9
\end{bmatrix}
,


C=PAP^t = 
\begin{bmatrix}
1 & 3 & 2 \\\ 
7& 9 & 8 \\\
4 & 6 & 5
\end{bmatrix}

これにより行列の置換を行列で実施することが可能になりました。次回は実際にこの行列を用いてDSMの並べ替えを実行してみたいと思います。

今回はここまでにします。