On Minimum Duration Project Schedule Fanrong Xie
Renan Jia
Guangxing Zeng
Department of Mathematics Nanchang University Nanchang, China
[email protected]
Institute of System Engineering Nanchang University Nanchang, China
[email protected]
Department of Mathematics Nanchang University Nanchang, China
[email protected]
in this paper by means of improvement (Fei, 1996[5]; Liu and Xu, 1991[11]; Li and Xie, 1999a[8], b[9]; Wang, 2005[14]; Xie, 2004[19]). By calling the mfmc-A algorithm to modify the algorithm presented by Kamburowski (1995[7]) for finding minimum cost project schedule, we have obtained an algorithm named MDPS-A to find minimum duration project schedule. We have implemented the MDPS-A algorithm on personal computer using Visual Basic 5.0 language. Utilizing the program based on MDPS-A, so long as we input the normal job time correlation matrix, the extreme job time correlation matrix, the direct cost variation rate correlation matrix, and other related information, which are defined in this paper, we can conveniently obtain the optimal solution to MDPSP.
Abstract—In order to facilitate building decision support system relative to project crashing, Minimum Duration Project Schedule Problem (MDPSP) is worthy of further research as a case of project crashing. In this paper, MDPSP is formulated using a bi-level programming model, and an algorithm named mfmc-A is presented to find maximum flow & minimum cut set in network with lower & upper arc capacities. Based on mfmc-A and the algorithm presented by Kamburowski for finding minimum cost project schedule, an algorithm named MDPS-A is proposed to solve MDPSP. The theory, on which MDPS-A is based, is presented. MDPS-A not only can find the optimal solution to MDPSP, but also has a good performance in the sense of being implemented on computer, computational time and required memory for computation. Numerical experiments demonstrate that MDPS-A is an efficient and robust method to solve MDPSP, and especially applicable to larger and more complex project.
II.
As a preliminary, an algorithm is presented in this section to find maximum flow & minimum cut set in network with lower & upper arc capacities, which has further perfected the work presented by Xie and Jia (2008[22]).
Keywords- project crashing; maximum flow; minimum cut set
I.
PRELIMINARY
INTRODUCTION
Project crashing is to reduce project duration by expending additional resources which, however, increase project cost. Thus, the decision to reduce project duration must be based on the analysis of trade-off between time and cost which, in fact, is an important issue concerned very much by practitioners, and has been studied by a number of scholars such as Wu and Li (1994[17]), Kamburowski (1995[7]), and others. As a case of project crashing, Minimum Duration Project Schedule Problem (MDPSP) is to determine the planning completion time of all the activities of given project, so that the project duration is the shortest and the corresponding additional cost has a minimal value, under the condition that for the project, the normal completion time and the shortest completion time of any activity, the cost for any activity to be crashed one day, the precedence relationship of activities, the project indirect cost per day, as well as the upper bound of the total additional cost to expedite the project, are known. As is well known, building decision support system relative to project crashing is a pragmatic goal. In order to facilitate building decision support system relative to project crashing, MDPSP is worthy of further research (Roberta and Bernard, 1998[13]; Wu and Li, 1995[18]; Xie and Jia, 2007[21]).
Definition 1 The directed graph with two weights in any arc, denoted by G = (V , s, t ; A; C , C ) , which is connected, simple (no parallel arc), is called network with lower & upper arc capacities, where V = {1,2, , n} is the vertex set of graph G , vertex s is the source (starting node) of G , vertex t is the sink (terminating node) of G , A ={ aij | arc aij =
(i, j ) exists} is the arc set of graph G , C = (C ij ) n×n is the G ( C ij denotes the lower limit of capacity transported directly from vertex i to vertex j ), and C = (C ij ) n×n is the upper arc capacity matrix of
lower arc capacity matrix of graph
graph G ( C ij denotes the upper limit of capacity transported directly from vertex i to vertex j ). When i = j , stipulate
C ij = 0 , C ij = +∞. When i ≠ j , if there is no such arc as aij = (i, j ) in graph G , then stipulate C ij = C ij = 0 ; otherwise, stipulate
On the basis of the known works (Ahuja et al., 1993[1]; Bela,1998[2]; Bondy and Murty,1976[3]; Han, 2000[6] ), we formulate MDPSP using a bi-level programming model, and present an algorithm named mfmc-A to find maximum flow & minimum cut set in network with lower & upper arc capacities
C ij = C (aij ) and C ij = C (aij ) . Here,
C (aij ) and C (aij ) denote the lower capacity (lower limit of
National Natural Science Foundation of China (10761006, 70761004); Jiangxi Provincial Advanced Education Reform Project (GanJiaoGaoZi [2004]100Hao); Science Foundation of Nanchang University (04Z02914) 436
capacity) and the upper capacity (upper limit of capacity) of arc
Definition 2
*
= (V1* ,V1* ) ∪ (V1* ,V1* ) is the minimum cut set of G ,
Given network with lower & upper arc
*
(i, j ) ; the number set { f ij | (i, j ) ∈ A} is called the feasible flow of G , denoted by f , when the following three constraints are satisfied: (1) for any arc (i, j ) ∈ A , C ij ≤ arc
∑f
Definition 5
ki
; and (3) for source
∑f
is
=
( i , s )∈A
∑f
jt
∑f
−
( j ,t )∈A
s and sink t ,
si
( s ,i )∈A tj
= v ( f ) where the number
( t , j )∈A
v( f ) is called the flow amount of f , and the net quantity flowing out of source s is equal to the net quantity flowing into sink t . The maximum flow of G is the feasible flow f of G subject to the flow amount v ( f ) transported from source s to sink t being maximal. Definition 3 capacities G
'
{( n + 3, t )} ∪ {(t , n + 3)} is the arc set of G ' , C = '
(C ij ) ( n +3)×( n +3) is the lower arc capacity matrix of G ' ,
( i , j )∈(V1 ,V1 )
'
∈ A , let C ij =
∑C
kj
;
( k , j )∈A
when i ∈ V and
'
j = n + 2 , let C ij =
∑C
ik
; when “ i = s
( i , k )∈A
, then the cut set of G
with minimal capacity is called minimum cut set of G , the capacity of the minimum cut set of G is called minimum cut amount of G . (Ahuja et al., 1993[1]; Kamburowski, 1995[7]) Definition 4
'
'
of G . The capacity of the cut set C (V1 , V1 ) is defined by ij ( i , j )∈(V1 ,V1 )
'
C = (C ij ) ( n+3)×( n +3) is
C ij − C ij ; when i = n + 1 and j ∈ V , let C ij =
(V1 , V1 ) ∪ (V1 , V1 ) , then arc set C (V1 , V1 ) is called cut set
∑C
'
constructed as follows: when (i , j )
(V1 , V1 ) = { (i, j ) ∈ A | i ∈ V1 , j ∈ V1 }, C (V1 , V1 ) =
−
'
components are equal to zero.
= V − V1 , (V1 , V1 ) = {(i, j ) ∈ A | i ∈ V1 , j ∈ V1} ,
ij
'
C = (C ij ) ( n+3)×( n +3) is zero matrix in which all the
Given network with lower & upper arc
∑C
'
C = (C ij ) ( n+3)×( n +3) is the upper arc capacity matrix of G ' .
= (V , s, t ; A; C , C ) , let s ∈ V1 ⊂ V , t ∈ V1
c (V1 , V1 ) =
'
'
G ' = (V ' , s ' , t ' ; A ' ; C , C ) , where V ' = V ∪ { n + 1 , n + 2 , n + 3 } is the vertex set of G ' , vertex s ' = n + 1 is ' ' the source (starting node) of G , vertex t = n + 2 is the sink ' ' ' (terminating node) of G , A = A ∪ {( s , k ) | k ∈ V } ∪ {(k , t ' ) | k ∈ V } ∪ {( s, n + 3)} ∪ {( n + 3, s )} ∪
f ij =
∑f
Given network with lower & upper arc
capacities G = (V , s, t ; A; C , C ) , construct a G ’s accompanying network with lower & upper arc capacities
( i , j )∈A
( k ,i )∈A
−
∑
*
where V1 = V − V1 .(Ahuja et al., 1993[1]; Bela, 1998[2]; Bondy and Murty, 1976[3]; Liu and Xu, 1991[11]; Qian, 1990[12])
G = (V , s, t ; A; C , C ) , any arc (i, j ) ∈ A is given a non-negative number f ij which is called the flow of capacities
f ij ≤ C ij ; (2) for any vertex i ∈ V − {s, t} ,
*
j ∈ V1* . With aforesaid condition, t ∉ V1* , C(V1 ,V1 )
let
a ij respectively, and 0 ≤ C (aij ) ≤ C (aij ) > 0 .
and
j = n + 3 ” or “ i = n + 3 and j = s ” or “ i = n + 3
and
j = t ” or “ i = t and j = n + 3 ”, let C ij = +∞;
'
when
'
i = j , stipulate C ij = +∞; when i ≠ j , if (i, j ) ∉ A ' , '
then stipulate C ij = 0 . Lemma 2 Given network with lower & upper arc capacities
Given network with lower & upper arc
= (V , s, t ; A; C , C ) , let f = { f ij | (i, j ) ∈ A} be a feasible flow of G , define the flow matrix F = ( Fij ) n×n of G as follows. When i = j , let Fij = 0 . When
with lower & upper arc capacities G
i ≠ j , if there is no such arc as a ij = (i, j ) , let Fij = 0 ;
C ) has been constructed as in definition 5, then the following
capacities G
otherwise, let Fij
G = (V , s, t ; A; C , C ) , and G ’s accompanying network '
= (V ' , s ' , t ' ; A' ; C ,
'
algorithm named Algorithm 1 can be used to find the flow
= f ij .
matrix
Lemma 1 Given network with lower & upper arc capacities maximum flow of G , and construct the vertex set
F ' = ( F ' ij ) ( n +3)×( n +3) of the maximum flow f ' of
G ' . (Fei, 1996[5]; Li and Xie, 1999a[8], b[9]; Xie, 2004[19])
G = (V , s, t ; A; C , C ) , let f * = { f ij* | (i, j ) ∈ A} be the according to the following method: Let
'
Algorithm 1:
V1*
s ∈ V1* ; if i ∈ V1* and
'
F ' ij = 0 , Wij = C ij , for all i, j ∈ {1,2, , n, n + 1, n + 2, n + 3} . Step 1 Let
f ij* < C ij , then let j ∈ V1* ; if i ∈ V1* and f ji* > C ji , then
437
= Wij , S ij = j , for all i, j ∈ {1,2, n, n + 1, n + 2, n + 3} ; k = 1 .
,
Step 2 Let U ij
Step 1 (to construct the capacity matrix W
G ( f ) , the accompanying network with regard to the feasible flow f of G (Fei, 1996[5])) For all i, j ∈ {1,2, , n} , let
Step 3 For all i , j ∈ {1,2,
, n, n + 1, n + 2, n + 3} , if U ij < min{U ik , U kj } , then let U ij = min{ U ik , U kj },
Wij = (C ij − Fij ) + ( F ji − C ji ) .
S ij = S ik , otherwise U ij and S ij remain unchanged.
Step 2
Step 4 If k = n + 3 , go to Step 5; otherwise, let k k + 1 , go to Step 3. Step 5 Let s '
'
= n + 1 , t = n + 2 . If U s 't ' = 0 , then
f
flow
of G , output
otherwise let θ
Step 7
U ij and S ij remain unchanged.
'
F = ( F ij ) ( n +3)×( n +3) , stop;
Let
F lr + θ − min{θ , F rl } , F rl = F '
'
− min{θ , F rl } .
rl
'
Step 6 Let l
=r ,
Given network with lower & upper arc
= (V , s, t ; A; C , C ) , G ’s accompanying ' ' ' ' network with lower & upper arc capacities G = (V , s , t ;
r
'
A ' ; C , C ) has been constructed as in definition 5, and the ' ' ' flow matrix F = ( F ij ) ( n +3)×( n + 3) of the maximum flow f
j =1
'
n
s' j
= ∑C j =1
n
' s' j
; (2) when
∑F j =1
'
s' j
=
n
∑C
' s' j
Step 8 If r = t , go to Step 2; otherwise, let l = S rt , go to Step 7.
=r ,
G = (V , s, t ; A; C , C ) , F = ( Fij ) n×n is the flow matrix of
'
n
Let
Lemma 5 Given network with lower & upper arc capacities
of G has been found according to Algorithm 1. Then the following conclusions hold: (1) the sufficient and necessary condition, which there exists a feasible flow in G , is
∑F
= s , r = S st .
Wlr = Wlr − θ , Wrl = Wrl + θ , Flr = Flr + θ − min{θ , Frl − C rl } , Frl = Frl − min{θ , Frl − C rl } . Step 7
capacities G '
f * of G , output
F = ( Fij ) n×n , stop; otherwise, let θ = U st , go to Step 6.
'
Step 8 If r = t , go to Step 2; otherwise let l r = S rt ' , go to Step 7. Lemma 3
is the flow matrix of the maximum flow
Wlr = Wlr − θ , Wrl = Wrl + θ , F 'lr = '
U st = 0 , then at this moment F = ( Fij ) n×n
Step 5 If
= s ' , r = S s 't ' .
'
= n , go to Step 5; otherwise, let k = k + 1 ,
Step 4 If k go to Step 3.
= U s 't ' , go to Step 6.
Step 6 Let l
, n} , if U ij < min{U ik ,
U kj } , then let U ij = min{U ik , U kj } , S ij = S ik , otherwise
F = ( F ij ) ( n +3)×( n+3) is the flow matrix of the maximum '
= Wij , S ij = j , for all i, j ∈ {1,2,
Step 3 For all i, j ∈ {1,2,
'
'
Let U ij
, n} ; k = 1 .
=
'
'
= (Wij ) n×n of
*
the maximum flow f of G , then the following algorithm named Algorithm 3 can be used to find the minimum cut set of G . (Xie, 2004[14]; Xie and Jia, 2008[22] )
, let
Algorithm 3:
j =1
Step 1 (to find the minimum cut set of G by utilizing lemma 1) Let sign (i ) = 0 , for all i ∈ {1,2, , n} ; let
F = ( Fij ) n×n where Fij = Fij' + C ij for all i, j ∈ {1,2, , n} , then F is the flow matrix of a feasible flow in G .
rotation = 1 . Here, sign(i ) = 1 denotes vertex i ∈ V1* ,
(Ahuja et al.,1993[1];Bela,1998[2];Bondy and Murty,1976[3]; Liu and Xu, 1991[11]; Qian, 1990[12]; Wang, 2005[14])
sign(i ) = 0 denotes vertex i ∈ V1* , where V1* and V1* are
Lemma 4 Given network with lower & upper arc capacities
defined as in lemma 1.
G = (V , s, t ; A; C , C ) , F = ( Fij ) n×n is the flow matrix of a feasible flow f in G , then the following algorithm named
Step 2
(to determine
sign ( s ) = 1 .
Algorithm 2 can be used to find the flow matrix of the * maximum flow f of G . (Fei, 1996[5]; Li and Xie, 1999a[8], b[9]; Wang, 2005[14]; Xie, 2004[19] )
Step 3 Let i Step 4 Let
Algorithm 2:
Step 5 If
438
V1* and V1* in lemma 1) Let
= 1.
j = 1.
i ≠ j , go to Step 6; otherwise, go to Step 9.
> 0 or C ji > 0 , go to Step 7; otherwise,
Step 6 If C ij go to Step 9.
Step 7 If sign (i ) let sign ( j )
and sign ( j )
= 0,
, n} , let C ij = C ij − C ij ; when i = n + 1 and j ∈
= 1 and F ji > C ji
and sign ( j )
= 0,
'
= i + 1 , go to Step 10. Step 10 If i ≤ n , go to Step 4; otherwise ,
j = n + 2 , let C ij =
Step 12 (to find mincutset
conditions, if
= 1 , (V1* ,V1* )
G ' . If
=ф,
= 0 and sign( j ) = 1 , then let
(V1* ,V1* ) = (V1* ,V1* ) ∪ {(i, j )} , mincut = mincut – C ij .
Fij = Fij' + C ij for
3
First by calling
Algorithm
2,
evaluate
SOLUTION METHOD
In this section, an algorithm is presented to solve MDPSP. (Li and Xie,2000[10]; Qian,1990[12]; Wei et al., 1996[15]; Wen, 2005[16]; Xie and Qiu, 2002[20]; Xie and Jia, 2007[21])
j = j + 1 . If j ≤ n , go to Step 14; otherwise, let i = i + 1 , go to Step 19.
As an application of the mfmc-A algorithm to project crashing, MDPSP is considered as follows.
mincutset
A project is composed of a number of activities among which there exists a specified precedence relationship, and each activity itself has a normal completion time, the shortest completion time due to crashing, as well as the cost for the activity to be crashed one day. The project indirect cost per day is known to be ω . For the project to be completed as soon as possible, additional investment is made in the project except the normal project schedule investment, and the total additional investment in the project does not surpass the upper bound γ ( γ ≥0). The task is to determine which activities need to be crashed and how many days the activities should be crashed in the project, so that the project duration is minimal,
* 1
Given network with lower & upper arc
capacities G = (V , s, t ; A; C , C ) , then the following algorithm named mfmc-A can be used to find maximum flow & minimum cut set of G . mfmc-A: Step 1 According to Definition 5, construct the upper arc '
, then let
j =1
III.
Step 18 Let
capacity matrix
s' j
Proof: According to Definition 1, it is known that Step 1 holds. According to Lemma 2 and Lemma 3, it is known that Step 2 holds. According to Lemma 4 and Lemma 5, it is known that Step 3 holds. So Theorem 1 holds.
C ij .
Theorem 1
'
F = ( Fij ) n×n , the flow matrix of the maximum flow f * of G ; then by calling Algorithm 3, find the minimum cut set of G , and stop.
= 0, then let
≤ n , go to Step 13; otherwise, let = (V ,V ) ∪ (V1* ,V1* ) , stop.
n
∑ F ' s' j = ∑ C
j ∈ {1,2,
Step
(V1* ,V1* ) = (V1* ,V1* ) ∪ {(i, j )} , mincut = mincut +
Step 19 If i
n
, n} , at this moment F = ( Fij ) n×n is the flow matrix of an initial feasible flow of G , go to Step 3; otherwise, there is no feasible flow in G , stop.
all i,
> 0 , go to Step 16 ; otherwise , go to
Step 17 If sign (i )
'
By calling Algorithm 1, evaluate
j =1
i ≠ j , go to Step 15; otherwise, go to Step 18.
and sign ( j )
'
F' = ( F ' ij ) ( n +3)×( n +3) , the flow matrix of the maximum flow f ' of
j = 1.
=1
i = s and
; when “
i = j , then let C ij = +∞, else let C ij = 0 .
Step 2
(V1* ,V1* ) =ф (ф denotes the empty set), mincut = 0 .
Step 16 If sign (i )
ik
'
(V1* ,V1* ) , the minimum cut set of G , and mincut , the
Step 15 If C ij Step 18.
∑C
j = t ” or “ i = t and j = n + 3 ”, let C ij = +∞; for other
= C (V1* ,V1* ) = (V1* ,V1* ) ∪
minimum cut amount of G ) Let i
n
j = n + 3 ” or “ i = n + 3 and j = s ” or “ i = n + 3 and
go to Step 11.
Step 11 Let rotation = rotation + 1 . If rotation ≤ n , go to Step 3; otherwise, go to Step 12.
* 1
, n} and
k =1
let i
Step 14 If
'
k =1
j = j + 1 . If j ≤ n , go to Step 5; otherwise,
Step 13 Let
n
, n} , let C ij = ∑ C kj ; when i ∈ {1,2,
{1,2,
= 1.
Step 9 Let
'
'
= 1.
Step 8 If sign (i ) let sign ( j )
= 1 and Fij < C ij
'
A ' ; C , C ) , the G ’s accompanying network with lower & upper arc capacities, i.e., for all i, j ∈ {1,2, , n, n + 1, n + 2, n + 3} , manipulate as follows: when i, j ∈ {1,2,
'
C = (C ij ) ( n+3)×( n +3) of G ' = (V ' , s ' , t ' ;
439
and the total additional investment is minimal subject to the project duration being minimal.
With above definition , MDPSP can be expressed as follows: Given overall planning network N = (V , A, X ,
Y , Z ) and project indirect cost per day ω , additional
In order to solve MDPSP, according to the precedence relationship among the activities in the project as well as other known information, we construct overall planning graph with three weights in any arc to formulate logical and numerical relationship of the project. Hence, we give the following definition. (Han, 2000[6]; Qian, 1990[12]; Wei et al, 1996[15]) Definition 6
(V , A, X , Y , Z )
investment, the total of which does not surpass the upper bound γ ( γ ≥0), is made for the project to be completed as soon as possible, on the basis of investment of the normal project schedule where any activity proceeds according to its normal job time. The task is to determine which activities need to be crashed and how many days the activities should be crashed in the project, so that the project duration is minimal, and the total additional investment is minimal subject to the project duration being minimal. For convenience, the optimal solution to MDPSP is called minimum duration project schedule.
The directed graph, denoted by N = , which is connected, no absent (any arc
appears in a path from vertex 1 to vertex n ), no cyclic, simple (no parallel arc), and weighted, is called overall planning network, where, V = {1,2, , n} is the vertex (event ) set of
Definition 7 Given overall planning network N = (V , A, X , Y , Z ) , in order to find minimum duration project schedule, define the planning job time correlation matrix T = (Tij ) n×n of N , where Tij = T (i, j ) denotes the planning job (completion) time of the arc (activity) from vertex i to vertex j . When i = j , stipulate Tij = 0. When i ≠ j , if there is
graph N , vertex 1 is unique node with zero indegree in graph N (total starting event), vertex n is unique node with zero outdegree in graph N (total finishing event); A = { a ij | arc
a ij = (i, j ) exists, and i < j } is the arc (activity) set of graph
N ; X = ( X ij ) n×n is the normal job time correlation N , X ij = X (i, j ) denotes the anticipated
matrix of graph
no such arc (activity) as
normal job (completion ) time of the arc (activity) from vertex i to vertex j ; Y = (Yij ) n×n is the extreme job time
a ij = (i, j ) , stipulate Tij = – 1 .
N , Yij = Y (i, j ) denotes the
Then, to find minimum duration project schedule is in fact to do the following two things. The first thing is to determine the planning job time correlation matrix T = (Tij ) n×n of N ,
anticipated minimum job (completion) time of the arc (activity) from vertex i to vertex j ; Z = ( Z ij ) n×n is the direct cost
so that the following three constraints are satisfied: (a) Yij ≤ Tij ≤ X ij , for any arc (activity) (i, j ) ∈ A ; (b) the total
correlation matrix of graph
variation rate correlation matrix of graph
additional investment in the project does not surpass the upper bound γ when any activity in the project proceeds according to its planning job time; and (c) when any activity in the project proceeds according to its planning job time, the project duration is minimal and the total additional investment is minimal subject to the project duration being minimal. For convenience, the activity’s planning job time satisfying constraints (a) and (b) is called feasible planning job time, and the activity’s planning job time satisfying constraints (a), (b) and (c) is called optimal planning job time. The second thing is to calculate the related parameters of overall planning network N when any activity in the project proceeds according to optimal planning job time. (Xie and Qiu, 2002[20])
N , Z ij = Z (i, j )
denotes the direct cost variation rate of the activity (arc) from vertex i to vertex j . When i = j , then stipulate X ij =
Yij = Z ij = 0 . When i ≠ j , if there is no such arc (activity) as
a ij = (i, j ) , then stipulate X ij = Yij = Z ij = – 1 . For activity
(i, j ) , set its normal job time to be X ij ,
extreme job time
Yij , direct cost of normal job time ζ ij , and
direct cost of extreme job time ψ ij , then the formulas
X ij ≥
Yij and ψ ij ≥ ζ ij hold; define the direct cost variation rate
Definition 8 Define addition operator
Z ij of activity (i, j ) as follows (Qian, 1990[12]):
+
⊕ in set {−1} ∪
+
R as follows , where R denotes non-negative real set + (Xie and Qiu, 2002 [20] ) . For any x , y ∈ {−1} ∪ R ,
⎧0, if X ij = Yij ⎪ . So the direct cost variation Z ij = ⎨ψ ij - ζ ij ≠ , if X Y ⎪ ij ij ⎩ X ij - Yij
⎧⎪− 1, if x = −1 or y = −1 ; when all the x⊕ y = ⎨ ⎪⎩x + y, if x ≥ 0 and y ≥ 0 activities in N = (V , A, X , Y , Z ) proceed according to
Z ij of activity (i, j ) is non-negative, i.e., Z ij ≥ 0 . It is stipulated that for dummy activity (i, j ) , its normal job time,
rate
feasible planning job time, construct course network N (T ) = (V , A, T ) : vertex set V is the vertex set of N , arc
extreme job time, and direct cost variation rate are zero, i.e., X ij = Yij = Z ij = 0 .
set
440
A is the arc set of N , and any arc (i, j ) of N (T ) has
weight
r = n , then the critical path in N (T ) is P1n , let TE = u1n , go to Step 7; otherwise, let l = r , r = s r n , go to
Tij , herein Tij denotes the planning job time of the arc
Step 6 If
i to vertex j , T = (Tij ) n×n is the planning job time correlation matrix of N . (Wen, 2005[16]) (activity) from vertex
Step 5. Step 7 (to calculate the related parameters of all the events , n} , let t E ( j ) (vertices) in N (T ) )For all j ∈ {1,2,
N = (V , A, X , Y , Z ) , there are parameters as follows: u ij denotes the length of critical path (i.e. the longest path ) from vertex i to vertex j in N (T ) ; t E ( j ) denotes the earliest possible starting time of event (vertex) j in N (T ) ; t L ( j ) denotes the latest necessary completion time of event (vertex ) j in N (T ) ; t ES (i, j ) denotes the earliest possible starting time of activity (arc) (i, j ) in N (T ) ; t EF (i, j ) denotes the earliest possible completion time of activity (arc) (i, j ) in N (T ) ; TE denotes the earliest possible completion time of project in N (T ) ; t LS (i, j ) For overall planning network
= u1 j , t L ( j ) = u1n – u jn . Step 8 (to calculate the related parameters of all the activities (arcs) in N (T ) ) Let i = 1 .
Step 10 If
i ≠ j and Tij ≠ – 1 , then there exists activity
(i, j ) , let t ES (i, j ) = u1i , t EF (i, j ) = u1i + Tij ,
t LF (i, j ) = u1n – u jn , t LS (i, j ) = u1n – u jn – Tij , R (i, j ) = u1n – u jn – Tij – u1i , r (i, j ) = u1 j – u1i – Tij , go to Step 11; otherwise, go to Step 12.
time of activity (arc) (i, j ) in N (T ) ; R(i, j ) denotes the total flexible time of activity (arc) (i, j ) in N (T ) which delay does not affect the earliest possible completion time of project in N (T ) ; r (i, j ) denotes the flimsy flexible time of activity (arc) (i, j ) in N (T ) which completion
Step 11 (to judge if activity (i, j ) is critical activity) If
R (i, j ) = 0, then activity (i, j ) is critical activity, output the sign “√”; otherwise, activity (i, j ) is non-critical activity, output the sign “×”.
j = j + 1 . If j ≤ n , go to Step 10; otherwise, let i = i + 1 , go to Step 13. Step 12
delay does not affect the earliest starting time of all the successive activities of activity (i, j ) in N (T ) . (Xie and Qiu, 2002[20])
Let
Step 13 If i
≤ n , go to Step 9; otherwise, stop.
Then MDPSP can be formulated using the bi-level programming model (BPM) as follows.
Lemma 6 The following algorithm, named wcm-NA, can be used to find the related parameters of course network N (T ) = (V , A, T ) . (Li, and Xie, 2000[10]; Xie and Qiu, 2002[20])
(BPM): Minimize
wcm-NA:
[
∑Z
ij
( X ij − Tij )] + ω [TE − f ( X )]
( i , j )∈ A
(preparation) Let
i, j ∈ {1,2,
subject to { Minimize
u ij = Tij , sij = j , for all
TE subject to { Yij ≤ Tij ≤ X ij , for any activity (i, j ) ∈ A ;
, n} ; k = 1 .
Step 2 For all let
j = 1.
(arc)
denotes the latest necessary starting time of activity (arc) (i, j ) in N (T ) ; t LF (i, j ) denotes the latest necessary
Step 1
Step 9 Let
i, j ∈ {1,2,
, n} , if u ij < u ik ⊕ u kj , then
[
u ij = u ik ⊕ u kj , sij = sik , otherwise u ij and sij remain
unchanged. Step 3 If go to Step 2.
ij
( X ij − Tij )] + ω [TE − f ( X )] ≤ γ
} }
k = n , go to Step 4; otherwise, let k = k + 1 ,
where
X is defined according to definition 6, T is defined
= f (T ) is a function of variable T determined by the wcm-NA algorithm, 0 ≤ Yij ≤ X ij and
according to definition 7, TE
N (T ) and the earliest possible completion time of project TE )Let l = 1 , r = s1n , P1n = ф (ф denotes the empty set). Step 4 (to find the critical path in
Step 5 Let
∑Z
( i , j )∈A
Z ij ≥ 0 for any (i, j ) ∈ A , γ ≥ 0 , ω ≥ 0 .
= (V , A, T ) , construct the accompanying network of N (T ) , denoted by Definition 9 Given course network N (T )
P1n = P1n ∪ { (l , r ) } .
441
minimum cost routine project schedule, β denotes the value of subtracting the cost of the project schedule of course network N (T ) from the cost of the normal project schedule, and the project schedule corresponding to course network N (T ) is called the project schedule of course network
N (T ) = (V ,1, n; A; C , C ) ; the vertex set V of N (T ) is vertex set of N (T ) , vertex1 is the source of N (T ) , vertex
n is the sink of N (T ) ; the arc set A = { a ij | arc a ij = (i, j ) exists} of N (T ) is the set composed of all the critical activities in N (T ) , any arc a ij
N (T ) .
= (i, j ) (activity) of
Step 2 By calling the wcm-NA algorithm, evaluate TE , the earliest possible completion time of project, and other related parameters of course network N (T ) = (V , A, T ) ,and calculate minR, the minimum of the total flexible time of all the non-critical activities of N (T ) .
N (T ) has two weights, which are the lower capacity C (a ij ) and the upper capacity C (a ij ) of arc a ij . For any arc a ij = (i, j ) ∈ A , the lower capacity C (a ij ) and the upper capacity C ( a ij ) are defined as follows: ⎧ Z ij ⎪ C ( a ij ) = ⎨ ⎪0 ⎩
if Tij < X ij if Tij = X ij
Step
⎧Z ij if Tij > Yij , C (a ij ) = ⎪ ; ⎨ ⎪⎩+ ∞ if Tij = Yij
to
definition
9,
construct
the
(V ,1, n; A; C , C ) ; by calling the mfmc-A algorithm, find
= C (V1* ,V1* ) = (V1* ,V1* ) ∪ (V1* ,V1* ) , the minimum cut set, and mincut , the minimum cut amount separating vertex 1 from vertex n in N (T ) , and evaluate mincutset
C = (C ij ) n×n is the upper arc capacity matrix of N (T ) . i = j , stipulate C ij = 0 , C ij = +∞. When i ≠ j , if
there is no such arc as a ij
According
accompanying network of N (T ) , denoted by N (T ) =
C = (C ij ) n×n is the lower arc capacity matrix of N (T ) , and When
3
δ1 =
= (i, j ) in N (T ) , stipulate
min{ Tij
min{ X ij
C ij = C ij = 0 ; otherwise, stipulate C ij = C (a ij ) , C ij =
− Yij | (i, j ) ∈ (V1* ,V1* ) }, δ 2 =
− Tij | (i, j ) ∈ (V1* ,V1* ) and X ij ≠ Yij } , and δ =
min{δ 1 , δ 2 } .
C (a ij ) .
Step 4 If first = 1 , go to Step 5; otherwise, go to Step 6.
With above definition, the following conclusion (i.e. lemma 7) holds.
Step 5 If mincut > ω , then the project schedule corresponding to N (T ) is the minimum cost routine project
Lemma 7 N (T ) is network with lower & upper arc capacities, and the mfmc-A algorithm can be used to find the minimum cut set, denoted by mincutset , as well as the minimum cut amount, denoted by mincut , separating vertex
schedule of N , let first = 0, go to Step 6; otherwise, let Δ= min{ δ , minR}, go to Step 7. Step 6 If – β
1 from vertex n in N (T ) . (Ahuja et al., 1993[1]) Theorem 2 Given overall planning network N
project schedule of N , output the results, and stop ; otherwise,
= (V , A,
let Δ = min { δ , minR ,
X , Y , Z ) , the following algorithm, named MDPS-A, can be used to find minimum duration project schedule (i.e., the optimal solution to the model (BPM)).
Step 7
MDPS-A:
For all
γ + β
mincut − ω
} , go to Step 7.
(i, j ) ∈ mincutset = C (V1* ,V1* ) =
(V1* ,V1* ) ∪ (V1* ,V1* ) , adjust the planning job time correlation matrix T = (Tij ) n×n of N as follows: if (i, j ) ∈
Step 1 (preparation) Input the normal job time correlation matrix X = ( X ij ) n×n , the extreme job time correlation matrix
(V1* ,V1* ) , let Tij = Tij – Δ; if (i, j ) ∈ (V1* ,V1* ) and
Y = (Yij ) n×n , and the direct cost variation rate correlation matrix Z
= γ or mincut = +∞ , then the project
schedule corresponding to N (T ) is the minimum duration
X ij ≠ Yij , let Tij = Tij + Δ. Then, a new T is obtained, let β = β + ( ω – mincut )Δ , go to Step 2.
= ( Z ij ) n×n ; let Tij = X ij , for all i, j ∈ {1,2,
, n} ; let first=1, β =0. Here, first =1 denotes not having found the minimum cost routine project schedule of N , first=0
Proof: The MDPS-A algorithm is a variant of the algorithm presented by Kamburowski (1995[7]) to find minimum cost project schedule. In fact, Step 2 to Step 7 is the process for gradually approximating to the minimum duration project schedule from the beginning of the initial feasible project
denotes having found the minimum cost routine project schedule of N , and the project schedule with minimum cost subject to not considering project duration is called the
442
schedule (i.e. the normal project schedule), in which, first of all, the minimum cost routine project schedule is to be found, then the minimum duration project schedule is to be found. According to lemmas 6 and 7 as well as above observation, it is easy to know that theorem 2 holds. (Ahuja et al., 1993[1]; Bela, 1998[2]; Bondy and Murty, 1976[3]; Roberta and Bernard, 1998[13]) IV.
⎛0 ⎜ ⎜−1 ⎜ −1 ⎜ ⎜ −1 ⎜−1 ⎜ ⎜−1 ⎜ ⎜−1 ⎜−1 Z =⎜ ⎜−1 ⎜−1 ⎜ ⎜−1 ⎜−1 ⎜ ⎜−1 ⎜ ⎜−1 ⎜−1 ⎜ ⎝−1
NUMERICAL EXAMPLE
Example: There is a project, named P, which is composed of 15 activities such as x1, x2, …, x15; the precedence relationship among the activities, the normal completion time and the shortest completion time of every activity, as well as the cost for any activity to be crashed one day, are given in Table 1.The project indirect cost per day, ω , is set to be zero. The task is to find P’s minimum project duration α attained by means of crashing all the possible activities, and P’s minimum duration project schedule with duration α.
In practical calculation, let the upper bound of the total additional investment apart from normal investment in project, γ , be sufficient big positive number, e.g., γ =1000. Utilizing the computer program based on the MDPS-A algorithm, so long as we input the normal job time correlation matrix X , the extreme job time correlation matrix Y , the direct cost variation rate correlation matrix Z , and related information (n, ω , and γ ), we can conveniently acquire the results as follows: P’s minimum project duration attained by crashing all the possible activities is 30 days, i.e., α =30; P’s minimum duration project schedule with duration 30 days ( i.e., P is crashed 15 days) is shown by Table 2, in which all the activities are critical activities; the minimal total additional cost is 297 (hundred yuan ) when project P is crashed 15 days; the critical path from vertex 1 to vertex 16 is (1,3) → (3,7) → (7,10) → (10,13) → (13,14) → (14,16), where “→” is concatenation sign; the earliest possible starting time of events 1 through 16 is sequentially 0, 6, 6, 6, 10, 10, 11, 14, 15, 15, 23, 23, 23, 26, 27, 30; the latest necessary completion time of events 1 through 16 is sequentially 0, 6, 6, 6, 10, 10, 11, 14, 15, 15, 23, 23, 23, 26, 27, 30.
Solution: According to the information given in Table 1, draw an overall planning network as shown in Fig.1, where over the arc is the name of activity, the data separated by comma under the arc are sequentially the activity’s normal completion time, the shortest completion time, and the cost for the activity to be crashed one day. Based on definition 6 and the known information, we obtain the normal job time correlation matrix X = ( X ij ) n×n , the extreme job time correlation matrix Y
= (Yij ) n×n , and the
direct cost variation rate correlation matrix Z as follows, where
n = 16.
= ( Z ij ) n×n of P
⎛0 ⎜ ⎜−1 ⎜−1 ⎜ ⎜−1 ⎜−1 ⎜ ⎜ −1 ⎜ ⎜ −1 ⎜ −1 X =⎜ ⎜−1 ⎜ −1 ⎜ ⎜−1 ⎜ −1 ⎜ ⎜ −1 ⎜ ⎜ −1 ⎜ −1 ⎜ ⎝ −1
9 8 −1 −1 −1 −1 −1 −1 −1 −1 −1 −1 −1 −1 −1⎞ ⎟ 0 −1 0 −1 −1 0 −1 −1 −1 −1 −1 −1 −1 −1 −1⎟ −1 0 0 6 −1 8 −1 −1 −1 −1 −1 −1 −1 −1 −1⎟ ⎟ −1 −1 0 −1 5 −1 −1 −1 −1 −1 −1 −1 −1 −1 −1⎟ −1 −1 −1 0 0 0 −1 8 −1 −1 −1 −1 −1 −1 −1⎟⎟ −1 −1 −1 −1 0 −1 7 −1 −1 −1 −1 −1 −1 −1 −1⎟ ⎟ −1 −1 −1 −1 −1 0 −1 −1 5 −1 −1 −1 −1 −1 −1⎟ −1 −1 −1 −1 −1 −1 0 −1 −1 12 −1 −1 −1 −1 −1⎟ ⎟ −1 −1 −1 −1 −1 −1 −1 0 0 −1 0 −1 −1 −1 −1⎟ −1 −1 −1 −1 −1 −1 −1 −1 0 −1 −1 10 −1 −1 −1⎟ ⎟ −1 −1 −1 −1 −1 −1 −1 −1 −1 0 0 0 −1 −1 −1⎟ −1 −1 −1 −1 −1 −1 −1 −1 −1 −1 0 −1 −1 4 −1⎟ ⎟ −1 −1 −1 −1 −1 −1 −1 −1 −1 −1 −1 0 5 8 −1⎟ ⎟ −1 −1 −1 −1 −1 −1 −1 −1 −1 −1 −1 −1 0 0 6 ⎟ −1 −1 −1 −1 −1 −1 −1 −1 −1 −1 −1 −1 −1 0 4 ⎟ ⎟ −1 −1 −1 −1 −1 −1 −1 −1 −1 −1 −1 −1 −1 −1 0 ⎠
⎛0 ⎜ ⎜−1 ⎜−1 ⎜ ⎜−1 ⎜ ⎜−1 ⎜−1 ⎜ ⎜−1 ⎜−1 Y =⎜ ⎜−1 ⎜−1 ⎜ ⎜−1 ⎜−1 ⎜ ⎜−1 ⎜ ⎜−1 ⎜−1 ⎜ ⎝−1
6 6 −1 −1 −1 −1 −1 −1 −1 −1 −1 −1 −1 −1 −1⎞ ⎟ 0 −1 0 −1 −1 0 −1 −1 −1 −1 −1 −1 −1 −1 −1⎟ −1 0 0 4 −1 5 −1 −1 −1 −1 −1 −1 −1 −1 −1⎟ ⎟ −1 −1 0 −1 3 −1 −1 −1 −1 −1 −1 −1 −1 −1 −1⎟ ⎟ −1 −1 −1 0 0 0 −1 5 −1 −1 −1 −1 −1 −1 −1⎟ −1 −1 −1 −1 0 −1 4 −1 −1 −1 −1 −1 −1 −1 −1⎟ ⎟ −1 −1 −1 −1 −1 0 −1 −1 3 −1 −1 −1 −1 −1 −1⎟ −1 −1 −1 −1 −1 −1 0 −1 −1 8 −1 −1 −1 −1 −1⎟ ⎟ −1 −1 −1 −1 −1 −1 −1 0 0 −1 0 −1 −1 −1 −1⎟ −1 −1 −1 −1 −1 −1 −1 −1 0 −1 −1 8 −1 −1 −1⎟ ⎟ −1 −1 −1 −1 −1 −1 −1 −1 −1 0 0 0 −1 −1 −1⎟ −1 −1 −1 −1 −1 −1 −1 −1 −1 −1 0 −1 −1 3 −1⎟ ⎟ −1 −1 −1 −1 −1 −1 −1 −1 −1 −1 −1 0 3 4 −1⎟ ⎟ −1 −1 −1 −1 −1 −1 −1 −1 −1 −1 −1 −1 0 0 4 ⎟ −1 −1 −1 −1 −1 −1 −1 −1 −1 −1 −1 −1 −1 0 2 ⎟ ⎟ −1 −1 −1 −1 −1 −1 −1 −1 −1 −1 −1 −1 −1 −1 0 ⎠
7 5 −1 −1 −1 −1 −1 −1 −1 −1 −1 −1 −1 −1 −1⎞ ⎟ 0 −1 0 −1 −1 0 −1 −1 −1 −1 −1 −1 −1 −1 −1⎟ −1 0 0 9 −1 4 −1 −1 −1 −1 −1 −1 −1 −1 −1⎟ ⎟ −1 −1 0 −1 8 −1 −1 −1 −1 −1 −1 −1 −1 −1 −1⎟ ⎟ −1 −1 −1 0 0 0 −1 7 −1 −1 −1 −1 −1 −1 −1⎟ −1 −1 −1 −1 0 −1 7 −1 −1 −1 −1 −1 −1 −1 −1⎟ ⎟ −1 −1 −1 −1 −1 0 −1 −1 13 −1 −1 −1 −1 −1 −1⎟ −1 −1 −1 −1 −1 −1 0 −1 −1 16 −1 −1 −1 −1 −1⎟ ⎟ −1 −1 −1 −1 −1 −1 −1 0 0 −1 0 −1 −1 −1 −1⎟ −1 −1 −1 −1 −1 −1 −1 −1 0 −1 −1 7 −1 −1 −1⎟ ⎟ −1 −1 −1 −1 −1 −1 −1 −1 −1 0 0 0 −1 −1 −1⎟ −1 −1 −1 −1 −1 −1 −1 −1 −1 −1 0 −1 −1 5 −1⎟ ⎟ −1 −1 −1 −1 −1 −1 −1 −1 −1 −1 −1 0 17 9 −1⎟ ⎟ −1 −1 −1 −1 −1 −1 −1 −1 −1 −1 −1 −1 0 0 11⎟ −1 −1 −1 −1 −1 −1 −1 −1 −1 −1 −1 −1 −1 0 19⎟ ⎟ −1 −1 −1 −1 −1 −1 −1 −1 −1 −1 −1 −1 −1 −1 0 ⎠
From the process of solution to above example, we can see that the MDPS-A algorithm is an efficient and robust method to solve MDPSP, and especially applicable to larger and more complex project. And this observation has been verified by many other numerical experiments which we have carried out. V.
CONCLUSIONS
In this paper, MDPSP is formulated using a bi-level programming model, and an algorithm named mfmc-A is presented to find maximum flow & minimum cut set in network with lower & upper arc capacities. Based on mfmc-A and the algorithm presented by Kamburowski for finding minimum cost project schedule, an algorithm named MDPS-A is proposed to solve MDPSP. MDPS-A can find the optimal solution to MDPSP and has good performance, which has been validated by numerical experiments. Accordingly, MDPS-A is an efficient and robust method to solve MDPSP, and especially applicable to larger and more complex project. REFERENCES [1]
[2]
443
Ahuja RK, Magnanti TK, Orlin JB, Networks Flows: Theory, Algorithms, and Applications. Prentice-Hall, Englewood Cliffs, N.J., 1993. Bela B, Modern graph theory. Springer-Verlag: New York, 1998.
[3] [4] [5] [6] [7] [8]
[9]
[10]
[11] [12] [13]
[14] Wang SH, Graph theory (in chinese). Science Press: Beijing, 2005. [15] Wei QL, Hu XY, Huang ZM, Concise curriculum of operations research (in chinese). China Renmin University Press: Beijing, 1996. [16] Wen ZW, “An algorithm for minimum vertex cut set of partially ordered sets and the problem of minimum cost of crashed tasks, ” Operations Research and Management Science, vol.14(1), pp.68-74 , 2005 (in chinese). [17] Wu Y ,Li C, “Minimal cost networks: the cut set parallel difference method, ” Omega , 1994, 22: 401-407. [18] Wu Y, Li C, “On the Minimum Cost Project Schedule — A Response, ” Omega, vol.23( 4), pp.467-468, 1995. [19] Xie FR, “An algorithm for solving the problem of maximum flow in the transportation network,” Operations Research and Management Science, vol.13(4), pp.37-40, 2004 (in chinese). [20] Xie FR, Qiu GS, “An algorithm for evaluating the related parameters in the overall planning graph,” Journal of Nanchang Institute of Aeronautical Technology (Natural Science) , 2002,16(1): 66-69 (in chinese). [21] Xie FR, Jia RA, “Algorithm for Minimum Duration Project Schedule Problem, ” Proceedings of the 2007 Conference of Systems Science, Management Science and System Dynamics: Sustainable Development and Complex Systems, pp.2391-2399, 2007. [22] Xie FR, Jia RA, “Problem of Maximum Flow & Minimum Cut Set of Network with Lower & Upper Arc Capacities, ” Operations Research and Management Science, vol.17 (4), pp.24-31, 2008 (in chinese)
Bondy JA, Murty USR, Graph theory with applications. Elsevier: New York, 1976. Ford Jr LR, Fulkerson DR, Flows in Networks. Princeton University Press, Princeton, N.J. ,1962. Fei PZ, Graph Theory and network with applications (in chinese). Sichuan University Press: Chengdu, 1996. Han BT, Management operations research (in chinese). Higher Education Press: Beijing, 2000. Kamburowski J, “On the minimum cost project schedule,” Omega, vol.23(4),pp.463-465, 1995. Li ZA, Xie FR, “An algorithm for seeking maximum capacity paths between arbitrary two nodes in transportation network,” Journal of Southwest Nationalities College (Natural Science Edition), vol.25(3), pp.242-246, 1999a (in chinese). Li ZA, Xie FR, “An algorithm for seeking the maximum capacity paths from the specified node to all other Nodes in the transportation network, ” Journal of Sichuan University (Natural Science Edition), vol.36(3), pp.467- 471,1999b (in chinese). Li ZA, Xie FR, “An algorithm for seeking the critical paths in the overall planning graph,” Journal of Sichuan University (Natural Science Edition), vol.37(5), pp. 683-687, 2000(in chinese). Liu JZ, Xu Y, Network optimization (in chinese). Higher Education Press: Beijing, 1991. Qian SD, Operations research (in chinese). Tsinghua University Press: Beijing ,1990. Roberta SR, Bernard WT, Operations management: focusing on quality and competitiveness, 2nd ed.. Prentice Hall, 1998. x1
x3 2
9,6,7
4
x6 6
5,3,8
7,4,7
x9 8
x12
12,8,16
11
12
4,3,5
x15 15
4,2,19
x13 x8 1 x2 8,6,5
16
x7
x4 3
8,4,9
9
8,5,7
6,4,9
5
7
5,3,13
x10 10
10,8,7
x14
x11 13
5,3,17
14
6,4,11
x5 8,5,4
Figure 1. The overall planning network of project P
Name of activity x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15
The normal completion time (day) 9 8 5 6 8 7 5 8 12 10 5 4 8 6 4
Table 1. The information of project P The cost for the activity The shortest to be crashed one day completion (hundred yuan ) time (day) 6 7 6 5 3 8 4 9 5 4 4 7 3 13 5 7 8 16 8 7 3 17 3 5 4 9 4 11 2 19
The preceding activity — — x1, x2 x2 x2 x3, x4 x1, x4, x5 x4 x6 x7, x8 x9, x10 x8, x9 x9, x10 x11 x11, x12, x13
444
Table 2. P’s minimum duration project schedule with duration 30 days Name of The planning job activity time (day) x1 6 x2 6 x3 4 x4 4 x5 5 x6 4 x7 4 x8 5 x9 9 x10 8 x11 3 x12 4 x13 4 x14 4 x15 3