+ All Categories
Home > Documents > MultiProject Scheduling

MultiProject Scheduling

Date post: 23-Jan-2018
Category:
Upload: bill-brooks
View: 213 times
Download: 0 times
Share this document with a friend
47
1 Multi-Project Scheduling in a Matrix Organization Or How to Schedule Multiple Projects Without a Lot of Meetings By William M. Brooks [email protected] 1.0 Introduction Many organizations conduct simultaneous projects using a matrix organizational structure to dispatch people to these projects. An example matrix structure is shown below. This organizational structure is known as a matrix because at each intersection is a potential assignment of a person to a project, e.g. Tom, Dick, Harry, Mary, and Susan, are potentially available to be assigned to more than one project, e.g. Project A, Project B, and Project C. Frequently, several projects will attempt to simultaneously employ a common pool of people. If each Project Manager individually seeks to optimally schedule their respective projects to achieve minimum Time To Market (TTM) with people drawn from the common pool, the result is often a significant increase in the TTM of all projects accompanied by over-allocation of people. The temptation to optimally schedule projects individually is great due to intuitive notions that optimized individual projects will accelerate the completion of the projects. There is considerable literature supporting this incorrect belief. Datar, Jordon, Kekre, Rajiv and Srinivasan 1 recently looked at fast-cycle, high technology industries and analyzed 200 new product development projects. They examined the effects of organizational structure on the ability to rapidly prototype and produce the new products. They found that a “concentrated” product development structure, i.e. highly focused and highly projectized, produced Project B Project A Tom Dick Harry Mary Susan Project C
Transcript
Page 1: MultiProject Scheduling

1

Multi-Project Scheduling in a Matrix Organization Or

How to Schedule Multiple Projects Without a Lot of Meetings By

William M. Brooks [email protected]

1.0 Introduction

Many organizations conduct simultaneous projects using a matrix organizational

structure to dispatch people to these projects. An example matrix structure is shown below.

This organizational structure is known as a matrix because at each intersection is a potential assignment of a person to a project, e.g. Tom, Dick, Harry, Mary, and Susan, are potentially available to be assigned to more than one project, e.g. Project A, Project B, and Project C. Frequently, several projects will attempt to simultaneously employ a common pool of people. If each Project Manager individually seeks to optimally schedule their respective projects to achieve minimum Time To Market (TTM) with people drawn from the common pool, the result is often a significant increase in the TTM of all projects accompanied by over-allocation of people. The temptation to optimally schedule projects individually is great due to intuitive notions that optimized individual projects will accelerate the completion of the projects. There is considerable literature supporting this incorrect belief. Datar, Jordon, Kekre, Rajiv and Srinivasan1 recently looked at fast-cycle, high technology industries and analyzed 200 new product development projects. They examined the effects of organizational structure on the ability to rapidly prototype and produce the new products. They found that a “concentrated” product development structure, i.e. highly focused and highly projectized, produced

ProjectB

ProjectA

Tom Dick Harry Mary Susan

ProjectC

Page 2: MultiProject Scheduling

2

product development results with shorter TTM. The pressure to reduce TTM is high because of the “positive feedback effect” in the high-technology business environment that causes the first two manufacturers to enter the marketplace with the next generation product to capture up to 80% of that marketshare. There is considerable literature concerning the value of being first to market with a new product. Hendricks and Singhal2 sampled the empirical evidence of late product introductions from 101 companies engaged in new product introductions. They found that the announcement of a delayed product introduction decreases the market capitalization value of the company by 5.25%. The consequence is organizations attempt to execute several projects simultaneously but compete for limited resources drawn from a common resources pool. This multi-project scheduling has resulted in low productivity and high TTM for many matrix organizations. There has been considerable research concerning the actual effectiveness of matrix organizations in highly competitive and dynamic business environments. Kalu3, Ladson and Gobeli4, Jerkovsky5, and McCullum and Sherman6 describe empirical studies of the effectiveness of matrix organizations, where effectiveness was measured as the percentage of projects that met or exceeded their baseline business objectives. Souder7 quantified the performance gap between projectized organizations, matrix organizations, and functional organizations by reporting the results of 289 new product innovation projects at 53 commercial companies in 8 different industries conducted over a 10 year period. He concluded that 73% of projects in a projectized organization met or exceeded their baseline business objectives contrasted to 43% and 45% for functional and matrix organizations respectively. This is not a failure of matrix organizational structures, but rather an inability to effectively handle the multi-project scheduling problem across the organizational matrix. Analytically handling multi-project scheduling has always been seen as an intractable problem due to the computational complexities involved and the limitations of the typical project management tools. The most common action is to capitulate and schedule projects based on perceived urgency, a scheduling heuristic known as Maximum Urgency First (MUF) scheduling. It has been proven that MUF scheduling always leads to maximum tardiness of all projects scheduled this way, a counterintuitive result that is often devastating to the organization.

This paper will describe the analytical background of project tasks scheduling in a resources constrained business environment, and introduce algorithms that can be used in conjunction with readily available project management software tools such as Microsoft Project, to perform multiple project schedule optimization. A comparison of several scheduling algorithms is presented using example projects that use a common pool of resources but have different project durations, outcome priorities, and due dates. Several schedule performance metrics are introduced to quantify the schedule performance comparisons, and a software tool developed specifically to perform multi-project scheduling will be described. In addition, the effects of the Learn-Forget-Relearn (LFR) cycle are discussed.

2.0 Previous Research In Multi-Project Scheduling

Much research exists concerning resource-constrained project scheduling

problems (RCPCP) in single project environments.8,9 and many others10. However, work in scheduling of multiple projects that use a common pool of resources is relatively

Page 3: MultiProject Scheduling

3

limited, particularly in dealing with dynamic scheduling environments in which new unanticipated projects arrive or project scope is uncontrolled, or in stochastic scheduling environments in which task durations involve uncertainty. There are some examples of static scheduling research that include integer-programming formulations, but are limited by the computational capacity of the software tools that implement the algorithms.

Dummond and Mabert11 introduced a multiproject environment where new

projects arrive dynamically. They focused their study on testing of the Scheduled Finish Time (SFT) scheduling heuristic that schedules each project as it arrives in order to estimate an expected completion date. Bock and Patterson12 extended this work by introducing three preemption policies that concerned dealing with new projects with higher priorities. Their work confirmed the superiority of the SFT rule. Kurtulus13, Kurtulus and Davis14, and Kurtulus and Narlua15 studied the performance of the First Come First Served (FCFS), Minimum Slack (MinSLK), Minimum Latest Finish Time (MinLFT), and the Shortest Activity from the Shortest Project (SASP) scheduling heuristics in product development type projects. Tavares16 studied networks of projects and proposes a dynamic programming approach. Welgarz offers a study of project scheduling with stochastic task interruptions.17 Fendley18 offers an explicit definition for the multi-project scheduling problem, and Patterson19 offers metrics for schedule performance. Pinedo and Yen speculate on the development of object-oriented scheduling agent software tools and describe a possible architecture for the design approach20.

3.0 Overview of the Multi-Project Scheduling Problem and Needs

Time-based competition is so fierce in some rapidly evolving industries, e.g.

Internet-business based companies, that Iansati and MacCormack21 advocate product requirements analysis and product implementation be performed simultaneously! Project flowtime is the critical issue in these environments, where flowtime is defined as the timespan from when the project is authorized to start to the date of project completion. Project flowtime is also known as Time To Market (TTM) if the project is a new product development effort. Project flowtime is distinguished from project makespan; project makespan is defined as the timespan from actual project start to project completion. Project makespan is also known as project duration. It can be seen that minimizing project makespan is a different scheduling optimization objective than minimizing project flowtime. Frequently, due to resources shortages, a project start may be delayed (hence increasing the project flowtime) to a later time when resources are available yet will result in shortened project makespan and costs of implementation. Cohen, Eliashberg, and Ho22 offer an analytical trade-off of the scope of new product requirements analysis versus time-to-market with respect to maximizing profit for the selling company. They stress the contrast between minimizing Time-To-Market (TTM) and minimizing Time-To-Profit (TTP). The collision of project tasks in a time-constrained and resources-constrained business environment can also be addressed as a discrete event simulation of queuing theory as described by Levy and Globerson23. Levy and Globerson use queuing theory to show the relationship between the utilization (team tasks loading), costs of under-utilization, and costs of delaying a project caused by resources availability limitations, (they call it a “waiting cost”). An example in their article suggests that the

Page 4: MultiProject Scheduling

4

minimum total project labor cost is achieved at a team loading factor of 0.45, i.e. commit the team to a level of work of no more than 45% of capacity. This level assures the maximum ability to respond to new projects as they arrive, but complete existing projects as quickly as possible. In business environments that are more sensitive to TTM than to costs, the resource-loading factor is often increased to 85% or more if the multi-project scheduling can dispatch tasks to resources to support that level. Further, queuing algorithms assume a fixed “flow shop” sequence rather than the more realistic “job shop” task arrangement with multiple resources.

We can estimate the Total Labor Costs in terms of Task Congestion Costs, Labor

Rates, and Human Stress Costs by using task weights, task proficiency, and resource utilization loading factors24. The Total Labor Costs, TC, using these factors is given by

where: TC = Total Labor Costs for a variable resource ω = task priority weight N = number of tasks assigned to a resource P = proficiency of the resource on the currently assigned task ρ = resource utilization loading factor (work assigned/time available) Co = normal wage rate of the resource C1 = stressed costs wage rate of the resource (additional sick leave, mP = maximum proficiency level of the resource on the assigned task

The first term is the Task Congestion Cost, the second term is the explicit Labor Rate costs, and the third term is the Human Stress Costs. Note that the explicit Labor Rate Costs go down but only at the rate of the inverse of Proficiency, i.e. 1/P, and that the Human Stress Costs decreases approximately as 1/P far below the maximum level (mildly increasing stress for a shorter time), but as the effects of stress appear via C1 the term increases as –1/P2; then as P approaches the maximum possible mP , stress increases to infinity. The global minimum for the Total Costs will be within the range of 0.5 mP to

mP . Also note that mP is a strong function of time spent on a task without preemption, exhibiting an exponential rise with respect to time. It is interesting to note that the queuing theory approach will perform well if: The projects are independent, i.e. no resources or technology interdependencies or

inter-project precedence constraints The tasks are independent, i.e. no intra-project precedence constraints Tasks require only those resources that are confined to a single project within any

time period Resources are independent, i.e. they are interchangeable (same skills level)

+

+−=− )(

))(( 1

PPPPC

PC

PNTCm

moρω

Page 5: MultiProject Scheduling

5

However, real-life business environments frequently do not obey these conditions. Often, people must work in teams as a mix of skills is required on some tasks, projects are being executed in accordance with a strategic technical capabilities roadmap, and tasks are precedence-constrained. Clearly, those companies embroiled in time-based competition need a scheduling approach that minimizes project costs but also reacts to the rapid time-to-market needs of their business environment. Specifically, we need a scheduling approach that can handle: Multiple projects that contain arbitrary precedence constrained tasks Projects that have differing priorities, e.g. customer priorities, profit levels, strategic

utility values, etc. Projects that must minimize time to market (TTM) Projects that may use more than one resource per task for differing durations or

differing workloads Projects that must use resources with different skills levels and task processing speeds 4.0 GRCPSP Linear Programming Approach Overview

Techniques such as linear programming, simulated annealing, genetic algorithms, branch and bound, filtered beam search, dynamic shifting bottleneck, queuing theory, etc. have been developed to mathematically describe the project scheduling problem. A classical description using linear programming defines the resource-constrained project scheduling problem (RCPSP) formulation and the generalized resource-constrained project-scheduling problem (GRCPSP) formulation is given below. The RCPSP involves the scheduling of a project to minimize its total makespan subject to zero-lag finish-start precedence constraints of the PERT/CPM type and constant availability constraints on resources. An integrated formulation can be created based on the basic principles defined by Christofides25 et al, Demeulemeester26, and Demeulemeester and Herroelen27 and is given below:

RCPSP Linear Programming Approach Let fn be an artificial zero duration dummy node in a project tasks network that represents the finish of that project consisting of n tasks, i.e. fn is the project

completion milestone. The linear programming approach to RCPSP says: where St is the set of tasks in progress in the time interval [t-1, t], tj is the processing time of task j, Rk is the total availability of resource type k, and f1 represents another dummy node that is the start of the project, i.e. the project kick-off milestone. The precedence constraints given here assume that a successor

ktSi ik

jji

n

Rr

tfff

f

−≤=

∑∈

0such thatmin

1

Page 6: MultiProject Scheduling

6

task may not start until a predecessor task has been completed, i.e. no task preemption is allowed. The resources constraints require that that the tasks in progress cannot exceed the resources availability. Minimizing the finishing time of the unique ending dummy milestone task n minimizes project duration.

In the generalized resource-constrained project scheduling problem (GRCPSP) three basic assumptions of the RCPSP are relaxed. First, the GRCPSP allows the precedence relations of the diagramming type, i.e. start-start, finish-finish, finish-start, and start-finish constraints, with the only restriction being that tasks are not allowed to start before all of their predecessors have started. Second, ready times (preparation time) and due dates may be specified for each task separately from the task processing time. A task cannot be started before its ready time and must be completed before its due date. And third, the resource availability may be variable over the duration of the project. If we wish to be able to use the GRCPSP approach we shall require that we be able to accept user inputs in the form of due dates, precedence constraints, and whether resources availability is allowed to be variable, i.e. preempted, or not. The typical project management tools such as Microsoft Project due not have these abilities, but the algorithms can be appropriately modified. In fact, ten project management scheduling tools were subjected to the Newman-Keuls Test for project completion delay in multiple project scheduling, and Microsoft Project performed the worst of the ten.28 The scheduling algorithms within Microsoft Project can be modified to perform more sophisticated GRCPSP optimization that greatly improves its ability to handle multiple project minimum TTM objectives and will be described later in a later section of this paper. An integrated GRCPSP problem statement can be formulated as :

Where SS is the set of tasks with start-start relations, SF is the set of tasks with start-finish relations, FS is the set of tasks with finish-start relations, and FF is the set of tasks with finish-finish relations. These relations are typical default settings in Microsoft Project. The constraint of ri is the ready time of the task, and Rkt is the availability of resource type k during time period [t-1,t].

kttSi kt

ii

iii

jiji

jjiji

jijii

jiijii

n

Rrdf

rtff

fFFftfFSf

fSFtftfSStf

f

≤≥−

=

≤+

−≤+

≤+−

−≤+−

∑∈

0

such thatmin

1

Page 7: MultiProject Scheduling

7

4.1 Project Schedule Objectives Determining which task should be performed in which time period depends

strongly on the desired schedule objective. Four schedule objectives are considered here: 1. Minimize total throughput time for all projects (minimum flowtime) 2. Minimize the time by which all projects are completed, i.e. minimize

makespan 3. Minimize total tardiness or weighted tardiness penalty 4. Maximize Net Present Value (NPV)

Achieving these objectives forces the Project Manager to confront constraints such as:

1. Limited resources, e.g. people 2. Precedence constraints between tasks 3. Precedence constraints between projects 4. Project due dates, i.e. market entry time 5. Task due dates 6. Cashflow limitations

4.1.1 Definitions and Notations

i = project number, i=1,2,3,…..I; I= number of projects being scheduled j= task number, j=1,2,3,……Ni, Ni= tasks in project i t= time period, t=1,2,3,….maxDi, Di= absolute due date time period of project i di= desired due date. Project i is not late if it is completed in or before period di ei= earliest possible completion date for project i assuming project i can be defined aij= arrival period of task j in project i, assuming arrivals occur at the beginning of a time period dij= number of time periods required to perform task j in project i assuming some certainty in task duration lij= the earliest possible period in which task j could be completed uij= the latest possible period in which task j could be completed, an absolute task due date k= resource number, k= 1,2,3,….K; K= number of different resources rijk= amount of type k resource required for task j in project i Rkt= amount of type k resource available in time period t xijt= a binary variable

4.1.2 Minimizing Total Project Throughput Time, a.k.a. Time To Market (TTM)

Individual project flowtime is defined as the time between project kick-off and

project completion, a.k.a. Time To Market (TTM). Project completion occurs when all

Page 8: MultiProject Scheduling

8

tasks in that project have been completed and release the resources to other projects. If ai is the kick-off of the ith project, flowtime for that project is:

Minimizing flowtime for a single project is equivalent to maximizing the number of periods remaining after the project is completed, where this number of periods is:

Therefore, the objective function for minimizing the sum of the flowtimes for all projects can be written as

Ordinarily, tasks are started as soon as possible (ASAP is the default task definition in most project management tools e.g. Microsoft Project) if doing so does not increase flowtime. This can be accomplished by maximizing

Where M is a positive number sufficiently large to ensure that the contribution of the additional right-side term is less than that of any itx . This technique is known as the “Big M Method” as described by Schrage29 and Winston30. A suitable choice for M would be

4.1.3 Minimizing Project Makespan

An alternative objective function is to determine the time by which all projects are completed, i.e. minimize makespan.

max1∑∑==

=iD

ietit

I

ixZ

i

iD

ietiti axD −+−∑

=

1

∑=

i

i

it

D

etx

1max111∑∑∑∑∑=====

−=

ij

ijltijt

N

j

I

i

iD

ietit

I

i

utx

Mxz

i

∑∑==

>iN

jij

I

iuM

11

0,1

==

t

t

xx

Page 9: MultiProject Scheduling

9

A binary variable xt is defined as: (1 if all projects are completed by time t, otherwise 0.)

Minimizing makespan can also be expressed as a maximization problem, by stating:

4.2.1 Task Completion Each task in each project has exactly one and only one completion time period, which can

be expressed in a general way as:

Notice that the value of any one of itx can be determined by the values of the others in that constraint. To use the format generally used in linear programming optimization31, we express it as: 4.2.2 Project Completion

Expressions involving itx variables require that the itx variables for each project

be zero until all of its jobs have been completed, i.e. project i cannot be completed by period t until:

for all Ni tasks of project i. This constraint requirement can be expressed as:

11

=∑−

=

t

ijlqijqx

1 1

1∑∑−

==

t

ijlqijq

N

jiit x

Nx

i

11

≤∑−

iju

ijltijtx

)N1,2,...,j I;1,2,3,..., (i 1 i===∑=

ij

ij

u

ltijtx

1max11

max

max∑∑∑∑====

−=

iju

ijltijt

N

j

I

i

iD

iett tx

Mxz

i

maxmax

max∑=

=i

i

D

ettxz

Page 10: MultiProject Scheduling

10

In situations that involve tx variables for the objective of minimizing project makespan, the above constraint requirement is stated as:

4.3.1. Project Tasks Sequencing

A sequencing constraint requirement is required when a task cannot be started

until one or more other tasks have been completed, i.e. in project i assume some task m must precede task n. If tim and tin denote the completion time periods of tasks m and n respectively then:

Note that:

Therefore the sequencing constraint becomes:

4.3.2 Minimum Project Cost objective The minimum project cost can be calculated if we know the planned expenses of a task or project, out

iF represented by BCWS (Budgeted Cost of Work Scheduled), and the discount rate α (or could be Minimum Attractive Rate of Return, MARR, if comparing a portfolio of projects), by calculating a schedule whose objective is minimized discounted cash flow outflows as

∑∑=

=

m

iit

touti

L

EtxeF

i

i1

)(min α

1 1

11

1

∑∑∑∑

===

=

≤t

ijlqijq

iN

j

I

iI

ii

t xN

x

ininim tdt ≤+

∑=

=inu

inltin txt int ∑

=

=imu

imltimtim txt

int∑∑==

≤+inu

inltin

imu

imltimt txdtx

Page 11: MultiProject Scheduling

11

4.3.3 Maximum Net Present Value (NPV) objective The NPV maximization problem can be stated as a mixed integer nonlinear

program where binary variables, itx (i = 1,2,3,….m) determine the start of each project, i.e., itx =1 if project i starts at time t, and 0 otherwise. The profit maximization goal will seek to maximize Net Present Value (NPV) of the portfolio of all projects subject to the operating constraints of the organization. This can be stated mathematically as

Subject to the following unique start time constraint;

task precedence constraints,

and resource utilization constraints,

where: m= number of projects Fi

out=cashflow outflow (expenditures) for project i Fi

in=cashflow inflow (revenues) for project i α=discount rate di=project duration of project i Ei=earliest start time for project i Li=latest start time for project i K=number of resources types in the project Rik=requirement of resource type k by project i Rkt=amount of time resource type k is available in time period t A=set of inter-project precedence constraints D=completion deadline for all projects (planning horizon constraint)

itdtin

i

L

Et

m

iit

toutL

Et

m

ixeFxeF i

i

i

i

i

i

)(

1

)(

1 Maximize +−

==

==∑∑∑∑ + αα

m1,2,3,....i 1 ==∑=

i

i

L

Etitx

A j)(i, ∈∀≥−∑ ∑= =

i

L

Et

L

Etitjt dtxtx

j

j

i

i

D..,1,2,3..... tK;...,1,2,3.....k

1

1==≤∑∑

−+

==kt

dt

tqiqik

m

iRxr

i

Page 12: MultiProject Scheduling

12

4.3.4 Project Resource Constraints

The value of rijk specifies the number of resource units, i.e. people, of type k required for the execution of task j, project i. Resources required are assumed to be committed to that task until that task is completed, i.e. no interruptions or task

preemption. In any given time period, the amount of resource k used on all tasks cannot exceed the availability of resource k. A task is being processed in time period t if the task is completed in time period q where: Therefore, the resource constraint for the linear programming implementation is expressed as:

5.0 Scheduling Optimization Performance Metrics Overview

Schedule performance is quantified and measured using several different objective metrics that are related to the business objectives of the projects being scheduled. The schedule performance metrics of greatest interest in multi-project scheduling are shown below. The scheduling optimization algorithms consider schedule factors such as task durations, task precedence constraints, resources capacities, task or project outcome weights, due dates, and due date weights.

N

Fj

j∑=Flowtime Average

N

Tj

j∑=Tardiness Average

N

Lj

j∑=Lateness Average

jj

F∑= jwFlowtime WeightedTotal

∑=j

jj LwLateness WeightedTotal

jj

TjTw∑=Tardiness WeightedTotal

{ }jj CmaxC ,Makespan max = where:

1−+≤≤ ijdtqt

1

11kt

ijdt

tqijqijk

iN

j

I

iRxr ≤∑∑∑

−+

===

Page 13: MultiProject Scheduling

13

jjjj CF ready time)( timeCompletion)(Flowtime j −= )(duration)( timeCompletion)(Lateness jjj jjj tCL −= { }jj L0,max)(Tardiness =jT as defined earlier. Lateness, tardiness and flowtime are demonstrated in the example below;

In dynamic and resources constrained business environments, it is often observed

that a trade-off between flowtime (Time To Market) and project makespan (duration) is needed. Dynamic scheduling often requires that tasks or projects be preempted in order to add new tasks or projects of greater priority. A common situation is that long makespan projects will suffer several preemptions and hence the makespan becomes even longer. It may be better to delay starting a project (which increases the flowtime) when resources are not available in exchange for starting the project later when resources are available thus shortening the project makespan. The shorter makespan will reduce the cost of the project but at a cost of delayed Time To Market. An example is shown below:

(note: The arrows shown above are annotations to direct attention to the changes in durations and do not represent precedence constraints.) 5.1 Multi-Project Schedule Optimization Example

Page 14: MultiProject Scheduling

14

Consider the example case of three projects called Project X, Project Y, and Project Z that represent a total of 33 tasks requiring 2008 labor-hours of work (251 labor days) and a total of 38 task precedence constraints. These three small projects can demonstrate the performance of the algorithms discussed. Projects that contain larger numbers of tasks and resources will yield even greater benefits from the algorithms discussed later.

Project Name

Number of tasks

Number of precedence constraints

Number of resources @ critical

path duration

Critical Path Duration

(days)

Network Complexity

Factor

Project X 10 10 2 64 10 Project Y 13 16 3 23 19.7 Project Z 10 12 4 28 14.4

Each of these projects has been assigned different due dates, task outcome priority weights, and due date weights. Each of these projects can be independently scheduled to minimize the duration of each project, i.e. project duration equals the critical path duration. Each project has been independently scheduled to achieve the critical path duration with the minimum number of resources. The total resources labor commitment for 3 independently optimized projects is 309 labor-days. The resources labor utilization factor is then 251/309=81.2 %. The Gantt Chart for Project X is given below;

The Gantt Chart for Project Y is given below;

Page 15: MultiProject Scheduling

15

The Gantt Chart for Project Z is given below;

Recall that the shortest possible project makespan is the critical path duration if the task precedence constraints are to be obeyed and the tasks are the duration driven type. The resources were dispatched to the projects as individual and independent projects, i.e. without regard to multiple project scheduling concerns. Adding additional resources will not accelerate the projects when they are considered individually. The shortest possible makespan to complete all three projects is the longest duration critical path of the three projects, i.e. 64 days of Project Y. When multiple simultaneous projects are being scheduled using the same pool of resources drawn from the organization matrix, the outcome is frequently a significant increase in project makespan of all projects, thus delaying the TTM delivery of each project. We can see this by merging all three projects into a summary project called “Big Project 2”. The initial Big Project 2 summary Gantt Chart is seen below;

However, this schedule is not feasible because it seriously overallocates the resource beyond their capacity. The resource-leveling tool in Microsoft Project calculates a schedule that is feasible with respect to resource allocation, the resulting summary Gantt Chart is shown below;

The resulting multi-project schedule no longer overallocates the four resources, but significantly delays the projects as can be seen in the schedule performance metrics table below;

Page 16: MultiProject Scheduling

16

Project Status average tasks

flowtime (days)

Average tasks

tardiness (days)

Number of tardy

tasks

Total weighted flowtime

(utile-days)

Total weighted tardiness

(utile-days)

Before Leveling with Microsoft Project 98

24.4 7.03 11 4843 1410

After Leveling with Microsoft Project 98

(% schedule growth due to resource leveling)

49.4 (102 %)

22.24 (216 %)

21 (91 %)

9383 (94 %)

4163 (195 %)

The resources utilization factor has declined to 54.5 %. The multiple project schedule results can be significantly improved using the GRCPSP equations that are optimized for specific schedule performance metrics. However, the complexity of the schedule optimization equations quickly grows as the schedule complexity increases. 5.2 Schedule Optimization Computational Complexity Overview

Any instance of general scheduling problems with n tasks, m machines, r

resources, and A precedence constraints can be expressed as an Integer Linear Programming problem32 with the number of variables to be solved given by

and the number of equations and inequalities to be solved given by

The scheduling of such a situation is an overwhelming computation problem33.

For example, if we simplified the situation by ignoring the tasks precedence constraints and employing equally skilled resources, the number of possible schedules we would have to evaluate and choose from for 33 tasks and 4 resources is given by

This is an incredibly large number and considered an intractable computation.34 To put

this number into perspective, the number of atoms in the Milky Way galaxy is ≈10 56 [the name for such a large number is 100 sexdecillion] and in the observable universe there are ≈10 78 atoms35 [the name for this large number is trillion viginitillion]36. The optimal solution to this scheduling problem, which includes consideration of the precedence

1474 10)!33()!(schedules possible of # ≈== mn

( ) 112 +−+ mnn

( ) ( ) Amrnmnn 23291 ++++

+−

Page 17: MultiProject Scheduling

17

constraints, would require the use of 2,278 variables and 9,409 simultaneous equations or inequalities. The Integer Linear Programming (ILP) solution approach using mathematical calculation tools such as LINDO, CPLEX, MPL, OSL, Microsoft Excel Solver, etc. is not going to help solve a problem of this complexity even if we could construct a computer that used a single atom to represent each schedule. We can, however, employ some heuristic scheduling optimization algorithm approaches to this scheduling problem that will yield a feasible schedule that is close to the optimal schedule. 6.0 Scheduling Optimization Heuristic Algorithms Overview

Calculating an exact solution to a typical multiple project scheduling problem is

not practical due to the computational complexity of the problem. The number of variables and their interactions cause these scheduling problems to require incredibly large computation times. Another approach is use heuristic algorithms that seek to find an approximate best answer, but are not guaranteed to find the optimal answer.

Each of the scheduling optimization heuristic algorithms has been developed to perform well with respect to one or more of the schedule performance metrics. Some of the scheduling optimization heuristic algorithms perform well when scheduling single resources and independent tasks while other heuristic algorithms are better suited for projects with multiple resources and precedence constrained tasks. The heuristic scheduling optimization algorithms considered in this paper are:

• SPT (Shortest Processing Time first)

SPT seeks to minimize average task flowtime, average lateness, and average waiting time of multiple independent tasks performed by a single resource

• WSPT (Weighted Shorted Processing Time first) WSPT seeks to minimize average weighted task flowtime of multiple independent tasks performed by a single resource

• LPT (Longest Processing Time first) LPT seeks to minimize average tasks flowtime of multiple independent tasks performed by multiple parallel resources

• WLPT (Weighted Longest Processing time first) Weighted LPT seeks to minimize average weighted tasks flowtime of multiple independent tasks performed by multiple parallel resources

• Criticality Index Criticality Index seeks to minimize weighted tardiness of multiple tasks performed by multiple resources

• EDD (Earliest Due Date first) EDD seeks to minimize maximum lateness and maximum task tardiness of multiple tasks of multiple independent tasks performed by single and multiple resources

• MINSLK (Minimum Slack first, also known as Least Slack Rule) MINSLK seeks to minimize maximum tardiness of multiple tasks of multiple tasks performed by multiple resources

Page 18: MultiProject Scheduling

18

• R&M (Rachamadagu and Morton) R&M seeks to minimize weighted tardiness of multiple tasks of multiple

independent tasks performed by multiple resources. R&M is a composite of WSPT and MINSLK. R&M is considered the State of the Art in single resource independent tasks scheduling and is often used as a scheduling benchmark.

• Multi-Project Minimum TTM (developed by W.M. Brooks) Multi-Project Minimum TTM seeks to minimize average weighted task tardiness, total weighted tardiness, and total weighted flowtime, and weighted makespan of multiple tasks performed by multiple resources in multiple precedence constrained project networks performed by resources constrained pool of resources. It uses a nonlinear algorithm.

• Shifting Bottleneck Shifting Bottleneck seeks to minimize average weighted task tardiness and weighted flowtime of multiple tasks performed by multiple resources using a nonlinear myopic priority algorithm. The Dynamic Shifting Bottleneck was developed by T. Morton.

• Weighted COVERT (Cost OVER Time) Weighted COVERT seeks to minimize total weighted task lateness and total weighted task tardiness of multiple tasks performed by multiple resources using a linear myopic priority algorithm

A software program that executes each of these algorithms in a separate

executable program ,“Schedule Optimizer”, modifies the resource leveling algorithms in Microsoft Project. A schedule performance analyzer tool that can evaluate each resulting schedule using multiple schedule metrics is included. The optimization program can optimize schedules with deterministic or stochastic task duration inputs. The program provides a scheduling template for new project schedules, and is able to accept existing Microsoft Project files and modify them. This program provides a simple user interface for optimizing arbitrary input schedules created by the user as seen in the figure below.

The most powerful algorithm presently known for optimizing project schedules when precedence constraints and multiple resources are present is known as the Shifting Bottleneck. This is an algorithm that seeks to minimize the average weighted tardiness and weighted flowtime. The author of this paper has developed an algorithm called Multi-Project Minimum TTM that is a modified Shifting Bottleneck algorithm that adds the objective of minimum project makespan. The algorithm uses the weights of the project or task outcome in conjunction with the weights of the due dates that have been input by the user. The Multi-Project Minimum TTM algorithm seeks to find a schedule that will minimize average weighted tardiness, total weighted tardiness, total weighted flowtime, and weighted makespan to get the projects completed as early as possible, as quickly as possible, avoid finishing after a due date, and not over-allocate the resources. The algorithm attempts to make the compromises between these competing schedule objectives by calculating a merit function based on the schedule metrics discussed earlier. The algorithm has been adapted to work with Microsoft Project files.

Page 19: MultiProject Scheduling

19

The Project X, Project Y, and Project Z projects described earlier have been

assigned due dates, outcome priorities, and due date priorities and have been merged into the summary project “Big Project 2”. The Schedule Optimizer tool adds the capability to enter due dates, outcome weights, and due date weights, and to decide if task preemption is allowed, to Microsoft Project as can be seen in the example pop-up box below and the following Gantt Chart. Note the new columns for Due Date, Due Date Weight, and Outcome Weight in the Gantt Chart table that have been added by Schedule Optimizer.

Page 20: MultiProject Scheduling

20

This query sets whether the tasks may be split in order to free a resource to perform another task. If the task is split into subtasks m and n, then the duration of the split, mnτ , and hence the increased flowtime of the task, is given by

in

imu

imltimt

inu

inltmn dtxtx −−= ∑∑

==intτ

Each of the scheduling optimization algorithms was applied to the original three project schedule, including the basic resource leveling tool in Microsoft Project, and the schedule metrics analysis was performed to evaluate the efficacy of the resulting schedule. The results are shown below.

ID Task Name Duration Start Date Finish Date Resource Names Due Date Predecessors Outcome Weight Due Date Weight0 Big Project2 64 days Fri 8/13/99 Wed 11/10/99 Fri 11/26/99 8 61 Project X 23 days Fri 8/13/99 Tue 9/14/99 Fri 9/10/99 7 7

2 Task X1 6 days Fri 8/13/99 Fri 8/20/99 Tom Fri 9/10/99 8 5

3 Task X2 4 days Fri 8/13/99 Wed 8/18/99 Dick Fri 9/10/99 6 6

4 Task X3 5 days Mon 8/23/99 Fri 8/27/99 Dick Fri 9/10/99 2 7 7

5 Task X4 3 days Mon 8/23/99 Wed 8/25/99 Tom Fri 9/3/99 2,3 5 8

6 Task X5 6 days Thu 8/19/99 Thu 8/26/99 Harry Fri 9/3/99 3 3 5

7 Task X6 1 day Mon 8/30/99 Mon 8/30/99 Harry Fri 9/17/99 4 4 6

8 Task X7 2 days Mon 8/30/99 Tue 8/31/99 Dick Fri 10/1/99 4,5 7 4

9 Task X8 5 days Thu 8/26/99 Wed 9/1/99 Tom Fri 10/8/99 5 5 5

10 Task X9 4 days Thu 9/2/99 Tue 9/7/99 Tom Fri 10/15/99 8,9 3 7

11 Task X10 3 days Thu 9/2/99 Mon 9/6/99 Dick Fri 10/8/99 9 8 6

12 Task X11 5 days Wed 9/8/99 Tue 9/14/99 Tom Fri 9/10/99 10 5 8

13 Task X12 2 days Wed 9/8/99 Thu 9/9/99 Harry Fri 10/22/99 10,11 5 6

14 Task X13 6 days Tue 9/7/99 Tue 9/14/99 Dick Fri 10/15/99 6,11 4 7

15 Project Y 64 days Fri 8/13/99 Wed 11/10/99 Fri 11/26/99 2 8

16 Task Y1 14 days Fri 8/13/99 Wed 9/1/99 Tom Fri 10/29/99 6 6

17 Task Y2 4 days Fri 8/13/99 Wed 8/18/99 Dick Fri 9/24/99 8 7

18 Task Y3 6 days Thu 8/19/99 Thu 8/26/99 Dick Fri 9/17/99 17 6 3

19 Task Y4 4 days Thu 8/19/99 Tue 8/24/99 Dick Fri 9/24/99 17 7 5

20 Task Y5 14 days Thu 9/2/99 Tue 9/21/99 Tom Fri 9/24/99 16 8 7

21 Task Y6 14 days Thu 9/2/99 Tue 9/21/99 Dick Fri 12/24/99 16,18 9 5

22 Task Y7 4 days Wed 8/25/99 Mon 8/30/99 Dick Fri 12/17/99 19 4 6

23 Task Y8 36 days Wed 9/22/99 Wed 11/10/99 Tom Fri 12/10/99 20,21 6 8

24 Task Y9 16 days Wed 9/22/99 Wed 10/13/99 Dick Fri 12/24/99 21 5 4

25 Task Y10 16 days Tue 8/31/99 Tue 9/21/99 Dick Fri 12/17/99 22 8 6

26 Project Z 28 days Fri 8/13/99 Tue 9/21/99 Fri 12/17/99 5 5

27 Task Z1 4 days Fri 8/13/99 Wed 8/18/99 Dick Fri 8/13/99 7 7

To

Dick

Ha

T

Page 21: MultiProject Scheduling

21

6.1 Schedule Optimization Results The downward arrow indicates the preferred values, i.e. lower values are better.

Page 22: MultiProject Scheduling

22

6.1.1 The Impact of Specific Resources Assignments

Dispatching tasks to specific resources can have a great impact upon the schedule performance. Specific resources being assigned to specific tasks can arise from many different causes, the most common causes are:

• Lack of cross-discipline training that limits the resources flexibility in performing different project tasks, and

• Schedule optimization at the single project level instead of the multi-project level

Often, the value of resources training is underestimated because it is difficult to determine the impact on project TTM and the consequent competitive value to the organization. The following graphs illustrate the difference in project schedule optimization results when optimizing with general resources versus specific tasks assignments. In the general resources examples, the four resources were dispatched using Hu’s Critical Path Heuristic37. Reviewing the results reveals that a significant competitive advantage exists for those organizations that cross-train their staff, and scheduling projects jointly when drawing resources from a common pool.

Page 23: MultiProject Scheduling

23

Non cross-trained resources are shown in the back row, cross-trained in the front row. Note the significant improvement, i.e. reduction of average task flowtime and average task tardiness, by cross-training.

Page 24: MultiProject Scheduling

24

Page 25: MultiProject Scheduling

25

Page 26: MultiProject Scheduling

26

The resulting Gantt Chart using the four resources is shown below;

This schedule was calculated using the Multi-Project Minimum TTM algorithm.

Page 27: MultiProject Scheduling

27

6.2 Resulting Resources Schedule The resources schedule (resources versus time) developed using PERT Chart EXPERT38 is shown below. Note the number of project preemptions. [Project X is

Purple, Project Y is Green, and Project Z is Brown for a colored map of tasks exercise.] Note the difference from a Gantt Chart (tasks versus time). The cumulative utility versus time for the 3 projects example was calculated using the Multi-Project Minimum TTM and the resource leveling tool in Microsoft Project. The results are shown below

Big Project2Harry

Mary

Dick

Tom

Purple X23 4 days

6/2/97 6/5/97

PurpleX58 6 days

6/6/97 6/13/97

Purple X12 6 days

6/2/97 6/9/97

Purple X44 3 days

6/10/97 6/12/97

Purple X87 5 days

6/13/97 6/19/97

Purple X109 3 days

6/20/97 6/24/97

Purple X1314 6 days

6/25/97 7/2/97

Purple X35 5 days

6/10/97 6/16/97

Purple X76 2 days

6/17/97 6/18/97

PurpleX910 4 days

6/20/97 6/25/97

Purple X1112 5 days

6/26/97 7/2/97

PurpleX1213 2 days

6/26/97 6/27/97

Purple X611 1 day

6/17/97 6/17/97

Green Y217 4 days

6/2/97 6/5/97

Green Y319 6 days

6/6/97 6/13/97

Green Y422 4 days

6/6/97 6/11/97

GreenY723 4 days

6/12/97 6/17/97

GreenY1026 16 days

6/18/97 7/9/97

Green Y118 14 days

6/2/97 6/19/97

Green Y520 14 days

6/20/97 7/9/97

GreenY621 14 days

6/20/97 7/9/97

GreenY824 36 days

7/10/97 8/28/97

GreenY925 16 days

7/10/97 7/31/97

Brown Z129 4 days

6/2/97 6/5/97

BrownZ331 5 days

6/6/97 6/12/97

BrownZ634 10 days

6/13/97 6/26/97

BrownZ735 8 days

6/13/97 6/24/97

Brown Z937 6 days

6/27/97 7/4/97

BrownZ230 6 days

6/2/97 6/9/97

BrownZ432 10 days

6/10/97 6/23/97

BrownZ533 12 days

6/10/97 6/25/97

BrownZ836 8 days

6/26/97 7/7/97

BrownZ1038 2 days

7/8/97 7/9/97

Page 28: MultiProject Scheduling

28

The graph reveals that the Multi-Project Minimum TTM does indeed complete the tasks with greatest weight sooner than the standard resource leveling approach while simultaneously completing the projects in the shortest possible time to market. This approach is a significant competitive advantage when operating in a dynamic market environment where interruptions can cause a loss of project momentum and high unrealized market utility. The advantage of using the Multi-Project Minimum TTM tool increases dramatically as the number of tasks increases, i.e. real life projects typically achieve more than a 40% improvement. 7.0 The Impact of Tasks and Project Preemption

There are two types of preemptions that people encounter in the multi-project scheduling environment;

• Tasks preemption • Project preemption

In task preemption, the person working on a task is interrupted to work on another

task within the same project. The project objectives, technical approach, requirements, and priorities remain constant, but the actual work changes. This is much less severe than project preemption where the person is interrupted to work on another task within another project. The most severe occurrence is when the preemption occurs during a task, the less severe occurrence is when the preemption occurs between tasks but within the same project. In the worst case, the project objectives, technical approach, requirements, priorities, etc. may be significantly different and increase the relearning time beyond

Cumulative Utility vs Time3 projects example, 4 general resources

MultiProject Minimum TTM

Microsoft Project Leveling

0

50

100

150

200

250

0 7 13 21 31 34 38 42 49 56 61 63 68 73 76 80 84 90 130

Duration (days)

Cum

ulat

ive

Util

ity (u

tiles

)

Page 29: MultiProject Scheduling

29

what would be expected from simple task preemption. Christenson39 studied the effectiveness of people assigned to multiple projects and found that their effectiveness dropped significantly as the number of different project assignments increased, as shown below;

% Effective Time vs. # Project Assignments

2 projects 3 projects 7 projects0

10

20

30

40

50

60

70

R. L. Englund and R.L. Graham40 advise:

“No one should work on more than three projects at a time; core team members and project managers should work on no more than two at once. This helps increase productivity on projects and cuts cycle time. For team members to switch focus to another project and reacquaint themselves with it takes time-perhaps a full day per switch.”

Examining the internal structure of project tasks reveals an explanation for this drop in effectiveness. A project task always includes some front “setup time” that precedes the actual processing of the task toward the task objective, and some back “tear-down” or “changeover time” that succeeds the actual processing of the task. If the task processor is a person, this “setup time” may be the time required to become acquainted with the task objective, gather data and tools, consult with others on tasks status, and mentally prepare for the task operations. If the task processor is a machine, the set-up time may be calibration, boot-up, or warm-up, etc. times. As projects become more complex and involve more sophisticated tasks, the setup time for “knowledge work” can become a significant percentage of the actual task duration. A closer look at a Gantt Chart of actual progress reveals that each task includes some setup time to be repeated each time the task is restarted. An example Gantt Chart showing tasks being broken down into setup time sub-tasks and processing time is shown below;

Page 30: MultiProject Scheduling

30

The important point to consider is that the setup time will be repeated each time

the task is restarted. If the resource is preempted (interrupted) while performing the task, the setup time will have to be repeated each time. A technique known as “task splitting” enables task preemption in the typical Project Management tools, e.g. Microsoft Project., but does not consider the effect of preemption on productivity. The impact to real-life projects using real people is often underestimated. In multiple project environments performed in matrix organizations, it is often tempting to assign people to multiple projects simultaneously. This further compounds the setup time because the person must again re-align with the project and the task objectives at each change in project assignment. If the rate of interruptions increases, it is possible the average time between interruptions will approach and finally equal the setup time. The effectiveness of that person would then approach zero and the task could require an infinite amount of time to complete although the person is diligently working on the tasks and projects, albeit the “work” is setting up the task.

If the task being interrupted is on the “critical path”, the delay caused by a repeated setup times will delay the project completion. It is also common to find resources that can process tasks at different rates e.g., some people have greater proficiency than others do in performing certain tasks. A frequently observed management approach is to assign the task with the shortest remaining processing time to the fastest person. The belief is that this will speed up the completion of that task and thus speed up the completion of the project. The remaining tasks are also preempted by assigning the 2nd shortest remaining task to the 2nd fastest person, and so on. As soon as the 1st person (fastest) is finished with the 1st task (shortest remaining task duration), then all other remaining tasks are preempted and “move up” to a faster person. This approach is known as the “SRPT-FM” heuristic (Shortest Remaining Processing Time to Fastest Machine)41. If performed diligently, this will result in a very large number of preemptions, a large number of set-up times being repeated, and the project taking even longer to complete.

There is considerable evidence that proficiency in performing project tasks improves over the duration of the task42. This is described as a learning curve 43that has

Page 31: MultiProject Scheduling

31

been modeled as a downward sloping power function that represents the amount of time (or cost) to complete the task44. A proficiency curve is an upward sloping power function to represent task-specific knowledge or proficiency gain. As a qualified person works on a project task, that person gains task-specific knowledge and competency required to complete the task [i.e. increasing Intellectual Capital]. This proficiency gain, PL(t) is represented as:

])1(1[100)1(100100)( bb tttPL +−=+−=

Resource proficiency at the end of the learning period PL is a function of time t, the time spent performing the task, and b, the power function exponent (b = log r/log 2) where r is the learning rate of the project environment (frequently determined as a function of task difficulty). The proficiency curve asymptotically approaches an arbitrary and dimensionless figure of merit value of 100 as time spent on the task approaches infinity. The integration of the proficiency curve as a function of time provides the work content accomplished (earned value) as:

∫ +−=τ

0)1(100100CompletedWork dtt b

where τ is the time spent on the task. If a person working on a project task is interrupted, i.e. preempted, loss of task-specific proficiency takes place45. The loss in task proficiency due to forgetting is given by:

b

FLF tPtP )1()( += where tF = the duration of preemption (time to forget), and PF = the task-specific proficiency at the end of the preemption where forgetting takes place. The amount of forgetting increases as the original learning proficiency increases. The more time spent on a task before preemption occurs, the greater the gain in task-specific proficiency and the greater the potential for loss of proficiency during preemption. The greatest loss in proficiency will be suffered by preempting a task towards the end of task. Frequent preemptions can easily create a situation where the loss of proficiency is equal to the gain in proficiency resulting in a task that will require an infinite duration! Considering the relearning proficiency function following a period of preemption as:

])1(1)][]1][1[1(100[ bbRFFR ttrPP +−+−++=

where tR = the time required to relearn and PR = proficiency level at the end of the relearning period. It is assumed that relearning takes place at a faster rate than original learning and that relearning is a modified representation of original learning. To determine tR we can set relearning proficiency, PR = PL and solve to yield:

11)]}]1][1[1(100/[){( −++−+−= b b

FLFR trPPt

Page 32: MultiProject Scheduling

32

where PR has been replaced by PL. Example 1: One resource, no preemption. Assume that the project learning rate environment, notation r, is 0.80, then b = log r/log 2 = log 0.80/log 2 = -0.3219, and further assume that this single task can be completed without preemption in 4 time periods. Then,

43.40])14(1[100)1(1[100 3219.0 =+−=+−= −bL tP

The total work, WT, can be determined by integrating over 4 time periods:

∫ =+−= −4

0

3219.0 25.108)1(100100[ dttWT

46Example 2. One Resource With Preemption Assume that the task is preempted for 2 time periods after 2 periods of work. During the first 2 periods of work, @ t=2, the person’s proficiency is:

79.29])12(1[100])1(1(100 3219.0 =+−=+−= −b

L tP At preemption, the person is interrupted and assigned to another task or another project for 2 time periods. After 2 periods, when tF = 2, proficiency has decreased to:

92.20)12(79.29)1( 3219.0 =+=+= −b

FLF tPP Following preemption, the same person is reassigned to the original task and must regain the original task proficiency:

periods time3.011)]}]12][8.01(100/[)79.2992.20{(3219.0 3219.0 =−++−−= − −

Rt The person requires 0.3 time periods to regain the original pre-preemption project task proficiency. The total task duration has grown from 4 time periods to 4.3 time periods, ≅ 7 % increase in task duration from what was originally scheduled due to one task preemption. Example 3. Two Resources With Preemption A common approach to accelerate projects suffering from preemptions is to assign additional people to tasks that have been preempted. Consider a task that requires 2 people working over 4 time periods, but as in Example 1 are interrupted after 2 time periods of progress. Assume that 2 people are reassigned to the original task after the preemption, but one of the people is new to the task. To calculate the time required to complete the task after the preemption, let WT = work accomplished. Since 2 people are required to complete the task, 2 WT is the total work content of the task. Let WL = work accomplished in the 2 time periods before the preemption, then work remaining = 2 WT - WL. WT and WL are calculated as:

Page 33: MultiProject Scheduling

33

842.36)6781.0/100()3)(6781.0/100(200

)1(1001100)1(1[100

255.108)6781.0/100()5)(6781.0/100(400

)1(1001100])1(1[100

6781.0

2

0

2

0

2

0

6781.0

4

0

4

0

4

0

=+−=

+−=+−=

=+−=

+−=+−=

∫ ∫ ∫

∫ ∫ ∫

bb

bb

tdtdttW

dttdtdttW

L

T

Work remaining after preemption = 2 WT - WL = 2(108.255) – 36.842 = 179.688. This work must be distributed to the new person and the returning person after preemption so that they both work on the task until all work has been completed (ala resource leveling techniques). The work to be performed by the new person, WN, is:

∫ +−=T

b dttWN

0

])1(1[100

where T is the amount of time required to complete the task after the preemption. The amount of work to be performed by the original person, WO, after the relearning is:

∫−+

+−=3.02

2

)1(1[1000

Tb dttW

We set 2 WT - WL = WN + WO and solve for T:

∫ ∫+

+−++−=T T

bb dttdtt0

7.1

2

])1(1{100])1(1[100688.179

which reduces to TTT 356.1)1()7.2(685.1 6781.06781.0 −+++=

which yields T ≅ 3.1 time periods. The total task duration for the interrupted task is the original 2 time periods before the interruption, plus a 2 time period interruption, followed by 3.1 time periods of relearning and task completion, for a total of 7.1 time periods. The net duration is 5.1 time periods, or a task duration growth of 1.1 time periods, ≅ 28% increase in task duration. An increase in task duration would occur each time that the task is preempted. The conclusion is that preemption increases task durations that must be reconciled with the competitive business value of the cause of the preemption. 8.0 The Effects of Staff Size On Project Duration There are scheduling bounds for all project schedules that are helpful in determining feasible parameters. One obvious schedule bound is the critical path duration for precedence constrained tasks. No rearrangement of tasks and resources can complete a project containing precedence-constrained tasks earlier than the critical path duration. This is true for any number of resources. In fact, an infinite number of resources cannot complete a project any earlier than the critical path duration. Thus, the critical

Page 34: MultiProject Scheduling

34

path is a lower boundary for the project makespan. There is also a minimum boundary of the number of resources if reducing the project makespan to the critical path duration is the scheduling objective. The minimum number of resources, minm is given by;

durationpath criticalmin∑≥

workm

which is simply the sum of all tasks work that will be assigned to the resources (including independent tasks, i.e. those that are not bound by precedence constraints) divided by the duration of the summary project critical path. This value is the minimum number of resources, it is not guaranteed that this number will able to scheduled into a makespan equal to the critical path, but it does guarantee that less than this number will not be able achieve a critical path makespan. There is also a maximum worst case boundary for the makespan duration, maxC , that is given by47;

2m 12max >

−≤ optC

mC

where:

resources) equal be to(assumed resources ofnumber m

duration)path critical thecase (in thismakespan project optimal""Cmakespanproject for bound" eperformanc"upper

opt

max

=

==C

Scheduled Duration vs. Number of Resources3 project example

Scheduled Duration

Critical Path Duration

Upper Performance Bound

0

20

40

60

80

100

120

140

2 3 4 5 6 7 8 9 10 11 12

Number of Equal Resources

Dur

atio

n (d

ays)

Page 35: MultiProject Scheduling

35

The upper performance bound for independent tasks performed by multiple resources is given by:

askduration tlongest max 31

34 C

mC

−≤

In effect, the longest duration task becomes the “critical path” duration for the independent tasks case. It can be seen by comparing the performance bound for the independent tasks and the performance bound for the precedence constrained tasks that there is a significant advantage to independent tasks scheduling.

in the “Big project 2”example that scheduled Project X, Project Y, and Project Z contains 251 labor-days of work using the same pool of four resources. The project makespan decreases as the number of resources increases, but the makespan does not decrease below the critical path duration. In this example, the minimum number of resources boundary, minm , is;

resources 3.92days 64days 251

min =≥m

Thus, the staff of four resources has some hope of achieving the critical path duration of 64 days. A plot of the project makespan versus number of resources reveals that the number of resources increases to nine to achieve a project makespan equal to the critical path duration. Also note the nonlinear behavior at seven resources where adding resources from six to seven slightly increases the project makespan! This counter-

Performance Bound vs. Number of ResourcesPrecedence Constrained Scheduling and Independent Tasks Scheduling

Independent Tasks

Precedence Constrained Tasks

0

0.5

1

1.5

2

2.5

2 3 4 5 6 7 8 9 10 11 12

Number of Equal Resources

Cm

ax/C

opt

Page 36: MultiProject Scheduling

36

intuitive behavior is common in project scheduling.48 (The nonlinearity arises from the dispatching function. The tasks network is linear, but when dispatched into a resources schedule, the dispatching function introduces a nonlinear function when precedence constraints are present. This effect is not well known by most managers.) If we wish to avoid the duration increases due to task preemptions, we may invoke a management policy that resources are assigned to projects over the makespan of the projects. If we increase the number of resources to “Big Project 2” in order to decrease the project makespan, we see that the labor commitment increases as shown below where the total labor commitment and project makespan are normalized.

The staffing level that simultaneously achieves minimum project makespan and labor commitment is ≅ 6 resources @ 390 labor-days @ 65 days makespan; the resulting Gantt Chart is shown below.

The lowest cost staffing level is 309 labor-days @ 115 days makespan by serially performing one project at a time and dispatching only the resources required during the respective project makespan.

Scheduled Makespan and Labor Commitment vs. Number of Resources

3 project example

Duration

Labor Commitment

0

0.2

0.4

0.6

0.8

1

1.2

2 3 4 5 6 7 8 9 10 11 12

Number of Equal Resources

Nor

mal

ized

Mak

espa

n an

d La

bor

Com

mitt

men

t

Page 37: MultiProject Scheduling

37

The number of resources was increased from 2 to 12 in integer increments of 1 using the Multi-Project Minimum TTM algorithm in the Schedule Optimizer tool. It was assumed that the resources were equally capable and that tasks preemption was not allowed. The results are shown below;

Total Weighted Flowtime and Tardiness vs. Number of Resources3 project example

Total Weighted Tardiness

Total Weighted Flowtime

0

2000

4000

6000

8000

10000

12000

14000

16000

2 3 4 5 6 7 8 9 10 11 12

Number of Equal Resources

Util

e-da

ys

Average Tardiness and Number of Tardy Tasks vs. Number of Resources

3 project example

Average Tardiness (days)

Number of Tardy Tasks

0

5

10

15

20

25

30

35

40

45

2 3 4 5 6 7 8 9 10 11 12

Number of Equal Resources

Day

s, N

umbe

r of T

asks

Page 38: MultiProject Scheduling

38

Another project scheduling benchmark is known as McNaughton’s Limit49 which defines the absolute minimum duration of the project under ideal conditions. In McNaughton’s Limit, the task precedence constraints are removed, the resources are equally capable and interchangeable, and task and project sharing allowed. The difference between McNaughton’s Limit and the schedule optimization results reveals the effectiveness of the scheduling optimization algorithm in overcoming the constraints.

Total Weighted Lateness vs. Number of Resources3 project example

Total Weighted Lateness

-6000

-4000

-2000

0

2000

4000

6000

2 3 4 5 6 7 8 9 10 11 12

Number of Equal Resources

Util

e-da

ys

Page 39: MultiProject Scheduling

39

9.0 A Project Tasks Dispatching Approach

The author of this paper developed a project plan analyzer to help in developing, tracking, and assessing the project schedule with respect to other project objectives beyond scheduling objectives. The “Project Plan Analyzer” works in conjunction with Microsoft Project, the user interface is shown below;

The Effects of Precedence Constraints3 project example

Duration with precedence constraints

Duration without precedence constraints (McNaughton

Limit)

0

20

40

60

80

100

120

140

2 3 4 5 6 7 8 9 10 11 12

Number of Equal Resources

Day

s

Page 40: MultiProject Scheduling

40

The Project Plan Analyzer includes a Critical Path Ordinal Tasks List generation capability. This tool calculates and generates an ordinal tasks list file. The ordinal tasks list is used by the Project Manager to dispatch tasks to a pool of specific resources. The tool was used to generate the ordinal tasks list for the Big Project 2 example discussed earlier ands is shown below; Ordinal Tasks List for 3 projects w due dates & wts Task Name Task Duration Task Y1 14 days Task Y2 4 days Task Y3 6 days Task Y5 14 days Task Y6 14 days Task Y8 36 days Task Z2 6 days

Page 41: MultiProject Scheduling

41

Task Z1 4 days Task Y4 4 days Task X1 6 days Task Z3 5 days Task Z5 12 days Task X2 4 days Task Y7 4 days Task Z4 10 days Task Z6 10 days Task X4 3 days Task Y9 16 days Task Y10 16 days Project Y 64 days Project Y tasks dispatch is complete Task Z7 8 days Task X3 5 days Task X8 5 days Task X5 6 days Task X7 2 days Task Z8 8 days Task X10 3 days Task X9 4 days Task Z9 6 days Task X13 6 days Task X11 5 days Task Z10 2 days Project Z 28 days Project Z tasks dispatch is complete Task X12 2 days Task X6 1 day Project X 23 days Project X tasks dispatch is complete Dispatching tasks in the order given by this ordinal list to the resources will reveal specific tasks assignments for the resources pool. If the resources are not equal in capability, the resource-dependent task durations are revised, then the tasks are dispatched from the ordinal list to the first resource in the list of resources that can finish the task first. 10 Observations, Issues and Recommendations

The simultaneous operation of projects using the common resources pool can result in fast project completions, but at the expense of longer individual projects and high project switching. The overall summary schedule is highly sensitive to task delays in any one project. In fact, if one task fails in one project, then all dependent projects will also fail. The task “set-up time” can significantly delay project completion due to project switching requirements for the resources.

Although equally capable and interchangeable resources is an unrealistic scenario,

it does provide a benchmark that helps quantify the value of training.

Page 42: MultiProject Scheduling

42

Although task and project preemptions cannot be eliminated in real-life

companies, the consequences of preemptions should be considered and every effort made to minimize preemptions in a business environment that highly weights Time To Market. The approach is to spend the time to define the project tasks well enough at the project start so that the number of precedence constraints can be minimized, i.e. seek to plan the tasks well enough to eliminate precedence constraints. 10.1 Observations

• Merging optimally scheduled individual projects does not result in an optimally scheduled multi-project schedule

• Adding resources does not always accelerate the schedule (only possible with independent tasks)

• There is a significant advantage to cross-trained resources with respect to project TTM

• Task preemptions can significantly increase the durations of tasks due to the LFR cycle

• The shortest TTM will result in the greatest resources labor commitment and the lowest resources utilization efficiency

• The greater the number of simultaneous projects assignments, the lower the resources proficiency and productivity

10.2 Issues to Ponder

Consider the Time To Market goal versus the project durations in a dynamic environment

Consider the resources capacity and capabilities of resources Consider the impacts of project switching and workflow gaps Compare the multi-project scheduling approaches with respect to the goals of

the organization using the schedule metrics Choose a scheduling optimization objective that is consistent with the

organization’s business objectives 10.3 Recommendations

• Cross-train the project team members as much as possible • Seek to define the projects and tasks well enough to eliminate precedence

constraints • Seek to minimize project preemptions • Decide which scheduling optimization algorithm best satisfies your

scheduling objective (see next section) • Use multi-project scheduling techniques

Page 43: MultiProject Scheduling

43

10.4 Select best scheduling optimization algorithm The “best” scheduling optimization algorithm can be selected automatically if an AHP hierarchy50 is constructed that evaluates the importance of the schedule objectives and the performance of the algorithms with respect to those objectives, an example is seen below;

This example AHP hierarchy was created using Criterium Decision Plus 51. See Mustafa and Murphree52 for an example of using AHP for project makespan compression decisions. See Partovi53 for an AHP approach to Activity Based Costing (ABC) methods for schedule vs. NPV trade-off optimization.

Page 44: MultiProject Scheduling

44

ResourcesAvailable

SingleResource

MultipleResources

IndependentTasks

average flowtime oraverage lateness

maximum lateness, ormaximum tardiness, oraverage tardiness, orweighted tardiness

weighted tardiness

number of tardy tasks, orweighted number of tardy tasks

weighted flowtime, orweighted lateness

average lateness AND average flowtime

To minimize

PrecedenceConstrained Tasks maximum lateness

Independenttasks

PrecedenceConstrained

Tasks

weighted makespan

makespan

fixed deadline makespan

job shop makespan

weighted flowtime

flow shop makespan

SPT

EDD

R&M

Hodgson's

WSPT

Smith's

Lawler's

WLPT

LPT

MultiFit

MultiProjectMinTTM

ShiftingBottleneck

Johnson'sAlgorithm

AlgorithmChoice

The decision tree shown above is a simple tool to decide which scheduling heuristic is best to use. The decision tree is evaluated by following the branches from left to right, at each branch deciding which alternative branch fits the particular scheduling situation. At the termination of each path on the right is the name of the best scheduling heuristic to use.

Page 45: MultiProject Scheduling

45

11 References

1 Datar, S., Jordon, C., Kekre, S., Rajiv, S., and Srinivasan, “New Product Development Structures and Time-to-Market”, Management Science, vol. 43, no. 4, April 1997, pp. 452-464. 2 Hendricks, K.B., and Singhal, V.R., “Delays in New Market Product Introductions and the Market Value of the Firm: The Consequences of Being Late to the Market”, Management Science, vol. 43, no. 4, April, 1997, pp. 422-436 3 Kalu, T.C., “A Framework for the Management of Projects in Complex Organizations” IEEE Transactions On Engineering Management, vol. 40, no. 2, May 1993, pp. 175-180 4 Ladson, E.W. and Gobeli, D.H., “Matrix Management: Contradictions and Insights”, California Management Review, vol. 29, no. 4, Summer 1987, pp. 126-138 5 Jerkovsky, W., “Functional Management in Matrix Organizations”, IEEE Transactions On Engineering Management, vol. EM-30, no. 2, May 1993, pp. 93-94 6 McCullum, J.K. and Sherman, J.D., “The Effects of Matrix Organization Size and Number of Project Assignments On Performance”, IEEE Transactions On Engineering Management, vol. 38, no. 1, Jan 1991, pp. 75-78 7 Souder, W. E., Managing New Product Innovations, Lexington Books, NY, 1987, pp. 139-156. 8 Coper, D.F., “Heuristics for Scheduling Resource Constrained Projects: An Experimental Investigation”, Management Science, vol. 22, no. 11, 1976, pp. 1186-1194 9 Demeulemeester, E. and Herroelen, W.S., “A Branch-and-Bound Procedure for the Multiple Resource-Constrained Project Scheduling Problem”, Management Science, vol. 38, no. 12, 1992, pp. 1803-1818 10 Lawrence, S.R. and Morton, T.E, “Resource-Constrained Multi-project Scheduling with Tardy Costs: Comparing Myopic, Bottleneck and Resource Pricing Heuristics”, Working Paper # 88-89-8 GSIA, Carnegie Mellon University, Pittsburgh, PA. 1989 11 Dumond, J. and Mabert, V.A., “Evaluating Project Scheduling and Due Date Assignment Procedures: An Experimental Analysis”, Management Science, vol. 34, 1988, pp. 101-118. 12 Bock, D. and Patterson, J.H., “A Comparison of Due Date Setting, Resource Assignment, and Job Preemption Heuristics for the Multiproject Scheduling Problem”, Decision Sciences, vol. 21, no. 3, 1990, pp. 387-402. 13 Kurtulus, I.S., “Multiproject Scheduling: Analysis of Scheduling Strategies Under Unequal Delay Penalities”, Journal of Operations Management, vol. 5, no. 3, 1985, pp. 291-307 14 Kurtulus, I.S. and Davis, E.W., “Multiproject Scheduling: Categorization of Heuristic Rules Performance”, Management Science, vol. 28, no. 2, 1982, pp. 161-172 15 Kurtulus, I.S. and Narula, S.C. “Multiproject Scheduling: Analysis of Project Performance”, IEE Transactions, vol. 17, no. 1, 1985, pp. 58-66 16 Tavares, L.V., Advanced Models for Project Management, Kluwer, Boston, 1999, see chapter 6. 17 Welgarz, J., Project Scheduling: Recent Models, Algorithms and Applications, Kluwer, Boston, 1999, see chapter 15. 18 Fendley, L. “Toward the Development of a Complete Multi-Project Scheduling System”, Journal of Industrial Engineering, vol. 19, 1968, pp. 505-515 19 Patterson, J.H., “A Comparison of Exact Approaches for Solving the Multiple Constrained Resources Project Scheduling Problem”, Management Science, vol. 30, 1984, pp. 854-867 20 Pinedo, M. and Yen, B.P., “On the Design and Development of Object-Oriented Scheduling Systems”, Annals of Operations Research, vol. 70, April 1997, pp. 359-378 21 Iansati, M. and MacCormack, A., “Developing Products On Internet Time”, Harvard Business Review, September-October, 1997, pp. 108-117. (Comment-This is a very risk-prone approach.) 22 Cohen, M.A., Eliashberg, J., and Ho, T., “New Product Development: The Performance and Time-to-Market Tradeoff”, Management Science, vol. 42, no. 2, February, 1996, pp. 173-186. 23 Levy, N. and Globerson, S., “Improving Multiproject Management by Using a Queuing Theory Approach”, Project Management Journal, December 1997, pp. 40-46. 24 Morton, T.E, and Pentico, D.W., Heuristic Scheduling Systems: With Applications to Production Systems and Project Management, John Wiley & Sons, NY 1993, pp. 551-552 25 Christofides, N., Alvares-Valdes, R., and Tamarit, J.M., “Project Scheduling with Resource Constraints: A Branch and Bound Approach”, European Journal of Operations Research, vol. 29, 1987, pp. 262-273

Page 46: MultiProject Scheduling

46

26 Demeulemeester, E., ”Optimal Algorithms for Various Classes of Multiple Resource-Constrained Project Scheduling Problems”, PhD Thesis, Department of Applied Economic Sciences, Katholieke Universteit Leuven. 27 Demeulemeester, E. and Herroelen, W.S., “A Branch-and-Bound Procedure for the Multiple Resource-Constrained Project Scheduling Problem”, Management Science, vol. 38, no. 12, 1992, pp. 1803-1818 28 Welgarz, J. (ed.), Project Scheduling: Recent Models, Algorithms and Applications, Kluwer Academic Publishers, Boston, 1999, page 255. 29 Schrage, L., LINDO: An Optimization Modeling System, Boyd & Fraser Publishing Company, Danvers, MA., 1991, pp. 336-339 30 Winston, W.L. Introduction to Mathematical Programming, Duxbury Press, Belmont, CA., 1995, pp. 161-172 31 For an excellent description of linear programming see the famous book by George Dantzig, Linear Programming and Extensions, Princeton University Press, Princeton, NJ 1963, or for a more modern book see David Pannell, Introduction to Practical Linear Programming, John Wiley & Sons, NY, 1997. For an example of linear programming being applied to the schedule-resources trade-off problem, see the article by P. Simin Pulat and Steven J. Horn, “Time-Resource Tradeoff Problem”, IEEE Transactions On Engineering Management, vol. 43, no. 4, November 1996, pp. 411-417. 32 Papadimitriou, C.H. and Steiglitz, K., Combinatorial Optimization: Algorithms and Complexity, Dover Publications, Inc., New York, 1998, pg. 312. 33 Dr. Peter Brucker has constructed a web site that describes the complexity results of scheduling problems for a wide range of classes of scheduling problems, see http://www.mathematik.uni-osnabrueck.de/research/OR/class/ 34 For more discussion concerning computational intractability see Garey, Michael R. and Johnson, David S., Computers and Intractability: A Guide to the Theory of NP-Completeness, W.H. Freeman and Company, New York, 1979, Appendix A5 “Sequencing and Scheduling”, pp. 236-243; and another good discussion by Chaitan, Gregory J., The Limits of Mathematics, Springer-Verlag Singapore, 1988. A definition of tractability and intractability is given by J.F. Traub and A.G. Werschulz in Complexity and Information, Cambridge University Press, 1998, pp. 27-28, http://www.cup.org 35 Cromer, Alan, Connected Knowledge: Science, Philosophy, and Education, Oxford University Press, New York, 1997. 36 Rowlett, Russ, University of North Carolina at Chapel Hill, see “Names for Large Numbers” at http://www.unc.edu/~rowlett/units/large.html 37 See Hu, T.C., “Parallel Sequencing and Assembly Line Problems”, Operations Research, vol. 9, 1961, pp. 841-848 for the original description of the heuristic, and see Graham, Ronald L., “Combinatorial Scheduling Theory”, L.A. Steen (ed.), Mathematics Today, Springer-Verlag, New York, 1978, pp. 183-211 for more discussion of Hu’s Heuristic and the List Processing Method. Ron Graham did the breakthrough work on defining performance bounds for the List Processing Method. 38 PERT Chart EXPERT, Critical Tools, http://www.criticaltools.com offers an advanced PERT charting tool for Microsoft Project 98. 39 Christenson, C., “Converting Ideas Into Profits”, Industry Week, June 1996 40 Graham, R.L. and Englund, R.L., Creating an Environment for Successful Projects: The Quest to Manage Project Management, Jossey-Bass Publishers, San Francisco, 1997, pg. 56. Randall Englund is a Project Manager at Hewlett-Packard Company and a consultant on HP’s Project Management Initiative Team. 41 Pinedo, M., Scheduling: Theory, Algorithms, and Systems, Prentice Hall, Englewood Cliffs, NJ. 1995, pg83. 42 Shtub, A., “Scheduling of Programs with Repetitive Projects”, Project Management Journal, vol. 22, no. 6, 1991, pp. 49-53 43 Ash, R., and Smith-Daniels, D.E, “The Effects of Learning, Forgetting, and Relearning on Decision Rule Performance in Multiproject Scheduling”, Decision Sciences Journal, vol. 30, no. 1, Winter 1999, pp. 47-82. (This study found that LFR penalties are significant in multiproject schedules, and demonstrate that the worst performance occurred when there was an attempt to maintain high resource utilization levels.) 44 Wright, T.P., “Factors Affecting the Cost of Airplanes” Journal of Aeronautical Sciences, vol. 3, no. 4, 1936, pp. 122-128

Page 47: MultiProject Scheduling

47

45 Speier, C, Valacich, J.S., and Vessey, I., “The Influence of Task Interruption on Individual Decision Making: An Information Overload Perspective”, Decision Sciences, vol. 30, no. 2, Spring 1999, pp. 337-360. 47 Graham, R.L., “Bounds on Multiprocessing Timing Anomalies”, SIAM Journal of Applied Mathematics, vol. 17, 1969, pp. 263-269. SIAM is Society of Industrial and Applied Mathematics, they publish several excellent journals, see http://www.siam.org 48 Garfunkel, S., For All Practical Purposes: Introduction to Contemporary Mathematics, 3rd edition, W.H. Freeman and Company, NY, 1994, chapter 3 “Planning and Scheduling” for more on counter-intuitive scheduling outcomes. 49 McNaughton, R., “Scheduling with Deadlines and Loss Functions”, Management Science, vol. 6, no. 1, 1959, pp. 1-12. 50 AHP (Analytic Hierarchy Process), see Saaty, T.L., MultiCriteria Decision Making: The Analytic Hierarchy Process, RWS Publications, Pittsburgh, PA. 1988, and visit http://www.expertchoice.com for more information, AHP software tools, and textbooks. Also see “Priority Setting in Complex Problems” by Thomas L. Saaty, IEEE Transactions On Engineering Management, Vol. EM-30, no. 3, August 1983, pp. 140-155. 51 Criterium Decision Plus, Infoharvest Corp., http://www.infoharvest.com 52 Mustafa, M.A. and Murphree, E.L., “A Multicriteria Decision Support Approach for Project Compression”, Project Management Journal, Project Management Institute. 53 Partovi, F.Y., “An Analytic Hierarchy Approach to Activity-Based Costing”, International Journal of Production Economics, vol. 22, 1991, pp. 151-161.


Recommended