Skip to content

Advertisement

  • Original Article
  • Open Access

Information Flow Scheduling in Concurrent Multi-Product Development Based on DSM

Chinese Journal of Mechanical Engineering201730:160

https://doi.org/10.1007/s10033-017-0160-y

  • Received: 4 December 2016
  • Accepted: 14 June 2017
  • Published:

Abstract

Multi-product collaborative development is adopted widely in manufacturing enterprise, while the present multi-project planning models don’t take technical/data interactions of multiple products into account. To decrease the influence of technical/data interactions on project progresses, the information flow scheduling models based on the extended DSM is presented. Firstly, information dependencies are divided into four types: series, parallel, coupling and similar. Secondly, different types of dependencies are expressed as DSM units, and the extended DSM model is brought forward, described as a block matrix. Furthermore, the information flow scheduling methods is proposed, which involves four types of operations, where partitioning and clustering algorithm are modified from DSM for ensuring progress of high-priority project, merging and converting is the specific computation of the extended DSM. Finally, the information flow scheduling of two machine tools development is analyzed with example, and different project priorities correspond to different task sequences and total coordination cost. The proposed methodology provides a detailed instruction for information flow scheduling in multi-product development, with specially concerning technical/data interactions.

Keywords

  • Concurrent multi-product development
  • Information flow planning
  • Extended DSM
  • Project priority

1 Introduction

With market competition increasing, achieving success with new product development(PD) in mechanic products markets is becoming more and more challenging, and the capability of meeting the diversified customer demands is playing more important role [1]. Due to shortening product life cycles, businesses are also proposing a set of critical success factors to reduce product development time and respond quickly to vibrant customer demand [2].

To meet diversified customer needs while shortening product development cycle, the product developers should concentrate on development of multiple products simultaneously and improve process efficiency and quality [3], rather than focusing on one product at-a-time. However, the resource conflict among multiple PD projects often leads to the delay of project schedules, and the number of parts, tools and materials also increases linearly with number of products. Ensuring concurrent multiple PD progress [4, 5], and managing the information difference and similarity of multiple products are the key problem of concurrent multi-product development project management.

The Design Structure Matrix(DSM), also called the dependency structure matrix, has become an used modeling framework of product development management [6]. DSM is a matrix representation of a directed graph, which allows the project or engineering manager to represent important task relationships in order to determine a sensible sequence for the tasks being modeled [7, 8]. As compared to Critical Path Method (CPM) and Program Evaluation and Review Technique(PERT), DSM is more suitable for planning information flow in PD project [911]. The rows and columns of DSM correspond to the tasks, and the matrix reveals the inputs and outputs of tasks, by manipulating the matrix, the feedback marks can be eliminated or reduced, this process is called partitioning [12, 13]. According to the input/output, the subsets of DSM elements that are mutually exclusive or minimally interacting should be determined, this process is called clustering [1416].

In recent years, some multiple project scheduling models and methods based on DSM was brought forward, to ensure multi-project progress. P H Chen et al. proposed a hybrid of genetic algorithm and simulated annealing (GA-SA Hybrid) for generic multi-project scheduling problems with multiple resource constraints [17]. C Ju and T Chen developed an improved aiNet algorithm to solve a multi-mode resource-constrained scheduling problem [18]. T Gaertner et al. presented a generic project scheduling technique for functional integration projects based on DSM, to improve the planning of delivery dates and required resources and capacities, to ensure tighter synchronization between project teams, and prioritize tasks in parallel projects [19]. T R Browning proposed an expandable process architecture framework (PAF), which organizes all the models and diagrams into a single, rich process model with 27+ new and existing views, to synchronize various aspects of process (activity network) information in large, complex projects [20]. The above research aims for decreasing project progress delay by arranging task sequences and allocating project resources reasonably, but the influence of task interactions on material flow or product information flow was not taken into consideration.

The product information clustering technologies based on DSM were also presented [2123], DSM was adopted to cluster product components into modules with minimum interfaces externally and maximum internal integration, but these model aimed for information interaction in the single product, lacked the research about the information difference and similarity among multiple products. Such as, E P Hong and G J Park proposed a new design method to design a modular product based on relationships among products functional requirements, to overcome the difficulty of modular design, with combining axiomatic design, the function-based design method and design structure matrix [21]. A H Tilstra et al. presented the high-definition design structure matrix (HDDSM) to captures a spectrum of interactions between components of a product [22]. T AlGeddawy and H ElMaraghy proposed a hierarchical clustering (cladistics) model to automatically build product hierarchical architecture from DSM [23].

Different from one PD project, information flow planning in concurrent multi-product development should emphasis on two factors: first, partitioning tasks sequences according to tasks relationships and project priorities to decease influences of information feedback on project schedules. Second, clustering the similar tasks [24] of multiple PD projects to reduce number of parts and tools, decrease interaction cost and improve development efficiency.

2 Task Relationships in Multiple Projects

2.1 Relationships Among Projects and Products

The concurrent multiple PD project management is the management mode of screening, evaluating, planning, executing and controlling all the projects during a certain time period, from the enterprise or department perspective. The relationships among projects and products in multi-project environment [25] can be divided into the following three types:
  1. (1)

    Multiple projects for single product development. Each project is responsible for the development of one or more subsystems, and multiple projects cooperate with each other, to complete the development of a complex product. Cars, airplanes, and other complex PD often use this kind of management mode.

     
  2. (2)

    Multiple project for the interrelated multiple products. Each project is responsible for the development of one or more products, and there exist the technical or information interaction among multiple products, such as the same product structure, the similar design technology, etc. The new product is often developed based on product families, so this relationship is very common, which was the main research object of the paper.

     
  3. (3)

    One project for one product, and each product is independent. There exists no the same and similar parts or sub-systems among multiple projects, which only occurs in the process of few new product development.

     

2.2 Input/Output Relationships Description

Input/output relationships of tasks in concurrent multi-product development can be divided into four types: serial, parallel, coupling and similar, as shown in Fig. 1. Fig. 1(a) shows the serial relationship, output of \( t_{i} \) as the input of \( t_{j} \), \( t_{i} \) have to finish before \( t_{j} \). Fig. 1(b) shows the parallel relationship, output of \( t_{k} \) as the input of \( t_{i} \) and \( t_{j} \), \( t_{i} \) and \( t_{j} \) can be executed concurrently after the previous task \( t_{k} \), the dependency between \( t_{i} \) and \( t_{j} \) corresponds parallel. Fig. 1(c) shows the coupling relationship, \( o_{i}^{\prime} \),\( o_{i}^{\prime} \) denotes the output of \( t_{i} \) and \( t_{j} \), \( o_{i}^{\prime} \),\( o_{i}^{\prime} \) as the input of \( t_{j} \) and \( t_{i} \) separately. Fig. 1(d) shows the similar relationship, the output of \( t_{i} \) and \( t_{j} \) is identical or similar, or similar technology was adopted during perform \( t_{i} \) and \( t_{j} \). The first three types of relationships in Fig. 1 exist both in one-project and multi-project environment, similar relationship is the special relationship in concurrent multi-product development projects.
Fig. 1
Fig. 1

Input/output relationships in multi-project situation

2.3 Task Relationships in Multiple Projects

The output of PD project includes design schemes, product drawings, process files, parts, sub-systems, semi-finished parts or products, bill of material, etc., which were labeled as product information, the input/output relationships of tasks can be expressed as the dependencies of product information.
$$ \begin{aligned} I(P_{i} ) = \left\{ {e_{1} ,e_{2} , \ldots ,e_{n} } \right\}, \hfill \\ R(P_{i} ) = \left( {\begin{array}{*{20}c} {ri_{11} } & \ldots & {ri_{1n} } \\ \vdots & {} & \vdots \\ {ri_{n1} } & \ldots & {ri_{nn} } \\ \end{array} } \right), \hfill \\ \end{aligned} $$
(1)
where \( I(P_{i} ) \) and \( R(P_{i} ) \) denotes product information set and information dependencies set respectively, \( ri_{ij} \) is dependency of information element \( e_{i} \) on \( e_{j} \), \( ri_{ij} \) can be expressed as 0~5 integer,
$$ ri_{ij} = \left\{ {\begin{array}{*{20}c} {1\sim 5 , {\text{there is information from }}e_{j} {\text{ to }}e_{i} ,} \\ {0 , {\text{there is no information from }}e_{j} {\text{ to }}e_{i} ,} \\ \end{array} } \right. $$
(2)
There exist many identical or similar parts, components and development technologies, etc. in different projects. The task dependencies in multiple projects can be expressed as:
$$ mrt_{gk} = f(ri_{gk} ) = \left\{ {\begin{array}{*{20}l} {1\sim 5,{\text{there is information from }}e_{k} {\text{ to }}e_{g} ,} \hfill \\ { - 5\sim- 1,e_{g} {\text{ and }}e_{k} {\text{ is indentical or similar, }}} \hfill \\ {0,\,e_{g} {\text{ and }}e_{k} {\text{ is irrelevant }}. { }} \hfill \\ \end{array} } \right. $$
(3)

3 Extended DSM Model

DSM represents the system, product or process by aggregating individual interactions among components, people, activities, or parameters. DSM is essentially an \( N^{2} \) diagram that is structured in such a way as to facilitate system-level analysis and process improvement. The mark in cell \( i \), \( j \) of DSM indicates that the item in row \( i \) requires information from the item in column \( j \) as an input. Under the diagonal corresponds to the forward information flow, and above diagonal shows the feedback.

The task relationships in multiple PD projects were described as serial, parallel, coupling and similar type, the DSM description as shown in Fig. 2, Fig. 2(a)~2(c) corresponds to serial, parallel and coupling relationship separately, and Fig. 2(d) corresponds to similar relationship.
Fig. 2
Fig. 2

DSM description of tasks dependencies

To describe tasks dependencies in multiple PD projects, one extended DSM(EDSM) was brought forward. \( \{ t_{a1} ,t_{a2} , \ldots ,t_{am} \} \), \( \{ t_{b1} ,t_{b2} , \ldots ,t_{bn} \} \) denotes the tasks in project \( P_{a} \) and \( P_{b} \) separately, the extended DSM related to \( P_{a} \) and \( P_{b} \) can be expressed as a partitioned matrix.
$$ EDSM = \left( {\begin{array}{*{20}c} {\mathbf{A}} & {\mathbf{D}} \\ {\mathbf{C}} & {\mathbf{B}} \\ \end{array} } \right), $$
$$ {\mathbf{A}} = \left( {\begin{array}{*{20}c} {rt_{a1,a1} } & {rt_{a1,a2} } & \ldots & {rt_{a1,am} } \\ {rt_{a2,a1} } & {rt_{a2,a2} } & \ldots & {rt_{a2,am} } \\ \vdots & \vdots & {} & \vdots \\ {rt_{{_{am,a1} }} } & {rt_{am,a2} } & \ldots & {rt_{am,am} } \\ \end{array} } \right), $$
$$ {\mathbf{B}} = \left( {\begin{array}{*{20}c} {rt_{b1,b1} } & {rt_{b1,b2} } & \ldots & {rt_{b1,bn} } \\ {rt_{b2,b1} } & {rt_{b2,b2} } & \ldots & {rt_{b2,bn} } \\ \vdots & \vdots & {} & \vdots \\ {rt_{bn,b1} } & {rt_{bn,b2} } & \ldots & {rt_{bn,bn} } \\ \end{array} } \right), $$
$$ {\mathbf{C}} = \left( {\begin{array}{*{20}c} {mrt_{b1,a1} } & {mrt_{b1,a2} } & \ldots & {mrt_{b1,am} } \\ {mrt_{b2,a1} } & {mrt_{b2,a2} } & \ldots & {mrt_{b2,am} } \\ \vdots & \vdots & {} & \vdots \\ {mrt_{{_{bn,a1} }} } & {mrt_{bn,a2} } & \ldots & {mrt_{bn,am} } \\ \end{array} } \right), $$
$$ {\mathbf{D}} = \left( {\begin{array}{*{20}c} {mrt_{a1,b1} } & {mrt_{a1,b2} } & \ldots & {mrt_{a1,bn} } \\ {mrt_{a2,b1} } & {mrt_{a2,b2} } & \ldots & {mrt_{a2,bn} } \\ \vdots & \vdots & {} & \vdots \\ {mrt_{{_{am,b1} }} } & {mrt_{am,b2} } & \ldots & {mrt_{am,bn} } \\ \end{array} } \right), $$
where A and B indicates input/output dependencies matrix of project \( P_{a} \) and \( P_{b} \) separately, C denotes dependencies of \( P_{b} \) on \( P_{a} \), and D corresponds to dependencies of \( P_{a} \) on \( P_{b} \).

4 Information Planning Based on EDSM

Information flow planning based on the extended DSM is different from DSM, which involves four types of computation: merging, converting, partitioning and clustering.

4.1 Merging Converting and Partitioning Regardless of Project Priorities

According to the input/output relationships, \( mrt_{ij} = - 5 \) means output of \( t_{i} \) and \( t_{j} \) is identical. To avoid duplicate work, \( t_{i} \) and \( t_{j} \) can be combined, this process is called merging. Such as \( \{ t_{ai} ,t_{aj} \} \) and \( \{ t_{bg} ,t_{bk} \} \) is tasks set of project \( P_{a} \) and \( P_{b} \) separately, the initial extended DSM model was expressed as
$$ \left( {\begin{array}{*{20}c} {t_{ai} } & {} & {} & {} \\ 3 & {t_{aj} } & {} & {} \\ { - 5} & {} & {t_{bg} } & {} \\ {} & {} & 5 & {t_{bk} } \\ \end{array} } \right), $$
the work content of \( t_{ai} \) and \( t_{bg} \) is identical, \( t_{ai} \) and \( t_{bg} \) can be combined into one task, furthermore task dependencies need be to reconstructed. After merging \( t_{ai} \) and \( t_{bg} \), the extended DSM model can be expressed as:
$$ \left( {\begin{array}{*{20}c} {t_{ai} } & {} & {} \\ 3 & {t_{aj} } & {} \\ 5 & {} & {t_{bk} } \\ \end{array} } \right)\;{\text{or}}\;\left( {\begin{array}{*{20}c} {t_{bg} } & {} & {} \\ 3 & {t_{aj} } & {} \\ 5 & {} & {t_{bk} } \\ \end{array} } \right), $$
in multi-project environment, \( - 5 < mrt_{ij} < 0 \) means the output of \( t_{i} \) and \( t_{j} \) is similar, and \( 0 < mrt_{ij} < 5 \) means that the output of \( t_{j} \) as the input of \( t_{i} \).
When converting computation is done, the similar relationships can be converted to \( 0 < mwr_{ij}^{'} < 5 \), so as to partitioning and clustering can be done based on the uniform algorithm, \( mrt_{ij}^{'} = f(mrt_{ij} ) \) is the converting function, the initial extended DSM is:
$$ \left( {\begin{array}{*{20}c} {t_{ai} } & {} & {} & {} \\ 3 & {t_{aj} } & {} & {} \\ { - 3} & {} & {t_{bg} } & {} \\ {} & {} & 5 & {t_{bk} } \\ \end{array} } \right), $$
\( mwr_{bg,ai} = - 3 \) means the work content of \( t_{ai} \) and \( t_{bg} \) is similar. Supposing converting function follows the linear law, \( mwr_{ij}^{'} = k \times mwr_{ij} + b \). Designer can choose the different value of \( k \) and \( b \), and analyze influence of numerical value \( k \) and \( b \) on partitioning and clustering results. Adopting \( mwr_{ij}^{'} = - 2 \times mwr_{ij} - 3 \), the converted extended DSM is
$$ \left( {\begin{array}{*{20}c} {t_{ai} } & {} & {} & {} \\ 3 & {t_{aj} } & {} & {} \\ 3 & {} & {t_{bg} } & {} \\ {} & {} & 5 & {t_{bk} } \\ \end{array} } \right)\;{\text{or}}\;\left( {\begin{array}{*{20}c} {t_{bg} } & {} & {} & {} \\ 5 & {t_{bk} } & {} & {} \\ 3 & {} & {t_{ai} } & {} \\ {} & {} & 3 & {t_{aj} } \\ \end{array} } \right). $$
Partitioning is the computation of reordering the rows and columns in the DSM with minimizing the number of marks above the diagonal, the result is the optimal tasks ordering, which reduces feedback and rework. According to the partitioned matrix, the serial, parallel and coupling relationship can be identified. Regardless of project priorities, partitioning algorithm of the extended DSM is identical to the common DSM [24, 25]. Tasking the parallel tasks relationships as the example.
$$ \left( {\begin{array}{*{20}c} {t_{i} } & 0& 5\\ 0& {t_{j} } & 5\\ 0 & 0 & {t_{k} } \\ \end{array} } \right) \to \left( {\begin{array}{*{20}c} {t_{k} } & 0 & 0 \\ 5 & {t_{i} } & 0 \\ 5 & 0 & {t_{j} } \\ \end{array} } \right), $$
the initial tasks sequence is \( t_{i} \to t_{j} \to t_{k} \), and partitioned tasks sequence is \( t_{k} \to t_{i} \to t_{j} \), the relationships between \( t_{i} \) and \( t_{j} \) is parallel, can be performed concurrently.

4.2 Clustering Regardless of Project Priorities

The goal of clustering is to find subsets of the extended DSM (i.e., clusters) so that the tasks within a cluster are maximally interdependent and clusters are minimally interacting. Some researchers have proposed different clustering algorithm based on different principle, such as A Yassine presented a clustering objective function by using the minimal description length principle [26], S E Carlson and N Ter-Minassian proposed a clustering algorithm based on coordination cost [27].

This paper focuses on the information flow in multi-project situation, with the goal of minimizing the influence of information interaction on project schedule, referring the algorithm of Idicula and Fernandez, etc., the clustering object function of the extended DSM was built.
$$ \begin{aligned} Tcc(M) = \sum\limits_{i = 1}^{n} {cc(t_{i} )} , \hfill \\ cc(t_{i} ) = \sum\limits_{j = 1}^{n} {(mwr(t_{i} ,t_{j} ) + mwr(t_{j} ,t_{i} )) \times size(t_{i} ,t_{j} )^{p\_k} } , \hfill \\ \end{aligned} $$
(4)
where \( Tcc(M) \) is total coordination cost of model \( M \),which is the objective function that the algorithm attempts to minimize, \( cc(t_{i} ) \) indicates coordination cost of task \( t_{i} \), \( n \) is the number of tasks in \( M \), \( mwr(t_{i} ,t_{j} ) \), \( mwr(t_{j} ,t_{i} ) \) denotes the interaction between \( t_{i} \) and \( t_{j} \), corresponding to the value in the extended DSM, \( size(t_{i} ,t_{j} ) \) is the size of minimum cluster which contains \( t_{i} \) and \( t_{j} \), \( p\_k \) is the power coefficient corresponds to the \( k \)-th level clusters, value range of \( p\_k \) is integer from 1 to 5. After merging, converting and partitioning, one extended DSM was obtained:
$$ \left( {\begin{array}{*{20}c} \varvec{A} & 1 & 2 & {} & {} & {} & {} \\ {} & \varvec{B} & 4 & {} & {} & {} & {} \\ 4 & 2 & \varvec{C} & {} & {} & {} & {} \\ {} & {} & {} & \varvec{D} & {} & 3 & 2 \\ {} & {} & {} & 5 & \varvec{E} & 3 & 3 \\ {} & 5 & {} & 1 & 3 & \varvec{F} & 2 \\ {} & {} & {} & 4 & 3 & 4 & \varvec{G} \\ \end{array} } \right). $$

Clustering can be done based on the previous computation, according to Eq. 4, \( p\_k_{1} \), \( p\_k_{2} \), \( p\_k_{3} \) corresponds to different level clusters, \( p\_k_{1} \) indicates the power coefficient of smallest cluster, \( p\_k_{2} \) corresponds to the upper level of cluster, which consists of a series of sub-cluster and tasks, \( p\_k_{3} \) corresponds to the whole extended DSM, adopting \( p\_k_{1} = 1 \), \( p\_k_{2} = 2 \), \( p\_k_{3} = 3 \), the clustered extended DSM can be obtained:

Adopting \( p\_k_{1} = 1 \), \( p\_k_{2} = 1 \), \( p\_k_{3} = 2 \), the different clustered extended DSM can be obtained:

which means that the lower level clusters will contain more tasks as \( p\_k_{2} /p\_k_{1} \) increase, and the upper level will contain more sub-clusters and tasks as \( p\_k_{3} \) increase.

4.3 Merging Converting and Partitioning with Regarding Project Priorities

Regarding project priorities, the duplicate work in low-priority project should be combined into the identical tasks in high-priority project, and tasks dependencies was reconstructed. Such as \( \{ t_{ai} ,t_{aj} \} \) and \( \{ t_{bg} ,t_{bk} \} \) is tasks set of project \( P_{a} \) and \( P_{b} \) separately, \( pri_{a} \) and \( pri_{b} \) denotes priorities of \( P_{a} \) and \( P_{b} \), \( pri{}_{b} > pri_{a} \), the initial extended DSM is:
$$ \left( {\begin{array}{*{20}c} {t_{ai} } & {} & {} & {} \\ 3 & {t_{aj} } & {} & {} \\ { - 5} & {} & {t_{bg} } & {} \\ {} & {} & 5 & {t_{bk} } \\ \end{array} } \right), $$
\( mwr_{bg,ai} = - 5 \) means the work content of \( t_{ai} \) and \( t_{bg} \) is identical, and \( t_{ai} \) and \( t_{bg} \) can be combined into one task. To guarantee schedule requirement of high-priority project \( P_{b} \), \( t_{ai} \) should be combined into \( t_{bg} \), the merged extended DSM can be expressed as
$$ \left( {\begin{array}{*{20}c} {t_{bg} } & {} & {} \\ 3 & {t_{aj} } & {} \\ 5 & {} & {t_{bk} } \\ \end{array} } \right), $$
converting aims at transforming \( - 5 < mrt_{ij} < 0 \) into \( 0 < mwr_{ij}^{'} < 5 \), so as to partitioning and clustering can be done based on the uniform algorithm, \( mrt_{ij}^{'} = f(mrt_{ij} ) \) is the converting function. Different from computation regardless of project priorities, converting regarding priorities should guarantee the schedule of high-priority project firstly. Such as, project \( P_{b} \) with higher priority, \( pri{}_{b} > pri_{a} \), the initial extended DSM is
$$ \left( {\begin{array}{*{20}c} {t_{ai} } & {} & {} & {} \\ 3 & {t_{aj} } & {} & {} \\ { - 3} & {} & {t_{bg} } & {} \\ {} & {} & 5 & {t_{bk} } \\ \end{array} } \right), $$
means the work content of \( t_{ai} \) and \( t_{bg} \) is similar, adopting \( mwr_{ij}^{'} = - 2 \times mwr_{ij} - 3 \), the transformed extended DSM as follows, because \( t_{bg} \) with high priority, \( t_{bg} \) was arranged before \( t_{ai} \) in task sequence,
$$ \left( {\begin{array}{*{20}c} {t_{bg} } & {} & {} & {} \\ 5 & {t_{bk} } & {} & {} \\ 3 & {} & {t_{ai} } & {} \\ {} & {} & 3 & {t_{aj} } \\ \end{array} } \right). $$
Partitioning regarding project priorities performs the following steps: firstly, reordering the rows and columns of extended DSM, secondly, moving forward high-priority tasks, or moving backward low-priority tasks. For example, \( \{ t_{a1} ,t_{a2} ,t_{a3} ,t_{a4} \} \) and \( \{ t_{b1} ,t_{b2} ,t_{b3} ,t_{b4} \} \) is tasks set of project \( P_{a} \) and \( P_{b} \) separately, \( P_{a} \) with higher priority, \( pri{}_{a} > pri_{b} \), the extended DSM model before and after partitioning is
$$ \left( {\begin{array}{*{20}c} {t_{a1} } & {} & {} & {} & {} & {} & {} & {} \\ 2 & {t_{a2} } & 2 & {} & {} & {} & 2 & {} \\ 5 & {} & {t_{a3} } & {} & {} & {} & {} & 2 \\ {} & {} & 5 & {t_{a4} } & {} & {} & {} & 1 \\ {} & 2 & {} & {} & {t_{b1} } & {} & {} & {} \\ {} & 3 & {} & {} & 5 & {t_{b2} } & {} & {} \\ 3 & {} & {} & {} & {} & {} & {t_{b3} } & {} \\ {} & {} & {} & 2 & {} & {} & 3 & {t_{b4} } \\ \end{array} } \right), $$
or
$$ \left( {\begin{array}{*{20}c} {t_{a1} } & {} & {} & {} & {} & {} & {} & {} \\ 3 & {t_{b3} } & {} & {} & {} & {} & {} & {} \\ 5 & {} & {t_{a3} } & {} & 2 & {} & {} & {} \\ {} & {} & 5 & {t_{a4} } & 1 & {} & {} & {} \\ {} & 3 & {} & 2 & {t_{b4} } & {} & {} & {} \\ 2 & 2 & 2 & {} & {} & {t_{a2} } & {} & {} \\ {} & {} & {} & {} & {} & 2 & {t_{b1} } & {} \\ {} & {} & {} & {} & {} & 3 & 5 & {t_{b2} } \\ \end{array} } \right), $$
tasks sequence \( T^{'} = \{ t_{a1} ,t_{b3} ,t_{a3} ,t_{a4} ,t_{b4} ,t_{a2} ,t_{b1} ,t_{b2} \} \) can be obtained, adjusting tasks order based on project priorities and input/output dependencies, new tasks sequence can be obtained, \( T'' = \{ t_{a1} ,t_{a3} ,t_{a4} ,t_{b3} ,t_{a2} ,t_{b4} ,t_{b1} ,t_{b2} \} \), \( t_{a2} \) can not move to the front of \( t_{b3} \) because that \( t_{a2} \) depends on the output of \( t_{b3} \),\( mwr_{a2,b3} = 2 \). The corresponding partitioned extended DSM regarding project priorities is:
$$ \left( {\begin{array}{*{20}c} {t_{a1} } & {} & {} & {} & {} & {} & {} & {} \\ 5 & {t_{a3} } & {} & {} & {} & 2 & {} & {} \\ {} & 5 & {t_{a4} } & {} & {} & 1 & {} & {} \\ 3 & {} & {} & {t_{b3} } & {} & {} & {} & {} \\ 2 & 2 & {} & 2 & {t_{a2} } & {} & {} & {} \\ {} & {} & 2 & 3 & {} & {t_{b4} } & {} & {} \\ {} & {} & {} & {} & 2 & {} & {t_{b1} } & {} \\ {} & {} & {} & {} & 3 & {} & 5 & {t_{b2} } \\ \end{array} } \right). $$

4.4 Clustering with Regarding Project Priorities

The goal of clustering with regarding project priorities is dividing the tasks with similar priorities and high input/output dependencies into the same subsets, to decrease information interaction cost in multi-project situation. The object function takes influence of project priorities on coordination cost into consideration, \( pri_{i} \) and \( pri_{j} \) denotes priority of project \( P_{i} \) and \( P_{j} \) respectively. The clustering object function with regarding project priorities can be expressed as:
$$ \begin{aligned} Tcc(M) = \sum\limits_{i = 1}^{n} {cc(t_{i} )} , \hfill \\ cc(t_{i} ) = \sum\limits_{j = 1}^{n} {f_{ij} \times (mwr(t_{i} ,t_{j} ) + mwr(t_{j} ,t_{i} )) \times size(t_{i} ,t_{j} )^{p\_k} } , \hfill \\ f_{ij} = (\left| {pri(t_{i} ) - pri(t_{j} )} \right| + 1)^{p\_pri} , \hfill \\ \end{aligned} $$
(5)
where \( Tcc(M) \) is total coordination cost of model \( M \), \( cc(t_{i} ) \) is coordination cost of task \( t_{i} \), \( n \) is the number of tasks in \( M \), \( r(i,j) \), \( r(j,i) \) is the interaction between \( t_{i} \) and \( t_{j} \), \( p\_k \) is the power coefficient related to the \( k \)-th level clusters, \( f_{ij} \) indicates impact factor related to project priorities, \( pri(t_{i} ) \) and \( pri(t_{j} ) \) denotes project priorities, \( p\_pri \) is the power coefficient related to project priorities, value range of \( p\_k \) and \( p\_pri \) is 0~1, and \( 0 { < }f_{ij} \le 1 \).

Different from clustering regardless of project priorities, by introducing \( f_{ij} \), the difference in project priorities was taken into consideration, with \( f_{ij} \) increacing, the tasks with different priorities will be divided into different clusters. Such as, \( pri_{a} \) and \( pri_{b} \) denotes project priority of project \( P_{a} \) and \( P_{b} \) respectively, adopting \( pri_{a} = 3 \), \( pri_{b} = 1 \), \( p\_k_{1} = 1 \), \( p\_k_{2} = 2 \), \( p\_k_{3} = 3 \), after merging, converting and partitioning with regarding project priorities, the tasks sequence can be determined, and the clustered extended DSM with regarding project priorities can be obtained:

5 Example

Two machine tool products was developed during the same period, the worktable size of one machine tool is 650×650 mm2, the other is 1250×1250 mm2, two machine tools have the similar product structures.

The dependencies among tasks in multiple PD projects were determined according to the input/output relationships, the initial extended DSM model can be built:
$$ EDSM = \left( {\begin{array}{*{20}c} \varvec{A} & \varvec{D} \\ \varvec{C} & \varvec{B} \\ \end{array} } \right). $$
Fig. 3(a), Fig. 3(b) corresponds to dependencies of 650 type (\( prj_{a} \)), 1250 type (\( prj_{b} \)) horizontal machine center separately, Fig. 3(c) corresponds to the identical and similar relationships between two projects, D=0.
Fig. 3
Fig. 3

Task dependencies in multiple projects

According to the information planning approach of Extended DSM, the partitioning and clustering computation results related to \( prj_{a} \) can be obtained, as shown in Fig. 4. The values of \( p\_k_{1} \), \( p\_k_{2} \), \( p\_k_{3} \) have significant impact on clustering results, the size of second level clusters increases with \( p\_k_{3} /p\_k_{2} \), the size of first level clusters increases with \( p\_k_{2} /p\_k_{1} \).
Fig. 4
Fig. 4

Partitioning and clustering of \( prj_{a} \)

Merging the duplicate work, and adopting linear function \( mwr_{ij}^{'} = k \times mwr_{ij} + b \) to convert the similar relationships. Partitioning and clustering extended DSM with different value of \( k \) and \( b \), adopted \( mwr_{ij}^{'} = - 2 \times mwr_{ij} - 1 \) as the converting function, the similar tasks was divided into the same clusters. Regardless of project priorities, adopting \( p\_k_{1} = 1 \), \( p\_k_{2} = 2 \), \( p\_k_{3} = 2 \), merging, converting, partitioning and clustering tasks of two projects based on the extended DSM, the computation result as shown in Fig. 5(a). With regarding project priorities, adopting \( pri_{a} = 1 \), \( pri_{b} = 3 \), which means that \( prj_{b} \) with high project priority, the computation result based on the extended DSM as shown in Fig. 5(b).
Fig. 5
Fig. 5

Information flow scheduling based on extended DSM

Regardless of project priorities, the similar tasks tend to be divided into the same clusters, to reduce the influence of information interaction on project schedule. the similar tasks tend to be divided into different clusters, to reduce the influence on schedule of high-priority tasks.

Adopting different \( p\_k_{1} \), \( p\_k_{2} \) and \( p\_k_{3} \), \( Tcc(M) \) was computed in four types of conditions: two project was independent, each project as a cluster \( con_{1} \), two project was independent, clustering without regarding the relationships between two projects \( con_{2} \), clustering based on the extended DSM model, without regarding project priorities \( con_{3} \), clustering based on the extended DSM model, with regarding project priorities \( con_{4} \), computation results as shown in Table 1.
Table 1

Total coordination cost with different power coefficient

 

1/1/1

1/1/2

1/1/3

1/2/2

2/2/2

1/2/3

\( con_{1} \)

4800

87 480

3 394 680

138 400

138 400

3 445 600

\( con_{2} \)

3828

86 508

3 393 672

109 254

115 000

3 416 454

\( con_{3} \)

2822

64 532

2 162 672

77 230

78 338

2 175 370

\( con_{4} \)

2325

54 306

1 867 320

56 488

68 554

1 963 882

The first two conditions didn’t take relationships between two projects into consideration, and the last two conditions was computed based on the extended DSM, with regarding dependencies among multiple projects. The differences of \( Tcc(M) \) show that optimizing tasks sequence based on the extended DSM can decrease influence of task interactions on project schedules, and values of \( p\_k \) influence computation results obviously, the power coefficient should be determinded according the task relationships and PD teams.

6 Discussion

The extended DSM was built to optimizing task-sequences and task-clusters in multiple PD projects, focusing on the technical information interactions and similarities in multiple projects, taking project priorities into consideration, was mainly applied to the mechanical product development projects, such as automobiles, machine tools, construction machines, etc. Although software, construction and other industries also involve multi-project management [26, 28], but the task-relationships are different from mechanical product development projects.

A series of coefficients was introduced in the converting and clustering calculation, such as \( k \) and \( b \) in converting function \( mwr_{ij}^{'} = k \times mwr_{ij} + b \), \( p\_k \) in Eq. (4), \( p\_k \) and \( p\_pri \) in Eq. (5). The calculation results indicated that the value of these coefficients had a great effect on the information planning. It is necessary to determine these coefficients by taking the completed projects as example, changing the values, and judging the rationality of task-sequences and task clusters combined with the expert experience.

Resources sharing and conflicting was the important feature of multi-project management [17, 29], but the extended DSM model didn’t take resource allocation into consideration, therefore the information planning results based on extended DSM should not be the final task sequences, the further adjustment according to resource capabilities was needed.

7 Conclusions

  1. (1)

    Describing task dependencies is the basis of information flow planning based on the extended DSM, the task relationships in multi-project is divided into four types: serial, parallel, coupling, and similar. Similar is the specific dependency relationship of the extended DSM.

     
  2. (2)

    The initial extended DSM can be expressed as a partitioned matrix, describing task dependencies in one project and among multiple projects concurrently.

     
  3. (3)

    By adopting different power coefficients in converting or clustering function, different task-sequences or task-clusters can be obtained. Determining the appropriate power coefficient is important for information flow scheduling based on the extended DSM.

     

Notes

Declarations

Open AccessThis article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.

Authors’ Affiliations

(1)
School of Mechanical Engineering, Dalian University of Technology, Dalian, 116033, China

References

  1. J Lin, Y Qian, W Cui, et al. An effective approach for scheduling coupled activities in development projects. European Journal of Operational Research, 2015, 243(1): 97–108.Google Scholar
  2. C A G Dev, V S S Kumar. Analysis on critical success factors for agile manufacturing evaluation in original equipment manufacturing industry-an AHP approach. Chinese Journal of Mechanical Engineering, 2016, 29(5): 880–888.Google Scholar
  3. M Li, G Y He, Z J Song. Improved quality prediction model for multistage machining process based on geometric constraint equation. Chinese Journal of Mechanical Engineering, 2016, 29(2):430–438.Google Scholar
  4. M S Avnet, A L Weigel. An application of the design structure matrix to integrated concurrent engineering. Acta Astronautica, 2010, 66: 937–949.Google Scholar
  5. A Karniel,Y Reich. Multi-level modelling and simulation of new product development processes. Journal of Engineering Design, 2013, 24(3): 185–210.Google Scholar
  6. S Li. A matrix-based clustering approach for the decomposition of design problems. Research in Engineering Design, 2011, 22(4): 263–278.Google Scholar
  7. A Tripathy, S D Eppinger. Structuring work distribution for global product development organizations. Prod. Oper. Manage., 2013, 22(6): 1557–1575.Google Scholar
  8. M Danilovic, T R Browning. Managing complex product development projects with design structure matrices and domain mapping matrices. International Journal of Project Management, 2007, 25(3): 300–314.Google Scholar
  9. D M Sharman, A A Yassine. Architectural valuation using the design structure matrix and real options theory. Concurrent Engineering, 2007, 15(2): 157–173.Google Scholar
  10. M S Avnet,A L Weigel. An application of the design structure matrix to integrated concurrent engineering. Acta Astronautica, 2010, 66(5): 937–949.Google Scholar
  11. D Tang, G Zhang, S Dai. Design as integration of axiomatic design and design structure matrix. Robotics and Computer-Integrated Manufacturing, 2009, 25(3): 610–619.Google Scholar
  12. M Danilovic, B Sandkull. The use of dependence structure matrix and domain mapping matrix in managing uncertainty in multiple project situations. International Journal of Project Management, 2005, 23(3):193–203.Google Scholar
  13. T R Browning. Applying the design structure matrix to system decomposition and integration problems: A review and new directions. IEEE Transactions on Engineering Management, 2001, 48(3): 292–306.Google Scholar
  14. A Nikanjam, H Sharifi, B H Helmi, et al. A new DSM clustering algorithm for linkage groups identification. Proceedings of the 12th annual conference on Genetic and evolutionary computation, 2010, New York, USA, July 7–11, 2010: 367–368.Google Scholar
  15. J U Maheswari, K A Varghese. Structured approach to form dependency structure matrix for construction projects. Proceedings of the 22nd International Symposium on Automation and Robotics in Construction, Ferrara, Italy, 2005: 1–6.Google Scholar
  16. A Yassine, D Braha. Complex Concurrent Engineering and the Design Structure Matrix Method. Concurrent Engineering, 2003, 11(3): 165–176.Google Scholar
  17. P H Chen, S M Shahandashti. Hybrid of genetic algorithm and simulated annealing for multiple project scheduling with multiple resource constraints. Automation in Construction, 2009, 18(4): 434–443.Google Scholar
  18. C Ju, T Chen. Simplifying multiproject scheduling problem based on design structure matrix and its solution by an improved aiNet algorithm. Discrete Dynamics in Nature and Society, 2012, 2012: 1–2.Google Scholar
  19. T Gaertner, S Terstegen, C M Schlick. Applying DSM methodology to improve the scheduling of calibration tasks in functional integration projects in the automotive industry. J. Mod. Project Manage, 2015, 3(2): 46–55.Google Scholar
  20. T R Browning. Managing complex project process models with a process architecture framework. Int. J. Project Manage., 2014, 32(2): 229–241.Google Scholar
  21. E P Hong, G J Park. Modular design method based on simultaneous consideration of physical and functional relationships in the conceptual design stage. J. Mech. Sci. Technol., 2014, 28(1): 223–235.Google Scholar
  22. A H Tilstra, C C Seepersad, K L Wood. A high-definition design structure matrix (HDDSM) for the quantitative assessment of product architecture. J. Eng. Des., 2012, 23(10–11): 767–789.Google Scholar
  23. T AlGeddawy, H ElMaraghy. Optimum granularity level of modular product design architecture. CIRP Ann. Manuf. Technol, 2013, 62(1): 151–154.Google Scholar
  24. F Borjesson, K H¨oltt¨a-Otto. A module generation algorithm for product architecture based on component interactions and strategic drivers. Res. Eng. Des., 2014, 25(1): 31–51.Google Scholar
  25. D Mike, S Bengt. The use of dependence structure matrix and domain mapping matrix in managing uncertainty in multiple project situations. International Journal of Project Management, 2005, 23(2): 193–203.Google Scholar
  26. A Yassine. An introduction to modeling and analyzing complex product development processes using the design structure matrix (DSM) method. Urbana, 2004, 51(9): 1–17.Google Scholar
  27. S E Carlson, N Ter-Minassian. Planning for concurrent engineering. Medical Device and Diagnostic Industry, 1996, 18(5): 8 –11.Google Scholar
  28. S Amol. Resource constrained multi-project scheduling with priority rules & analytic hierarchy process. Procedia Engineering,2014, 69: 725–734.Google Scholar
  29. E Ashraf, A Mohammad. Multiobjective evolutionary finance-based scheduling: Individual projects within a portfolio. Automation in Construction, 2011, 20(7): 755–766.Google Scholar

Copyright

Advertisement