Scheduling design activities with a pull system approach

7
IEEE TRANSACTIONS ON ROBOTICS AND AUTOMATION, VOL. 12, NO. 1, FEBRUARY 1996 15 Scheduling Design Activities with a Pull System Approach Upendra D. Belhe and Andrew Kusiak, Member, IEEE Abstract-The design process can be considered as a series of design phases. Each design phase can be further divided into number of design activities. In the network of design activities, the design activities generate information which is used by the succeeding activities. Since importance of the input information available from different activities changes with respect to the requirement of the design activities, a pull system approach for the management of design activities is proposed. Due to the concurrent considerationof many factors in the design process, it is required that the design activities are performed by teams of experts. In addition to the multiple resource requirement, the uncertainty in the weights and durationof design activities makes the problem of scheduling design activities complex. A heuristic algorithm is proposed to solve the problem considered in this paper. R Ti S U D wi LF (i) ci 3; LS(i) di NOMENCLATURE Vector indicating availability (status) of resources at time t. Vector of resource requirements for activity i. Set of activities eligible for scheduling at time t. Set of design activities in process at time t. Due date for the current design phase. Weight of design activity a. Latest start time of activity i. Latest finish time of activity i. Estimated duration of activity i. Completion time of activity i. Start time of activity i. I. INTRODUCTION DESIGN process can be considered as a serial T E c i t i o n of the product development phases shown in Fig. 1. Each of these phases can in turn be decomposed into a set of interrelated design activities. The main purpose of this decomposition is to gain control over total duration of the design process and utilization of resources during planning and execution, so that total cost is minimized. There exists data dependency relationship among design activities. For example, consider design of an electronic de- vice, where the list of parts must be prepared prior to the layout of the circuit board. Once the layout is prepared, the critical circuits can be tested. Such data dependency Manuscript received March 9, 1993; revised February 1, 1995. This work 9215259, the U.S. Army under Grant DAAE 07-93-C-RO80, and contracts from three industrial corporations. The authors are with the Intelligent Systems Laboratory, Depaament of Industrial Engineering, University of Iowa, Iowa City, IA 52242 USA. Publisher Item Identifier S 1042-296X(96)01065-2. was supported in part by the National Science Foundation under Grant DDM- relationship is translated into precedence relationship between design activities. As shown in Fig. 2, the fact that activity j depends on activity i means that activity i precedes activity j. Here, it is assumed that the data dependency relationship between all design activities is known a priori with certainty. In this way, the precedence network of design activities can be established for each design phase of the design process. It is also assumed that every design activity is indivisible, and hence it must be treated as one entity with its start and completion times. With the advent of concurrent engineering, an emphasis is given to the integration of design with manufacturing and other disciplines. Due to the concurrent consideration of many factors, the design process in a concurrent engineering environment requires input from various disciplines. In an organization, experts with similar skills often form functional groups (departments). Experts from different functional groups need to contribute towards the design goal. In effect, the design activities are performed by teams with members representing various disciplines. A project manager is responsible for scheduling and monitoring the activities to be performed by the team. The tools for management of design activities have to be more flexible than the existing project management techniques (e.g., [18]). The design organization may handle a number of projects simultaneously. Therefore, the design activities have to compete for the limited available resources. Therefore, the schedule of design activities obtained should be feasible also with respect to the multiple resource constraints. The resource constrained project scheduling problem (RCPSP) has been studied extensively in the project management literature. Balas [26] introduced a concept of disjunctive graphs for solving the job shop scheduling problem. Gorenstein [ 101 designed an algorithm based on the maximum flow in a bipartite graph following the ideas of Balas. Davis and Patterson [6] compared different heuristic methods and optimum solutions for the RCPSP. Kurtulus and Davis [ 151 categorized the heuristic rules for the RCPSP. Christofides et al. [5] developed a branch-and-bound algorithm for this purpose. Demeulemeester and Herroelen [7] developed another branch-and-bound procedure for the multiple RCPSP. For a recent survey of project scheduling techniques, see Icmeli et al. [13]. The flow of information in the design activity network can be considered in two different ways. 1) Each design activity generates the intended information and passes on to the succeeding activities in the network. The activities are performed according to some predeter- 1042-296W96$05.00 0 1996 IEEE

Transcript of Scheduling design activities with a pull system approach

IEEE TRANSACTIONS ON ROBOTICS AND AUTOMATION, VOL. 12, NO. 1, FEBRUARY 1996 15

Scheduling Design Activities with a Pull System Approach

Upendra D. Belhe and Andrew Kusiak, Member, IEEE

Abstract-The design process can be considered as a series of design phases. Each design phase can be further divided into number of design activities. In the network of design activities, the design activities generate information which is used by the succeeding activities. Since importance of the input information available from different activities changes with respect to the requirement of the design activities, a pull system approach for the management of design activities is proposed. Due to the concurrent consideration of many factors in the design process, it is required that the design activities are performed by teams of experts. In addition to the multiple resource requirement, the uncertainty in the weights and duration of design activities makes the problem of scheduling design activities complex. A heuristic algorithm is proposed to solve the problem considered in this paper.

R

Ti S U D wi

LF (i)

ci 3;

LS(i)

di

NOMENCLATURE Vector indicating availability (status) of resources at time t. Vector of resource requirements for activity i. Set of activities eligible for scheduling at time t. Set of design activities in process at time t. Due date for the current design phase. Weight of design activity a. Latest start time of activity i . Latest finish time of activity i. Estimated duration of activity i. Completion time of activity i . Start time of activity i.

I. INTRODUCTION DESIGN process can be considered as a serial

T E c i t i o n of the product development phases shown in Fig. 1. Each of these phases can in turn be decomposed into a set of interrelated design activities. The main purpose of this decomposition is to gain control over total duration of the design process and utilization of resources during planning and execution, so that total cost is minimized.

There exists data dependency relationship among design activities. For example, consider design of an electronic de- vice, where the list of parts must be prepared prior to the layout of the circuit board. Once the layout is prepared, the critical circuits can be tested. Such data dependency

Manuscript received March 9, 1993; revised February 1, 1995. This work

9215259, the U.S. Army under Grant DAAE 07-93-C-RO80, and contracts from three industrial corporations.

The authors are with the Intelligent Systems Laboratory, Depaament of Industrial Engineering, University of Iowa, Iowa City, IA 52242 USA.

Publisher Item Identifier S 1042-296X(96)01065-2.

was supported in part by the National Science Foundation under Grant DDM-

relationship is translated into precedence relationship between design activities. As shown in Fig. 2, the fact that activity j depends on activity i means that activity i precedes activity j . Here, it is assumed that the data dependency relationship between all design activities is known a priori with certainty. In this way, the precedence network of design activities can be established for each design phase of the design process. It is also assumed that every design activity is indivisible, and hence it must be treated as one entity with its start and completion times.

With the advent of concurrent engineering, an emphasis is given to the integration of design with manufacturing and other disciplines. Due to the concurrent consideration of many factors, the design process in a concurrent engineering environment requires input from various disciplines. In an organization, experts with similar skills often form functional groups (departments). Experts from different functional groups need to contribute towards the design goal. In effect, the design activities are performed by teams with members representing various disciplines. A project manager is responsible for scheduling and monitoring the activities to be performed by the team. The tools for management of design activities have to be more flexible than the existing project management techniques (e.g., [18]). The design organization may handle a number of projects simultaneously. Therefore, the design activities have to compete for the limited available resources. Therefore, the schedule of design activities obtained should be feasible also with respect to the multiple resource constraints.

The resource constrained project scheduling problem (RCPSP) has been studied extensively in the project management literature. Balas [26] introduced a concept of disjunctive graphs for solving the job shop scheduling problem. Gorenstein [ 101 designed an algorithm based on the maximum flow in a bipartite graph following the ideas of Balas. Davis and Patterson [6] compared different heuristic methods and optimum solutions for the RCPSP. Kurtulus and Davis [ 151 categorized the heuristic rules for the RCPSP. Christofides et al. [5] developed a branch-and-bound algorithm for this purpose. Demeulemeester and Herroelen [7] developed another branch-and-bound procedure for the multiple RCPSP. For a recent survey of project scheduling techniques, see Icmeli et al. [13].

The flow of information in the design activity network can be considered in two different ways.

1) Each design activity generates the intended information and passes on to the succeeding activities in the network. The activities are performed according to some predeter-

1042-296W96$05.00 0 1996 IEEE

16 IEEE TRANSACTIONS ON ROBOTICS AND AUTOMATION, VOL. 12, NO. 1, FEBRUARY 1996

mined schedule. In a way, the information is “pushed” down to the succeeding design activities irrespective of its importance which may vary over a time period.

ically according to the importance of the information generated by these activities. While scheduling the de- sign activities, weights of these activities are changed according to the importance of the generated information

design 2) Another strategy is to schedule design activities dynam-

Fig. l. Five Phase design Process.

with respect to the succeeding activities and a new schedule is obtained. The schedule tends to pull the information from the preceding activities.

In this paper, the second approach is adopted. We consider the problem of scheduling design activities with the specific objective of minimizing the total weighted lateness of these activities. The level of detail in which information is generated by each design activity may vary between design projects. Since the weights and expected duration of design activities in

Fig. 2. Data dependency relationshp in the design acmity network. i = Prepare parts list. J = Prepare PCB layout k = Build and test cntical circuits.

to assign a weight to each activity relative to the weights of activities.

the network change over time with respect to the demands for information from the succeeding design activities, we propose to bolve this problem by decomposing it into multiple problems of minimizing the total weighted lateness over an interval of time.

11. ANALOGY OF DESIGN PROCESS TO PULL SYSTEM

A proper flow of information is required for timely exe- cution of design activities. In a pull system interpretation of the design process, the importance of the information required by the succeeding activities governs it’s flow throughout the design process, instead of the design information being released according to some predetermined schedule. The de- sign process resources are used to generate the information only when the information is required. The flow of the design information is adjusted by changing the weights of design activities appropriately. The pull strategy provides a set of rules which control the issuing of information to the design stages. This means that the information is transferred according to the demand. An excess generation of information is considered as waste.

The information can be requested from the preceding activi- ties in a specified format. The principle of production kanbans is useful in this sense. The number of requests made by one design activity to another is determined dynamically and it usually varies for different projects. An individual strategy can be used at a design activity to process (serve) the requests. Similar to the kanban system, the request flag is attached to the information sent back to the succeeding design activity and in this way the receiving design activity can keep track of the incoming information and detect discrepancies of design information, if any.

Whenever it appears that the design activity will soon catch up with the information requests, the scheduling system can reduce the resources used to perform that particular activity. It is believed that, in most cases the scheduling system will be able to maintain a comfortable level of information demand in the entire design process. For this reason, it is assumed that there is always demand at each design activity for at least some type of information, and therefore, it is possible

ID. SCHEDULING PROBLEM The design process is divided into number of phases and

each of these design phases is represented by a precedence network of design activities. The completion time of each of the design phases is regarded as a milestone in the schedule of the entire design project. The due dates for phases in the design process are assigned by the global schedule. The due date for each design phase derives the latest finish time of end activities in the design activity network of the corresponding phase.

Each design project is unique in nature. Therefore, it is not possible to collect some data to obtain distribution of the random value of the duration, d,. In the absence of data, simulation practitioners use heuristic procedures for choosing a distribution (see [27]). We assume that, the quantities a and b, the subjective estimates of the minimum value of the estimated duration of activity d, and the maximum value of d, can be obtained. Similarly, the subjective estimate of the most Likely value g can also be obtained. The duration, d, is then considered to have triangular distribution on the interval [.,a], with mode g, The expected value of d, is determined using, d, = (a + b + g ) / 3 . The expected value of d, is used as deterministic value of activity duration in hrther analysis.

The schedule of design activities need to be determined under the following constraints.

1) Temporal Constraints: The four possible relations that constrain the start and finish times of two activities are specified by lead/lags as follows: the start-to-start (SS), the finish-to-finish (FF), the start-to-finish (SF), and the finish-to- start (FS) relations. In addition to these relations, four more relations are used that may hold between the beginning of the design phase, end of the design phase, and the activity start and finish times (see [9]). These relations are begin-to-start (BS), begin-to-finish (BF), start-to-end (SE), and finish-to-end (FE). The latter relations permit specification of a start leamag and the finish lead/lag for any design activity relative to the design phase beginning and end, respectively. The beginning time of any design phase can be assumed to be zero.

For example, consider the network of design activities shown in Fig. 3. The temporal constraints need to be consid-

BELHE AND KUSIAK SCHEDULING DESIGN ACTIVITIES WITH A PULL SYSTEM APPROACH 17

Fig. 3. Network of design activities.

ered in addition to the precedence constraints. Suppose that, there exist the constraints:

1) -93 2 c2 + 3 2) s5 2 s3 + 5 3) c5 2 c4 + 6 4) end of phase 2 c7 + 3. The first constraint is of type finish-to-start (FS) and it says

that activity 3 can begin only after at least 3 time periods after completion of activity 2. Second constraint is of type start-to- start (SS), according to which activity 5 can begin only after at least 5 time periods after the start time of activity 3. According to constraint 4, finish-to-finish (FF) type constraint, activity 4 and activity 5 should be scheduled in such a way that the completion of activity 5 (as per expected duration of activities 4 and 5) occurs after at least 6 time periods after completion of activity 4. The latest finish time of activity 7 can be calculated based on the constraint 4 (finish-to end constraint) which says that activity 7 should be completed at least 3 time periods prior to the due date for the design phase shown in Fig. 3.

2 ) Resource Constraints: Consider a set of activities for which the input information required is available, i.e., all preceding design activities have been performed and these activities are eligible for scheduling according to the temporal constraints. Each of these activities needs multiple resources and total available resources are limited. The availability of each type of resource may vary over the time horizon of the design project. However, it is assumed that the total resource availability as well as resource requirement of design activities remains constant during execution of the design activities.

A. Scheduling of Design Activities with Multiple Resource Constraints

The problem of scheduling design activities with resource constraints discussed in the paper can be viewed as a general- ized version of the resource constrained project scheduling problem (RCPSP). Similar to the RCPSP, the problem of scheduling design activities has precedence constraints and resource constraints. It is assumed that the design activities are not preemptive. Here, the objective is to minimize the weighted lateness of design activities, which is also used in the traditional project scheduling problem.

The generalized nature of the problem considered here causes certain difficulties in modeling as well as solving this problem. The input information to the design activities is provided by the preceding activities. Weights are assigned to all design activities based on the importance of information generated by these activities. During the product development

process new information might be generated and some new aspects of the design project might be revealed. In such a case, the importance of the information required may vary with respect to certain design activities. As a result, the weights of activities do not remain constant and they may vary with respect to the demands from succeeding activities. The level of detail of the information required may vary and hence the time required to perform the design activities will also change. Therefore, unlike RCPSP, the expected duration of activities may change as the design project progresses and more design information becomes available. For example, consider design of an electronic product which has two modules A and B adjacent to each other. It was previously determined that the heat generated in the power supply module A is below a certain value and it may not be necessary to test the performance of module B extensively under various temperature conditions. Later it was realized that some of the components in module A need to be replaced by some other components. As a result, the weights and time estimates of activities corresponding to thermal analysis of modules A and B were increased.

The PERT and CPM methods assume that the relationship between the level of resources and duration of activities is known a priori for all activities. Therefore, simplified approaches to the project scheduling problem can not be used to solve the problem of scheduling design activities. Furthermore, due to the differences between the RCPSP and the problem of scheduling design activities, the approaches for solving the RCPSP available in the literature are inadequate for the problem considered in this paper.

B. Minimization of the Estimated Weighted Lateness of Design Activities

The objective of our paper is to minimize the total weighted lateness, subject to temporal constraints, precedence con- straints, and multiple resource constraints. This problem is dynamic in its nature, in the sense that the weights of design activities, expected duration of design activities, and the total resource availability may change over time. Therefore, any schedule developed at time t may have to be extensively modified at time t+tl. Such a situation preludes the usefulness for the computation of a schedule over a limited planning horizon. The computational effort involved in the development of an overall schedule would be wasted and the effort itself would have to be repeated every time that a change occurs. Therefore,, we decide to look at the problem at any given time instant, and to develop a schedule over a relatively short interval. At the completion of the first activity after time t the problem is solved again to schedule another set of activities.

Consider set S of activities eligible for scheduling at time t . The set S is determined based on the temporal constraints and precedence constraints. The status of resources is indicated by a vector, R. We also look at the total number of resources required to perform the activities in set S. If the resource requirements of all activities in set S can be satisfied by the resources available then all activities in set S are scheduled and we move to the next scheduling instant. If the total number of resources required by activities in set S is greater than vector

18 IEEE TRANSACTIONS ON ROBOTICS AND AUTOMATION, VOL. 12, NO. 1, FEBRUARY 1996

R, then it is not feasible to schedule all the activities in set S. In order to obtain a feasible solution, one or more activities of set S must be delayed. Therefore, all feasible solutions to the problem are subsets of set S. In order to schedule as many activities as possible and not to violate the resource constraints, we need to find all subsets of set S such that adding one more activity in the subset will violate the resource constraint. Even though the problem of finding all such subsets is a complex combinatorial problem, for a practical problem of moderate size, the search tree can be reduced to a great extent by removing activities from set S and checking the resource constraints instead of adding activities to an empty set.

Set S is the root of the tree at level zero. At the next level, i.e., level 1, all subsets with one activity less than set S are formed and the resource constraints are evaluated at each of these nodes. If a node results into an infeasible solution then that node is branched into subsets of activities at the next lower level with one activity less than their parent node. This search process continues until all the terminal nodes are feasible subsets of set S such that,

m

z = 1 Z=1

The decision to select one of these terminal nodes is based on the priorities (weights w,) assigned to the eligible design activities, the estimated design activity time ( d i ) and the latest start time ( L S ( i ) ) , and latest finish time (LF(i)) determined using the duration estimates for activities and the due date of the corresponding design phase. For each of the feasible subsets, the next time instant for scheduling is obtained using

t* = min{ci, c j } . i € S J E U

The weighted lateness of the activities in each subset is calculated for the corresponding nodes and the node with the minimum value of the weighted lateness is selected. Suppose that a feasible subset, S', with the minimum value of the weighted lateness is selected. All activities in S' are scheduled. As a number of design activities are undertaken the resource status vector is updated. The next instant for scheduling is set equal to t* corresponding to subset S'.

The iiext scheduling instant, t* , is the next completion time according to the schedule selected at time t. As a result of completion of some activity, some resources are made available. Also, there may be change in the total availability of one or more types of resources. The resource status vector, R, is updated accordingly. Completion of an activity means that some information request is met. The information generated is used by the succeeding activities. As a result, some more design activities may become eligible for scheduling. The set S of eligible activities is updated. The scheduling problem is solved again at the new instant, t*.

The main advantage of this approach is that it is dynamic in the sense that the system makes decision at every completion of an activity. For a design activity network with hundreds of activities, the problem solved at any time instant t is considerably small. In addition, the computational effort of

recomputing the entire schedule at each time instant is saved. The scheduling algorithm is as follows:

Iv. ALGOlirrHM

Step 0: At the completion of an activity i at time t , update the resource status vector R and weights of activities in set S. Also determine the latest finish time, latest start time and duration for each of these activities at time t .

Step I : Check whether it is feasible to schedule all ac- tivities in set S according to the resource constraints. If yes, schedule all activities in set S and move to the next time instant. Otherwise, construct a search tree and obtain all feasible subsets of set S such that (1) is satisfied.

Step 2: Determine the value of t* for each subset corre- sponding to each terminal node using (2) and evaluate value of the objective function using the following function 2 at all terminal nodes of the search tree:

z = w, max(t* - L S ( ~ ) , 0). Z E S k

Step 3: Schedule activities in subset S; for which the value of 2 is minimum. If more than one set has the same value of the objective function then break the tie by selecting the set with the maximum number of activities. Set new value o f t to t* corresponding to the subset selected S;. Go to Step 0.

In the push approach, the activities are scheduled in a static mode. The availability of resources, weights of activities, and their durations are determined a priori and it is assumed that none of them changes throughout the project duration. Under these constraints, a schedule of activities is obtained to achieve a certain objective. The estimates of design activity durations are based on the amount of design information required as output from these activities. The nature of the design process is dynamic and each design project is unique in nature. As the design process progresses, more information becomes available and the importance of information and the level of detail required from the remaining activities may change. This is simply due to the changing demand of downstream activities. Although the push approach is computationally less demanding than the pull system approach described in this paper, it is highly likely that the schedule obtained using the push approach may be less efficient.

In the pull approach, the schedule of activities is obtained over a short time interval by using the above algorithm. Frequent updates and schedule computations are performed. Since the updates are based on the current requirements of the downstream activities, the pull schedule is of better quality. The approach presented in this paper avoids numerous computations of the entire schedule of activities.

C. The General Framework for Scheduling Design Activities

In general, there may be a number of design projects undertaken at the same time. The same activity might need to be performed for different design projects. For example, thermal analysis might need to be performed for different electronic devices in the design process, provided that all the preceding activities have been performed. The weight of the

BELHE AND KUSIAK: SCHEDULING DESIGN ACTIVITIES WITH A PULL SYSTEM APPROACH 19

- -

- -

Fig. 4.

TABLE I THE RELATIONSHIP AMONG DESIGN ACTIVITIES IN PHASE C

TABLE II ACTIVITIES WITH THEIR RESOURCE REQUIREMENTS, WEIGHTS, AND ESTIMATED DURATION

The design activity network for phase C.

-t

- +

same design activity for different design projects may vary. A design activity common to a number of projects can’ be considered, for example, as a workstation processing requests for the design information placed in a queue.

The algorithm discussed in Section 111-B can be generalized for multiple design projects requiring the same design activity network. According to the algorithm, in the case of a single project a set of activities eligible for scheduling at time instant t is selected. Now, consider activity i eligible for scheduling in a number of projects, subject to the precedence constraints and the temporal constraints. Therefore, in general, it is required

to select a project for each eligible activity. Given a number of projects for which the same activity is eligible, dispatching rules as in the case of single machine scheduling, can be used to prioritize a certain design project with respect to the others corresponding to a particular activity. Arranging a number of design projects in a sequence at each eligible activity can be done to minimize a certain objective function. For example, suppose that there are n design projects for which activity i is eligible for scheduling. As stated in Baker [l], the maximum lateness can be minimized by sequencing the projects such that

LF(i)l 5 LF(i)a 5 * . . 5 LF(i),

where LF(i), is the latest finish time of activity i correspond- ing to design project j.

The set of eligible activities thus formed consists of the ac- tivities corresponding to the same or different design projects. The choice of weights for the design activities in this set depends on the importance of the information generated by these activities with respect to the succeeding activities as well as the importance of the design project.

The main emphasis of the framework presented in this chapter is on pulling the design information and dynamically scheduling activities of multiple design projects to minimize the total weighted lateness at each time instant subject to temporal, precedence as well as resource constraints.

V. NUMERICAL EXAMPLE In this section, an example illustrating application of the

algorithm in Section 111-B is presented. The design process has

20 IEEE TRANSACTIONS ON ROBOTICS AND AUTOMATION, VOL. 12, NO. 1, FEBRUARY 1996

h

Fig. 5 . Search tree to determine all feasible subsets of the set S.

TABLE III NODES OF THE SEARCH TREE

infeasible 4 4 infeasible

been divided into five different phases (see Fig. 1). Suppose that, phase C is the ongoing design phase. The design activity network corresponding to phase C is shown in Fig. 4. The temporal constraints for the activities in phase C are listed in Table I. The latest finish time for each design activity in the network is calculated considering the expected time duration of design activity and due date for design phase C and the temporal relationships between activities. The latest finish time of each design activity is obtained by setting beginning time of phase C to zero and the due date is adjusted accordingly.

Suppose that we need to determine the schedule of design activities at t = 10.

Step Or At t = 10, the set of activities eligible for sched- uling is obtained, S = {4,7,8,9, lo}. Phase C requires 3 types of resources. The availability of these resources at the time instant given is updated to (10 8 8). The end activities of the design phase C require information, either directly or indirectly, from all the remaining activities in phase C. Based on the importance of input information required by the succeeding activities at time t = 10, weight values are updated considering the information is available at the current

I I

7 I

8

9 I I I

I I

10 I s10 I c10 I I

t = 1 0 t*= 13 I I

Fig. 6. The Gantt chart of a feasible solution at node g

time instant. The latest finish times, latest start times, resource requirements, weights of activities and expected duration of activities at time t are shown in Table 11.

Step 1: Due to the resource requirements of the eligible activities and the limited resource availability it is determined that all activities in set S can not be scheduled simultaneously. Therefore, it is required that one or more activities need to be delayed so that the total weighted lateness is minimized. All feasible subsets of set S are determined by delaying the minimum number of possible activities using the search tree rooted at node representing set S (see Fig. 5).

Step 2: The schedule of activities corresponding to each node is evduated using the objective function, 2. For example, consider the feasible schedule represented by node g in the search tree in Fig. 5. The partial schedule depends upon the resource requirements. The result of scheduling activities 7, 8 and 10 is shown in Fig. 6. The processing of design activities 7, 8 and 10 begins at t = 10. As a result, according to the expected duration of activities in set S, the activities 8 and 10 will be completed at time t = 13. Since the only activities being processed are activities 7, 8 and 10, the first completion after time t = 10 is at t = 13. The value of the objective function is 40, i.e., (13 - 9) times weight of activity 4. In this way, the values of the objective function, 2, at all feasible nodes of the search tree have been calculated (see Table III).

Step 3: The minimum value of the objective function was found at nodes d , i and j . The subset corresponding to node d has 4 activities and hence the activities 4, 7, 9, and 10 are scheduled. Then, the time instant is set to t = 12 and we proceed to Step 0.

VI. CONCLUSION In this paper, a model for implementing a pull system for

design activities was presented. The problem of scheduling

BELHE AND KUSIAK SCHEDULING DESIGN ACTIVITIES WITH A PULL SYSTEM APPROACH 21

design activities is a multiple resource constrained scheduling problem. The due dates of individual design phases were treated as milestones to obtain the schedule for each design phase. Consideration was given to the fact that in practice the importance of design activities and duration of activities may change over time. Due to such unpredictable nature of design process and variable resource levels, a dynamic scheduling approach was selected. A new algorithm was proposed and its use was illustrated with an example.

ACKNOWLEDGMENT The authors would like to thank three anonymous referees

for their useful comments.

REFERENCES

K. R. Baker, “Sequencing rules and due-date assignments in a job shop,” Manage. Sci., vol. 30, no. 9, pp. 1093-1104, 1984. -, Introduction to Sequencing and Scheduling. New York Wiley, 1974. E. Balas and E. Zemel, “An algorithm for large zero-one knapsack problems,” Operations Res., vol. 28, no. 5, pp. 1130-1154, 1980. C. E. Bell and K. Park, “Solving resource-constrained project scheduling problems by A* search,” Naval Res. Logistics, vol. 37, pp. 61-84, 1990. N. Christofides, R. Alvarez-Valdes, and J. M. Tamarit, “Project schedul- ing with resource constraints: A branch and bound approach,” European J. Operations Res., vol. 29, pp. 262-273, 1987. E. W. Davis and J. H. Patterson, “A comparison of heuristic and optimum solutions in resource-constrained project scheduling,” Manage. Sci., vol. 21, no. 8, pp. 944-955, 1975. E. Demeulemeester and W. Herroelen, “A branch-and-bound proce- dure for the multiple resource-constrained project scheduling problem,” Manage. Sci., vol. 38, no. 12, pp. 1803-1818, 1992. S. Elmaghraby, Activity Networks. New York Wiley, 1977. S. E. Elmaghraby and J. Kamburowski, “The analysis of activity networks under generalized precedence relations (GPRs),” Manage. Sci., vol. 38, no. 9, pp. 1245-1263, 1992. S. Gorenstein, “An algorithm for project sequencing with resource constraints,” Operations Res., vol. 20, no. 4, pp. 835-850, 1972. R. L. Graham, E. L. Lawler, J. K. Lenstra, and A. H. G. Rinnoy Kan, “Optimization and approximation in deterministic sequencing and scheduling: A survey,” Ann. Discrete Math., vol. 5, pp. 287-326, 1979. S. C. Graves, “A review of production scheduling,” Operations Res., vol. 29, no. 4, pp. 646675, 1981. 0. Icmeli, S. Erenguc, and C. Zappe, “Project scheduling problems: A survey,” Int. J. Operations Production Manage., vol. 13, no. 11, pp. 80-91, 1993. R. Karp, “Reducibility among combinatorial problems,” in Complexity of Computer Computations. R. E. Miller and J. W. Thatcher, Eds. New York Plenum, 1972, pp. 85-103. I. Kurtulus and E. W. Davis, “Multi-project scheduling: Categorization of heuristic rule performance,” Manage. Sci., vol. 28, no. 2, pp. 161-172, 1982. I. Kurtulus and S. C. Narula, “Multi-project scheduling: Analysis of project performance,” IIE Trans., vol. 17, no. 1, pp. 58-66, 1985. A. Kusiak and W. He, “Design of components for schedulability, Europen J. Operational Res., vol. 76, pp. 49-59, 1994. F. Londono, K. J. Cleetus, D. M. Nichols, S. Iyer, H. M. Karandikar, S. M. Reddy, S. M. Potnis, B. Massey, A. Reddy, and V. Ganti,

“Coordinating a virtual team,” CERC, W. Virginia Univ., Morgantown, Tech. Rep., 1992.

[19] D. N. Mallick and P. Kouvelis, “Management of product design: A strategic approach,” in Intelligent Design and Manufacturing, A. Kusiak, Ed. New York Wiley, 1992, pp. 157-178.

[20] J. Moder and C. Phillips, Project Management with CPM and PERT, 2nd ed. New York Van Nostrand Reinhold, 1970.

[21] Y. Monden, Toyota Production System. Atlanta, G A Ind. Eng. Man- age., 1983, pp. 13-28.

[22] J. H. Patterson, “A comparison of exact approaches for solving the multiple constrained resource project scheduling problem,” Manage. Sci., vol. 30, no. 7, pp. 854-867, 1984.

(231 M. Pinedo, “Stochastic scheduling with release dates and due dates,” Operations Res., vol. 31, no. 3, pp. 559-572, 1983.

[24] L. Schrage, “Solving resource-constrained network problems by implicit enumeration-Non preemptive case,” Operations Res., vol. 18, pp.

[25] J. P. Stinson, E. W. Davis, and B. M. Khumawala, “Multiple resource- constrained scheduling using branch and bound,” AIIE Trans., vol. 10, no. 3, pp. 252-259, 1978.

[26] E. Balas, “Machine sequencing via disjunctive graphs: An implicit enumeration algorithm,” Operations Res., vol. 17, no. 6, pp. 941-957, 1969.

[27] A. Law and W. Kelton, Simulation Modeling and Analysis. New York McGraw-Hill, 1982.

263-278, 1970.

Upendra D. Belhe received the B.E. degree in electrical engineering from University of Poona, India, the M.S. degree in industrial engineering from the University of Miami, Coral Gables, FL, and the Ph.D. degree in industrial engineering from the University of Iowa, Iowa City, in 1995.

He is currently working as a Senior Consul- tant with the Quantum Corporation, Wilmington, DE. His interests include planning, scheduling, and mathematical modeling of manufacturinh systems.

Dr. Belhe is a member of Tau Beta Pi and Alpha Pi Mu.

Andrew Kusiak (M’90) received the M.S. degree in mechanical engineering from the Warsaw Technical University in 1974 and the Ph.D. degree in opera- tions research from the Polish Academy of Sciences, Warsaw, Poland, in 1979.

He is currently Professor in the Department of In- dustrial Engineering, University of Iowa, Iowa City. He was a member of the faculty at the University of Manitoba, Canada, and the Technical University of Nova Scotia, Canada. He has also worked for a number of industrial companies. He is interested in

applications of artificial intelligence and optimization in engineering design and manufacturing. He has authored and edited numerous books, and has published research papers in journals sponsored by various societies, such as A M , ASME, IEEE, IIE, INFORMS, ESOR, IFIP, IFAC, IPE, ISPE, and SME.

Dr. Kusiak serves on editorial boards of numerous journals, edits book series, and is the Editor-in-Chief of the Joumal of Intelligent Manufacturing.