Guild of Project Controls: Compendium | Roles | Assessment | Certifications | Membership

Tips on using this forum..

(1) Explain your problem, don't simply post "This isn't working". What were you doing when you faced the problem? What have you tried to resolve - did you look for a solution using "Search" ? Has it happened just once or several times?

(2) It's also good to get feedback when a solution is found, return to the original post to explain how it was resolved so that more people can also use the results.

CPM algorithms sometimes elongate the project

31 replies [Last post]
Stephen Devaux
User offline. Last seen 18 weeks 1 day ago. Offline
Joined: 23 Mar 2005
Posts: 667
I just started a thread in the P3 forum to check if its CPM algortithm does the same as MS Project’s (and every other I’ve ever seen).

Try the following project:

A 10d No preds
B 10d Pred: A/FS0
C 10d Pred: B/FS0
D 5d Preds: A/FS0, B/FF5
E 10d Pred: D/SS5
F 10d Preds: D/FS, E/FS

All the software packages I’ve ever seen will:

1. Give a project duration of 45 days, when, if there are no other constraints, it can be completed in 40.

2. If you want to shorten the project duration below 45, just ADD time to Activity D -- make it 8d and watch what happens to the project finish date.

3. If you shorten Activity D (which the s/w will say is on the CP), the project will actually become longer!

4. The s/w will say that Activity D and E are on the CP, and Activity C is not. The opposite is actually true.

I wonder how many dollars (and lives!) are lost because of this computation issue?

Replies

Oliver Melling
User offline. Last seen 4 years 30 weeks ago. Offline
Joined: 24 Apr 2007
Posts: 595
Groups: The GrapeVine
Stephen,

I think the basic answer is that you cannot model reality exactly with the use of a few limited interactions and also, the majority of people don’t care about how ES, LS etc. are calculated.
This is beacuase plans are based on assumed durations, lags, constraints and interpretations of logic.
It might be true that some lazy developer took a short cut, but if it really mattered, then the problem would have got fixed.

And before anyone says that it doesn’t get fixed because people don’t understand the details of CPM, its not.
Its because people don’t care about such details becuase plans are only indicators of progress.
CPM, EV and all other planning tools are based upon guesses and we as planners are just experts in stakeholder guess extraction, manipulation and second-guessing.

Algorithm problems don’t interest me but your post that mentions;
’The cost due to delayed projects is often not even noticed’ is more interesting.
What are liquidated damages all about if this is true?

Project management is about limiting ’wasted resources’ to avoid becoming liable for the delay to delivery dates stated in contracts. (Which have penalties equal to the cost the delay to the client)

IMHO, plans are indicators, links should be simple and algorithms are boring.

Cheers!
Anoon Iimos
User offline. Last seen 2 years 14 weeks ago. Offline
Joined: 22 Sep 2006
Posts: 1422
Charlie; Christian,

if i understand it right, algorithm is a step-by-step system of calculation or a pre-defined program for calculations.

i believe that CPM algorithm (in computer programs) is conditional (meaning - you cannot put garbage as it will give you garbage, GIGO). The difference is, there is a human algorithm or a Planners algorithm which I supposed is sometimes unconditional.

Christian,

that is one example of having a given "Duration" without first knowing the real work (like the one discussed in the other thread - MSP), so you are forced to use your "unconditional" algorithm.

Alex Wong
User offline. Last seen 11 years 4 weeks ago. Offline
Joined: 12 Feb 2003
Posts: 874
Groups: TILOS
Stephen,

Can you see the comments from fellow planners.

We need a real life narratives which we can understand.

Once you put this into wording then it becomes obvious, the logic is not reasonable, it contradict its reasons.

Good Luck

Alex
Zhang Haixiang
User offline. Last seen 3 years 28 weeks ago. Offline
Joined: 14 Apr 2005
Posts: 250
Groups: None
interesting,
This is a well designed sample Schedule,but it will not happen in the real world.

if Stephen can give us a real schedule istead of (A,B,C...),i think most of the schedulers will show him that the logic is not correct (or is not the best) and can be changed like .....

The key point is when more than one logic ties constrain the activity,which one is driving. CPM consider the worst case,which makes the finish of the activity as late as it can base on the direct logic ties.

we should keep it in mind when we model the logic
Christian Adrian ...
User offline. Last seen 4 years 38 weeks ago. Offline
Joined: 3 Jun 2003
Posts: 193
Groups: None
Anoon

My reply to your post No#23 "then you can change the logic, why make schedules that (you knew) will not work?"

It might be because the Client’s Engineer would like you to work on a particular time frame (or atleast make you try) even thought it is to obvious that it would be an imposbile task to finish the project on the said time, thus compressing your plan unreasonably.

Charleston-Joseph...
User offline. Last seen 2 years 39 weeks ago. Offline
Joined: 10 Jul 2005
Posts: 1347
Groups: None
Anoon,

I can not imagine what will happen because firstly, I’m not a native english speaker and my english is limited.

I do not know what is algorithms much more conditional algorithm or unconditional algorithms.

I don’t expect you to explain what you mean from your question, just forget it to save time, energy and money because big chance i will never understand conditional algorithm, unconditional algorithm or algorithm itself.

My first reply to stephen is just a common reaction from a humble and commoner planning engineer like me devoid of sopisticated understanding of the english terminology.

So sorry i do not know what your talking about, condition and unconditional algorithm
Anoon Iimos
User offline. Last seen 2 years 14 weeks ago. Offline
Joined: 22 Sep 2006
Posts: 1422
Charlie,

the point is, in doing work sequencing, there should be no room for randomness, that’s why it is called Planning (meaning - the one who should do the Plan must know the work inside-out and the consequences), why I said knowledge can also be wrong? because of the effect of randomness, which I believe no one can tell ’til it happens! and it happens in a Plan (always) why? because human knowledge has limits (i supposed).

can you imagine what will happen if you can choose between conditional and unconditional algorithms?
Charleston-Joseph...
User offline. Last seen 2 years 39 weeks ago. Offline
Joined: 10 Jul 2005
Posts: 1347
Groups: None
I still believe the moral lesson here is not to become gullible person.

While stephen intentions is to question CPM algorithms, his approach backfire becuase the basis of his example is wrong, wrong relationship, wrong assumption, non-existing activity, not realistic.

But it do give us an insight to really take a hard look on relationship presented in CPM, baseline schedule, revise baseline schedules, etc.

and of course we have to pursue knowledge, the right knowledge as guided by the Holy Spirit
Dieter Wambach
User offline. Last seen 7 years 5 days ago. Offline
Joined: 15 Jan 2007
Posts: 1350
Good remark!
This "plan" is a violation against basic principles of planning - by Stephen’s intention, I assume.
Every stakeholder who is willing to understand the plan must be able to understand it. If you show this one in the network view: No chance.
Relationships must be evident. These aren’t.

This was - for my opinion - created to show that, if you steer your car with intention against a tree, the best electronic equipment is useless: you’ll hit the tree. Or with other words: The software doesn’t make a planner, without use of brain no - workable - plan.
Regards
Dieter
Anoon Iimos
User offline. Last seen 2 years 14 weeks ago. Offline
Joined: 22 Sep 2006
Posts: 1422
then you can change the logic, why make schedules that (you knew) will not work?
Dieter Wambach
User offline. Last seen 7 years 5 days ago. Offline
Joined: 15 Jan 2007
Posts: 1350
Then it cannot drive e. LoE / hammocks cannot drive other activities.
Dieter
Anoon Iimos
User offline. Last seen 2 years 14 weeks ago. Offline
Joined: 22 Sep 2006
Posts: 1422
in P5/P6, there is an activity type called Level of Effort, i don’t know if we can make activity "D" as LOE, Stephen?
Dieter Wambach
User offline. Last seen 7 years 5 days ago. Offline
Joined: 15 Jan 2007
Posts: 1350
Hi
The problem Stephen constructed is very simple:
1. An activity’s (D) end is determined by it’s predecessor.
2. The longer the duration of this activity is planned, the earlier it is scheduled to start - limited by another relation.
3. This activity’s start drives the start of another one - i.e. the longer for D, the earlier.
4. The other durations are constructed in a way, that these ff and ss-relations are critical.
Not difficult, but to my opinion: artificial and unrealistic.
Regards
Dieter
Razi Khan
User offline. Last seen 7 years 30 weeks ago. Offline
Joined: 17 Jun 2004
Posts: 74
Groups: None
Hi Pinan,

Then what about the assign duration of 5 days for activity D ?

Either one has to develop one’s logic according to the software requirement or develop software according to one’ logic.

Choice is yours.

Razi
PINAN T.
User offline. Last seen 5 years 44 weeks ago. Offline
Joined: 20 Jul 2007
Posts: 102
hi

the point of stephen is D should start after A on the 11th day and still finish on 25th day (sometime in bet 11 to 25, the work is pending until B finishes)..so activity E can start on 16th day as per SS+5 rel w/ D, then path A-B-C-F should be the critical path.. maybe he has a point there
Razi Khan
User offline. Last seen 7 years 30 weeks ago. Offline
Joined: 17 Jun 2004
Posts: 74
Groups: None
Hi Stephen,

Please just tell us on which day Activity D will finish as per the durations and relations given by you. Then rest of the thing can be discussed.

A 10d No preds
B 10d Pred: A/FS0
C 10d Pred: B/FS0
D 5d Preds: A/FS0, B/FF5


Cheers,

Razi
Anoon Iimos
User offline. Last seen 2 years 14 weeks ago. Offline
Joined: 22 Sep 2006
Posts: 1422
prof. Stephen,

can you please give a literal example of activity "D", the one that happens in real life (i have second thoughts), maybe this will further prove to Charlie that "wrong knowledge do exist" (it doesn’t mean I’m accepting it).
Ferdinand U.
User offline. Last seen 6 years 34 weeks ago. Offline
Joined: 19 Jul 2007
Posts: 142
that is why lags should be minimized as much as possible..especially for ss,ff,and sf links lags equal to its duration.. your point is true ok.. changing ss+5 to fs successor of d will avoid this changes or control ss+5 w/ ff+10(for p3 only) just to mixed things up and avoid it
Dieter Wambach
User offline. Last seen 7 years 5 days ago. Offline
Joined: 15 Jan 2007
Posts: 1350
Hi Stephen
I just read your latest reply. So basic mistake with open ends is no longer valid but my other remarks are still valid in addition to those of Alex. If yo’ll swith to the network view you can easily see that the KIS-principle (=Keep it simple)is not regarded.
I understand that you are an experienced teacher, so you’ll teach your pupils to create schedules they can understand.
Regards
Dieter

Dieter Wambach
User offline. Last seen 7 years 5 days ago. Offline
Joined: 15 Jan 2007
Posts: 1350
Hi Stephen
in your example c has an open end; the only one can be by "Project must finish by", but that you didn’t mention.
Please give a practical example for this construct.
If you use such a mix of ss and ff, you should really have a look at the driving activities as Razi wrote.
In a real project you won’t have this situation. If yes then with a little experience you would remark it on the longest path and analyze.
Your calculation is absolutely ok, but rather theoretical.
Regards
Dieter
Stephen Devaux
User offline. Last seen 18 weeks 1 day ago. Offline
Joined: 23 Mar 2005
Posts: 667
Alex, first off:

In reading your response in the other thread, i discovered I’d made a typo in listing the activities in the proposed network.
Correct is:

A 10d No preds
B 10d Pred: A/FS0
C 10d Pred: B/FS0
D 5d Preds: A/FS0, B/FF5
E 10d Pred: D/SS5
F 10d Preds: C/FS, D/FS, E/FS

not...

F 10d Preds: D/FS, E/FS

Now there are no "open end" activities -- all except the single sink activity have a finish have a finish successor. Yet the project schedule is still five days loner than it needs to be.

The problem is caused not by open end activities, but by the way the algorithm computes the early start of activities with FF and/or SF predecessors. ANY project potentially can have this problem, if the said activity has an SS successor -- it’s not at all unusual.

Alex Wong
User offline. Last seen 11 years 4 weeks ago. Offline
Joined: 12 Feb 2003
Posts: 874
Groups: TILOS
Stephen

I have to ask you what is the Pre-condition/assumption of CPM. And I believe the logic u give do not meet these assumptions. In addition, its easy to comes up with a logic to challenge the CPM calculation. However, I challenge you to actually write an narrative to discribes these activities and their relationship.

Alex
Stephen Devaux
User offline. Last seen 18 weeks 1 day ago. Offline
Joined: 23 Mar 2005
Posts: 667
Dieter,

I really have to respectfully disagree with you -- there are many, many activities in which the finish of the task is constrained, but has no impact on when it can start. If as in the example, the said activity also has an SS successor, and may be on the CP, then we should always consider, and usually implement, a schedule by which we start it ASAP and allow only its finish to be constrained (as is implied by the FF predecessor). And i am sure that this is what you, as a competent scheduler, would always do -- to do otherwise is to delay the project completion for no reason other than its how some computer programmer who doesn’t know his elbow from a hole in the ground coded the algorithm.

Razi, it’s not about "Driving Relationships" (and really, I do understand critical path and have been teaching and consulting about it for 20 years); it’s about an algorithm written by a progarmmer who took a short cut:

The Finish of Activity C is constrained by the FF from B. Thus the Late Start of Activity C is also constrained. But the Early Start of C is NOT constrained by when it can finish. It’s ES is only constrained by the FS from A -- if you do the forward start manually, you see this. C can start as soon as A finishes. But it’s much simpler for a computer programmer, who probably couldn’t find a CP with both hands and a mirror, to simply have the finish date and duration of Activity C override the "definition" of early Start, i.e., the earliest time that an activity can start.

Most of the time, this does not matter (and I’m sure most schedulers aren’t even aware of it). However, in the present example, because of the SS successor to C being on the CP, we have a situation where (1) the project duration is lengthened, and (2) the project gets shorter as one of the "CP" activities gets longer (and vice versa)! If that isn’t a dead giveaway that something’s wrong, I don’t know what is. By noticing that the schedule can be shortened by starting C earlier than the software currently says it can, we can save days (perhaps weeks in some cases!) on the schedule.

The CPM algorithm should not assume that one thing is constrained just because something else is -- in this case, that an activity’s start is constrained because its finish is. If such is the case (as is the rare occurrence), the scheduler should input a Start No Earlier Than constraint.

The true picture is that a milestone representing the finish of C is the only thing constrained by the FF relationship. And then the project should finish a week earlier.

Dietrich, far from this sort of situation not being possible, it’s actually quite common. I assume that you sometimes use an FF or SF constraint --and ANY time you do, the software will compute the ES of the successor based on its duration. If that successor activity also has an SS (or SF) successor (quite common, surely), the schedule of that path will be unnecessarily delayed -- and if that path is the critical path, the scheduled completion will be delayed!

Given this sort of situation, a good scheduler should look to see if C can be started earlier. And the vast majority of time, in my experience, it will turn out that it can be (especially when the alternative is to add time to the schedule).

Unfortunately, it’s hard to see these situations! Schedules are constantly being unnecessarily elongated due to resource shortages, work problems, union contracts, subcontractor inefficiencies, and customer whim. It’s unfortunate that sometimes they’re also bloated due to a computer programmer who has no concept of the implications of an algorithmic decision.
Razi Khan
User offline. Last seen 7 years 30 weeks ago. Offline
Joined: 17 Jun 2004
Posts: 74
Groups: None
Hi Stephen,

Just read the concept of “Driving Relationship”, before jumping to the conclusion.

Links of activity D...think there.

Cheers,

Razi

Dieter Wambach
User offline. Last seen 7 years 5 days ago. Offline
Joined: 15 Jan 2007
Posts: 1350
Hi Stephen
If a scheduling software would calculate different, it would be wrong. Your construct is not taken from real life.
- Where is the end? - user acceptance, PAC, governmental certificate,...
- If you’ll add a milestone and connect properly, you’ll see, c is not on cp.
- This construct with such ff and ss relationships is absolutely not realistic. So: "GIGO" (garbage in, garbage out) becomes valid.
But it may be a nice, but negative example for trainings:
- No open ends
- Keep it simple! with clear structures!
- Only use relationships that you can understand! E.g. ff together with a lag is difficult for normal people.
- Always use realistic examples in trainings.
Regards
Dieter

Charleston-Joseph...
User offline. Last seen 2 years 39 weeks ago. Offline
Joined: 10 Jul 2005
Posts: 1347
Groups: None
gullible as eve when tempted by snake (the devil)

gullible as adam when tempted by eve.

So in conclusion, it is with mankind since time immemorial.

It is just a matter of individual conviction.
Charleston-Joseph...
User offline. Last seen 2 years 39 weeks ago. Offline
Joined: 10 Jul 2005
Posts: 1347
Groups: None
Anoon,

your wrong knowledge exist only when use in a deceitful way.

knowledge comes from the HOLY SPIRIT.

if it is wrong, then, it comes from the DEVIL. and anyone who accept wrong knowledge as truth are gullible

this is a matter of philosophy.
Anoon Iimos
User offline. Last seen 2 years 14 weeks ago. Offline
Joined: 22 Sep 2006
Posts: 1422
you see Charlie? wrong knowledge do exist!
Charleston-Joseph...
User offline. Last seen 2 years 39 weeks ago. Offline
Joined: 10 Jul 2005
Posts: 1347
Groups: None
Stephen,

You got ig bulleye.

In your example, what happen is due to your input. It is not the software fault. It is the user of the software, the half baked planners, the wedding planners, the software jockeys, the labourers doing planners and of course the hosewives planners.

The point your trying to say is that people just dont know the fundamentals and start to punch the keyboards without understanding on what the consequence will be.

Take note that basically, it is the contractor who will present their schedule/plan for review by the owner’s representative, and if, your example happen which I believe majority did happen, then it is a simple case of a blind leading the blind.

In conclusion, the user of the software must have knowledge, when I say knowledge it should be right.

Not the knowledge progated by some of our peers here in PP, wrong knowledge.

Stephen Devaux
User offline. Last seen 18 weeks 1 day ago. Offline
Joined: 23 Mar 2005
Posts: 667
Trevor Rabey wrote:

"What if you simply rule out the use of any kind of project planning or execution which uses links other than FS with positive or zero lag only?"

I’d be all for it -- even FS with lag can always be modeled using an activity. (And using only FS relationships makes DRAG computation much easier!)

Trouble is that on large and complex projects, in the real world, you’ll probably wind up with schedules a lot longer than they need to be. In my experience, planners/estimators are much more willing to say "Oh, those could be SS3 and SS7 successors off the 15-day predecessor" than to do the necessary decomposition to make the predecessor into three activities of 3 days, 4 days and 8 days. Remember, decomposition is the last thing most people will do! http://www.planningplanet.com/images/icon6.gif
Cool And then you wind up with much longer projects than necessary.

"Is it possible for this to be lethal?"

Absolutely! Any time a pharmaceutical product, or a hospital IT system, or a vaccination program, or a flood wall takes longer than necessary, the potential for deaths is there. Indeed, if a hospital IT system intended to save 50 lives a year is unnecessarily delayed by two weeks, then you just murdered two people, even if you don’t know their names! Project planning is a vital skill, and bad project planners can kill people. For deeper exploration of the topic, here is an article in the Methods & Means department on Projects@Work.com:

http://www.projectsatwork.com/content/articles/233825.cfm

"Aren’t lots of dollars already lost everyday due to lots of hours spent producing ’planning’ crap at the most basic level, or projects proceeding with primitive, minimal or zero planning, or money spent unnecessarily on lawyers and claims?"

Yes, but most of those costs are identified and captured as "wasted resources" (the one sort of cost that project management is half-decent at measuring). The cost due to delayed projects is often not even noticed -- especially when it’s due to something as prosaic as a flaw in a CPM algorithm! And a flaw that could be easily fixed -- is there any planner who would purchase a software package if it advertised that it computes CPM schedules "within a couple of weeks of accurate"?

"I have been hoping to find something really useful such as tasks which have negative duration - the more of them you plan to do, the shorter the project gets. This must exist in a parallel universe."

Isn’t that sort of what you’ve got with Activity D in the network I presented? Make it five days longer, to a ten-day duration, then decompose it into 5 two-day serial activities, and the project will be shorter! That’s negative duration in THIS universe! (Or at least in the software of this universe.)
Trevor Rabey
User offline. Last seen 1 year 22 weeks ago. Offline
Joined: 29 Nov 2005
Posts: 530
Groups: None
What if you simply rule out the use of any kind of project planning or execution which uses links other than FS with positive or zero lag only?

Is it possible for this to be lethal?

Aren’t lots of dollars already lost everyday due to lots of hours spent producing "planning" crap at the most basic level, or projects proceeding with primitive, minimal or zero planning, or money spent unnecessarily on lawyers and claims?

I have been hoping to find something really useful such as tasks which have negative duration - the more of them you plan to do, the shorter the project gets. This must exist in a parallel universe.