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.

Negative free float?

10 replies [Last post]
Bernard Ertl
User offline. Last seen 9 years 15 weeks ago. Offline
Joined: 20 Nov 2002
Posts: 757
Hi folks,

I can’t seem to find any definitive answer on how free float should be calculated in instances where there is a mandatory constraint forcing a successor task to start before one of it’s predecessors is finished.

I normally find the definition of free float to state something similar to, "the amount of delay which can be assigned to any one activity without delaying subsequent activities". Obviously, this definition does not account for the possibility of such a constraint.

What would you all expect scheduling software to do in this instance? FF = 0? FF = -(x)?

Does it matter?

Bernard Ertl
InterPlan Systems

Replies

Miklos Hajdu
User offline. Last seen 11 years 15 weeks ago. Offline
Joined: 13 May 2011
Posts: 97
Groups: GPC Malaysia

Bernard,

 

Just, from academic point of view: Four floats can be defined on activities. At least this is what we teach in our books since 67. (This is the first Hungarian textbook for students I could trace back )

Total float: float if predecessor activities finish at their earliest, and successors start/finish at the latest

Free float: the float if predecessors finish at their earliest, and successorss start/finish at the earliest

Independent float: the float if predecessors finish at their latest, and successors start at the earliest

Conditional float: the float if predecessors finish at their latest, and successors start and finish at their latest

 

How was they developed? It is easy. Imagine part of a CPM (activity on arrow) network with two events i,j, and an activity between them. During the calculation you define the early and late event times. Ei, and Li for i and Ej, and Lj for j,

Now 

TF=Lj-Ei-tij   (tij is the duration of ij activity)

FF=Ej-Ei-tij

IF=Ei-Lj-tij

CF=Lj-Li-tij

and no more chance because we have only this four combinations for early and late times.

More in this: Network Scheduling Techniques for Construction Project Management by me. publisher Kluwer Academic Publisher

Hope this was satisfactory.

Miklós

Miklos Hajdu
User offline. Last seen 11 years 15 weeks ago. Offline
Joined: 13 May 2011
Posts: 97
Groups: GPC Malaysia

Bernard,

 

Just, from academic point of view: Four floats can be defined on activities. At least this is what we teach in our books since 67. (This is the first Hungarian textbook for students I could trace back )

Total float: float if predecessor activities finish at their earliest, and successors start/finish at the latest

Free float: the float if predecessors finish at their earliest, and successorss start/finish at the earliest

Independent float: the float if predecessors finish at their latest, and successors start at the earliest

Conditional float: the float if predecessors finish at their latest, and successors start and finish at their latest

 

Hoiw was they developed. It is easy. Imagine a CPM (activity on arrow) network with two events i,j, and an activity between them. During the calculation you define the early and late event times. Ei, and Li for i and Ej, and Lj for j,

Now 

TF=Lj-Ei-tij   (tij is the duration of ij activity)

FF=Ej-Ei-tij

IF=Ei-Lj-tij

CF=Lj-Li-tij

and no more chance because we have only this four combinations for early and late times.

More in this: Network Scheduling Techniques for Construction Project Management by me. publisher Kluwer Academic Publisher

Hope this was satisfactory.

Miklós

Rafael Davila
User offline. Last seen 10 hours 36 min ago. Offline
Joined: 1 Mar 2004
Posts: 5228

Bernard,

If you have Negative Total Float and FF=/> 0 then Free Float is greater than Total Float as 0/>0 is greater than any negative value.

You are correct when questioning that if there is negative total float and common sense tells you Free Float shall never be greater than Total Float then why not negative free float, but you are missing questioning the computations of total float under FNL constraints.

The problem is with the implementation of the constraint when it cannot be met. Is simple, some software developers forgot that there is a time constraint, they forgot common sense, tomorrow is after yesterday it cannot be the other way.

Negative Total Float in the physical world is impossible, in any case it shall be defined differently and not confused with Total Float. It is in error to say it is a mathematical computation and as such it makes sense. Yes you can fool the computations but it is wrong if the results are misleading.

Not all software developers follow this flawed application of constraints and Total Float computation. Not everyone goes over and over again the same error some dummy created long ago and no one ever questioned. Spider Project does not enforce impossible constraints and when it cannot be met it correctly identifies criticality by making Late Dates equal to Early Dates but never Late before Early, very simple.

More interesting than FF is resource critical float, a computation few software can get it right.

Best regards,
Rafael

Stephen Devaux
User offline. Last seen 14 weeks 1 day ago. Offline
Joined: 23 Mar 2005
Posts: 667

Hi, Patrick.

Isn't this overstating it a bit?  "(C)ritically important to the performance of all scheduling software"?

I mean, considering that the VAST majority of scheduling software does not even compute something as fundamental as Critical Path Drag (to say nothing of Drag Cost, or The Cost of Leveling with Unresolved Bottlenecks [the CLUB]), to refer to a metric that is ALWAYS located OFF the critical path as being "critically important" seems strange.

Many years ago, I worked with a company (PSDI) that created Qwiknet Professional. Qwiknet was a nice tool, but didn't compute free float. We got hammered again and again in project demos by competitors who would say: "That Qwiknet is so bad it doesn't even compute free float! Uh -- you know what free float is, right?  Here, let me show you in our software..."  Sure, Qwiknet's omiision was problematic, but NONE of those packages computed Drag, which is far more "critical", being a metric that is exclusively on the Critical Path! (Even 20 years later, only Spider Project and the Sumatra.com Schedule Optimizer add-on to MS Project compute Drag!)  

BTW, I enjoyed your article -- but surely you should have discussed Critical Path Drag, too.

Fraternally in project management,

Steve the Bajan

Patrick Weaver
User offline. Last seen 4 days 23 hours ago. Offline
Joined: 18 Jan 2001
Posts: 372
Groups: None

Hi Bernard,

Mike may be a grumpy old ‘dirt cowboy’ but the subject you are touching on is critically important to the performance of all scheduling software, there is no one ‘right answer’ and many tools totally screw up the calculations.  I spent several months looking at this problem last year and believe the current draft of our paper on CPM Calculations is correct. You are welcome to use the information in the paper: http://www.mosaicprojects.com.au/PDF/Schedule_Calculations.pdf

To answer your initial question: Free Float is always positive – it is impossible to have negative free float (unlike total float). For more on this see the definitions in the paper.

Pat.

Bernard Ertl
User offline. Last seen 9 years 15 weeks ago. Offline
Joined: 20 Nov 2002
Posts: 757
Nevermind, I was looking too closely at a tree and didn’t account for the forest. I got it sorted out.

Bernard Ertl
InterPlan Systems
Mike Testro
User offline. Last seen 1 week 3 days ago. Offline
Joined: 14 Dec 2005
Posts: 4418
Hi Bernard

I have no idea at all what you are going on about.

I am sure that there is a place in PP for this High Arcana form of discussion but for us poor dirt cowboys scratching for a living in the real world - forget it.

Best regards

Mike Testro.
Bernard Ertl
User offline. Last seen 9 years 15 weeks ago. Offline
Joined: 20 Nov 2002
Posts: 757
Thanks Mike, but I’m interested in the question from an academic viewpoint (ie. I’m developing CPM software and interested in planner/industry expectations).

Best I can tell from the many written definitions I have seen, the FF (and total float for that matter) should actually be equal to the total float that would be calculated if the relationship to the constrained successor did not exist (because they don’t and can’t delay the mandatory successor). I don’t believe that this is what anyone wants in practice, however.

Most software is calculating total float as a negative number with the mandatory constrained successor. Free float is bit more curious, however.

Bernard Ertl
InterPlan Systems
Mike Testro
User offline. Last seen 1 week 3 days ago. Offline
Joined: 14 Dec 2005
Posts: 4418
Hi Bernard

The simple answer is do not use any form of constraints.

They distort the critical path and give negative floats.

Delete them all immediately and set up your programme properly.

Best regards

Mike Testro
Samer Zawaydeh
User offline. Last seen 5 years 4 weeks ago. Offline
Joined: 3 Aug 2008
Posts: 1664
Dear Bernard,

Either you use Start-to-start with a lead, or Finish-to-start with a lag to model the case you are describing.

It is much better if you follow Mike’s advice and split the predecessor into two activities and then link them Finish-to-Start. This way you can follow the program much earier.

With kind regards,

Samer