OR-Notes are a series of introductory notes on topics that fall under the broad heading of the field of operations research (OR). They were originally used by me in an introductory OR course I give at Imperial College. They are now available for use by any students and teachers interested in OR subject to the following conditions.
A full list of the topics available in OR-Notes can be found here.
The network diagram is shown below.
Using the package the project duration using normal times is 20 days and the critical path B-C-E-G-H, as below.
To crash the project by one day list all the crashable activities on the critical path and their associated incremental cost:
The lowest incremental cost is associated with activityC and hence we choose to crash activity C by one day. The new situation after activity C has been crashed is shown below.
Note that we now have two critical paths - which complicates things.
Again we list all the crashable activities on the critical paths and their associated incremental cost:
Note that C, although on a critical path, is not listed here. This is because it has already been crashed to its maximum extent.
Examining the critical paths of B-C-E-G-H and B-D-E-G-H it is clear that:
From B, E, G or H the best choice is E with an incremental cost of 250 and so we would choose to crash E by one day.
In order to formulate the problem consider the same network diagram as above, but with a dummy end activity (I) added as below.
Using a similar notation as in the lecture notes let xA, xB, etc be the starting times for each activity and cA, cB, etc be the number of days by which we reduce (crash) each activity. Taking each precedence relationship in the above network in turn and making use of the normal times we have the constraints:
xC >= xA + 4 - cA
xC >= xB + 6 - cB
xD >= xB + 6 - cB
xE >= xC + 3 - cC
xE >= xD + 2 - cD
xF >= xE + 5 - cE
xG >= xE + 5 - cE
xH >= xG + 2 - cG
xI >= xH + 4 - cH
xI >= xF + 2 - cF
all x variables >=0
The constraints limiting the crashing for each activity are:
0 < = cA <= 1
0 < = cB <= 3
0 < = cC <= 1
0 < = cD <= 1
0 < = cE <= 2
0 < = cF <= 1
0 <= cG <= 1
0 <= cH <= 2
Introducing a variable d >= 0 to "represent" the number of days we finish past day 14 we have
d >= xI - 14
our objective is:
minimise 250xI + 100d + 100cA + 400cB + 200cC +500cD + 250cE + 100cF + 300cG + 400cH
and this completes our LP formulation.
If activity B can be crashed by a further day, at an additional cost of 750, then introduce an additional variable cBB indicating whether we crash B by this additional day or not, where 0 <= cBB <=1 and: