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.

Resource Leveling Priority

9 replies [Last post]
Brennan Westworth
User offline. Last seen 6 years 51 weeks ago. Offline
Joined: 23 Feb 2003
Posts: 150
Groups: None
I have created an activity code called "priority" to tell P3 what to give resources to first in case of a tie.

The problem i have is that if the priority code is blank it is first priority, then it prioritises in order (1, 2, 3...)

is there a way i can get "blank" to be lowest priority?

perhaps using a numeric CDI???

Replies

Brennan Westworth
User offline. Last seen 6 years 51 weeks ago. Offline
Joined: 23 Feb 2003
Posts: 150
Groups: None
Thanks all for your replies... yes it is easy enough to fill in the blanks using global change or filter & fill... i just wanted to know if there was a way to get P3 to give blanks last priority instead of first priority.

On the topic of Priority codes, Frank is right... there are many factors that P3 cant figure out from float alone and needs to be told what to do by priority. An example that comes to mind is a refinery upgrade project i have been working on where completion of certain systems will result in production increases for the operating plant. I have prioritised the level 3 schedule based on these forecast production gains so that activities that will boost production early get the resources in the case of a tie, eventhough they may not be critical to the overall project completion. In some cases the early gains in production can even justify a slip in the overall completion of the project (cost of prolongation v’s revenue from increased production). it is due to these kind of "non schedule related" issues that we need to use priority codes.
Frank Borcherdt
User offline. Last seen 7 years 18 weeks ago. Offline
Joined: 3 May 2001
Posts: 88
Groups: None
Anand,

Two situations where I have used priority codes to level:-

1. Shutdowns where the removal activities prior to the inspection activities share the same resources as the re-install activities. The inspection activity will determine the scope and time required to overhaul the piece of equipment (valve, vessel, etc). Due to limitation on space at the workface it is not possible to increase the resourcing and it becomes crucial to have the removal and inspection activities completed as early as possible in the shutdown so the correct timing of the resource required to re-install the equipment can be establish and leveled to ensure the plant is operational when required. Using a priority code to give preference to the removal activities ensures we establish the true scope of the overhaul process as early as possible so we can better plan the re-installation and commissioning. Quite often the critical resource in both the removal and re-installation is the crane required to lift the equipment.
2. A Project Group that contains separate independent projects that draw from the same limited resource pool. Quite often senior management will set absolute priorities on some projects at the expense of the others based on contract conditions or type of project (e.g. internal versus external). In this case using a priority code allows you to reflect their desires whilst still allowing the system to fully utilize the available resource and report the impact of their decisions on the outstanding projects. e.g. Design department that has to satisfy the projects in hand but still needs to support the tendering process and their own internal process improvement. Very useful when the organization has imposed head count limits and a policy of not using external resource. With allow you to quickly reflect the impact on end dates due to the ever changing priorities.

Whenever multiple activities with a resource conflict that are scheduled on the same end dates, are on the critical path so they have the same float, P3 will ultimately default to allocating the resource using first in, best dressed i.e. activity id. If you want some control over which activity should get the resource, a priority code will allow you to achieve this.

A priority codes can be used to complement the late start and total float.
Anand Kulkarni
User offline. Last seen 11 years 41 weeks ago. Offline
Joined: 4 Apr 2005
Posts: 41
Groups: None
Philip,

Agreed.

But than levelling should be done on the project logic, like maximum float,latest early start date, etc.

Rather than by defining it in coding structure & setting the priority.

And if particular or all resources are to be levelled can be selected in levelling options itself.

With all this options available, why create separate code?

Philip Jonker
User offline. Last seen 15 years 20 weeks ago. Offline
Joined: 7 Nov 2004
Posts: 852
Groups: None
Anand,

Please explain the the point of a schedule with no logical links? Should you attempt to resource level such a schedule, it would schedule the longest activities with the highest priority first, down to the shortest activities with the lowest priority last. At the end of the day there will be no sense. You obviously do such a schedule with constraints?
Also there will be no sense in trying to resource level a schedule with one logical chain.

The purpose of resource levelling is to minimise the maximum limit of resources, as this will reduce P’s & G’s. Thus resources levelling is normally used in projects with multiple logical paths, with differing total float.
Anand Kulkarni
User offline. Last seen 11 years 41 weeks ago. Offline
Joined: 4 Apr 2005
Posts: 41
Groups: None

Just one more school of thought

In a resource-driven project without relationships between activities, priority codes dictate the sequence of leveled activities by controlling the order that P3 levels the
activities. Conversely, in a project that contains only one logical chain of activities,
priority codes have no effect since there is never a tie between two activities in parallel chains.
Frank Borcherdt
User offline. Last seen 7 years 18 weeks ago. Offline
Joined: 3 May 2001
Posts: 88
Groups: None
Steve,

The leveling priority should be set at the activity level, SureTrak does have a standard field called priority and it is by activity. P3 has a leveling constraint called Imediate Priority which will force the resource to be assigned on the scheduled dates (ie can NOT be delayed by the levelling process) and again this is by activity.

As P3 will not allow you to create a code with a blank value the only options is to create a 0 value and use either:-
1. Fill Cell
2. Global Change
3. Import/Export
4. ODBC drivers to Excel/Access
5. Ra
or 6. Batch

to change the unassigned priority code to 0.

A filter or organise and fill cell should take a couple of minutes at most and is less error prone than the others mentioned.





Philip Jonker
User offline. Last seen 15 years 20 weeks ago. Offline
Joined: 7 Nov 2004
Posts: 852
Groups: None
That is obviously another solution, or you can filter out the activities with blank priorities, and use the fill function to replace the blanks.

However the export method is quick and can also be used to set up codes int the first place.
Steven Oliver
User offline. Last seen 11 years 22 weeks ago. Offline
Joined: 8 Nov 2002
Posts: 313
Groups: None
Could you not populate your code using global change, rather than exporting to Excel ?

Also, should priority not be a resource code ?. I seem to remember P3 already had something like that in the resource definitions, or perhaps it was SureTrak.
Philip Jonker
User offline. Last seen 15 years 20 weeks ago. Offline
Joined: 7 Nov 2004
Posts: 852
Groups: None
Hi Brennan,

As far as I know blanks should be the lowest priority, but it is easy to fix, export, your activities, ie activity id, and activity codes to a .dbf file, and open this file in excel and replace all the blanks in the priority file with 9, and then import it again. You can delete all fields (columns) except activity id (ACT) and priority, before saving it in excel. Make sure you save it in the .dbf format.

Hope this helps, I am not sure if you are using P3 or P3e.

Regards

Philip