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

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