Forum Sponsor:

An innovation in P6 Professional training from RPCuk in partnership with Oracle. All the topics that matter to you in workshops customised to your role and industry.  Now get superior training value when you book our Blended Learning Bundle. Learn more here.

Viewer for .xer, xml and xls schedule files Schedule Reader™Free Trial

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.

Resource Leveling in P6

23 replies [Last post]
Sean Moghimi
User offline. Last seen 3 weeks 6 days ago. Offline
Joined: 24 Oct 2006
Posts: 36

Hi Senior Schedulers,

 

I have a specific advance level question regarding Resource Leveling. Dealing with a $1.2B large scale highway project here and we have multiple bridges (construction of Abutment Walls and Bents) and a lot of highway widening work containing adding 2 lanes on each Northbound and Southbound outer lanes. In order to add 2 new outer lanes (widening work) we need to demo existing bridges to get their existing abutment walls and Bent out of our way of highway widening, do the widening add new lanes, stripe and then rebuild bridges and their abutments/bents. That being said, have a situation caused by tight Right of Way where I only have enough physical space (while live traffic is going) to either build bridge bent columns OR do outside widening work such as excavation or concrete work. Trying to use P6 Resource Leveling to prioritize bridge bent column work over the widening work so assigned same resource (8hrs per day) to all bent work and all widening work and put cap as 8 hrs per day and set higher priority for bridge work and medium priority for widening work and leveling criteria is first the Priority and then the Total Float, which works fine. PROBLEM is P6 start leveling and push out Widening work to accommodate Bridge Bent column work until Bent work is done BUT if too much widening is stacking up will continue leveling widening and push Widening work also, assuming it is conflict; I do NOT want widening work to be levelled cause it’s not a conflict, the only conflict is performing bridge work and widening work at same time, not btw widening work itself. How can I set a condition for leveling in P6 to STOP leveling once it has leveled bridge work with widening and STOP leveling after bridge Bet is levelled and do NOT continue leveling among widening work itself. Does this make sense? Any ideas how to set extra condition for leveling to stop after certain point? Simplified explanation is btw 2 type of activities you want to only do type A at any time (not type B concurrently with it) but once all type A is performed then having too much concurrent type B is not a problem and should stop leveling.

 

Thanks, Sean

Replies

Rafael Davila
User offline. Last seen 7 hours 35 min ago. Offline
Joined: 1 Mar 2004
Posts: 4778

Automatically adding to max units/time if using activity resource production when it is needed on different timeline might be part of the solution but not all what is needed.  It is an iterative process that can be handled by computer algorithms that can search for shorter schedule possible schedule that P6 do not have. 

Spatial resources might also be required to be modeled.

Renewable and Consumable Resources

  • Spatial resources are required by a group of activities, rather than a single activity as renewable resources. The spatial resource is occupied from the first moment an activity from the group starts until the finish of all activities from that group.

P6 is not capable of dealing with activity resource production to follow some scheduling logic; it is not capable to deal with spatial resources other than by manual methods.  Due to P6 limitations consider manual leveling on every update. 

Good Luck

Sean Moghimi
User offline. Last seen 3 weeks 6 days ago. Offline
Joined: 24 Oct 2006
Posts: 36

Gentlemen,

Thanks for everyone's feedback and suggestions; I see a lot of emphesis on adding to max units/time when its needed on diffrent timeline, altough I am fully aware of this condition, unfortunately when to add that remains to be a live factor in schedule and leveling, therefore can't be set properly; idea would be to increase that cap for outside widening resources when bent work is done (so the conflict of having bent work at bridges while doing both north and southbound widening) 

THe timeline when bent work is done is a live date adn can be changed with the overall leveling operation so there is not way to add hard logic or do anything to determine that date to immediately increase cap on outside widening reources so leveling gets stopped... 

Johannes Vandenberg
User offline. Last seen 2 days 23 hours ago. Offline
Joined: 21 Jan 2010
Posts: 217

Hi Sean

I see a couple of suggestion

  1. The first one is to use different resources for the demolishing of the old abutments, the widening work, and the new abutments and bents. This gives you the opportunity to level each resource separately and or all the three at ones.
  2. Secondly, P6 leveling algorithms are pushing out the activities in time when the resource availability of the primary resource, not for a secondary resource like helpers, is less the required resources.
  3. In your situation, you need to uplift the maximum units/time,in the enterprise resources details tab, as suggested by Raphael. When you have more resources available then the needed resources, then they will not be leveled and not pushed out in time.
  4. One other possible solution is to split the overall schedule into several schedules, say one for the demolition and one for the new work. Same as you do for a program schedule. This makes it easier to update and monitor. Make sure that you use the same resource breakdown structure (RBS ) for all the schedules. Now you can update when you have the information available, each project of the program separately and do not have to wait until you have all the info to start scheduling.
  5. When all the schedules are scheduled individually, you can load all the schedules at the same time and do the schedule analysis and optimization of the resources as required.

I have some nice examplels of resource leveling on my blog https://praktijkgerichtplannen.nl/nl/

Trust this helps

Johannes

Rafael Davila
User offline. Last seen 7 hours 35 min ago. Offline
Joined: 1 Mar 2004
Posts: 4778

Sean, what you are asking is fair; I would also like to see how P6 users deal with it.

It is possible that David Kelly workaround might work if after pass 1 you increase maximum/units per time for Type 2 activities with effective date after all Type 1 activities finish, use a milestone or a filter to get the date and then run second resource leveling.  Upon every update before all Type 1 activities finish the date all Type 1 activities finish might move and therefore the availability profile might need re-adjustment.

The following figure I got from the web might help to figure out how P6 adjust the availability profile.

adjust-maximum-units-per-time

Good luck

Tom Boyle
User offline. Last seen 10 hours 48 min ago. Offline
Joined: 28 Nov 2006
Posts: 258
Groups: None

Sean,

As you've seen, resource leveling seems to be "not widely used" among P6 users on Planning Planet.  Have a look at Ron Winter's paper:  http://www.ronwinterconsulting.com/Reviewing_Resource_Leveled_Schedules.pdf.

Ron's website also includes two other papers on "Implementing" and "Managing" resource leveling, though they appear to address P3 rather than P6 schedules.

Good luck, tom

Sean Moghimi
User offline. Last seen 3 weeks 6 days ago. Offline
Joined: 24 Oct 2006
Posts: 36

Hi Schedule Experts, 

I see a lot of ideas from schedulers for my original post which is very helpful however, I need the capability explained in original post in P6, not in Spider or MSP or other applications. Thanks, Sean

Rafael Davila
User offline. Last seen 7 hours 35 min ago. Offline
Joined: 1 Mar 2004
Posts: 4778

Multiple team assignments for a single activity, each team a fixed amount of work is not rare in construction work.

Fixed-for-teams

It is better practice to keep the teams on a single activity, this avoids unnecessary activity clutter that can add hundreds/thousands items to your schedule, this avoids unnecessary activity links clutter that can add more than two links per additional activity, this shows work is not finished until all teams finish their assignment, it avoids the resource leveling spreading apart the sub activities in uncontrolled way.

Usually different teams have different production rates, when you do not have fixed work distribution, the most common scenario, you might not know in advance how work is to be distributed among the different teams working on different shifts on same activity.  In such case splitting of activity will not make it.

Raymund de Laza
User offline. Last seen 2 hours 29 min ago. Offline
Joined: 23 Nov 2009
Posts: 695

Rafael,

Sorry to say that the scenario you are trying to presents would not be applicable to construction projects specifically the large Projects.

I guess it is most likely applicable to manufacturing production lines.

 

 

Regards,

Rafael Davila
User offline. Last seen 7 hours 35 min ago. Offline
Joined: 1 Mar 2004
Posts: 4778

Reviewing Resource Leveled Schedules Using P6™

P6 Automatic Resource Leveling Limitations

  • The P6 resource leveling report log does not completely explain what happened during the resource leveling process. In particular, it does not identify the delaying, critical resource.
  • The activity Total Float and Free Float values displayed are incorrect for resource leveled delayed activities and their successors. A better reference is found in the Remaining Total Float column but even this does not fully reflect ‘resource float.’
  • Resource leveling can ‘hide’ the P6 longest path.

This is why P6 users must look elsewhere to define criticality.

How you figure out which resources are critical if P6 cannot display resource assignment floats?

Assignment float can be defined as the amount of time that resource assignment may be delayed without delaying the project finish date.  In case of resource assignments when resource teams can execute the same activity independently of each other, resource assignments may be critical even on non-critical activities.  An example of such project is shown in the Exhibit 6.

This project consists of only two activities, there are no hard links among the activities. Activity 1 should be performed by resources A and B independently of each other. Resource A is assigned for 5 days, resource B – for 3 days. Duration of Activity 2 is 10 days and it needs resource B to be performed. The project duration is 13 days, so the start of activity 1 can be postponed for 8 days but its finish cannot be delayed without delaying project finish date. In this schedule activity 2 is critical though it finishes earlier than activity 1.

Assignment-Floats-Exhibit-6-v3

Shift work on same activity is a common case where resource teams can execute the same activity independently of each other.

When you have 3 teams an activity not start and not finish critical might have a critical resource assignment. Such is the case of Activity 1 in the following scenario.

Assignment-Floats-Exhibit-6-v4

Rafael Davila
User offline. Last seen 7 hours 35 min ago. Offline
Joined: 1 Mar 2004
Posts: 4778

Reviewing Resource Leveled Schedules Using P6™

The process does not allow P6 to automatically substitute one resource for another.

  • This can easily be done by Spider Project if using multi-resources and automatic skill replacement.  For example a multi-resource consisting of 2 of the same resources can belong to the same skill of other single resource, depending upon availability at the moment of skill demand the selection that minimize project duration will be selected. 

We manage hundreds of generic resources in our jobs. Among them:  Boilermaker, Carpenter, Cabinet Maker, Millworker, Cladder, Framer, Joiner, Roofer, Drywall installer/lather, flooring installer, pile driver, millwright, diver, diver tender, Carpet layer, Dredger, Lead Dredgeman, Dredge Operator, Leverman, Licensed Tug Operator, Derrick Operator, Spider/Spill Barge Operator, Engineer, Electrician, Chief Welder, Chief Mate, Fill Placer, Maintenance Engineer, Licensed Boat Operator, Certified Welder, Mate, Drag Barge Operator, Steward, Assistant Fill Placer, Welder, Boat Operator, Shoreman, Deckhand, Rodman, Scowman, Cook, Messman, Porter/Janitor, Oiler, Electrician, Linemen, Digger Machine Operator, Groundsman (laborer waiting for apprenticeship), Elevator mechanic, Fencer, Glazier, Painters, Heavy equipment operator such as Bargeman, Brakeman, Compressor operator, Elevator operator, Engineer Oiler, Forklift operator, Generator, pump or compressor plant operator, Signalman, Switchman, Conveyor operator, Fireman, Skiploader operator, Helicopter radioman, Boring machine operator, Boxman or mixerman, Asphalt plant engineer, Batch plant operator, Bit sharpener, Micro tunnel system operator, Pavement breaker operator, Drill Doctor, Drilling machine operator, Rotary drill operator, Canal liner operator, Canal trimmer operator, Concrete boom pump operator, Insulation installer, Ironworker (or steel erector), elevated platforms, scissor lifts, power tools, manual tools, Metallic Lathers, Laborer, Landscaper, Mason, Brick Layer, Block Layers, Stonemason, Marble setter, Marble Polisher, Tile Setter and polisher, Terrazzo worker and finisher, Millwright, Pile Driver, Plasterer, Plumber, Pipefitter (or steamfitter), Sheet metal worker , Safety officer, Mechanical Worker – HVAC, Waterproofer, Welder, and many others I might be missing. If some trades work on different shifts they must be identified as separate resources adding a substantial quantity to an already long list. 

Investigating resource overloads by looking at their histograms makes no sense in most jobs. Please be reminded that P6 resource histograms are unreliable.  P6 allows weird things such as resource finish latter than activity finish.

Do you mean that resource histograms is the best P6 can do?

Materials (consumable resources) are another resource type we must level and make sure they are not overloaded.  If you are installing floor tile and you run out of material the tile installation activities are delayed/stopped until the consumable resource are replenished.  Same as the common renewable resources these can make a huge list.  This count usually is not that big as there is no need to include materials that can be replenished fast.  Cement might be such a material if locally available such tracking is not necessary, if working on a remote island where you bring the materials by barge then cement inventories must be tracked and leveled.

How do you keep track of consumable resources overloads in P6?

The pragmatic approach for client and contractor to make sure no resource is overloaded is to include them all as leveling resources and make a resource leveling run.

Raymund de Laza
User offline. Last seen 2 hours 29 min ago. Offline
Joined: 23 Nov 2009
Posts: 695
I can model in P6 the scenario in your example. P6 can show overloaded or overallocated as well as the limits in histogram. Histograms are generated from units of resource allocation.
Rafael Davila
User offline. Last seen 7 hours 35 min ago. Offline
Joined: 1 Mar 2004
Posts: 4778

With the use of automatic skills replacement there is no need to make the resources non-leveling.  Create a Skill for Carpenters, include Carpenters A (10ea) with high priority and Carpenters B (2ea) with low priority within the skill and level.  In this way only the special hire will be used when 10 is not enough.

Special hire are not uncommon and you must take control on their assignments.  For some activities it might be a good idea to make use of the special hire as an option, for other activities it might be mandatory while for other activities it might not be an option.  At times it is necessary to replace one regular with two special or vice versa.  If their production rates are different this can increase or shorten activity duration, this should also be considered for the schedule be reliable. 

If your tool cannot model such need then resort to manual leveling on every update as to decide to which activity you are to assign the special hire resources and use a reliable overload reports other than looking at resource histograms. 

What overload reports do P6 provide?

Raymund de Laza
User offline. Last seen 2 hours 29 min ago. Offline
Joined: 23 Nov 2009
Posts: 695
Currently i have available 10 carpenters distributed to 8 activities throughout a total duration of 10days. But the planned schedule shows overallocation of 2 carp at day 6, so in actual event i can bring in the required 2 carpenter at day 6.
Rafael Davila
User offline. Last seen 7 hours 35 min ago. Offline
Joined: 1 Mar 2004
Posts: 4778

If the resource will be required only for some specific activities and you do not want it to interfere with the resource leveling of other activities then make it a separate resource code and load it to the activities that will require it. This should satisfy the valid need to know when and by which specific activities it will be required to be available.  Overloaded schedules are not acceptable; it is the equivalent to assume resources are unlimited.  

Searching for overloads using histograms is a no-no, is error prone, no one should rely on it.  Overload reports that are concise are essential. 

What if the overload span is 15 minutes, are you going to scale the chart at 15 minutes intervals and scroll the chart looking for occurrences in a 2 years long schedule. That there are overloads means your schedule is not resource leveled. The overloads report is essential when doing manual resource leveling. It would be insane and unreliable to depend on the scale of some chart to figure out overload windows and which specific assignments are causing the overloads. The best way to look for overloads is to use a report for this purpose.

What overload reports do P6 provide?

This option to make some resources non-leveling is useful to assist you to make the determination of how to deal with resource peaks and overloads but shall not be within the submitted schedule.  For it to be a reliable tool it must be used with a reliable overload report that is concise, you should look for an empty report, meaning there is not a single overload occurrence.

Raymund de Laza
User offline. Last seen 2 hours 29 min ago. Offline
Joined: 23 Nov 2009
Posts: 695
P6 reports and shows alarm whenever there is overloads or over allocated resources. This schedule shall not be rejected at once but rather used to say... hire a labor at the specific period it is required.
Rafael Davila
User offline. Last seen 7 hours 35 min ago. Offline
Joined: 1 Mar 2004
Posts: 4778

Whenever resources are not available the schedule will be delayed until enough are available it is a no-brainer, a schedule model that does not meets this requirement should be rejected.

The reviewer is responsible to make sure this is enforced and that the scheduler did not cheat the schedule by toggling on and off if a resource matter or not.  If the software does not provides any warning some resources are set as non-leveling then he can figure it out if there are overloads by looking at the overloads report, if there are overloads the schedule is not leveled and should be rejected.

A full staffing plan is a basic scheduling requirement.  Leaving out of consideration a single relevant resource either by omission or by toggling it off in the schedule calculations can (and most probably will) render the schedule invalid for any claim in court, no matter who benefits from such omission.

Construction Delay Analysis Techniques—A Review

5.2. Resource Loading and Levelling Requirements

…. For instance, in the UK case of McAlpine Humberoak vrs McDermott International [29], the judge disapproved of the plaintiff’s delay claim submissions on the basis of not giving consideration on how resource usage was planned for and how they were actually utilized during construction. Wickwire [43] also reviewed legal decisions in the US and noted that “in any analysis of project delays, the contractor is required to take into account realistic resource levelling”.

Raymund de Laza
User offline. Last seen 2 hours 29 min ago. Offline
Joined: 23 Nov 2009
Posts: 695

In P6 constraints are respected when levelling of Resources.

Why level some and leave some of the Resources? Let us be specific of the REsources (Materials, Labor, Equipment).

In Construction, a Contractor make all possible efforts that all Resources are available at anytime prior to start of execution of any Tasks but sometimes some of the Resources failed to reach the Project due to some reason. In this regard, a contractor can create a schedule and assigning the immediate available Resources.

Rafael Davila
User offline. Last seen 7 hours 35 min ago. Offline
Joined: 1 Mar 2004
Posts: 4778

For a schedule to be feasible all constraints must be satisfied.  This includes all resource constraints as well as all date constraints. 

The option to leave out some resources is meant for what-if - otherwise why level a schedule?

There are other options such as mandatory constraints that are also meant for what-if.

It is not uncommon for some software to model constraints using wrong algorithms that interfere with critical path calculations.

 

Raymund de Laza
User offline. Last seen 2 hours 29 min ago. Offline
Joined: 23 Nov 2009
Posts: 695

Just select the Specific Resources to be levelled.

Assign a Resources differ from Every Task, then when performing Resource Levvelling, select Specific Resources you requires to be levelled.

 

Hope this will help.

Rafael Davila
User offline. Last seen 7 hours 35 min ago. Offline
Joined: 1 Mar 2004
Posts: 4778

If you opt for a manual method keep in mind that the date the condition is met can change upon every update.  If the date changes, then you will have to manually adjust the resource availability profile.

Please be reminded that these manual adjustments similar to manual resource leveling cannot be executed in Monte Carlo Simulation.

  • The more parallel paths that exist in the schedule, the greater the schedule risk is.  A Monte Carlo simulation - Schedule Risk Analysis (SRA) - can help identify the compound effect of parallel paths and could have quantified how much contingency reserve or margin is needed in the schedule to mitigate the risk.
  • During a (e.g. Monte Carlo) simulation tasks can join or leave the critical path for any given iteration. The Criticality Index expresses how often a particular task was on the Critical Path during the analysis. Tasks with a high Criticality Index are more likely to cause delay to the project as they are more likely to be on the Critical Path. If a task does not exist for some iteration (e.g. it is probabilistic) then it is marked as not being critical. For example, a task that existed for 50% of the iterations and was critical 50% of the time it existed would have a Criticality Index of 25%.

    The Criticality Index allows you to identify tasks that are likely to cause delays to the project. By monitoring tasks with a high Criticality Index a project is less likely to be late. If a task has a 100% Criticality Index it means that during the analysis no matter how the task durations varied, the critical path always included the task. The task is therefore likely to be key in completing the project on time. Conversely tasks with a low or zero Criticality Index are much less likely to cause a delay in the project finish date.

  • I rather pay more attention to the probabilities of success.  By targeting for an early completion the probabilities of success are increased, this is basic schedule risk theory you can verify with your own model.  If from the beginning you target to finish at the date of project delivery you will not make it.

Zoltan Palffy
User offline. Last seen 13 hours 48 min ago. Offline
Joined: 13 Jul 2009
Posts: 2373
Groups: None

never works as you think it should do it manually 

David Kelly
User offline. Last seen 3 weeks 25 sec ago. Offline
Joined: 19 Oct 2004
Posts: 563

Sean,

As you have discovered, P6’s levelling does exactly what it is supposed to do. Unfortunately, the bar is set somewhat lower than P3 in 1988.

Rafael demonstrating that Spider is at least one generation ahead of P6 doesn’t help a lot.

You can’t level only part of the schedule (P3 could) or trigger it stopping the level.

All I could recommend is after the first pass at levelling, increase the availability of the dummy resource to allow parallel widening activities. and run a second pass.

Rafael Davila
User offline. Last seen 7 hours 35 min ago. Offline
Joined: 1 Mar 2004
Posts: 4778

Easy if using resource leveling and activity resource production to increase resource availability by activity resource production instead of using fixed dates to define availability.

ARP2019-05-30-01

ARP2019-05-30-02

You can set any resource availability by fixed calendar or by activity resource production; the initial availability can be 0 and then increased/decreased by calendar dates or resource production. 

so easy!