Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Fundamentals of Operations Research. A textbook
.pdf
Exercises
1
2 3
4 6
7
8
11 13
5
9
12
10
-2
-8
-1 2
33235
-1-6-1
2
41

Chapter 4.
Project Management
In this chapter, we consider network project models, which proved to be very useful in project
management and analysis. Network model (or diagram) is a directed acyclic graph, which
is associated with a project and represents information concerning the project's structure,
durations of its activities and relations between dierent them. Studying the diagram, one can
gure out such essential characteristics of the project as its minimal possible completion time,
bottleneck activities, etc.
Below, we discuss methods to construct and simplify network models, and algorithms to
calculate parameters of the project.
4.1. Network Models
A
project
technologically, some tasks should be completed before the others can start.
We say that taskjprecedes
andjdirectly precedesk, if, additionally, no task that followsjprecedesk. We use aăsign to
denote the precedence relation:
A partial order has a natural representation in terms of directed acyclic graphs (DAGs).
For example, elements of an ordered set (tasks, in our case) may correspond to the nodes of a
graph, and two nodes are connected by an arc if and only if corresponding tasks are in relation
of direct precedence. Such a representation is called an
Another approach is to identify the tasks with the arcs of a graph. In this case, the precedence
relation is represented by arc incidence:jdirectly precedes
arckleaves from. Therefore,
nishing with arck. This representation is called an
model, the nodes correspond to starts and nishes of the tasks and can be considered as some
eventsorstages
is a matter of convenience. Both of them are in most cases equivalent and can be obtained
from one another using line graph transformation (i.e. by transforming arcs into nodes and
vice versa). In this chapter, we use the ¾activity-on-arc¿ formalism.
is a set of tasks aimed to achieve a certain goal. As a rule, this set is partially ordered:
taskk(orksucceedsj), ifkcannot be started untiljis nished,
j ă k
.
¾activity-on-node¿ project network
k ô
arcjenters the node that
j ă k
that the project must go through. The selection of particular representation
if and only if there is a path starting with arcjand
¾activity-on-arc¿ project network
. In this
.
Example 4.1.
Consider a project given by a list of tasks with their predecessors.
task 1 2 3 4 5 6
predecessors
H
1 1 2 2,3 4,5

Network Models
1
1
2
3
4
5
3
2 4
1
1
2
3
4
5
3
2 4
5
6
6
1
1
2
3
2
4
5
3
6
7
4
8
9
5
10
11
6
12
43
Construct an ¾activity-on-arc¿ model. It is easy to arrange the rst four tasks (g.4.1-a), but
we face diculties when try to place the fth one, since it has two predecessors which do not
nish in one node. To deal with the problem we connect nodes 3 and 4 with an extra arc. Now,
arc (4,5) corresponds to task 5: it succeeds both 2 and 3. The remaining arc leaves from node
5 (g.4.1-b).
(a) Tasks 1-4
(b) Whole network
Figure 4.1: Example 4.1. Constructing a network model
Therefore, a network model may include arcs, which do not correspond to any tasks but
are necessary to display the precedence relation. We will call such arcs
depict them dashed. Arcs that represent tasks will be called
actual
dummy
, or
ctive
, and
and will be drawn solid.
In general, to construct a network model of a project, one must, rst, form a collection of
actual arcs and then connect each of them with its direct successors with dummy arcs. Applying
this approach to example 4.1 we obtain a network that diers from the previous one (g.4.2).
As we can see, the ¾activity-on-arc¿ network is not unique: the same project may have several
Figure 4.2: Example 4.1. Alternative network
models containing dierent sets of dummy arcs. Hence there arises the problem of nding the
most compact representation of a project. To eliminate some ctive arcs and simplify a given
network, a
Let
(such nodes are called
node-joining procedure
N “ pX, Uq
be a network (DAG). Clearly,Nmust have nodes with no incoming arcs
sources
can be used.
) and nodes with no outgoing arcs (
sinks
): otherwise,Ncontains
a cycle and is not a DAG. Without loss of generality, we further assume there are exactly one
source and exactly on sink inN. If this is not the case (as in g.4.3) the network can be
transformed by adding two extra nodes, dummy source and dummy sink, and drawing dummy
arcs from the dummy source to each actual source, and from each actual sink to the dummy
sink. (g.4.4).
Denote
•
the initial and terminal nodes of arcjas
ipjq
and
kpjq
, respectively;

44
4
1
3 9
12
2
7
6 10
11
5 8
4
1
3 9
12
2
7
6 10
11
5 8
13
14
Project Management
Figure 4.3: A network with multiple sources and sinks
Figure 4.4: Transformed network
•
the set of actual arcs as
•
the set of actual arcs that occur in paths from the source to nodeias
•
the set of actual arcs that occur in paths from nodeito the sink as
Denition 4.1.
actual arcs¯U
Let
N “ pX, U q
. We call the networks
actual arcs. That is, for each
Given a network
N “ pX, U q
U Ď U
;
Ui;
Ui.
and
N1“ pX1, U1q
equivalent
if they display the same precedence relation on
j1, j2P¯U j1ă j2in
be two networks with the same set of
N ô j1ă j2in
N1.
. The node-joining procedure consists of two iteratively repeating
steps:
Usually, the procedure is used to eliminate some dummy arcs from a network. Turn back
to the network depicted in g. 4.1. Easy to see, the only dummy arc
for nodes 3 and 4 do not satisfy the conditions of the rst Step. At the same time,
p3, 4q
cannot be removed,
each
dummy
arc of the equivalent network in g.4.2 can be eliminated. Though, if we choose to join nodes
4 and 9, the equivalence will be lost: arc 4 will become a successor of arc 3, which is not the
case.
Now we state without the proof a necessary and sucient condition of equivalence of the
initial and the transformed networks.
Theorem 4.1
( [8]).Let
N “ pX, U q
be a network, and
N1“ pX1, U1q
be a network obtained
fromNby applying Procedure 4.1 to nodesuandv. The both networks are equivalent if and
only if one of the conditions holds:
Uu“ Uv, or
Uu“ Uv.

Network Models
1
2
4
6
5
7
8
10
3
9
45
Algorithm 4.1
Step 1.
Find a pair of nodes
1. no actual arc is incident to bothuandu;
2. there is no
• ippq “ ipqq,kppq “ u,kpqq “ v
•
Step 2.
Joinuandv, that is,
1. reconnect touall the arcs incident tov(if there is a dummy arc between the nodes,
remove it);
2. removevfromX;
3. if there are multiple arcs between a pair of nodes in the resulting network, then
•
•
Node-Joining Procedure
p, q P U
u, v P X
:
:
;
or,
kppq “ kpqq,ippq “ u,ipqq “ v
.
if there is an actual arc among them, remove all the dummy arcs,
if there are dummy arcs only, remove all but one.
Figure 4.5: A network
Example 4.2.
Simplify the network in the gure below. Obviously, if two nodes are connected
by a path including actual arcs, these nodes cannot be joined without the equivalence be lost.
Consider the pairs of nodes that have a dummy arc between them.
Nodes 2 and 6
cannot be joined: the node-joining procedure is applicable to them, but the
equivalence conditions do not hold:
U2“ tp1, 2qu ‰ U6“ tp1, 2q, p2, 4q, p4, 6q, p1, 3q, p3, 4qu,
U6“ tp6, 9qu ‰ U2“ tp2, 4q, p4, 6q, p4, 7q, p5, 8q, p6, 9q, p7, 9q, p7, 10q, p8, 10qu.
Nodes 4 and 5
can be joined: the node-joining procedure is applicable to them, and one of
the equivalence conditions holds:
U4“ tp1, 2q, p2, 4q, p1, 3q, p3, 4qu “ U5.
Nodes 9 and 10
cannot be joined: the node-joining procedure is not applicable to them, since
there are actual arcs (7,9) and (7,10) outgoing from the same node and incident to 9 and
10.
The resulting network is in the gure.

46
1
2
4,5
6
7
8
10
3
9
Project Management
Figure 4.6: The network after simplication
4.2. Project Parameters
Let
N “ pX, U q
of arcs (this representation is quite common, since, usually, project graphs are very sparse).
Assume, the nodes and the arcs are numbered such that
be a project network, with a single source and a single sink, given as a list
• X “ t1, 2, . . . , nu
, where the source has number 1, and the sink is numberedn;
• U “ t1, 2, . . . , mu.
Each arc
• ipjq,kpjq
j P U
is associated with parameters:
the arc's initial and terminal nodes;
• τj the arc's length (duration of corresponding task).
From now on, we do not distinguish between actual and dummy arcs in the network. The
dummy arcs are treated as actual ones with lengths equal to zero.
Further, we denote by
a maximum-length path connecting given nodes, and
µpa, bq
a path starting from
a P X
|µ˚pa, bq|
and nishing at
b P X;µ˚pa, bq
is its length (the sum of lengths
of arcs forming this path).
Denition 4.2.
The earliest start time
of a node (event)iis
Apparently, no task that leaves from eventican be started earlier than
e
T
“ |µ˚p1, iq|
i
.
e
T
, since some of
i
its predecessors are not nished until then.
e
Denition 4.3.
path
to be
µ˚p1, nq
critical
is called
.
The value
the critical path
Te“ T
“ |µ˚p1, nq|
n
, tasks and event that belong to this path are also said
is called
the critical time
of the project. The
is
The value
Te, which is the length of the longest path inN, characterizes the earliest possible
time when all the project's tasks can be nished. Clearly, all the tasks that occur in this path,
i.e., the critical tasks, should be performed one by one without delay, otherwise the whole
project will be delayed.
Denition 4.4.
The latest nish time
of an eventiis
Suppose, a taskj, for whichiis the terminal event, is nished after
belong to
will be nished later then at
ending at this node. Easy to see that
critical event.
µ˚pi, nq
all succeedjand need at least
Te. Therefore, a node's latest nish time set a deadline for tasks
e
T
ď T
i
|µ˚pi, nq|
l
for eachi, and
i
l
T
“ Te´ |µ˚pi, nq|
i
.
l
T
. Since the tasks that
i
time to be completed, the project
e
T
i
“ T
l
if and only ifiis a
i

Project Parameters
47
Denition 4.5.
The free oat
of a taskjis the value
e
T
kpjq
´ T
e
ipjq
´ τj.
This parameter displays the amount of time that taskjcan be delayed without causing a
´ T
e
T
, so its earliest
ipjq
e
´ τj. Free oats
ipjq
delay to subsequent tasks. As mentioned above, taskjcannot start before
possible nish time is
e
T
` τj. Its completion before
ipjq
successors. Therefore, we are free to hesitate with this task during
e
T
did not aect starting times of its
kpjq
T
e
kpjq
are nonnegative and equal zero for critical tasks (but not only for them).
Denition 4.6.
The full oat
Taskjdelay of more then
of a taskjis the value
Πj“ T
l
kpjq
Πjincreases not only starting times of its successors, but the
´ T
e
ipjq
´ τj.
nish time of the whole project. Critical tasks (and only they) have zero full oats.
Before proceeding to algorithms for calculating these project parameters, we discuss a
method to simplify the computations.
Denition 4.7.
consistent with precedence relation:
to be
regular
Denition 4.8.
sink is called
A numeration of a network's arcs is said to be
regular
(or
topological
j1ă j2ñ j1ă j2. Similarly, a numeration of nodes is said
(or
topological
), if
pi1, i2q P U ñ i1ă i2.
The maximum number of arcs among all the paths connecting a nodeito the
the rank
of the node and is denoted by
Ri.
), if it is
Given ranks, it is easy to perform regular numbering of nodes:
•
the source is numbered 1,
•
nodes of rank 1 are numbered 2 through
•
nodes of rank 2 are numbered
n1+1 through
n1in arbitrary order,
n2, and so on,
and arcs:
•
arcs that end at nodes of rank 1 are numbered 1 through
•
arcs ending at nodes of rank 2 are numbered
m1+1 through
m1in arbitrary order,
m2, and so on.
Ranks of a network's nodes can be eectively calculated using the following algorithm.
Algorithm 4.2
Bellman-Ford Algorithm for Node Ranks
s :“ 0
for
i :“ 1ton
do
ri:“ 0
repeat
for
j :“ 1tom
do
r
kpjq
:“ maxtr
kpjq
, r
ipjq
` 1u
s :“ s ` 1
until
the process stabilizes
Theorem 4.2.
1.
riď Rifor each nodei, and
For any integers, aftersiterations of Algorithm 4.2

48
8
6
7
2 54
1
3
4
9
6
3
10
5
1
8
2
7
2.
ri“ Ri, if rank of nodeiis less or equals.
Project Management
Proof.
Base step:
Statement 1. By induction on rank of nodei.
Ri“ 0
. In this case,
i “ 1
is the source and no arc ends in it. Therefore, value
does not change through iterations and equals 0 for alls.
Induction step: suppose the statement holds for ranks
R` 1
. Letjbe the last arc that changed
ri“ r
Statement 2. By induction ons. Base step:
r1“ R1“ 0
Induction step: suppose, after
Rlď s ´ 1
.
s ´ 1
. Consider a nodekof ranks. There exists an arcj:
From Statement 1 follows that value
step
s
rk“ maxtrk, r
Since
Corollary 4.
complexity is
rkď Rk, we conclude
The algorithm performs no more than
Opnmq
.
rk“ Rk“ s
ri, that is,
1
kpjq
` 1 ď R
kpjq
s “ 0
. The only node with zero rank is the source,
steps of the algorithm,
r
does not change after step
ipjq
` 1u ě r
ipjq
ipjq
.
1, 2, . . . , R
kpjq “ 1
` 1 ď Ri.
` 1 “ R
pn ` 1q
. Consider an eventi:
ri“ r
1
kpjq
`1
. By assumption,
, and
rl“ Rlfor all eventslsuch that
ipjq
k “ kpjq
s ´ 1
` 1 “ s.
and
R
ipjq
. By assumption, at
iterations and, therefore, its time
To illustrate the work of the algorithm and the method of constructing a regular numeration
of nodes and arcs, consider the following example.
Ri“
“ s ´ 1
r
i
.
Example 4.3.
At step 0 all the values
Calculate node ranks for the network in the g.4.7.
Figure 4.7: A network
riare set to zero. Step 1: go through the arcs and recalculate
arc 1=(1,8):
arc 2=(4,1):
arc 3=(8,6):
arc 4=(6,5):
arc 5=(8,2):
arc 6=(2,5):
arc 7=(4,3):
arc 8=(3,8):
arc 9=(7,5):
arc 10=(8,7):
r8“ maxtr8, r1` 1u “ maxt0, 1u “ 1
r1“ maxtr1, r4` 1u “ maxt0, 1u “ 1
r6“ maxtr6, r8` 1u “ maxt0, 2u “ 2
r5“ maxtr5, r6` 1u “ maxt0, 3u “ 3
r2“ maxtr2, r8` 1u “ maxt0, 2u “ 2
r5“ maxtr5, r2` 1u “ maxt3, 3u “ 3
r3“ maxtr3, r4` 1u “ maxt0, 1u “ 1
r8“ maxtr8, r3` 1u “ maxt1, 2u “ 2
r5“ maxtr5, r7` 1u “ maxt3, 1u “ 3
r7“ maxtr7, r8` 1u “ maxt0, 3u “ 3
,
,
,
,
,
,
,
,
,
.
ri.

Project Parameters
4
6
7
5 81
2
3
8
10
9
5
7
6
3
4
1
2
Values obtained through further steps are listed in the table below.
i
Step 0 Step 1 Step 2 Step 3
1 0 1 1 1
2 0 2 3 3
3 0 1 1 1
4 0 0 0 0
5 0 3 4 4
6 0 2 3 3
7 0 3 3 3
8 0 2 2 2
49
Nodes of rank 0:
rank 1:
rank 2:
rank 3:
rank 4:
nodes 1 and 3,
node 8,
nodes 2, 6, and 7,
node 5,
Arcs ended at nodes with rank 1:
rank 2:
rank 3:
rank 4:
arcs 1 and 8,
arcs 3, 5, and 10,
arcs 4, 6, and 9,
node 4 is the only node of rank0, it gets number
1 Ñ 21,
3 Ñ 31;
8 Ñ 41;
2 Ñ 51,
6 Ñ 61,
5 Ñ 81.
arcs 2 and 7,
1 Ñ 31,
8 Ñ 41;
3 Ñ 51,
4 Ñ 81,
5 Ñ 61,
6 Ñ 91,
10 Ñ 71;
9 Ñ 101.
Renumbered network is shown in the g.4.8.
7 Ñ 71;
2 Ñ 11,
11;
7 Ñ 21;
A modication of the algorithm 4.2 can be used to calculate the earliest start times.
Algorithm 4.3
s :“ 0
for
i :“ 1ton
repeat
for
s :“ s ` 1
until
Bellman-Ford Algorithm for the Earliest Start Times
do
ti:“ 0
j :“ 1tom
the process stabilizes
do
t
kpjq
Figure 4.8: Regular numeration
:“ maxtt
kpjq
, t
ipjq
` τju

50
Project Management
The correctness of the algorithm is proved in the way similar to the proof of Theorem 4.2.
Theorem 4.3.
Given a network with regularly numbered arcs. Algorithm 4.3 calculates the
earliest start times in a single pass through arcs in numerical order.
Proof.
does not stop, that is, at the second step some values
passing through which we must change one of the values, i.e., change
Since
at the rst step. Though, all the arcs ending at
smaller thanj. Therefore, value
Let the rst step of the algorithm nish with values
1
t
“ maxtt
kpjq
tkpjq
is changed at the second step, the value
kpjq
, t
ipjq
` τju “ t
t
ipjq
ipjq
t
must be xed before
ipjq
t1, t2, . . . , tn. Suppose, the algorithm
tiare updated. Letjbe the rst arc
to
t
1
kpjq
:
ipjq
` τj.
t
kpjq
must have been calculated after
precedejand are labeled with numbers
t
.
kpjq
Similarly, the latest nish times can be found using another modication of the Bellman-
Ford Algorithm.
Algorithm 4.4
Bellman-Ford Algorithm for the Latest Finish Times
s :“ 0
for
i :“ 1ton
do
ti:“ T
e
repeat
for
j :“ m
downto1do
t
ipjq
:“ maxtt
ipjq
, t
kpjq
´ τju
s :“ s ` 1
until
the process stabilizes
t
kpjq
Theorem 4.4.
Given a network with regularly numbered arcs. Algorithm 4.4 calculates the
latest nish times in a single pass through arcs in inverse numerical order.
When the earliest and the latest times are calculated, other network characteristics, such
as the tasks oats, critical events and tasks, can be easily found.
Example 4.4.
j
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
arc
13 14 47 79 28 45 59 89 29 35 34 67 26 24 23 16 46 12
τj24 52 12 44 26 12 64 69 17 75 3 33 50 5 0 44 29 4
Consider the following project network:
No arc enters1, and no arc leaves from 9. Therefore, these nodes are the source and the sink,
respectively. Find the earliest start times using algorithm 4.3.
i
Step 0 Step 1 Step 2 Step 3
1 0 0 0 0
2 0 4 4 4
3 0 24 24 24
4 0 52 52 52
5 0 99 99 99
6 0 81 81 81
7 0 64 114 114
8 0 26 30 30
9 0 128 163 163
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
