Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Fundamentals of Operations Research. A textbook

.pdf
Скачиваний:
0
Добавлен:
06.09.2026
Размер:
2 Мб
Скачать
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 dierent 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 diculties 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 diers 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 dierent 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
Denition 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 sucient 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 simplication
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).
Denition 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
Denition 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.
Denition 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
Denition 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 aect starting times of its
kpjq
T
e
kpjq
are nonnegative and equal zero for critical tasks (but not only for them).
Denition 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.
Denition 4.7.
consistent with precedence relation: to be
regular
Denition 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 ñ ii2.
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 eectively 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 modication 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 modication 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
13 14 47 79 28 45 59 89 29 35 34 67 26 24 23 16 46 12
τ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