1 Introduction

Changes constantly occur during the product development process due to problems in the initial design, certification requirements, customer requirements, etc. (Eckert et al. 2004). In various companies in the world, technical changes are routine tasks and not the exceptions (Clark and Fujimoto 1991). Considering different dependency relations may exist between different product components or design tasks, a design change originated from a component or task can be propagated to many other ones. Since design changes often occur and lead to knock-on effects unpredictably in the engineering design process (Eckert et al. 2004), and they can absorb from 20% to over 50% of the product development capacity in manufacturing (Ehrlenspiel et al. 2007), careful plans should be made to process them completely and efficiently especially when design resources are limited. Taking this issue as the research focus of the article, the following goals are expected to be achieved in this work:

  1. 1.

    To develop a change propagation model by taking into account change propagation constraints, resource constraints, temporal constraints and logical constraints among product components for initial and emergent design changes occurring in the complex engineering design.

  2. 2.

    To develop resource-constrained change propagation simulation algorithms to simulate the concurrent change propagation process in two different resource usage schemes, namely flexible and dedicated resource usage schemes (Maier et al. 2014).

  3. 3.

    To identify an optimum resource scheduling plan for a design change considering the tradeoff between time and cost (resource) so that the change can be resolved efficiently and effectively.

The constrained change propagation model and the corresponding simulation algorithms are based on the research results by Li et al. (2012, 2014, 2016), in which a logic digraph model was developed to represent the dependency relationships between design tasks or components, parallel and sequential change propagation simulation algorithms were developed to explore the possible paths along which designs were conducted. The research work presented in this paper extends the representation and simulation models by taking the resource constraints into consideration to find answers for the following questions:

  1. 1.

    Given an initial design change and a constant number of renewable resources, what is the optimal change propagation path for resolving the change completely?

  2. 2.

    Given an initial design change in the complex design, how many renewable design resources are needed to resolve the change in a cost-effective and time-saving way?

  3. 3.

    Which way is better for scheduling design resources if they can be allocated in the dedicated or flexible way given an initial or emergent change in the complex engineering design?

In the literature, few papers can be found focusing on scheduling design resources in change propagation processes (Jarratt et al. 2011; Hamraz et al. 2013a). Maier et al. (2014) carried out the allocation of design resources in their simulation method to prioritise design tasks, in which design tasks were attempted in different sequences in the simulation algorithm, which led to a marginal difference of impacts of resource flexibility on the total change durations. In this paper, the allocation of design resources is strictly constrained by task sequences to find the best change-scheduling plan. The structure of the paper is arranged as follows: literature review is presented in Sect. 2. Section 3 introduces the resource-constrained change scheduling model. Section 4 gives the resource-constrained change propagation simulation algorithms. Section 5 describes the simulation–optimization framework and case studies to demonstrate the effectiveness of the developed methods. Concluding remarks are given in Sect. 6.

2 Literature review

2.1 Resource-constrained project scheduling in design processes

In the literature, many methods have been developed for solving resource-constrained project scheduling problems (Hartmann and Briskorn 2010; Brucker et al. 1999). The resource-constrained change scheduling problems have differences and similarities with project scheduling problems. The differences include: (1) in the project scheduling problem, activities or jobs are not cyclically dependent while in the design process, task or activity dependency cycles often occur, and this makes the calculation of change propagation durations or costs different from the project scheduling problems because repetitive consumption of resources caused by cyclic dependencies must be taken into account. (2) In the project scheduling problems, all the activities or jobs in the project usually must be traversed to accomplish the whole project. While in the change scheduling problem, only a subset of tasks or components are subject to the original changes, and these tasks or components may not be determined in advance considering many different change propagation paths exist for the change to evolve along. Therefore, some methods, e.g., the branch and bound method, developed for the project scheduling problems may not be suitable for solving change scheduling problems. While these significant differences exist between the two scheduling problems, they also share some similarities. For example, the two problems have the same kinds of constraints, such as precedence constraints, resource constraints, and temporal constraints. The methods for solving the two problems must find the optimal path for the project or change to evolve along and allocate appropriate resources to the corresponding jobs, for which to find the global optimal solution is usually difficult.

In terms of resource-constrained project management in the engineering design process, resource allocation has been the focal research point because resource allocation among development activities can strongly influence project duration (Joglekar and Ford 2005). At a macro level of design process management, Thomke and Fujimoto (2000) proposed two approaches, namely project-to-project knowledge transfer and leveraging advanced technologies (such as CAD and CAE), to shift problem-solving trajectories upstream to improve product development performance and reduce development lead time. Ahmadi and Wang (1999) developed models for scheduling design reviews and engineering resources to operationally manage product development risks. The optimal plan for allocating design resources to each product development stage could be found to shorten development lead time to the most extent. Cohen et al. (1996) argued that to increase the lifecycle profits of a new product, a focused resource allocation strategy must be adopted by a firm to concentrate its resource based on the most productive performance enhancements. At a micro level of design process management, Joglekar and Ford (2005) introduced a traditional control theory-based dynamic resource allocation model to account for disproportionate resource consumptions caused by iterations of product development activities in addition to normal resources required by work backlogs. Lee et al. (2004) proposed a homogeneous and non-homogenous state space concept to analyze and control the stability and convergence rate of design tasks, and thus workload distribution and resource allocation can be facilitated to improve the convergence rate of concurrent design tasks and manage initially instable ones. Reich and Levy (2004) developed a resource quality function development (RQFD) method-based constrained non-linear programming model for obtaining the best quality product under dynamic resource constraints and engineering changes. More information about the product and the organizational marketing and engineering competencies were then incorporated into the model to manage product quality, risk and resources through RQFD (Reich and Paz 2008).

Although the models discussed above can provide insightful managerial implications in terms of generic resource allocations in the product development process, their models were based on generic process models without complete integration of design process characteristics, such as dependency logical relations, and hierarchical relationships between design activities and the specific resource requirements by each activity (Browning and Ramasesh 2007). In this respect, Belhe and Kusiak (1995) proposed an approach to scheduling design activities with precedence and multiple resource constraints, in which logical relationships between design activities and a priori known number of iterations were modeled. Kang and Hong (2009) proposed a dynamic sequencing method to reduce waiting time by dynamically changing the sequence of design tasks according to availability of resources because in their opinion waiting time caused by resource shortages was a more critical reason for a lengthy project than iteration time in a multiproject environment. In this method, the process was modeled as a stochastic network using the design structure matrix (DSM). The method targeted for design processes whose tasks must be freely reordered without any sequential constraints.

2.2 Engineering change management

Jarratt et al. (2011) and Hamraz et al. (2013a) conducted comprehensive review reports based on the classification of engineering change methods. In this paper, we classify engineering change methods into two types, namely change analysis and change propagation prediction. In the engineering change analysis, Fricke et al. (2000) identified 8 kinds of causes and rationales behind changes and found 5 strategies to cope with them according to their site visits to 13 companies in industries of the automotive, construction goods, and food and textile machinery. Eckert et al. (2004) analyzed changes based on a detailed case study in a helicopter company, in which change types, reasons, change propagation patterns, etc. were identified. Giffin et al. (2009) and Siddiqi et al. (2011) introduced concepts such as frequency of change patterns and strength of product components on the absorber–multiplier spectrum, and proposed a multi-dimensional approach to identify the best design and management strategies among similar systems and projects. Based on the case studies of seven projects of four types of constructions, Chang et al. (2011) divided the reasons of changes during production into three categories, namely under owner’s control, under designer’s control and beyond control, each of which contained four detailed reasons. Shankar et al. (2012) concluded that changes could propagate across the functional domain in a manufacturing firm rather than only within the product after studying more than 1200 changes in an automotive OEM, and one-third of time spent by the engineers could be reduced if appropriate change control methods and tools were adopted during the change release process. Veldman and Alblas (2012) introduced three engineering change management archetypes of capital good firms facing time-independent and time-dependent complexities during product development processes. Vianelo and Kristensen (2012) compared changes across the lifecycles of aeroengines and drilling equipment to draw the characteristics of engineering changes. They found change requests peak during the manufacturing phase, and 62% of the changes could be related to decisions taken in the detail design phase. To analyze changes, Pasqual and de Weck (2012) developed a multilayer network model integrating three coupled layers of product development that contribute to change propagations: namely the product layer, change layer, and social layer.

In the area of change propagation prediction, Clarkson et al. (2004) proposed a risk-based change prediction method (CPM), where design efforts would be directed toward low-cost subsystems according to the distribution of resulting risks for different propagation paths. Hamraz et al. (2013b) introduced a matrix-calculation-based algorithm for numerical change propagation analysis to account for the exclusion of self-dependence and cyclic propagation paths. Koh et al. (2012) combined CPM and the house of quality to evaluate the effects of potential change propagations brought by different change options to make the best change choices that addressed the product requirements. In design workflows, Wynn et al. (2014) developed piecewise linear models for computing changes accrued to a dependency and propagated by tasks, while design effort required to finish a change was assumed to follow a normal distribution. Lee et al. (2010) introduced an analytic network process to measure design change impacts in modular products. Yang and Duan (2012) proposed a method for searching change propagation paths with a study of parameter linkages, but the model cannot be applied to product models without parameter dependencies. Morkos et al. (2012) used the higher order design structure matrix to predict requirement change propagation through two large-scale industry design projects. Based on the theory of weighted networks, Cheng and Chu (2012) proposed three changeability indices, namely degree-changeability, reach-changeability and between-changeability, to assess the direct and indirect change impacts between product components. Although the above-mentioned researches are useful and reasonable in predicting change propagations, local impact-based evaluation methods are often used to select change propagation paths, but the selection results may not be optimal in the global decision space. In this respect, Chua and Hossain (2012) proposed a change propagation model that computed change impacts on the downstream activities according to the degree of change initiated in the upstream activity and a scheduling model that combined the change propagation model with the scheduling of concurrent design process to assess the overall impact on design completion. The change propagation model involved many parameters to be elicited from designers or project managers, makeing it inconvenient to apply in design practice. Furthermore, resource usage in the change implementation process was not taken as a criterion for selecting change propagation paths.

2.3 Simulation-based process scheduling

Karniel and Reich (2009) made a systematic survey to classify the approaches used in DSM-based process planning. In the survey, they compared their strengths and limitations with problems related to process modeling logic verifications of iterative processes and pointed out that simulation-based tools were needed to evaluate the influences of performing changes in one product component on the need to rework the design of other components due to the complexity, dynamics and uncertainties of design processes. They also discerned three main simulation methods: deterministic, Markov chain and Monte Carlo. Actually, simulation-based method has been adopted to evaluate the acceleration effect of dynamic sequencing of design process (Cho and Eppinger 2005), to accelerate rework time in sequential iterations (Kang and Hong 2009), and to determine the optimal sequence of activities execution within a product development process (Abdelsalam and Bao 2006, 2007). In terms of change propagation simulation, Maier et al. (2014) presented a discrete-event simulation model to investigate priority policies in design, and the model combined the effects of progressive iteration, rework and change propagation during design of interconnected parts in a product architecture. However, resource allocations were not simulated in the model. Wynn et al. (2014) developed a Monte Carlo-based change propagation simulation algorithm. In the algorithm only the most recent change that propagated from the immediate predecessor was taken into consideration by downstream tasks. This may cause design information loss during the change propagation process. The algorithm did not take the waiting time caused by resource shortages into consideration although the general design efforts required to finish changes were computed. Li et al. (2012, 2014, 2016) adopted simulation-based methods to evaluate the global effects of parallel and serial change propagations in the complex engineering design, and a simulation–optimization framework was built to find the optimal change propagation path. We extend these research works to the scheduling of resource-constrained change propagations which account for concurrency, dependency logical relations, change iteration and waiting time caused by resource shortages.

2.4 Research work of this paper

In light of the above reviews, many studies can be found in the fields of either resource-constrained process scheduling or change propagation prediction, while studies dealing with scheduling design resources in the change propagation process are few. When resource constraints are taken into consideration in the change propagation model, waiting time caused by resource shortage may be incurred to the model since number of available resources may be smaller than the number of required change tasks at a time point. Furthermore, design changes may interact with each other when they propagate along different paths. For example, suppose a mass reduction change is raised in the development of transmissions, different components such as housings, gears, and shafts may be redesigned to satisfy the change requirement. However, the redesign of housings, gears, and shafts may influence each other since there are mate or assembling relations between them. The dynamic change propagation process makes it difficult to build analytical and explicit objective models to evaluate change scheduling plans in the complex engineering design. Therefore, simulation-based methods are needed to find an optimal scheduling plan for either initial or emergent design changes. Compared with previous research work (Li et al. 2012, 2014, 2016), the model and the simulation algorithms presented in this paper combines the following aspects to address research weaknesses related to the scheduling problem of resource-constrained change propagations:

  1. 1.

    In terms of resource constraints, due to the dynamics of change propagations, two schemes of renewable resource usage are considered in the model, i.e., dedicated and flexible resource usage schemes (Maier et al. 2014). In the dedicated resource usage scheme, a resource is only able to work on certain specified components. While in the flexible resource usage scheme, any resource can work on any component. In the aspect of the renewability of resources, it means that they can resolve design changes within their work ranges if they are in an idle state in the change propagation process, and a learning effect is taken into consideration if changes are repeatedly solved by them (Li et al. 2012). An average resource usage rate, as often assumed in the resource-constrained scheduling problem, is not adopted considering not all components or tasks are to be reworked and the propagation of changes determines what resources will be used. Given the above assumptions, the following three questions, namely how many specific resources are needed during the change propagation process and how long does it take to completely finish all the changes if the waiting time caused by resource shortages is accounted for, and which scheme is more efficient for allocating resources to changes, will be explored in this paper. The answers to these questions, which have not been paid much attention in the above-mentioned literature, lay the foundation for generating a change propagation plan to minimize the change propagation duration with the fewest resources.

  2. 2.

    In addition to the two variables, namely propagation likelihood \({\text{P}}{{\text{L}}_{ij}}\) and propagation impact \({\text{P}}{{\text{I}}_{ij}}\), used in the previous research (Li et al. 2012), another variable, \({{\text{I}}_l}\), representing the idle time of resource l, is added into the change propagation model to account for the possible resource shortages. Therefore, the change scheduling problem can be defined as how to deploy design changes to minimize design efforts to complete the whole process for effecting the original design change by simultaneously considering the availability of design resources, different change propagation paths and different change likelihoods for each involved path. The propagation likelihood and change impact are defined as an interval between 0 and 1 to account for different degrees of transferred changes and change impacts between the upstream and downstream activities (Chua and Hossain 2012).

  3. 3.

    Due to the “And” “Or” logical relations between design activities and breadth-first change propagation simulation algorithms (Li et al. 2012), changes propagated to an activity may not be processed strictly according to the temporal sequence. For this problem, the forward-propagate-backward-update strategy was adopted to handle it in the previous research work (Li et al. 2012, 2014). But this strategy is difficult to satisfy the temporal constraints due to the irreversible consumption of resources when resource constraints are taken into consideration in the change propagation process. Therefore, different change propagation simulation algorithms for obtaining feasible propagation paths and computing change information are developed for resource allocations, in which a forward-propagate-later-rollback strategy is adopted in order that the rule of first-come-first-handle is strictly followed in the processing of changes. The two strategies and the reasons for choosing the latter one will be further explained in Sect. 4.

3 The resource-constrained change propagation model

The change propagation model is proposed based on the following assumptions: (1) designers usually conduct changes based on the previous product designs, meaning the time to fulfill a change request is known given the change extent to which the previous design is required. (2) Like the distribution of a design objective to different design variables, the change request can be allocated to different downstream tasks or components, which can generate different impacts on them. (3) Each resource can do only one job at a time no matter it is in the dedicated or flexible resource usage scheme. The generic model is built by adding resource constraints to the previously developed change propagation model (Li et al. 2012), which are composed of three parts, namely the model for computing change impacts on a component or a design task and the rules for propagating its effect to successors, the resource constraint model associated with change propagations, and the scheduling model for optimization of the total change propagation duration.

3.1 The component or task change duration model

To present a comprehensive resource-constrained change propagation model, the component or task change duration model is summarized as follows. First, a digraph network is used to model the one-way or two-way dependency relations between design entities. Second, in addition to the sequential design dependency relations, the logic relationships between design entities are represented by three kinds of input patterns and three kinds of output patterns, namely “Join-And” (Fig. 1a), “Join-Or” (Fig. 1b), “Join-Xor” (Fig. 1c), “Split-And” (Fig. 2c), “Split-Or” (Fig. 2a) and “Split-Xor” (Fig. 2b). Third, linear and nonlinear equations for computing the change impact in a serial change propagation between two design entities and the total impact created by several changes to the same entity in different input junctions can be found in (Li et al. 2012). Fourth, for the output junctions, the propagation likelihood of each output branch in the “Split-And” scheme is set as 1; while in the “Split-Or” scheme, the total propagation likelihood from the upstream entity to the downstream ones, which is summation of the likelihood to each downstream task, equals 1. The “Split-Xor” scheme can be regarded as an extreme case of the “Split-Or” scheme in which only one downstream propagation path can be used to forward the design change, whose propagation likelihood is assigned 1.

Fig. 1
figure 1

Input logical relations for modeling design process

Fig. 2
figure 2

Output logical relations for modeling design process

3.2 The resource constraint model

Based on the change duration model, the change completion time can be computed by combining the waiting time caused by resource shortages. For the two resource usage schemes, it is assumed that the renewable resources used in certain time period in the change design is a constant. In the dedicated resource usage scheme, a resource is responsible for resolving changes to one or several components or tasks. Since a resource can do only one job at a time, changes occurring in or propagated to the components or tasks which are assigned to a same resource have to be sorted according to their arrival time before they are worked. So the change start time is:

$${\text{ST}}\left( {{C_{ij}}} \right)={\text{Max}}\left( {{\text{A}}\left( {{C_{ij}}} \right),{{\text{I}}_l},{\text{CT}}\left( {{C_{i - 1,j}}} \right)} \right),$$
(1)

where, \({C_{ij}}\) is the change event occurring in or propagated to the component or task \({T_j}\). A change event is associated with change propagation likelihood \({\text{P}}{{\text{L}}_{{C_{ij}}}}\) and propagation impact \(P{I_{{C_{ij}}}}\). \({C_{i - 1,j}}\) is the change event occurring in or propagated to component or task \({T_j}\) prior to change \({C_{ij}}\), \({R_l}\) is the resource assigned to component or task \({{\text{T}}_j}\), \({\text{ST}}\left( {{C_{ij}}} \right)\) is the time when resource \({R_l}\) starts to work on change \({C_{ij}}\), \(A\left( {{C_{ij}}} \right)\) is the arrival time of change \({C_{ij}}\), \({I_l}\) is the idle time of resource \({R_l}\) when change \({C_{ij}}\) arrives, which means resource \({R_l}\) begins to work on change \({C_{ij}}\) at time \({I_l}\) if \(~A\left( {{C_{ij}}} \right) \leq {I_l}\), otherwise the change will be resolved by resource \({R_l}\) at time \({\text{A}}\left( {{C_{ij}}} \right)\) if \(A\left( {{C_{ij}}} \right)>{I_l}\).

\({\text{CT}}\left( {{C_{i - 1,j}}} \right)\) is the time when change \({C_{i - 1,j}}\) is completed.

The completion time of change \({C_{ij}}\) is:

$${\text{CT}}\left( {{C_{ij}}} \right)={\text{ST}}\left( {{C_{ij}}} \right)+{\text{P}}{{\text{I}}_{{C_{ij}}}} \cdot D\left( {{T_j}} \right),$$
(2)

where \({\text{P}}{{\text{I}}_{{C_{ij}}}}\) is calculated in the change duration model.

After the change is resolved, the idle time of resource \({R_l}\) will be updated to \({\text{CT}}\left( {{C_{ij}}} \right)\).

For the flexible resource usage scheme, there is the same issue of determining the start time of change being resolved. However, since resources are assigned to the changes cyclically based on the sorting of resource’s idle time, the start time of a change is determined dynamically by:

$${\text{ST}}\left( {{C_{ij}}} \right)={\text{Max}}\left( {{\text{A}}\left( {{C_{ij}}} \right),\quad {\text{Min}}_{{l=1}}^{N}\left( {{{\text{I}}_l}} \right),{\text{CT}}\left( {{C_{i - 1,j}}} \right)} \right)$$
(3)

where \({I_l}\) is the resource idle time, \({\text{Min}}_{{l=1}}^{N}\left( {{{\text{I}}_l}} \right)\) is to minimize N idle times when change \({C_{ij}}\) arrives at component or task \({T_j}\) and \(N\) is the total number of resources used in the change propagation plan.

In these two schemes, the average resource utilization rate (RUR) is introduced to evaluate the economics of resource-constrained change propagation plans and the variance of resource utilizations rate is taken to evaluate the uniformity of resource’s workload assigned to them over the whole change propagation process, namely,

$${\text{RU}}{{\text{R}}_l}=\frac{{\mathop \sum \nolimits^{} {t_{{R_l}}}}}{{{\text{MaxCT}}\left( {{C_j}} \right)}},$$
(4)
$${\text{RU}}{{\text{R}}_{{\text{ave}}}}=\frac{{\mathop \sum \nolimits^{} {\text{RU}}{{\text{R}}_l}}}{N},$$
(5)
$${\text{RU}}{{\text{R}}_{{\text{var}}}}=\sqrt {\frac{{\mathop \sum \nolimits_{{l=1}}^{N} {{\left( {{\text{RU}}{{\text{R}}_l} - {\text{RU}}{{\text{R}}_{{\text{ave}}}}} \right)}^2}}}{N},}$$
(6)

where \({t_{{R_l}}}\) is the working time of resource \({R_l}\) during the whole change propagation process; \({\text{MaxCT}}\left( {{C_j}} \right)\) is the completion time of the last change event \({C_j}\).

3.3 The model for optimization of change propagation duration

The process scheduling goal is to minimize the completion time of the last change and maximize the average resource utilization rate, namely

$$\begin{array}{*{20}{l}} {{\text{Minimize}}\quad {\text{Maximum}}\left( {{\text{CT}}\left( {{C_j}} \right)} \right)} \\ {{\text{Maximize}}\quad {\text{RU}}{{\text{R}}_{{\text{ave}}}}} \\ {{\text{w}}.{\text{r}}.{\text{t}}\quad {\text{P}}{{\text{L}}_{ij}},\quad {R_l}} \end{array}$$
(7)

To achieve the above-two objectives, first the maximum change propagation time with given resources is obtained by running the integrated simulation–optimization algorithms with the optimization of propagation likelihoods, and the average resource utilization rate can be calculated according to Eq. (5). Second, different average resource utilization rates and maximum propagation times are compared to select the maximum one and the minimum one, respectively. According to the change duration model, the “Split-Xor” and “Split-Or” junctions introduce the following constraints:

$$\left\{ \begin{gathered} {\text{P}}{{\text{L}}_{12}}+{\text{P}}{{\text{L}}_{13}}+ \cdots +{\text{P}}{{\text{L}}_{1{n_1}}}=1 \hfill \\ {\text{PL}_{21}}+{\text{P}}{{\text{L}}_{23}}+ \cdots +{\text{P}}{{\text{L}}_{2{n_2}}}=1 \hfill \\ \vdots \hfill \\ {\text{P}}{{\text{L}}_{m1}}+{\text{P}}{{\text{L}}_{m2}}+ \cdots +{\text{P}}{{\text{L}}_{m{n_m}}}=1 \hfill \\ \end{gathered} \right.,$$
(8)

and for the kth iteration, we have

$$\left\{ \begin{gathered} {\text{PL}}_{{_{{12}}}}^{k}+{\text{PL}}_{{_{{13}}}}^{k}+ \cdots +{\text{PL}}_{{_{{1{n_1}}}}}^{k}={\text{PI}}_{{,1}}^{k} \hfill \\ {\text{PL}}_{{_{{21}}}}^{k}+{\text{PL}}_{{_{{23}}}}^{k}+ \cdots +{\text{PL}}_{{_{{2{n_2}}}}}^{k}={\text{PI}}_{{,2}}^{k} \hfill \\ \vdots \hfill \\ {\text{PL}}_{{_{{m1}}}}^{k}+{\text{PL}}_{{_{{m2}}}}^{k}+ \cdots +{\text{PL}}_{{_{{m{n_m}}}}}^{k}={\text{PI}}_{{,m}}^{k} \hfill \\ \end{gathered} \right.,$$
(9)
$$0 \leq {\text{P}}{{\text{L}}_{ijl}} \leq {\text{P}}{{\text{L}}_{ij}} \leq {\text{P}}{{\text{L}}_{iju}} \leq 1\quad i=1,2 \cdots m,\quad j=1,2 \cdots {n_m},$$
(10)

where m is the number of “Split-Or” and “Split-Xor” junctions, and \({n_i}\;(i=1,2 \cdots m)\) is the number of branches for each “Split-Or” and “Split-Xor” junction.

In addition to change propagation routes that may affect the whole change duration, resource assignment to the possibly affected components or tasks is another key to the optimization problem. For the dedicated resource usage scheme, each design component or task is assigned with a resource ahead of schedule although it may not be affected by the initiated design change. A random resource assignment method is used to select a resource \({R_l}\) (l is a random integer between 1 and the total resource number N) to resolve the change propagated to or occurring in the design component or task \({T_j}\). In the assignment process, each resource is allocated with no more than the average number of design entities. For the flexible resource usage scheme, design resources are assigned to design entities based on their idle time, i.e., the earliest idle resource \({R_l}\) is assigned to the design component or task \({T_j}\) when change \({C_j}$$$$\) comes, so the order of resources’ idle time has to be updated after a design change completes.

4 Resource-constrained change propagation simulation algorithms

In this paper, time is taken as the criterion for selecting change propagation paths and assignment of renewable resources. In addition to calculating the implementation time of changes propagated to a task or component, resource allocations may also lead to product development delays, thus the change completion time and resource idle time are important factors that must be recorded in the simulation process. As it is assumed that a change can be propagated to different tasks or components in a parallel way, i.e., changes can be propagated concurrently, resources have to be used in the same way if they are enough to implement changes. Considering the product development cost, usually there are not as many resources as changes are at any time during the change propagation process. Therefore, some changes may be delayed due to waiting of resources when design teams have a shortage of design resources.

In this case, the following assumptions are made to develop change propagation simulation algorithms including the assumptions set in the resource unlimited change propagation simulation algorithms (Li et al. 2014): (1) when one entity is affected by an initial or emergent change, all its downstream branches must be traversed in the propagation simulation process although the propagation likelihoods of some branches can be 0 for the “Split-Or” and “Split-Xor” junctions. (2) High-order iterative design changes that arrive at the design entity earlier than the lower ones should wait until lower order changes are completed. (3) The principle for superposition of change impacts caused by the same order design changes propagated from different precedent entities is used to handle design changes to the same entity separately; (4) A resource can handle only one change at a time, i.e., a change must wait for an idle resource if all the resources are busy with other changes when it comes to a task or component. (5) A First-Come-First-Handle rule is used in the resource assignment for design changes in both dedicated and flexible resource usage schemes.

To satisfy the above assumptions, a breadth-first digraph traverse algorithm is developed, as shown in Fig. 3. Figure 4 provides the algorithm used to obtain feasible propagation paths and assign a propagation likelihood value to every branch of each split junction. Figure 5 shows the “Join-Or” change information calculation procedure, in which the equation for computing the total change impact as well as other information such as change start time, completion time, etc. are determined. The idle time of a resource assigned to resolve a change is updated and all the resources are sorted according to their idle time in the procedure based on the rule of flexible resource usage scheme. For other kinds of input logical relations and the dedicated resource usage scheme, similar procedures can be developed by changing the equations for computing propagation effects and the corresponding resource deployment rules.

Fig. 3
figure 3

Main flowchart for computing change information

Fig. 4
figure 4

The algorithm for obtaining feasible propagation paths

Fig. 5
figure 5

Flowchart for computing change information of “Join-Or” input task or component

Considering that several precedent entities may propagate design changes to one entity at different times, the change effects have to be computed separately according to the above assumptions. The temporal sequence of these changes must be strictly observed because different change effects may be incurred to the recipient design entity if the temporal constraint is violated. But due to the breadth-first change propagation simulation control mechanism, later changes may arrive at a design entity earlier than those who are actually earlier ones. Generally two strategies can be adopted to deal with this kind of case, namely forward-propagate-backward-update and forward-propagate-later-rollback strategies. The forward-propagate-backward-update strategy means to recalculate the information of those changes who are processed earlier and changes created by them in the simulation process, while for the forward-propagate-later-rollback strategy, the simulation process will rollback to the moment when the actually early change occurs if the above case happens.

When resource allocation is involved in the simulation process, it is difficult to apply the forward-propagate-backward-update strategy. This is because once a resource is allocated with a design change, it will be very difficult to determine the start time of design changes which in terms of time are actually earlier than the above already handled change especially for the flexible resource usage scheme. Therefore, a forward-propagate-later-rollback strategy is adopted, as shown in Fig. 5, to develop the resource-constrained change propagation simulation algorithm although this strategy may lead to more computations than the first one. According to this strategy, design changes will first propagate forward according to the breadth-first graph traverse method. If the information of an actually early change is computed late in the simulation process, then the process will rollback to the time when this change occurs, i.e., the resources will restore to the former states before this change occurs and the information of related changes will be reset too.

5 Case studies with simulation-based scheduling of change propagation

5.1 Case study of motorcycle engine structure design

A motor cycle engine structure design model (Fig. 6) is used to test the integrated simulation–optimization approach (Li et al. 2012). The computer model (Fig. 7) is constructed using the integrated process-oriented product design framework developed previously by the authors (Li and Zhao 2011). The rectangles and arrows in the figure represent engine components and their dependency relations. To find the optimal scheduling plans for two resource usage schemes, 3–8 renewable resources are used to explore the change propagation process. The steady genetic algorithm (GA) is adopted in the optimization process (Fig. 8), in which the population size, total generation, crossover and mutation ratios are set as 100, 500, 0.9 and 0.001, respectively.

Fig. 6
figure 6

Design structure matrix (DSM) for propagation impacts between motorcycle engine component design tasks

Fig. 7
figure 7

A motorcycle engine design process model

Fig. 8
figure 8

Optimization processes with different numbers of renewable resources in flexible and dedicated resource usage schemes

In this design case, first, there are 89 dependency relations taken as optimization variables. Thus the optimization problems may have many local duration minima. Second, the assignment of design resources to each change makes the optimization process more difficult to reach the global minimum because different resource assignment plans may lead to different change evolution paths and different assignment of propagation likelihood values to each involved design dependency. Therefore, it is not assured that the global minimum for each resource usage scheme and each resource number is found even though each optimization process was run at least 3 times to obtain a close optimum. However, the optimum result, namely the change propagation duration, is much shorter than the Monte Carlo-based simulation result. For example, in the flexible and dedicated resource usage schemes, it takes three resources 23.3 and 19 days, respectively, to complete all the changes instigating from the design activity of “Start Engine Design” with a change degree of 0.5, which means 50% of initial design requirements need change, as shown in Fig. 8. But when the Monte Carlo-based simulation method is used, the minimum and maximum time to complete the above changes is 31 and 50, and 24.5 and 60 days, respectively, for two schemes, as shown in Fig. 9. More than 24% and 22% improvements can be obtained in terms of change durations for two resource usage schemes if the optimal scheduling of design resources is adopted.

Fig. 9
figure 9

Monte Carlo-based change propagation simulation results for flexible and dedicated resource usage schemes

It can be concluded from Fig. 8 that shorter-duration change propagation plans can be found in the dedicated resource usage scheme than in the flexible scheme except some optimization fluctuations for different numbers of design resources, which means more resources may not make the change propagation duration shorter. However, the shorter the change propagation plan is, the lower the resource utilization rate is, which means more resources must be used in the change propagation process, according to the data shown in Fig. 10. In the optimization of dedicated resource usage scheme, a random resource assignment method is used for each individual before the simulation process is started, but the assignments do not change during the simulation process so that a resource is fixed to the design of one or several components. For the flexible resource usage scheme, a first-come-first-idle strategy is applied to the assignment of resources to components, and thus each individual may have different resource assignment plans since the change propagation processes are different. Thus the flexible resource usage scheme has a slower optimization convergence process than the dedicated scheme due to resource assignment uncertainties, as shown in Fig. 8. Furthermore, it can be proved from this result that for complex engineering design management problems, locally optimal resource assignment methods may not inevitably produce the globally optimal scheduling plans.

Fig. 10
figure 10

Resource utilization rates for both schemes with different numbers of resources

Based on the resource utilization rates shown in Fig. 10, the flexible resource usage scheme can produce a fairer workload allocation between design resources since the red median lines are closer to the central positions of boxes and the heights of boxes are smaller. Considering that the change propagation duration is contradictive with the resource utilization rate, the tradeoff point between durations and costs should be determined according to design delivery urgency and cost budget in addition to assigning an optimum change propagation likelihood to each involved dependency. For the first two problems raised in Sect. 1, an optimal solution can be found for each of them since the integrated simulation–optimization framework can generate a pareto solution set, as shown in Figs. 8 and 10. In this case study, five resources are used to implement the change propagation plans considering the change propagation duration is fairly short and the resource utilization rate is not low. Figures 11 and 12 show the change propagation and resource assignment plans, and Fig. 13 shows the change propagation likelihood values for the involved dependencies.

Fig. 11
figure 11

Gantt charts showing change propagation trace and workload assignments for dedicated resource usage scheme (percentiles in the labels of ordinate are the resource utilization rates)

Fig. 12
figure 12

Gantt charts showing change propagation trace and workload assignments for flexible resource usage scheme (percentiles in the labels of ordinate are the resource utilization rate)

Fig. 13
figure 13

The optimum propagation likelihood values for involved dependencies for dedicated and flexible resource usage schemes, the likelihood ranges from 0 (the center) to 0.86 or 1 (the outmost circle), the numbers around the circle are the numbers of dependencies involved in the change propagation process

In terms of change propagation plans obtained in these two resource usage schemes, it can be seen from above-mentioned figures that more components are influenced by this initial change in the dedicated resource usage scheme than in the flexible usage scheme. The initial change, which changes the engine motor design requirements up to 50%, firstly affects the design of four major engine parts, namely Piston Design, Cylinder Block Design, Front Crankshaft Design and Rear Crankshaft Design, as shown in Fig. 7. Actually the change design of these four parts plays a major role in the change propagation plans obtained in both resource usage schemes, as shown in Figs. 11 and 12. As the change allocation in the flexible resource usage scheme is more centralized, it leads to the change to propagate along the coupling relationships between Front Crankcase Design and Rear Crankcase Design, and Piston Design and Cylinder Block Design more times than in the dedicated resource usage scheme, and thus a little longer change propagation plan is obtained considering these changes have to be resolved serially as determined by their dependency relationships. However, both resource usage schemes can avoid allocating more changes to time-consuming design tasks, for example, crankcase design is not affected significantly in both schemes.

5.2 Case study of air conditioner structure design

The change design of air conditioner structure is chosen to further validate and verify the model and methods introduced in this paper. Figure 14 shows the structure model of an air conditioner including the indoor and outdoor machines. Figure 15 displays the change impacts between dependent structure components. In this emergent change design of the air cylinder, the radius and the height are changed to satisfy the new space requirement, but the volume of cylinder is generally kept constant to limit the change propagation range. In the case study of motor engine change design, the dedicated resource usage scheme is better than the flexible resource usage scheme in terms of change propagation duration and resource utilization rate although it may lead to a larger change range. Thus in this case study, only the dedicated resource usage scheme is adopted to find the optimal change propagation plan. Due to the paper length limit, the major results including change propagation trace and workload assignment for each involved resource are shown in Fig. 16. According to the results, seven resources are needed to resolve this emergent change considering the cost budget and design delivery plan. In this optimal change propagation plan, outdoor machine parts adjacent to the air cylinder, such as rotor, condensator, crankshaft, main and supplementary bearings, etc. are significantly affected due to performance, geometric and assembling constraints among them. This plan is consistent with the air conditioner structure design practice according to our interview with the senior designers in the China Haier™ Group. A small change in any of parts may trigger a change explosion in the design process. Therefore, change design of compressor parts are usually strictly avoided by air conditioner companies due to their internal complicated interconnections.

Fig. 14
figure 14

The structure model of an air conditioner

Fig. 15
figure 15

The design structure matrix (DSM) for propagation impacts between air conditioner structure design tasks

Fig. 16
figure 16

Gantt charts showing change propagation trace and workload assignments for the dedicated resource usage scheme

5.3 Discussions

The change propagation plans obtained by the simulation–optimization framework contain some minor change steps whose durations are quite short, they are generated in the change simulation process due to the relatively small modeling granularity of design components or tasks and the strict change propagation stop criterion. In this research, the stop criterion is based on the calculation of propagation impact which is uniformly set as 0.01, i.e., when a change propagated to a design component or task generates less than 0.01 propagation impact, then the change will not propagate any more. However, this criterion can be adjusted according to different change scenarios or design entities, which usually must be determined by designer’s experience. Actually, in the design practice, designers may combine several design changes occurring in or propagated to a same design entity into one, and give a solution that can satisfy these change requirements simultaneously. These short change steps may become the internal communications in the change propagation process. In that case, the change duration and cost may differ with our linear addition model. And this certainly merits further research in the future.

Based on the two case studies, it can be concluded that the critical path or the critical dependency relationships between design components or tasks have significant influence on the change evolution process. For example, in the case study of motor cycle engine structure design, the dependencies between the requirements analysis task, i.e., Start Engine Design, and the succeeding design tasks, namely Cylinder Block Design, Piston Design, Rear Crankshaft Design and Front Crankshaft Design, are critical to the change propagation process, as shown in Fig. 11a. On one hand, if design changes to these critical parts can be resolved completely, the initial or emergent design changes can be controlled or scheduled quite well, and change avalanche can be avoided. On the other hand, design changes to these critical dependency relationships should be avoided as far as possible to ensure the design project progress smoothly. It is unexpected that the dedicated resource usage scheme may decrease the impacts created by these critical relationships during the change propagation process, as shown by comparison of change propagation traces in Figs. 11 and 12. This further explains that resource assignment and change path selection have complicated interdependencies, and scheduling of design changes without considering resource consumptions or change implementations may not produce the optimal change evolution plans in the global view of change propagations.

When the schedule outcomes were shown to the engineers and managers in the motor cycle and air-conditioner firms, they were surprised that the dedicated resource usage scheme could produce better change propagation plans than the flexible usage scheme. Because in their opinion, design changes, especially emergent changes are oftentimes processed by engineers who have a light workload to do when they occur during the engineering development process. However, this may not be efficient in the global view of resource deployments during the change propagation process according to our research results. The schedule also indicates that how many resources are needed to cope with a specific change in the required time, which greatly facilitates their management of engineering changes. When initial or emergent changes appear, especially when they appear in the later product development stages, it may not be sure that enough resources are available to resolve them since resources usually flow with projects in companies. This resource usage plan predicted by simulations of change propagation processes can help managers determine how much man-power is needed in firms organized in the traditional function-based form as well as in the project-driven matrix form, or how long it may take to finish changes given the available resources. Thus a time-resource (budget) balanced plan can be made before the implementation of engineering changes.

In terms of weaknesses of the approach, the integrated framework needs too much information to populate the change propagation model, especially they have to spend a lot of time on modeling dependencies between different design entities. They suggest that the framework should be able to elicit dependency models from their available computer-aided design models or models in their product lifecycle management systems. Furthermore, concrete suggestions about how to implement a change propagation process are also expected instead of only general change propagation plans.

6 Conclusions

In this paper, a simulation-based approach for resource-constrained scheduling of design changes is presented. The contributions of scheduling method include:

  1. 1.

    Mathematical models for resource-constrained change propagations for both dedicated and flexible resource usage schemes are formulated based on the product digraph model.

  2. 2.

    New simulation algorithms for both dedicated and flexible resource usage schemes are developed based on the forward-propagate-later-rollback control strategy.

Based on the scheduling method, two change design cases in motorcycle engine and air conditioner structure design processes are studied to test the models and the integrated simulation–optimization method presented in the paper. It can be seen from these two case studies that:

  1. 1.

    Shorter-duration change propagation plans can be found in the dedicated resource usage scheme than in the flexible scheme.

  2. 2.

    The flexible resource usage scheme can produce a fairer workload allocation between design resources than the dedicated scheme.

  3. 3.

    The tradeoff between change duration and cost should be determined by design delivery urgency and cost budget in addition to choosing an optimal change propagation plan.

Future work will be directed to modeling the transition process between change scheduling and implementation as well as the resource-constrained multi-change scheduling problems.