A Random Generator of Resource-Constrained Multi-P
A Random Generator of Resource-Constrained Multi-P
net/publication/220366557
CITATIONS READS
60 922
2 authors:
All content following this page was uploaded by Tyson Browning on 01 April 2014.
Abstract Many scheduling problems in project manage- of network topology on the probability of successful net-
ment, manufacturing, and elsewhere require the genera- work generation. Finally, we generate 12,320 test problems
tion of activity networks to test proposed solution methods. for a full-factorial experiment and use analysis of means
Single-network generators have been used for the resource- to conclude that the generator produces “near-strongly ran-
constrained project scheduling problem (RCPSP). Since the dom” problems. Fully “strongly random” problems require
first single-network generator was proposed in 1993, sev- much greater computational expense.
eral advances have been reported in the literature. How-
ever, these generators create only one network or project Keywords Project scheduling · Multi-project scheduling ·
at a time; they cannot generate multi-project problems to Resource constraints · Random network generator ·
desired specifications. This paper presents the first multi- Network complexity
network problem generator. It is especially useful for inves-
tigating the resource-constrained multi-project scheduling
1 Introduction
problem (RCMPSP), where a controlled set of multi-project
test problems is crucial for analyzing the performance of so- This paper focuses on the resource-constrained multi-project
lution methods. In addition to the single-project character- scheduling problem (RCMPSP).1 RCMPSPs can represent,
istics handled by existing network generators—such as ac- for example, a portfolio of product development projects,
tivity duration, resource types and usage, and network size, a set of information technology implementation projects, or
shape, and complexity—the proposed generator produces a group of buildings to be built by a single construction firm.
multi-project portfolios with controlled resource distribu- As projects have become ever-more-common structures for
tions and amounts of resource contention. To enable the gen- organizing work in contemporary enterprises, issues involv-
eration of projects with desired levels of network complex- ing the simultaneous management of multiple projects (or
ity, we also develop several theoretical insights on the effects a portfolio of projects) have become more pervasive and
acute. For example, studies have shown that managers typ-
ically deal with up to four projects at once (Liberatore and
T.R. Browning () Pollack-Johnson 2003; Maroto et al. 1999). According to
Neeley School of Business, Texas Christian University, Payne (1995), up to 90% of the value of all projects accrues
TCU Box 298530, Fort Worth, TX 76129, USA in the multi-project context, so the impact of even a small
e-mail: [email protected]
improvement in their management could provide an enor-
A.A. Yassine mous benefit.
Department of Industrial & Enterprise Systems There are two main approaches for solving a RCMPSP:
Engineering (IESE), University of Illinois at Urbana-Champaign, (a) the single-project approach and (b) the multi-project ap-
Urbana, IL 61801, USA
proach. The single-project approach aggregates the projects
e-mail: [email protected]
A.A. Yassine
1A formal description of the RCMPSP can be found in Appendix A.
e-mail: [email protected]
J Sched
into a single meta-project using dummy activities, thereby However, this generator cannot produce networks with sum-
reducing the RCMPSP to a RCPSP. The multi-project ap- mary measures at specified levels. Agrawal et al. (1996) ex-
proach maintains the problem as a portfolio of individual tended this work with a generator called DAGEN, in which
projects (each with its own critical path) rather than arti- the user can specify the level of a summary measure of net-
ficially combining them into a single project (with a sin- work complexity. Kolisch et al. (1992, 1995) developed an-
gle critical path). The two approaches can lead to different other generator, ProGen, which includes the ability to spec-
results (Kurtulus and Davis 1982). For example, each ap- ify some basic network structures—the number of start and
proach can produce a different schedule with the same prior- finish activities and a desired network complexity—and two
ity rule (Lova and Tormos 2001), particularly when the rule resource measures, a resource factor and resource strength
is based on the critical path length. Results with the popular for each type of resource. Schwindt’s (1995, 1996, 1998)
“minimum slack” priority rule, for instance, will vary dra- ProGen/Max adds maximal time lags between activities and
matically since combining all of the projects into one meta- applications for general temporal constraints and cyclical
project bases all of the slack calculations on a single critical networks. Tavares (1998) used six indicators of network
path. While more realistic, the multi-project approach has structure to generate networks. Unfortunately, all of these
received less attention in past research. later generators do not generate strongly random networks
Most of the previous RCMPSP research explored the because they do not allow selection from the full space of
performance of heuristic priority rules. Researchers have feasible networks. Hence, Demeulemeester et al. (2003) de-
found conflicting results for which rule performs best (e.g., veloped RanGen, which claims to generate strongly random
Davis and Patterson 1975; Lova and Tormos 2001). The lit- networks that conform to desired values of complexity mea-
erature suggests that performance depends on project and sures. RanGen was later augmented with RanGen2 (Van-
problem characteristics (De Reyck and Herroelen 1996; houcke et al. 2004). Finally, Gutiérrez et al. (2004) intro-
Kurtulus and Davis 1982; Vanhoucke et al. 2004). Hence, duced HierGen to generate hierarchical project networks.
researchers have sought to improve understanding of the However, all of these generators are aimed at the RCPSP,
RCMPSP by (a) identifying important problem character- and thus do not include the important problem characteris-
istics and (b) developing summary measures for them. Two tics of the RCMPSP. That is, generating a bunch of indi-
types of measures are prominent: (i) measures of network vidual project networks and combining them is an incredi-
size, shape, and connectivity, such as network complexity, bly inefficient (if not impossible) way to seek multi-project
and (ii) measures of resource loading and contention. By problems with desired levels of overall summary measures.
comparing various heuristic and other solution approaches, Therefore, while the importance and broad applicability of
researchers determined that the problem characteristics have test problem generators is well established, a multi-project
an enormous effect on the ease of solution and its quality. problem generator has been missing.
However, the exact nature of these relationships is still not This paper makes three contributions:
well understood.
Hence, benchmark problems (for rating and comparing • First, it contributes the first random generator of RCMP-
the performance of solution procedures—optimal, heuris- SPs. It generates a controlled set of random, activity-on-
tic, or meta-heuristic) should possess a diversity of problem node RCMPSPs with specified problem characteristics,
characteristics with summary measures set at various levels. including network complexity, resource loading, and re-
Until 1993, the quasi-standard benchmark was Patterson’s source contention.
(1984) heterogeneous set of single-project test problems. • In the case of each problem characteristic, we started
However, these problems were not generated with a con- with a summary measure proposed in the former litera-
trolled approach, so their parameters did not span the con- ture. However, we found that these summary measures
tinuum of the important summary measures. Furthermore, required improvement, so we developed new ones. In par-
all of the problems in Patterson’s set have been shown to ticular, to enable the efficient generation of random net-
be “easy” to solve by exact methods (Demeulemeester and works with desired levels of complexity, we had to dig
Herroelen 1992; Kolisch et al. 1995). deeply into the theory of network topology and levels,
To address these shortcomings, researchers began to de- which we call tiers. Thus, this paper makes a second, the-
velop activity network generators for the (single-project) oretical contribution by determining the relationship be-
RCPSP. Demeulemeester et al. (1993) developed the first tween network topology and the efficiency of random net-
random generator, which can specify only the number of work generation. We also contribute improved measures
nodes (activities) and arcs (precedence relationships) in a for resource distribution and contention in RCMPSPs.
network structure. These networks are called strongly ran- • Third, we validated the generator by using it to create
dom since they are drawn from the full space of all fea- 12,320 test problems, controlled to specified levels of
sible networks with a specified number of nodes and arcs. the summary measures for a full-factorial experiment. We
J Sched
used analysis of means (ANOM) to explore the character- arcs, A. Pascoe (1966) introduced the first such measure,
istics of these problems and any biases in the generator. the coefficient of network complexity, CNC, defined simply
Through this, we identify an important tradeoff between as A/N . For a network with a fixed N , its complexity in-
“strong randomness” and computational expense. creases as its number of arcs increases. It has been shown
that project scheduling problems become easier with larger
In this paper, we deal with the basic RCMPSP, which we
CNC values because the degrees of freedom decrease as
note can be expanded in several possible ways. For example,
the activities become more constrained (Alvarez-Valdés and
projects might not begin simultaneously, and new projects
Tamarit 1989; Kolisch et al. 1995). Elmaghraby and Herroe-
might arrive at various rates. Project interdependencies (be- len (1980) questioned the ability of the CNC to represent the
yond common resources) might exist. Activities might be actual complexity of project networks. They showed that it
performed in various modes, each requiring different types is easy to construct networks with equal numbers of nodes
and/or amount of resources. Activity preemption might be and arcs but with varying degrees of difficulty in analysis.
allowed, perhaps implying switching or restart costs. Ac- Hence, one should not directly equate network complex-
tivity durations could be stochastic. Resource transfer times ity with problem difficulty. Many other network complex-
could be non-zero, and resources might be non-renewable. ity measures have been proposed since the CNC. Table 1
However, to maximize our insights from the basic RCMPSP, reviews and summarizes many of these.
we do not address these additional aspects in this paper. While the simplicity of measures such as the CNC, S, and
The rest of the paper is organized as follows. In the next T -density is attractive, their inability to distinguish between
section, we discuss important problem characteristics and redundant and non-redundant arcs is a critical inadequacy.
summary measures in the RCMPSP, upon which we base An arc h, u connecting activities h and u in a network is
the proposed generator, which is detailed in Sect. 3. Sec- redundant if there are arcs i0 , i1 , . . . , is−1 , is with i0 = h,
tion 4 describes our use of the generator to create sets of test is = u and s ≥ 2 (Kolisch et al. 1995)—i.e., a redundant
problems, and Sect. 5 analyzes the results of this application. arc is one rendered superfluous by other arcs. Redundant
Section 6 concludes the paper. arcs should not increase a network’s complexity. Therefore,
Kolisch et al. (1992, 1995) use C, which modifies the CNC
by accounting only for the non-redundant arcs. The OS mea-
2 Important RCMPSP characteristics and summary sure also accounts for arc redundancy.
measures Among the single-project generators, ProGen uses C
and RanGen uses OS. C continues to be used extensively
A number of problem characteristics affect the RCMPSP. in the RCPSP literature. Plus, C has been used in the
We focus on four important ones identified in the literature— few studies of the RCMPSP (Kurtulus and Narula 1985;
network topology, network complexity, resource distribu- Lova and Tormos 2001). We propose a measure of network
tion, and resource contention—and their associated sum- complexity adapted from C and OS, normalized over [0, 1]:
mary measures. Past research has established the signifi-
A − Amin
cance of these measures to the RCMPSP and solution diffi- Cl = , (1)
culty. In the first three sub-sections, we develop new theory Amax∗− Amin
pertaining to the effects of network topology and complex- where l is the project number, A is the number of non-
ity on the generation of random networks with a desired redundant arcs, Amin is the lower bound on A in a net-
level of complexity. Then, in Sect. 2.4 we present new sum- work of Nl nodes, and Amax∗ is the upper bound.2 (We will
mary measures for resource loading and contention. A thor- discuss these bounds in Sect. 2.2.) As a multi-project com-
ough understanding of these problem characteristics and plexity measure, we use the vector of constituent project
summary measures is an essential prerequisite to generat- complexities, C = {C1 , C2 , . . . , CL }. While other summary
ing problems with desired properties. measures of multi-project complexity could be developed,
the vector form has the advantage of maintaining the dis-
2.1 Network complexity tinctness of the individual networks, which becomes helpful
for problem generation and analysis.
Network complexity generally measures the number of re-
lationships between activities. A greater number of relation- 2.2 Network topology and the effect of tiers
ships among the activities (higher complexity) leaves less
flexibility for doing them at a different time (because more Generating a network with a desired Cl requires a spe-
things must happen before them, and more things depend on cific A relative to Nl . (Hereafter in this section we sup-
them before occurring). Therefore, in its most basic form,
a measure of network complexity accounts for the number 2 We do not include dummy nodes (e.g., start and finish) when measur-
Coefficient of network = A/N, where A is the number of arcs and N is Based on activity-on-arc representation (Pascoe
complexity, CNC the number of nodes 1966); but also defined for activity-on-node
representation (Davis 1975)
Network complexity, C = A /N, where A is the number of Used by ProGen Kolisch et al. (1995)
non-redundant arcs; A ≤ A
Total activity density, T-density = N i=1 Max(0, Pi − Si ), where Pi is the number Johnson (1967)
of predecessors and Si is the number of
successors for the ith node
Average activity density, AAD = T-density / N Patterson (1976)
Measures of network complexity, = g(A − e1 , A − N + 1), where e1 is the number Elmaghraby and Herroelen (1980)
MNC of arcs out of node 1 and g(·) is a monotonically
increasing calibration function, determined
empirically
Reduction complexity, RC The minimum number of node reductions Based on activity-on-arc representation (Bein et
Complexity index, CI sufficient to reduce a 2-terminal acyclic network al. 1992); never adapted for activity-on-node
to a single edge; the number of precedence representation (Vanhoucke et al. 2004); later
relations (including the transitive ones but not adopted as the Complexity Index, CI, and shown
including the arcs connecting the dummy start or to outperform CNC in predicting the
end activity) divided by the theoretical maximum computational difficulty of RCPSPs (De Reyck
number of precedence relations N(N − 1)/2, and Herroelen 1996)
where N denotes the number of non-dummy
activities in the network
2 a −6(N −1)
(Network) restrictiveness, RT = (N −2)(N
ij
−3) , where aij is an element of the Thesen (1977); RT ∈ [0, 1]; RT = 0 for parallel
Order strength, OS reachability matrix (defined as the transitive digraphs, 1 for series digraphs; also referred to as
Network density, ND closure of the adjacency matrix), N does not Order Strength, OS (Mastor 1970), and Network
include any dummy start or finish nodes, and a Density (Kao and Queranne 1982); related to
does not include any arcs to dummy nodes. Flexibility Ratio, F (Dar-El 1973), in that
RT = OS = 1 − F ; conjectured to outperform
CNC in predicting the computational difficulty of
RCPSPs (Schwindt 1995)
Measure of network = (N − T )/N, where T is length of the network Haberle et al. (2000)
parallelism, ω (i.e., the maximum number of activities in series,
analogous to the number of tiers)
press the project index subscript l.) However, the network allel network has T = 2 tiers, wherein all of the activities
topology can constrain A , making certain levels of C un- except one (either the start or finish activity) work concur-
achievable. To explore this issue, we use the concept of rently.3 The number of activities in tier j is denoted by nj ,
morphological or hierarchical levels (Elmaghraby 1977; and the shape of a network, based on its allocation of activi-
Tavares et al. 1999), which we refer to simply as the tiers ties to tiers, is given by the vector n = {n1 , . . . , nj , . . . , nT }.
of a network. A thorough understanding of the relationships The n1 activities in T1 are called start activities, and the nT
between network topology and complexity is essential to the activities in TT are called finish activities. Thus, we have
efficient generation of random networks. four parameters by which to specify a network’s topology:
Within a network of size N , a tier is defined as a subset of N , A , T , and n.
the N activities (a) with no arcs between them, and (b) that
depend only on activities from lower tiers. When a project
3 We do not account for the case where A = 0 and all N activities work
network is parsed into tiers, the number of tiers, T , reflects
in parallel. Such a case is not a project, but rather a problem (a portfolio
its degree of serialism or parallelism. For example, a fully of projects). Therefore, we define a project as a network with A > 0
serial network will have T = N tiers, and a maximally par- and T ≥ 2.
J Sched
⎧
Lemma 1 Adding an arc between two activities within a ⎪
⎪ N 2 /4,
⎪
⎪
single tier changes the network topology by increasing T ⎪
⎪ if T ∈ [2, 3] and N is even,
⎪
⎪
and/or changing n. ⎪
⎪
⎪
⎪ (N 2 − 1)/4,
⎪
⎪
⎪
⎪ if T ∈ [2, 3] and N is odd,
⎨
Proof See Appendix B for all proofs.
Amax∗ (N, T , n∗ ) = (N −T +2)
2
+ (N − 2), (3)
⎪
⎪ 4
⎪
⎪
Lemma 1 prohibits the connection of activities within the ⎪
⎪ if T ≥ 4 and (N − T ) is even,
⎪
⎪
⎪
⎪
same tier if the desired network shape (defined by T and n) ⎪ (N −T +1)(N −T +3)
⎪
⎪
⎪ + (N − 2),
must be maintained throughout network generation. ⎪
⎪
4
⎩
if T ≥ 4 and (N − T ) is odd.
Lemma 2 Placing arcs only between activities in adjacent
tiers prevents the generation of redundant arcs—i.e., an ac- For example, Amax∗ (20, 2, {10, 10}) = 100, by (2) or (3),
tivity in tier j may only have successor activities in tier because any other n will yield a lesser Amax∗ —e.g.,
j + 1. Amax (20, 2, {11, 9}) = 99, by (2). In other examples,
Amax∗ (20, 3, {1, 10, 9}) = 100, Amax∗ (20, 4, {1, 9, 9, 1}) =
If we only allow arc generation between consecutive 99, and Amax∗ (20, 6, n∗ ) = 82, where n∗ = {1, 8, 8, 1, 1, 1}
tiers, then we obviate the need to perform a check of re- or any other arrangement where (a) the two 8s are adjacent
dundancy each time an arc is added to the network. and (b) no 8 is in the first or last tier.
Therefore, following Lemmas 1 and 2, the maximum It is important to note that the Kolisch et al. (1995) equa-
possible number of non-redundant arcs, Amax , for a distri- tion for Amax∗ does not explicitly account for T or n:
bution of N activities to T tiers, n, is obtained when an
arc connects each activity in tier j with each activity in tier N −2 2
j + 1: N −2+ , if N is even,
Amax∗ = 2
(4)
N −1 N −3
N −2+ 2 2 , if N is odd.
−1
T
Amax (N, T , n) = nj nj +1 , (2)
j =1
It assumes that Amax is only a function of N . (It also assumes
the inclusion of dummy start and finish nodes and at least
T two intermediate tiers, such that T ≥ 4.) Only in the specific
where j =1 nj = N and each n is an integer.4
case when T = 4 does (3) reduce to (4). When T > 4, how-
Theorem 1 For a network of size N with T tiers, Amax (N, ever, it is not always possible to achieve the Amax∗ implied
T , n) is maximized by n∗ , which is obtained by evenly dis- by (4).
tributing the maximum possible number of activities among Since we will use networks where N = 20 later in the
any two consecutive tiers, Tj and Tj +1 , such that Tj and paper, we note in this case (3) reduces to:
Tj +1 each contain exactly (N − T + 2)/2 activities, when
⎧
N − T is even, or (N − T + 2)/2 ± 0.5 activities, respec- ⎪100, if T ∈ [2, 3],
⎪
⎪
tively, when N − T is odd. Furthermore, when T = 3, the ⎪
⎪
⎪
⎪ (22−T )2
+ 18,
largest tier must be T2 ; and when T ≥ 4, Tj and Tj +1 must ⎪
⎨ 4
not be the start or finish activities (i.e., j = 1 and j +1 = T ). Amax∗ (20, T , n∗ ) = if T ≥ 4 and T is even, (5)
⎪
⎪
Thus, when using n∗ , the maximum Amax is denoted by ⎪
⎪
⎪
⎪
(23−T )(21−T )
+ 18,
Amax∗ and is given by: ⎪
⎪ 4
⎩
if T > 4 and T is odd.
where T = 2 and n = {N − 1, 1} = n∗ )5 and Amax∗ = N 2 /4 Otherwise, jumping to this solution prevents the considera-
(from (3)), such that tion of other networks that might work, and thus the gener-
ation of strongly random networks. Therefore, before gen-
A − (N − 1) 4A − 4N + 4 erating networks, we need to understand the bounds on T
C(A , N) = = . (6)
( N2
) − (N − 1) (N − 2)2 and n. According to Corollary 1, our choice of T is con-
4
strained by Amax .
Solving for A , we get
Theorem 2 To generate a random network with a desired N
CN 2 and C, T must be chosen from an interval [2, Tmax ], where
A (C, N) = C + N + − CN − 1, (7)
4 Tmax is the upper bound on T that allows Amax ≥ A . The
upper bound is defined by:
where A is rounded to the nearest integer. For a given N , ⎧
this simplifies to a linear function of C—e.g., A (C, 20) = ⎪
⎪N + 2 − C(N − 2)2 + 4,
⎪
⎪
81C + 19, such that a network containing the maximum pos- ⎪
⎨ if (N − T ) is even,
sible number of non-redundant arcs would have C = 1 and Tmax (C, N ) ≤ (8)
A = 100. For instance, a project network of size N = 20 ⎪
⎪N + 2 − C(N − 2)2 + 5,
⎪
⎪
⎪
⎩
and C = 0.69 would require the presence of A (0.69, 20) = if (N − T ) is odd
81(0.69) + 19 = 74.89 → 75 non-redundant arcs.
Theorem 2 implies that generating a random network
2.3 Determining feasible T and n with a desired N and C requires that T be sampled from a
distribution over [2, Tmax ]. For example, Tmax (0.69, 20) = 6
We seek to generate networks of a specified size and com- by (8). By (7), A (0.69, 20) = 75. By (5), Amax∗ (20, 6,
plexity, but with the other aspects of their topologies being n∗ ) = 82. Since the maximum possible number of non-
strongly random. Thus, N and C are given, and, according redundant arcs within a six-tier network is 82, and the net-
to (7), these imply a requisite A , which increases linearly work with C = 0.69 requires 75 non-redundant arcs, a six-
with C and quadratically with N . However, while T and n tier network is feasible. A seven-tier network would not be.
will be chosen randomly, they must be chosen from a feasi- Figure 1 shows the required number of non-redundant arcs
for a desired C and the Tmax for which Amax∗ (20, T , n∗ ) ≥
ble region where the number of possible non-redundant arcs
A (C, 20).
is greater than the amount required by N and C—i.e., such
High C constrains not only Tmax but also the alloca-
that Amax (N, T , n) ≥ A . Theorem 1 tells us that this possi-
tion of activities among the tiers, n. For example, con-
bility is maximized when n = n∗ and Amax = Amax∗ . How-
sider a project where N = 10 and C = 0.75. By (7),
ever, we are only forced into using this maximum as C → 1.
A (0.75, 10) = 21. Even if T = 2 ≤ Tmax , some of the com-
binations of {n1 , n2 } still do not allow for A ≥ 21 (q.v. (2)).
5 Both the fully serial and maximally parallel cases have C = 0, since If T = 3, Amax∗ (10, 3, n∗ ) = 25 with n∗ = {4, 5, 1} or
A = N − 1, but these cases are distinguished by T . {1, 5, 4}. If T = 4, Amax∗ (10, 4, {1, 4, 4, 1}) = 24. If
J Sched
Fig. 2 The probability of
successful generation decreases
as T → Tmax (shown for the
case of N = 20 and C = 0.69)
T = 5, Amax∗ (10, 5, n∗ ) = 20 with n∗ = {1, 3, 4, 1, 1} or to generate feasible networks. However, limiting T to any-
{1, 1, 4, 3, 1}.6 Thus, when attempting to generate a net- thing less than Tmax implies that the generator is no longer
work, sampling T near Tmax drastically limits the possible strongly random. Generating strongly random networks (in
allocations of activities to tiers. the purest sense) requires searching a landscape largely de-
The number of possible allocations of N activities to any void of successful allocations.
possible number of tiers is 2N −1 − 1. The number of possi-
ble ns for a given Tmax is found by summing the first Tmax
binomial coefficients, except for the first (which is always 2.4 Resource measures
one):
−1
Tmax We now turn to two other important characteristics of
(N − 1)!
n(N, Tmax ) = . (9) RCMPSPs, the longitudinal distribution or loading of re-
(N − i − 1)!i!
i=1 source requirements across the problem duration and the
For example, for N = 20 and T ∈ [2, 20], there are 524,287 degree of contention for various resource types. Kurtulus
possible ns. However, C = 0.14(a fairly low C) implies that and Davis (1982) defined a summary measure for each
Tmax = 14, which reduces this number to 507,623. C = 0.69 in the multi-project context: the average resource load-
(Tmax = 6), a fairly high C, reduces this number to 16,663. ing factor, ARLF (to identify whether the bulk of a prob-
Figure 2 illustrates the relationship, showing the number lem’s total resource requirements fall in the front or back
of possible allocations of N activities to T tiers and the half of its critical path duration, and the relative size of
acceptable subset of these ns which meet the criterion of the disparity), and the average (resource) utilization fac-
Amax ≥ A (0.69, 20) = 75. The main point here is that as tor, AUF. However, these measures have several short-
T → Tmax , the likelihood of a random allocation of activi- comings that prompted our development of improved mea-
ties to tiers being able to yield a network with the required C sures.
diminishes rapidly. Thus, limiting the upper bound on T to To measure resource distribution or loading, we use a
something even slightly less than Tmax will dramatically de- normalized ARLF (NARLF) defined as:
crease the sampling of infeasible networks and thus the time
1
L
CPl
Kil
Nl
rilk
6 Ineach of these cases, the reverse order of each vector provides an NARLF = Zilt Xilt , (10)
equivalent Amax —e.g., {4, 5, 1} is equivalent to {1, 5, 4}. L · CPmax Kil
l=1 t=1 k=1 i=1
J Sched
Kil is the number of types of resources required by activ- The user specifies the inputs shown in Table 2. L must be
ity i in project l, and rilk is the amount of resource type k at least one and can be chosen randomly or set by the user.
required by task i in project l. This formulation normalizes Nl is typically two at a minimum, although single-activity
the ARLF over a problem’s critical path duration rather than projects are not prohibited. The generator can choose each
over each individual project’s CP duration. Nl randomly, or the user can specify a desired value. L can
We can also consider the variance of a problem’s con- influence the degree of resource constraints since, all else
stituent ARLFs from its NARLF: being equal, a portfolio of 5 projects would expect greater
resource contention and delay than a 2-project problem.
1
L
2
σARLF = (ARLF l − NARLF)2 . (11) However, this effect is already accounted for in the MAUF
L measure. Moreover, no specific relationship has been re-
l=1
ported between project or problem size and the solution
To measure resource contention, we propose a modified
quality obtained by priority rules (Hartmann and Kolisch
average utilization factor or MAUF, which is calculated for
2000; Kurtulus and Davis 1982; Lova and Tormos 2001).
each resource type as an averaged ratio of the total amount
For these reasons, we would typically hold L and Nl con-
required to the amount available in each time interval over
the problem’s critical path duration: stant, since allowing these to vary could obscure the insights
from varying the other factors. The number of resource
1 Wsk types, K, can vary by project and be set by the user or de-
S
MAUF k = , (12) termined at random. However, since K affects the NARLF,
S Rk D s
s=1 it is advantageous to hold it constant as well. K = 4 allows
where Rk is the (renewable) amount of resource type k avail- enough variety and leaves room for the resource usage ma-
able at each interval, D is the size of the interval, S is the nipulations performed by the algorithm.
number of intervals (indexed in s), and the total amount of The desired complexity, Cdes , for each project in the
resource k required over any interval is given by: problem can either be specified or chosen randomly from
[0, 1]. While |NARLF des | ≥ 3 is feasible, most problems
D
L
Nl
do not require such extreme values, and the generator will
Wsk = rilk Xilt , (13) have a greater difficulty creating a problem as |NARLF des |
t=1 l=1 i=1
increases, especially when NARLF des > 0.7 Similarly, so-
where rilk is the amount of resource k required by activity lutions with MAUF des > 1.6 become difficult to generate
i in project l, and X is defined in (10). The MAUF for a 2
(especially if σMAUF,des = 0, as discussed below), while
problem involving K types of resources is given by: problems with MAUF des < 0.6 usually cease to be inter-
esting (because the resource constraints mostly disappear).
MAUF = Max(MAUF 1 , MAUF 2 , . . . , MAUF K ). (14) Therefore, we follow Kurtulus and Davis (1982) and pro-
pose NARLF settings over [−3, 3] and MAUF settings over
Since (14) takes a maximum, it fails to distinguish between
[0.6, 1.6], although values outside these ranges are feasible.
cases where all MAUFs are similar from cases where they 2
If σMAUF,des = 0, then all resource types in the problem will
vary widely. Therefore we augment the MAUF with another
2
be similarly constrained, whereas σMAUF,des > 0 implies that
summary measure:
one resource type will be more constrained than the others.
K
(MAUF − MAUF k )2 The other variables in Table 2 are discussed below.
2
σMAUF = k=1 . (15)
K
7 In(10), NARLF depends on the duration of the longest project in a
Further motivation and analytical support for these new
summary measures are available in (Browning and Yassine problem. Since all projects in a problem begin at the same time, it
is easier to front-load resources (negative NARLF) than to back-load
2009). Both the original measures (ARLF and AUF) and the them (positive NARLF) because there will tend to be fewer remaining
newer ones are implemented in the proposed generator to projects near the end of a problem. This effect is ameliorated somewhat
facilitate their comparison. by using a constant N for all projects in a problem.
J Sched
Table 2 Summary of user input
variables, with recommended Input variable Name Setting or rangea
setting or sampling range
L Number of projects in the problem 3
Nl Number of activities in project l 20
Kl Number of resource types used by project l 4
dil Duration of activity il Integer in [1, 9]
rilk Amount of resource type k required by activity il Integer in [1, 9]
{Cdes,1 , . . . , Cdes,l } Desired complexity of each project [0, 1]
NARLF des Desired NARLF [−3, 3]
α NARLF sensitivity threshold ∼0.025
MAUF des Desired MAUF [0.6, 1.6]
β MAUF sensitivity threshold ∼0.025
a These parameters and ranges 2
σMAUF,des Desired MAUF variance [0, 0.25]
may be adjusted by the user
Fig. 3 Overview of algorithm (part A) for generating the basic project networks
3.2 Generating the basic project networks NARLF des , we found that the subsequent NARLF calibra-
tion to values in [−3, 3] works better when roughly half of
Following Fig. 3, after the inputs are read, the algorithm’s the activities are assigned to each half of the project. There-
main loop is executed at least once per project. For project l, fore, the allocation of activities to tiers is accomplished by
its number of activities, Nl , is either given or determined the algorithm in Table 3, which uses N and T instead of Nl
randomly. Each activity i in project l is assigned a random and Tl for simplicity.
duration, dil . Following Kurtulus and Davis (1982), we let Once the activities have been allocated to the tiers, non-
dil equal a random integer in [1, 9]. Next, Tl is chosen ran- redundant arcs are created. Each non-finish activity is as-
domly from [2, Tmax ], where Tmax is based on Cdes,l , as de- signed a random successor in the next tier. Then, each non-
scribed in Sect. 2.3. start activity is checked to ensure that it has a predecessor. If
Once Tl is selected, the Nl activities are allocated to the it does not, then one is randomly assigned from the preced-
tiers. After attempting to weight the number of activities ing tier. Note that this approach, also used by Kolisch et al.
assigned to the front (or back) half of a project based on (1992, 1995), may yield infeasible solutions when Cdes is
J Sched
Table 3 Algorithm for allocating N activities to T tiers
low, because A may be too large. In such a case, the al- also fail here if there are no remaining positions for non-
gorithm must regenerate the project. In most cases, how- redundant arcs, given the randomly selected T and n. In this
ever, the A established by this procedure will be too small. case also, the algorithm must regenerate the project.
In this event, additional successors (always in the adjacent Once a network with Cdes,l has been generated, each ac-
tier, to ensure non-redundancy) are added at random until tivity is assigned a random number of required resources of
the desired A and Cdes are achieved.8 The algorithm could
renders other existing arcs redundant. This operation could be time-
8 Theprocedure described by Kolisch et al. (1992, 1995) requires an consuming and yet may produce an infeasible network. Our simple
exhaustive checking for whether a randomly added arc is redundant or procedure is more likely to generate a network with a pre-specified Cl .
J Sched
each type. Again following Kurtulus and Davis (1982), we select a random activity, project, and resource type—i, l,
sample each rilk from integers in [1, 9]. and k. If the activity is predominately in the front-half of the
problem—i.e., if ESil + (dil /2) < Integer(CPmax /2)—then
3.3 Calibrating to the desired NARLF one unit of rilk is removed from it (if rilk > 1; otherwise the
random selections recur). If the activity is predominately in
Having generated L project networks, the generator must the back-half of the problem, then rilk is incremented by
now calibrate the problem’s NARLF to NARLF des . We ac- one (if rilk < 9; otherwise the random selections recur). De-
complish this by adjusting the projects’ resource require- creasing the NARLF occurs in the opposite fashion. This ap-
ments. Figure 4 provides an overview of this process, which proach to adjusting the NARLF provides finer tuning than
begins by initializing a counter to track the number of adjust- does changing the number of activities or their durations.9
ments. If this counter exceeds a threshold (we use 500), then Hence, we can choose a relatively small α = 0.025 without
the current set of projects is deemed too ill-conditioned to much risk of failing to reach NARLF des .
reach NARLF des . In such cases, an NARLF failure is flagged
and a new set of project networks is generated. 3.4 Calibrating to the desired MAUF
The NARLF calibration algorithm first determines the
critical path duration, CPl , for each project by calculat- Next, the problem must satisfy the MAUF des by setting
ing the early start (ES), early finish (EF), and slack times the number of resources available. Figure 5 provides an
for each activity in its network. The greatest CPl is des- overview of this portion of the algorithm. First, the algo-
ignated CPmax , and the ES schedules are used to calcu- rithm determines MAUF des,k , for each resource type, k. If
late the NARLF using (10). This actual NARLF is compared 2
σMAUF,des = 0, then MAUF des,k = MAUF des ∀k. If
with NARLF des , and if the difference is greater than a user- σMAUF,des > 0, however, then MAUF des,1 = MAUF des and
2
specified error bound, α, then the NARLF must be increased
or decreased.
MAUF des,k = MAUF des − 2
σMAUF,des ∀k > 1. (16)
The NARLF can be adjusted in a variety of ways. It de-
pends on CPmax , each Nl , K, the rilk s, and, most impor-
tantly, the location of the point of usage of those resources 9 We originally tried a dual-adjustment algorithm, with both coarse-
relative to the mid-point of the problem, CPmax /2. Thus, we and fine-tuning mechanisms, depending on the magnitude of the differ-
can increase (decrease) the NARLF by adding activities or ence between NARLF and NARLF des . The course-adjustment approach
resources to the back (front) half of a problem, or by sub- reallocated the activities among the tiers. However, this requires re-
determining the arcs as well, and the advantages are outweighed by the
tracting them from the front (back) half. If we want the ca- added computational intensity. Another approach to course adjustment
pability to hold Nl constant, however, we must adjust the involves changing the durations of activities, but this could also change
NARLF by changing rilk . Hence, to increase the NARLF, we the critical path duration.
J Sched
Since (14) is a maximization function, (16) is not a func- must be regenerated. This failure increases in likelihood as
tion of k. Thus, we let the first resource type have the great- MAUF des,k increases (which is why we begin with the max-
est MAUF des and let the other resource types provide any imum MAUF des when generating a bank of problems with
2
needed difference so as to yield σMAUF,des .10 varied MAUFs, as discussed in the next section). Unfortu-
After determination of MAUF des,k ∀k, the algorithm cal- nately, this failure also requires returning to near the begin-
culates each Wsk according to (13). To get AUF des,k , we ning of the procedure.
solve (12) for Rk : The choice of β depends on the incremental difference
S S in MAUF des in a bank of test problems and must be cho-
s=1 (Wsk j =1,j =s Dj ) sen to allow sufficient distinction between them. For exam-
Rk = Closest Integer . (17)
S · AUF des,k Ss=1 Ds ple, when varying MAUF des in increments of 0.1, we set
β = 0.025, which implies that a problem with MAUF des =
When using MAUF instead of AUF, we let S = Closest
1.6 could actually have 1.575 ≤ MAUF ≤ 1.625. However,
Integer(CPmax ) so that Ds = 1 ∀s, and this equation sim-
this still provides ample separation from the next value of
plifies to:
MAUF des = 1.5. Decreasing β increases computational time
S
by increasing the likelihood of MAUF failure and conse-
s=1 Wsk
Rk = Closest Integer . (18) quential iteration in the algorithm. If these failures do not
S · MAUF des,k
occur, then we have now generated a problem with desired
This Rk is then used in (12) to determine MAUF k ∀k, with numbers of constituent projects, resource types used, and
which the problem’s MAUF and σMAUF 2 can be found us- activities in each project. The projects each have a desired
2
ing (14)–(15). Sufficiently small differences between σMAUF complexity and resource loading profiles, and the overall
2
and σMAUF,des are not regarded since they tend to be insignif- problem has a desired average utilization for each resource
icant in analyses of the test problems. type.
The algorithm must deal with two potential MAUF gener- 2
Note on choosing σMAUF,des 2
: Since σMAUF,des is a vari-
ation failures. First, if Rk is less than the maximum amount ance from a maximum (instead of from a mean), as that max
of resource type k required by any single activity, then the 2
increases, so does the upper bound on the feasible σMAUF,des .
problem is infeasible and must be regenerated. This type That is, if MAUF des is high—e.g., >1—then MAUF des,1 is
of failure is rare, however, as long as MAUF des ≤ 1.6 and
also high and the other resource types have more “room”
rilk ≤ 9. The second and more common type of failure is
to vary (always on the low side). However, if MAUF des is
due to the rounding of Rk to the closest integer: if Rk im-
low (e.g., 0.6), then MAUF des,1 is low and the Rk for k > 1
plies a MAUF k such that |MAUF k − MAUF des,k | > β, where
will have to be very large to provide the extremely low val-
β is a measure of the desired precision, then the problem
ues of MAUF des,k (for k > 1) required to achieve the de-
2
sired σMAUF,des . That is, (18) will fail as MAUF des,k → 0.
10 Note, 2
however, that if σMAUF,des = 0, then MAUF des,1 = 2
Thus, when setting σMAUF,des for a test bank in which prob-
Max(MAUF des,k ) is not guaranteed to high precision, since the pre-
2
lems will vary over a wide range of MAUF des , σMAUF,des
cision is limited by whole unit resource amounts in the determination
of MAUF des,k ∀k, as discussed below. must be kept low enough to accommodate the lowest values
J Sched
C NARLF 2
σMAUF
Avg.
T
APD
VPD
a Looking at only the HLL and LLL problems did not change this, except the NARLF = 0 problems took significantly longer
age project duration (APD), (c) variance in project duration by the number of attempts until a successful problem, which
(VPD), (d and e) number of MAUF and NARLF failures dur- is equal to NARLF failures + MAUF failures + 1. Table 4
ing generation, and (f) total generation time, each as a func- (which is presented in two parts) shows the ANOM results.
2
tion of C, N ARLF , and σMAUF .11 Generation time is driven
5.1 Effects of network complexity
11 Since all MAUF levels are based on a single, common network, we
generally found the MAUF results uninteresting. Also, since each set Inspecting column one in both parts of Table 4 reveals that
of 11 problems with varied MAUFs were created as a batch, we did not all six factors generally increase (although not necessar-
distinguish the generation times by MAUF level. However, since the ily monotonically) as C decreases. This is because high-
highest and most difficult MAUF setting (here, 1.6) is tried first, most
failures that occur would tend to happen here, and the lower MAUF-
complexity problems are very inflexible (due to the high
level problems are only attempted after the most difficult one has been number of predecessor constraints). Because they tend to
successful. have more tiers on average, low-complexity problems are
J Sched
Table 4 (Continued)
C NARLF 2
σMAUF
NARLF
Fails
MAUF
Fails
Gen.
Time
(in
sec.)
also longer (APD) and more varied in the lengths of their bution of T by C for the generated problems. In each case,
constituent projects (VPD). As discussed in Sect. 2.3, the the average T is significantly less than the expected value
search space for low-complexity problems is much larger, as of the uniform sampling distribution. These gaps indicate
is the percentage of that space with unsuccessful outcomes. a bias towards projects with fewer tiers, because projects
The relationship between C and T is especially inter- with smaller T are more likely to be generated success-
esting. From (13) and Sect. 2.3 we know that Tmax = 6 fully, as indicated by Fig. 2. (Figure 7(b) shows the aver-
for the HHH problems (Cl = 0.69), although we actually age number of attempts until successful generation, which
used Tmax = 5 to reduce computational intensity. Therefore, grows with T and thus decreases with C.) The bias in T
for the HHH problems, the generator samples T from a could be compensated for by sampling from a non-uniform
uniform distribution (the most strongly random allocation) distribution, weighted towards Tmax , but this would dras-
over [2, 5], which has an expected value of 3.5 tiers. How- tically increase computational time. To decrease computa-
ever, the average T for the successfully generated HHH tional time requirements, we set the generator to sample
problems is much less, 2.26. Figure 7(a) shows the distri- Tl from [2, Tmax − 1], thereby sacrificing a small amount
J Sched
Fig. 7 Stacked histograms of average tiers and number of generation attempts by problem complexity
MAUF variance, and network complexity. The generator is Pil is the set of all immediate predecessors of activity i in
made possible by a theoretical contribution, a new approach project l. With these definitions, the problem can be for-
to allocating activities to tiers in the network topology. mally stated as:
The generator produces “near-strongly random” networks
quickly, and can produce increasingly more strongly ran- Optimize:
dom networks at greater computational expense. We there- Performance Measure
fore identify a tradeoff between the degree of randomness
and computational time. (∀i ∈ Nl , l ∈ L : F1l , . . . , Fil , . . . , FNl l ) (19)
The generation of RCMPSPs is an area for continued re- Subject to:
search. This paper takes an initial step in this area, but sev-
eral avenues for further work remain. Further work could ∀i ∈ Nl , i ∈ Pil , l ∈ L : F ≤ Fil − dil , (20)
il
explore the power of T as a separate summary measure.
Past research (Tavares et al. 1999) has not shown any direct ∀i, l ∈ A(t) : rilk ≤ Rk k ∈ K; t ≥ 0, (21)
effect of T on problem solution difficulty, but this should i,l∈A(t)
be confirmed. As a next step, further research should ad-
dress the computational effort required to solve the gener- ∀i ∈ Nl , l ∈ L : Fil ≥ 0. (22)
ated problems optimally. It would be interesting to see which
of the multi-project problem characteristics and summary The objective function (19) seeks to optimize a pre-specified
measures are best able to predict the computational effort performance measure. Constraints (20) impose the prece-
required by solution procedures. We suspect that no sin- dence relations between activities; constraints (21) limit the
gle measure will perform as well as certain combinations of resource demand imposed by the activities being processed
measures. Browning and Yassine (2009) use several analy- at time t to the capacity available; and constraints (22) force
sis of variance (ANOVA) models to demonstrate the signif- the finish times to be non-negative. Examples of common
icance and superiority of the new measures over the tradi- objective functions are to minimize the average delay to
tional ones. However, this superiority could be augmented each project in the problem or to minimize the delay to the
with a study of the measures’ ability to predict computa- overall problem.
tional difficulty. Also, we expect that the efficiency of the
proposed generator could be improved.
Appendix B: Proofs
and T (h) are not consecutive. Thus, two scenarios are possi- and
ble: (a) L(i, h) = 1, when there exists an arc i, s ∈ A such −1
T
that L(i, s) ≥ 2, and an arc h, s ∈ A such that L(h, s) ≥ 1. xi xi+1 ≤ (φ − 1)x, then ≤ 0.
This makes arc i, h redundant. (b) L(i, h) ≥ 2, when there
i=1
exists an arc i, s ∈ A which makes arc i, h redundant.
Therefore, to avoid the above two cases for generating re- T −1 2
Note that i=1 xi xi+1 ≤ x2 when exactly 2 activities are
dundant arcs, arcs of L ≥ 2 are prohibited. removed from tiers M and (M + 1) and placed in tiers
(M − 1) and (M + 2). Also, 2(φ − 1) ≥ x, which makes
Proof of Theorem T 1 Maximize A = (n1 n2 ) + · · · + (φ − 1)x ≥ (x 2 /2). A similar proof may be developed for
(nT −1 nT ), s.t. j =1 nj = N , and nj are non-zero posi-
the case where (N − T ) is odd, in which we round the Loss
tive integers, 1 ≤ j ≤ T . If T = 2, then the above prob-
and Gain expressions down and up, respectively, to the near-
lem becomes: Max(n1 n2 ), subject to n1 + n2 = N . Tak-
est integer.
ing the Lagrangian of this nonlinear integer optimization
problem and assuming N is even yields the optimal answer
Proof of Corollary 1 In (3), it is obvious that Amax∗ (N, T ∈
n1 = n2 = N/2. If N is odd, then solving this optimization
[2, 3], n∗ ) ≥ Amax∗ (N, T ≥ 4, n∗ ). Furthermore, (3c) and
problem yields: n1 = (N + 1)/2 and n2 = (N − 1)/2, or
(3d) are decreasing functions in T . Thus, Amax∗ is a decreas-
vice-versa. Similarly, if T = 3, then solving the resultant op-
ing function of T .
timization problem yields the following optimal solutions:
{n1 = 1 and n2 = n3 = (N − 1)/2} or {n1 = n2 = (N − 1)/2
Proof of Theorem 2 We prove only the limited case where
and n3 = 1}, if N is even, and solutions similar to the T = 2
Amax = Amax∗ —i.e., where n = n∗ . We must show that any
case when N is odd. For T ≥ 4, we provide proof by induc-
T > Tmax fails to allow Amax∗ ≥ A . Substituting (3) and (7)
tion. Starting with the hypothesized optimal arrangement,
into this inequality yields:
we show that any deviation from this arrangement results in
a reduction of non-redundant arcs, or at least no increase. We N −T +2 2
CN 2
call the two consecutive tiers where the majority of nodes are +N −2≥C +N + − CN − 1.
2 4
allocated the “major tiers” and the others the “minor tiers.”
Assume that x activities (x ≥ 0) are removed from one or Arranging terms yields the following quadratic equation
both major tiers and reallocated to one or more minor tiers as (in T ):
follows: xj is the number of activities added to or subtracted
T 2 − (2N + 4)T − (CN 2 − N 2 − 4CN + 4C − 4N ) ≥ 0.
from tier j ; Tj=1 xj = 2x; xj ≥ 0; M and M + 1 are in-
dices for the major tiers; and xM + xM+1 = x. (Note that the
Let δ ≡ CN 2 − N 2 − 4CN + 4C − 4N , which√is a constant
case of moving activities between the two major tiers is not (2N +4)± (2N +4)2 +4δ
considered since we showed above that an equal assignment when given N and C. Therefore, T ≤ 2 .
between the major tiers is optimal.) Let φ = (N − T + 2)/2 Since T ≤ N , we choose the negative sign in front of the
and assume that (N − T ) is even. Then, the reallocation of square root, and transform the function to: T (C, N ) ≤ N +
activities to tiers causes: 2 − C(N − 2)2 + 4, where T must be rounded down to an
integer and N − T is even. If N − T is odd, then the function
Gain = 2x − (x1 + xM−1 + xM+2 + xT ) is: T (C, N ) ≤ N + 2 − C(N − 2)2 + 5. Therefore, Tmax is
−1
T the largest value of T that satisfies (8a) or (8b). This assumes
+ xi xi+1 + φ(xM−1 + xM+2 ) that n = n∗ . If not, then Tmax will be even lower.
i=1
− 2(xM−1 xM + xM+1 xM+2 ) − xM xM+1 ,
References
Loss = (1 + φ)x − xM xM+1 , and
Agrawal, M. K., Elmaghraby, S. E., & Herroelen, W. S. (1996). DA-
= Gain − Loss
GEN: a generator of testsets for project activity nets. European
= (1 − φ)(x − xM−1 − xM+2 ) − x1 − xT Journal of Operational Research, 90(2), 376–382.
Alvarez-Valdés, R., & Tamarit, J. M. (1989). Heuristic algorithms for
−1
T resource-constrained project scheduling: a review and an empir-
− 2(xM−1 xM + xM+1 xM+2 ) + xi xi+1 . ical analysis. In R. Slowinski & J. Weglarz (Eds.), Advances in
i=1 project scheduling (pp. 113–134). New York: Elsevier.
Bein, W. W., Kamburowski, J., & Stallmann, M. F. M. (1992). Optimal
Since reduction of two-terminal directed acyclic graphs. SIAM Journal
on Computing, 21(6), 1112–1129.
(1 − φ) ≤ 0, (x − xM−1 − xM+2 ) ≥ 0, Browning, T. R., & Yassine, A. A. (2009). Resource-constrained multi-
project scheduling: priority rule performance revisited. TCU
(φ − 1)(xM−1 + xM+2 ) ≤ 2(xM−1 xM + xM+1 xM+2 ), Neeley School of Business, Working Paper.
J Sched
Dar-El, E. M. (1973). MALB—a heuristic technique for balancing Kurtulus, I. S., & Narula, S. C. (1985). Multi-project scheduling: analy-
large single-model assembly lines. AIIE Transactions, 5(4), 343– sis of project performance. IIE Transactions, 17(1), 58–65.
356. Liberatore, M. J., & Pollack-Johnson, B. (2003). Factors influencing
Davis, E. W. (1975). Project network summary measures and con- the usage and selection of project management software. IEEE
strained resource scheduling. IIE Transactions, 7(2), 132–142. Transactions on Engineering Management, 50(2), 164–174.
Davis, E. W., & Patterson, J. H. (1975). A comparison of heuristic
Lova, A., & Tormos, P. (2001). Analysis of scheduling schemes and
and optimum solutions in resource-constrained project schedul-
heuristic rules performance in resource-constrained multi-project
ing. Management Science, 21(8), 944–955.
scheduling. Annals of Operations Research, 102(1–4), 263–286.
De Reyck, B., & Herroelen, W. (1996). On the use of the complexity
index as a measure of complexity in activity networks. European Maroto, C., Tormos, P., & Lova, A. (1999). The evolution of software
Journal of Operational Research, 91(2), 347–366. quality in project scheduling. In J. Weglarz (Ed.), Project schedul-
Demeulemeester, E., Dodin, B., & Herroelen, W. (1993). A random ing: recent models, algorithms and applications (pp. 239–259).
activity network generator. Operations Research, 41(5), 972–980. Boston: Kluwer Academic.
Demeulemeester, E., & Herroelen, W. (1992). A branch-and-bound Mastor, A. A. (1970). An experimental and comparative evaluation
procedure for the multiple resource-constrained project schedul- of production line balancing techniques. Management Science,
ing problem. Management Science, 38(12), 1803–1818. 16(22), 728–746.
Demeulemeester, E., Vanhoucke, M., & Herroelen, W. (2003). A ran- Pascoe, T. L. (1966). Allocation of resources—CPM. Revue Française
dom network generator for activity-on-the-node networks. Jour- de Recherche Opérationelle, 38, 31–38.
nal of Scheduling, 6(1), 13–34. Patterson, J. H. (1976). Project scheduling: the effects of problem
Elmaghraby, S. E. (1977). Activity networks: project planning and con- structure on heuristic performance. Naval Research Logistics,
trol by network models. New York: Wiley. 23(1), 95–123.
Elmaghraby, S. E., & Herroelen, W. S. (1980). On the measurement of
complexity in activity networks. European Journal of Operational Patterson, J. H. (1984). A comparison of exact approaches for solv-
Research, 5(4), 223–234. ing the multiple constrained resource, project scheduling problem.
Gutiérrez, M., Durán, A., Alegre, D., & Sastrón, F. (2004). Hiergen: Management Science, 30(7), 854–867.
a computer tool for the generation of activity-on-the-node hierar- Payne, J. H. (1995). Management of multiple simultaneous projects:
chical project networks. In Proceedings of the computational sci- a state-of-the-art review. International Journal of Project Man-
ence and its applications—ICCSA, Part III, Assisi, Italy (pp. 857– agement, 13(3), 163–168.
866). Schwindt, C. (1995). A new problem generator for different resource-
Haberle, K., Burke, R., & Graves, R. (2000). A note on measuring par- constrained project scheduling problems with minimal and maxi-
allelism in concurrent engineering. International Journal of Pro- mal time lags. Institut für Wirtschaftstheorie und Operations Re-
duction Research, 38(8), 1947–1952. search, Universität Karlsruhe, WIOR-Report-449.
Hartmann, S., & Kolisch, R. (2000). Experimental evaluation of state- Schwindt, C. (1996). Generation of resource-constrained project
of-the-art heuristics for the resource-constrained project schedul- scheduling problems with minimal and maximal time lags. Institut
ing problem. European Journal of Operational Research, 127(2),
für Wirtschaftstheorie und Operations Research, Universität Karl-
394–407.
sruhe, Report WIOR-Report-489.
Johnson, T. J. R. (1967). An algorithm for the resource-constrained
project scheduling problem. PhD thesis, MIT. Schwindt, C. (1998). Generation of resource-constrained project
Kaimann, R. A. (1974). Coefficient of network complexity. Manage- scheduling problems subject to temporal constraints. Institut für
ment Science, 21(2), 172–177. Wirtschaftstheorie und Operations Research, Universität Karl-
Kaimann, R. A. (1975). Coefficient of network complexity: erratum. sruhe, Report WIOR-543.
Management Science, 21(10), 1211–1212. Tavares, L. V. (1998). Advanced models for project management.
Kao, E. P. C., & Queranne, M. (1982). On dynamic program- Boston: Kluwer Academic.
ming methods for assembly line balancing. Operations Research, Tavares, L. V., Ferreira, J. A., & Coelho, J. S. (1999). The risk of delay
30(22), 375–390. of a project in terms of the morphology of its network. European
Kolisch, R., Sprecher, A., & Drexl, A. (1992). Characterization and Journal of Operational Research, 119(2), 510–537.
generation of a general class of resource-constrained project
Temperley, H. M. (1976). Graph theory and applications. Chichester:
scheduling problems. Kiel, Germany.
Ellis Horwood.
Kolisch, R., Sprecher, A., & Drexl, A. (1995). Characterization and
generation of a general class of resource-constrained project Thesen, A. (1977). Measures of the restrictiveness of project networks.
scheduling problems. Management Science, 41(10), 1693–1703. Networks, 7, 193–208.
Kurtulus, I., & Davis, E. W. (1982). Multi-project scheduling: cate- Vanhoucke, M., Coelho, J., Debels, D., & Tavares, L. V. (2004). On
gorization of heuristic rules performance. Management Science, the morphological structure of a network. Vlerick Leuven Gent
28(2), 161–172. Management School, Working Paper no. 2004/9.