Website Upgrade Incoming - we're working on a new look (and speed!) standby while we deliver the project

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.

Cleaning schedule relationships

17 replies [Last post]
Aymen BEN YOUSSEF
User offline. Last seen 10 years 32 weeks ago. Offline
Joined: 4 Aug 2008
Posts: 23
Groups: None

Hi planners,

I have a schedule which contains many unnecessary relationships that I have to remove.

I started with the following case : if I have 3 activities A, B & C

A --- FS---> B

B --- FS---> C

A --- FS---> C ( I have to remove the third relationship)

I don't know what we call that exactly.

What else I need to check to clean my schedule?

Is there any software to do schedule cleaning? (I am using P6.7)

Many thanks,

Replies

Mike Lynch
User offline. Last seen 11 years 5 weeks ago. Offline
Joined: 9 Oct 2013
Posts: 3
Groups: None

I would want to clean out redundant logic if only to make the analysis of the schedule easier.  When differentiating out fragnets by chasing from end result through each predecessor chasing through redundant links (sometimes 9 different paths that end at the same point) is very time consuming.

Mary Lou Horton
User offline. Last seen 9 years 5 weeks ago. Offline
Joined: 20 Oct 2010
Posts: 12
Groups: None

Aymen,

I also get rid of redundant logic. Export the relationships to excel and enter "Y" in the last column title delete. Re-import. 
Dennis Hanks
User offline. Last seen 9 years 8 weeks ago. Offline
Joined: 17 Apr 2007
Posts: 310

Rafael;

Tried to model the lag calendar in MSP, I could not.  Probably my fault because I do not know MSP that well.  In P6 the lag calendar is determined by the successor calendar - will not help here.  So in MSP, given the data provided, it looks like this.  No way to account for non-work days.

991
rafael2.jpg

In this case, the link from 1 to 3 would not be redundant because it is 'driving', whereas it would be if it were the 'red'  (1 to 5) link in first MSP model.  So while this use of lags with calendars may work in Spyder, it does not seem to work in my world.

 

987
rafael3.jpg

BTW: I selected MSP to be neutral.  My preference is P6.

Still hold with my original position - the red link has to go.

Rafael Davila
User offline. Last seen 15 weeks 1 day ago. Offline
Joined: 1 Mar 2004
Posts: 5241

Dennis,

 So,if I understand what you are saying, this is what I think the 'network' looks like, using activities for lags, which I would be wont to do under most circumstances, especially if there was uncertainty (risk) in the lag duration.

You got it on your first figure. I understand about risks on lag with Monte Carlo software, they do not model risk on lag and you shall model it with an activity.

 I see a difference, but I could be wrong.  I do not see the redundant logic in your example, now that you tell me you need the wall cure to occur before moving the slab form.

I am not sure you got it on the second figure as I cannot see the lag but only the link. If there is no lag between task A and task C then this link is redundant. If there is lag then it is not.

Photobucket

About MSP I do not use it, is is also not my favorite and have no license for it, but believe it is up to the user to decide. I understand you are using MSP because you are interested on how the cleaning add-on works. Perhaps if you can model the sample job as per your second figure. One with all links and no lag (0), and another with all links and a 10 days lag on the link between Task A and Task C and then apply the add-on to both. If on both cases the link between Task A and Task C is deleted then the software is wrong, if not maybe it performs well.

Thanks for keeping with the issue. If the cleaning software pass all tests I am sure MSP users will be happy.

Dennis Hanks
User offline. Last seen 9 years 8 weeks ago. Offline
Joined: 17 Apr 2007
Posts: 310

Rafael;

Like I said, concrete is not big in my world.  So, if I understand what you are saying, this is what I think the 'network' looks like, using activities for lags, which I would be wont to do under most circumstances, especially if there was uncertainty (risk) in the lag duration.

980
rafael.jpg

And this is the example of redundant logic.

983
redundantlogic.jpg

I see a difference, but I could be wrong.  I do not see the redundant logic in your example, now that you tell me you need the wall cure to occur before moving the slab form.

Used MSP for your network, so please forgive any lack of 'precision' - not my favorite program.

Rafael Davila
User offline. Last seen 15 weeks 1 day ago. Offline
Joined: 1 Mar 2004
Posts: 5241

More frequently than not the slab forms are flying forms, you keep them in place until the walls above are finished and after the slab has cured enough for stripping. There are methods that support the slab forms directly to the walls instead of to lower level slab but in this case the reasoning still holds, you remove forms after the slab can support its weight and you place them on upper level after finishing the walls.

The relationship from C1 to C2 is not redundant. You build walls on top of the slab.

The relationship from C2 to C3 is not redundant. You need the walls finished and stripped not to obstruct forms for next slab or to support the forms if the method is such.

The relationship from C1 to C3 is not redundant. You cannot strip and relocate forms if the slab cannot support its own weight.

All represents sequential needs that cannot be avoided under the previously mentioned methods of construction.

This is not an hypothetical example but an everyday construction sequence, same in NYC, same in the Gaza Strip, no need to be an engineer to understand it, it is very simple. It came out of my mind with no effort at all because in addition to so simple it is also so frequent.

In your previous example (finishes), since you do not know beforehand which units are going to be sold, it would seem difficult to do any scheduling, let alone planning.

I do not agree with the above statement, you schedule but you never know beforehand everything, under such scenario it is better to have a model that can warn you about the consequences of what is happening. After some point the developer must make some very important decisions, better be informed.

I will go with Ron Winter wise advice.

BTW the GAO reference starts with plain lies.

The U.S. Government Accountability Office (GAO) is known as "the investigative arm of Congress"

It is not true it is an investigative arm of Congress, it is there to make you believe so, it is at the service of private interests. Last year I placed a complaint to them because Federal Government agencies are specifying by brand name Primavera scheduling software which is illegal in government procurement. They very conveniently avoided the issue by declaring me with no standing because I was not a direct bidder. I do not trust any of their documents, I believe them liars. By playing this false representation they are obstructing justice.

Dennis, my issue with GAO is not personal, it is that as a citizen I cannot absorb an agency that promotes non-competition and on top of this are labeled as just the opposite. They pass their hand on your shoulder as if your friend and keep a knife on your back with the other hand. They deserve being called liars on every opportunity until they stop allowing such illegal behavior. They pretend to make you believe they have the investigative power but they do not. As soon as it is out of the interest of their protected they call themselves without jurisdiction.

Dennis Hanks
User offline. Last seen 9 years 8 weeks ago. Offline
Joined: 17 Apr 2007
Posts: 310

Rafael;

Still a little confused.  Is the C2 to C3 link necessary? Obviously the slab has to be in place before the walls, but what do the walls have to do with form removal? 

In my world, Form (carpenters), rebar (ironworkers), pour (cement masons), and cure may (usual) or maynot  be combined - form,pour slab/wall/foundation XXXXXX, with cure a separate activity - trying to avoid lags.  Makes for composite crews that I try to avoid, but concrete seems to be the exception that proves the rule.  Fortunately, concrete is not a major part of process construction.

In your previous example (finishes), since you do not know beforehand which units are going to be sold, it would seem difficult to do any scheduling, let alone planning.  Again, in my world, this would fall into 'punch list' work usually at >95% complete and would be handled by work order, not by the schedule - too many variables.

I recognize the difficulty in providing hypothetical examples and sharing actual schedules is generally not an option, so thanks for your efforts.  We may be talking past each other here, but please keep up the dialog, it is helping to clarify my thinking - unchanged as it is.

Thanks

Rafael Davila
User offline. Last seen 15 weeks 1 day ago. Offline
Joined: 1 Mar 2004
Posts: 5241

Photobucket

BTW this can happen even if the calendars are the same but when you have the need for different calendars with different work days it makes it harder to forecast the driving link as the activities move with time.

It is insane to follow logic using the Bar Chart with links that span several pages and no way you can follow them, you shall use the links table and explain the non obvious there. Perhaps the non obvious are all the Time Lags, such as this one, while volume of work lag are self explanatory. Time lags shall be the rare as it is usually volume of work lag and not an arbitrary time what keeps the distance, a distance that must be kept continuously.

Some people suggest substituting FS lag with an activity, but lag is not an activity, lag has no float, lags are fixed to an activity and after the activity reaches the lag it starts automatically, it does not start latter as if an activity with float. Of course volume lags are more interesting they are active along all activity duration.

Seems like C2 is not on the Longest Path. What your software tells you about the longest path? It should be C1, link C1 to C3 and C3, it is not C1, C2 and C3. It is with resource leveling that the fun starts.

It is simple, lags and activities are modeled in a different way, they are different. It is a fallacy they are equal. 

  • Have you ever seen a links table displaying start float, finish float, free float, early start, early finish, late start and late finish for lag?
  • If lag have no float then, if an activity, would all be critical?
  • How do you update the finish and start of a lag?
  • How would you model volume of work lag that represent a physical distance you must keep at all times if you substitute it with an activity?
Dennis Hanks
User offline. Last seen 9 years 8 weeks ago. Offline
Joined: 17 Apr 2007
Posts: 310

Rafael:

Please provide an example with and without lag and the potential harm.  I still do not see your point.  Thanks.

BTW: not out to make converts only understand the reasoning.

Rafael Davila
User offline. Last seen 15 weeks 1 day ago. Offline
Joined: 1 Mar 2004
Posts: 5241

From A to C if there is no lag, if from A to C you have lag it might not be redundant, so if not sure better keep them.

If there is lag and the cleaning software identifies it as redundant it can be a wrong call. Lag can even seems like the  same as sum of lag from A to B + Duration of B + lag from B to C but if using different lag calendars it might not.

I can think of hundreds scenarios where removing what seems redundant can be wrong, most when you have lag.

I go with Ron Winter recommendation.

Dennis Hanks
User offline. Last seen 9 years 8 weeks ago. Offline
Joined: 17 Apr 2007
Posts: 310

Rafael;

Where is/are the 'redundant' link(s)?

975
redundantlogic.jpg

GAO example for comparison.

Rafael Davila
User offline. Last seen 15 weeks 1 day ago. Offline
Joined: 1 Mar 2004
Posts: 5241

Photobucket

I agree with Ron Winter, redundant logic does no harm.

Would add, better take time to care of cleaning excessive use of preferential logic as this might prevent to see true logic and even suppress float available for you as well as for others.

In the above example say it is a luxury apartment complex consisting of one apartment unit per floor. Say The Owner can select floor tile, Kitchen Cabinets and other finishes. What if apartment on floor no 4 have not been sold, this does not means you cannot work those finishes on the 5th floor. Almost always some preferential logic must be used.

By the way, you can eliminate all redundant logic with no harm as well as you can keep it, but eliminating preferential logic is not that simple.

When preferential logic is used as a substitute of true resource constraint and leveling it can create all sort of problems, resource constraint and soft logic are not equivalent, the first is the true meaning of the model needs while the second might look equivalent is not and worst of all it is static. Unfortunately excessive use of soft links is the option taken by many with software that perform poor resource leveling algorithms and do not give you options to use algorithms that keep activity preferences under control while the optimization algorithm that looks for optimum without regard to activity priorities when in serious problems. Many software have a single poorly executed algorithm.

Aymen BEN YOUSSEF
User offline. Last seen 10 years 32 weeks ago. Offline
Joined: 4 Aug 2008
Posts: 23
Groups: None

 

Many thanks for your answer,

I totally agree with Dennis, I am trying to keep the schedule simple to trace easlily the logic, redundant links I have are the result of the schedule development since many planners works simultany on the program so the links are not created for a certain purpose and that's why I need to remove them.

I saw how Acumen Fuse remove the redundant links, it is very interesting.

Best regards,

Aymen

Dennis Hanks
User offline. Last seen 9 years 8 weeks ago. Offline
Joined: 17 Apr 2007
Posts: 310

All;

Just so we are talking about the same thing, this is the example of redundant logic that the GAO uses and I think the same as Aymen was describing.  The link from A to C is redundant.

  

966
redundantlogic.jpg

Dennis Hanks
User offline. Last seen 9 years 8 weeks ago. Offline
Joined: 17 Apr 2007
Posts: 310

Aymen;

Ron and I had this discussion earlier, since then the US Government Accounting Office (GAO) issed a draft report (http://www.houstonscea.org/GAOHQ-4115068-v2-COST_GUIDE_SCHEDULE_APPENDIX_BEST_PRACTICES_DRAFT.pdf) that states on page 4 "eliminate all redundant links" and on page 83 of GAOHQ-4782523-v1-CG755_-_PLANNING_&_SCHEDULING_EXCELLENCE_GUIDE_V__1_1B.pdf it further states:

Redundant links

Identify all required relationships but avoid redundant ties (Fig. 8.1-1). These are unnecessary and add confusion to understanding and analyzing the logic network. As you identify redundant links, remove them.

Subsequent releases may change this position, but I have yet to see them.

For me, where my focus is primarily schedule risk assessment and schedule analysis 'simpler is aways better'.  Also, when the logic changes, the logic changes.  My experience, which is primarily Oil & Gas, has never had logic change as an issue.  Ron's experience is obviously different.  Also, purposeful redundant links seems a contradiction in terms.  My analysis suggests that redundant links are the result of schedule development, not intentional.  We forgot what we had done as we add more and more detail to our schedule.

Prasad Velaga has developed a neat little tool to identify and remove redundant links in P6 and MSP.  It was still in beta last I checked.  Acumen has the feature as part of its Fuse program.

To summarize:  Simplify, simplify, simplify.

Gary Whitehead
User offline. Last seen 6 years 2 days ago. Offline

I agree with Ronald -there is very little value in removing such 'redundant' logic, and it can come back to haunt you later on -particularly if some of your relationships are "soft" logic (this means B could technically happen before A, but we don't want it to, so we add a relationship to force B to happen after A)

 

Other more useful things you could do to check / improve the quality of your schedule would be:

-split long-duration activities in to a number of smaller-duration activities

-make as many relationships as possible FS(0), adding additional activities if required to achieve this

-replace as many lags as possible with activities

-remove any negative lags

-correct any out-of-sequence relationships for activities which have started/finished to reflect what has actually happened

-ensure all activities have at least one successor & predecessor

-remove as many constraints as possible

-if using automated resource levelling, manually optimise the results (P6 is notoriously bad at levelling)

 

Reviewing the schedule log file in P6 will help you with many of the above.

 

Cheers,

G

 

-

Ronald Winter
User offline. Last seen 4 years 12 weeks ago. Offline
Joined: 4 Jan 2003
Posts: 928
Groups: None

Aymen,

Why would you want to ‘clean’ your schedule relationships?  (We call this removing redundant logic but the question still stands.)

Are the extra relationships slowing down your CPM computations?  Removing a 1,000 of such relationships would not create a measurable difference.  Do the ‘extra’ relationships make your schedule take longer to load? (Again, so small as to not be measurable.)

Are you absolutely positive that the ‘redundant’ relationships will not someday become the driving relationship?  Just because they appear to be redundant before the project starts, this does not mean that they will not become driving as the project progresses in ways that were not originally anticipated.  Today’s non-driving relationship may become the critical path in the future.

The ‘redundant’ relationship was created for a purpose.  One should be very knowledgeable about why it was inserted before deleting it only because it would make the schedule look ‘cleaner.’  It will be very difficult explaining that to the Owner’s Scheduler when you ask permission to re-insert it later due to a delay situation.

My advice is to leave well enough alone, and not arbitrarily start ‘pruning’ the schedule.  You may regret this decision some day in the future.  Good luck!