Sunteți pe pagina 1din 43

DSM

Design Structure Matrix


Prof. Yoram Reich & Arie Karniel
School of Mechanical Engineering
Faculty of Engineering
Tel Aviv University

Copyright

2005 Reich

This presentation includes


material copyrighted by
others. Please do not
distribute.

Complexity of systems

Copyright 2003-2005 Yo

Complexity of embedded/sub systems

Copyright 2003-2005 Yo

Complexity of an engine

Engine block
Pistons
Connecting rods
Crankshaft
Flywheel
Lubrication
Heads
Camshaft/Valve Train
Cooling
Intake manifold
Fuel system
Accessory drive
Air cleaner
A.I.R.
Throttle body
Exhaust
BGR
EVAP
Ignition
PCM
Engine electrical
Engine assembly

Copyright 2003-2005 Yo

More Complexity

Complexity of teams/organizations required to design


complex products
Complexity of processes
Complexity of the details of decisions that need to be
coordinated to complete design

Copyright 2003-2005 Yo

Managing complexity

We need a tool for modeling the complexity,


analyzing it, and
using the results to improve practice

Copyright 2003-2005 Yo

DSM Design Structure Matrix

Next generation of PM Tools

1900s gave us Gantt


1960s gave us CPM/PERT
1990s gives us DSM

Early work be Steward and Warfield

Focuses on information flow rather than on activity flow!

Incorporates loops and feedback


Visually appealing
Mathematical structure: binary matrices
Methodology for different algorithms:

Partitioning, clustering, banding

Copyright 2003-2005 Yo

System modeling

The system graph:

node represents a system element


an edge joining two nodes represents the relationship between
two system elements

Arrow direction represents the influence from one element to


another
The resultant graph is called a directed graph or simply a
digraph
Copyright 2003-2005 Yo

Design Structure Matrix

A Design Structure Matrix (DSM) is a compact, matrix representation of a


project.
The matrix representation of a digraph is a binary square matrix with m rows
and columns (number of nodes), and n non-zero elements, the number of
edges in the digraph

What could be the minimal number of edges in the matrix ?


What could be the minimal number of process edges when adding Begin and End tasks?

Copyright 2003-2005 Yo

Reading DSM / interpreting processes

Upstream from previous task to next


Downstream - Iteration

Copyright 2003-2005 Yo

10

Task Based DSM

Numbers on diagonal represent


resources (e.g., time) required
to finish the job)

Numbers indicate the earliest


time from start (0) that this
process can start. D can start
only after C and B finish and
since C takes 20, the number is
20.

Copyright 2003-2005 Yo

11

Design Iteration

Copyright 2003-2005 Yo

12

Observations

Copyright 2003-2005 Yo

13

Basic building blocks of processes

Copyright 2003-2005 Yo

14

Example DSM input and output

Our motivation is to reduce the


number of feedback loops as
much as possible by
concentrating them in small
coupled blocks.

Copyright 2003-2005 Yo

15

DSM Partitioning
The process of reordering the DSM rows and columns:
minimize the feedback marks
and
moving them as close as possible to the diagonal (this
form of the matrix is known as block triangular).

Copyright 2003-2005 Yo

16

Partitioning algorithm

Simple algorithm (there are more)


1.

Identify element(s) without input from other elements.


(empty row). Place in top of the DSM

2.

Identify element(s) without output to other elements.


(empty column). Place in end top of the DSM

3.

4.

Remove the element (row, column) and Repeat 1

Remove the element (row, column) and Repeat 2

If no elements remain, then the matrix is partitioned;


otherwise, the remaining elements contain circuits
Determine circuits (Powers of the Adjacency Matrix; Path search)

when a circuit found Collapse circuit i.e. create one element and

assign the inputs / outputs of circuit elements to this new element


5.

Go to 1

When you go to 1, the new element might go


to top (in step 1), bottom (in step 2), or stay. If
another circuit is found and collapsed, then
upon going to 1 again, they will be handles
similarly or wait till another circuit is found.

Copyright 2003-2005 Yo

17

Powers of the Adjacency Matrix (identifying circuits)


1.
2.
3.
4.

Replace a link marks with 1


All other with 0 (including the main diagonal)
Raise the DSM to power p (starting at p = 2 )
If on the main diagonal there are markings, they belong to
circuit(s) of size p.

5.

Stop

Increase p until N (N number of elements), go to 3

Notes:

on raising to power p there might be p elements indicating a circuit (loop) with


size p,
or K*p elements indicating K circuits of size p.

In the latter case a Path Searching or Breadth-First Search is required, but only
between the indicated elements.

Self links could be easily identified from the original matrix and eliminated
from the analysis.

Copyright 2003-2005 Yo

18

Powers of the Adjacency Matrix (example) (identifying circuits)

Given the following graph with its adjacency matrix A:

b
a

Some powers of A are:


A2

These nodes are involved in


circuits: c, d, e. we can be sure it is
not one circuit because with 3
nodes there is no single circuit of
length 2.
If we eliminated c since its a self
link, we would have ended with 2
nodes here and no need to check
anything.

We can identify this self loop from


the start and eliminate it from the
analysis.

A3

Only node c is involved with


circuits of length 3 because only it
has 1 on this diagonal.

A4

Same situation as with A2. Now


circuit length is 4. Can these nodes
belong to a single circuit?

When elements in a loop are not collapsed, they will appear on multiplications of the loop length.
When collapsed a one node with a self loop is created (the self loop mark should be removed)

Copyright 2003-2005 Yo

19

Collapse a circuit (loop)

Sum all rows of the elements in the circuit to one


representative row (any of the elements)
Sum all columns of the elements in the circuit to a
representative column (any of the elements)
Delete all rows and columns of the other elements in the
circuit
Each number, which is greater than 1, turn to 1
Replace the number on the diagonal to zero

Copyright 2003-2005 Yo

20

Path Searching (identifying circuits)

Path search is done on the DSM (not on DSM^k)


Starting from any element, follow the dependencies (on row) until
at some point an element is reached again. Stop
The result circuit (loop) is from the first appearance of the element
to its second appearance (not the first element which was checked)

Notes
Path searching can be used on its own starting from any element
(after completing steps 1 2).
Or, can be complementary item to Powers of Matrix
In the general case minimal circuit (loops) are not guarantied
Searching only within the results of Power of matrix (at each step)
does result in minimal circuits.
Copyright 2003-2005 Yo

21

Breadth-First Search (BFS) (identifying circuits)

This is a graph algorithm

since DSM represents a directed graph, it can be used for finding DSM
circuits (loops) as well
Algorithm (On the original DSM)
1.
2.

3.

4.

Starting from any element, add it to a buffer


(or queue, i.e. first in first out)
If current element (first in the buffer) is reached again (current
element already in history list) there is a loop,
Stop.
For current element (first in the buffer) go to all the next
elements (on the row) add them to the buffer, then remove the
current element from the beginning of the buffer and keep in
history list.
Go to 2

Copyright 2003-2005 Yo

22

Example of DSM partitioning


Step 4
On DSM^2, 4 elements identified
On path search, loops are: bi dg

Initial DSM
Steps 1 & 2 no changes

Initial DSM

DSM^2

Copyright 2003-2005 Yo

23

Example (cont. 1)
Collapsed DSM of bi and dg
Collapse for bi :
add row i to row b and col i to col b)
If any result > 1 than =1
The diagonal element =0
Then remove i , and rename b to bi

bi

dg

Step 2: element dg has no output (empty column)


And is moved to bottom
And ignored for the rest of the algorithm

bi

dg

bi

bi

dg

dg

Copyright 2003-2005 Yo

24

Example (cont. 2)
The new DSM^2 no diagonal 1
DSM^3 reveals 2 loops of 3 elements
On path search, loops are: akc and ehj

b
i

d
g

bi

dg

Collapsed DSM of
akc and ehj

Step 1 akc to top


Step 1 f to top
Step 2 bi, ehi to bottom
That is the algorithm end

a
k
c

b
i

e
h
j

d
g

a
k
c

b
i

e
h
j

d
g

akc

akc

bi

ehj

bi

ehj

dg

dg

Copyright 2003-2005 Yo

25

Example (Cont 3)
Final result
After expansion of collapsed elements

Compare this DSM to the initial DSM


How will the result change if a link e to a is added ?
How will the result change if a link d to b is added?

Copyright 2003-2005 Yo

26

Optimal partitioning

Complex optimization problem:

Solutions are discrete (optimization methods based on


derivatives are not applicable)
Multiple local minima
Large solution space n!*2^(n-1)
N! is the number of ways to order
the n tasks and 2(n-1) is the number
of ways to create subsets from each
such ordering.

Search algorithms are typically used

Main concept
1.
2.

3.

Create potential solution(s)


Choose best solution(s) to continue with , according to a
cost function
Until an exit decision criteria, Go to 1

Copyright 2003-2005 Yo

27

Optimal partitioning (cont.)

Algorithm concept examples:

Genetic Algorithms (GA)


Create gene population (solution)
Choose best genes
Create new generation out of previous one

Simulated Annealing (SA)


allow jumps to a solution which is worse than current as a new
search start,
The probability of such an occasion, decreases with search time,
as search continues.

Cost function examples for partitioning

Distance from diagonal (being close to main diagonal)


Distance from lower left point
Copyright 2003-2005 Yo

28

DSM Tearing

Removing feedback marks that result in lower triangular


matrix. The marks that we remove from the matrix are called
"tears".
Means: identifying the set of assumptions to be made in order
to start design process iterations.

Having made these assumptions, no additional estimates need to


be made.

No optimal method exist for tearing


Recommendations:

Minimal number of tears (reduces estimates)


Seek small diagonal blocks, (fewer iterations)
Choose easiest activity estimates

Copyright 2003-2005 Yo

29

DSM Tearing

Copyright 2003-2005 Yo

30

DSM Banding

Addition of alternating light/dark bands to show independent


activities (ignoring feedback)
The collection of bands or levels within a DSM constitute the
critical path of the system/project.
One element/activity within each band is the critical/bottleneck
activity.
Thus, fewer bands are preferred since they improve the
concurrency of the system/project

Copyright 2003-2005 Yo

31

DSM Banding

Identification of serial/parallel activities

Do not consider feedback links


Example 4 & 5 are independent (parallel)
Also 7 & 8, 9 & 10

Copyright 2003-2005 Yo

32

Four types of system models

Static: things in the model coexist in time


Time-based: describe the sequencing of items in time
Copyright 2003-2005 Yo

33

Four types of system models

Static:

Component-based

People-based

Relationships between multiple components of the project


System architecting
Relationships between people/teams involved in the project
Organizational/project design, team integration

Time-based:

Activity-based

Relationships between output and input of activities


Project scheduling

Parameter-based

Influences between decisions on the values of parameters


Low level activity sequencing

Copyright 2003-2005 Yo

34

Four types of system models

Analysis method

Static

clustering

Time-based

Partitioning/sequencing

Copyright 2003-2005 Yo

35

DSM Clustering

Goal: finding subsets of DSM elements (i.e. clusters or


modules) that are mutually exclusive or minimally
interacting subsets
Used when the DSM elements represent design
components or teams within a development project

Copyright 2003-2005 Yo

36

DSM Clustering example

Copyright 2003-2005 Yo

37

DSM Clustering

Maximize interaction along diagonal

Two clusters
Disjoint & Joined solutions

Copyright 2003-2005 Yo

38

Team Based

Copyright 2003-2005 Yo

39

Parameter-based

Copyright 2003-2005 Yo

40

Component Based

Copyright 2003-2005 Yo

41

Building a DSM

Interview engineers and managers


Determine list of tasks or parameters
Ask about inputs, outputs, strengths of interaction, etc
Enter marks in matrix (we have Excel macros to help)
Check with engineers and managers to verify/comment
on DSM

Copyright 2003-2005 Yo

42

Bibliography

The DSM site

http://www.dsmweb.org/
Tutorial : http://www.dsmweb.org/Tutorial/tutorial.htm

Other presentations
www.gerc.eng.ufl.edu/Faculty%20pages/ Pfister/Fall05/Class14.ppt

Copyright 2003-2005 Yo

43

S-ar putea să vă placă și