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.

Monte Carlo Technique

18 replies [Last post]
Amro Ahmed
User offline. Last seen 2 years 21 weeks ago. Offline
Joined: 5 Jan 2009
Posts: 107

Hi All,

Is it possible to use Monte Carlo Technique in p6

 

 

Thanks

Replies

Yes Dennis, if you use soft logic then you are OK.

But the software may create better schedule that you do manually using soft logic. And soft logic that is good for initial data may become poor when the data changed. So you shall reconsider your soft logic frequently.

Regards,

Vladimir

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

Vlad;

I don't get down to the level of equipment scheduling. I'm a proponent of Soft Logic. So, maybe I'm okay then?

Dennis,

when required resource quantities are optimized the schedule is calculated with the defined resource constraints. Good algorithms calculate the shortest feasible schedule. When scheduling without setting resource limits the schedule may become shorter and at some periods resources will be overallocated - so the schedule created using CPM without resource leveling may be not feasible.

If PRA (or any other tool) simulates project execution using CPM it creates thousands of not feasible schedules and creates probability curve that is obviously wrong because the work will be done by available resources and if resources are not available activities will be delayed.

I don't know what kind of projects do you manage but usually the number of heavy equipment like cranes, excavators, etc. is restricted and nobody will add additional unit for short time periods.

I don't work with PRA and cannot advise how to enter resource constraints but in any case it will create the schedules that are not the same as the schedules created by P6 and so it is not wise to rely on its results of MC simulation.

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

Vlad;

My concept of resource leveling is minimizing 'spikes'. When done, we have a resource histogram letting the PM and management know what our expected resource requirements are. That's it. We are not resource constrained. We assume we can obtain the resources needed. Later, this may not be the case. Then we adjust accordingly, until we reduce the spike to the market. I have never put a resource limit in PRA. I wouldn't know how. So how does it know what level to control to?

Dennis,

resource leveling means creating project schedule that can be executed by available resources. It means that at any moment schedule resource requirements do not exceed resource availability.

Changing crew size is not leveling - it is changing an initial information for project leveling.

Resource leveling is used when resources are constrained or for eliminating resource requirements spikes. Any contractor will prefer the schedule that requires minimal overall resource quantities.

Finding an optimal resource constrained schedule is a complex task and different packages have different resource leveling capabilities. Look at http://www.planningplanet.com/forums/planning-scheduling-programming-discussion/574396/comparison-resource-levelling-algorithms-di

Yes, we off topic but resource leveling is a part of MC simulation for resource constrained projects.

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

Amhed,

http://www.palisade.com/risk/monte_carlo_simulation.asp

Monte Carlo simulation performs risk analysis by building models of possible results by substituting a range of values—a probability distribution—for any factor that has inherent uncertainty. It then calculates results over and over, each time using a different set of random values from the probability functions. Depending upon the number of uncertainties and the ranges specified for them, a Monte Carlo simulation could involve thousands or tens of thousands of recalculations before it is complete. Monte Carlo simulation produces distributions of possible outcome values.

When using CPM models the CPM calculations yield the possible results that considers the Merge Bias.

In case of finish date, each set of values yields a finish date, after say 1000 iterations with 1000 sets of values you get 1000 results for finish date and then you get a cumulative distribution.

The following reference might help you understand why resource leveling matters.

http://www.prmyazilim.com/docs/riskanalysissimplified.pdf

  • Because each solution in a risk analysis must at least be feasible, it should not violate any resource limitations that exist. Each iteration must be resource-leveled if some resource(s) is (are) limited. The risk analysis software package should be able to level resources as it is iterating.

Vladimir is a step ahead on the discussion many software vendors do not want you to know, it makes no sense managing the schedule using different software engines when resource leveling the schedules, a basic requirement for most schedules be viable. Because different resource leveling engines will yield different resource leveled schedules they will generate cumulative curves that are shifted and if you resource leveling to manage your schedule as to make it feasible and run the MC simulations without resource leveling the shift will usually be even greater and perhaps there will be an abysmal difference.

So you will have some vendors that will tell you different resource leveling does not matter and others telling you do not even worry about resource leveling, both are wrong.

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

Vlad:

We're getting off topic. We may have different methods for resource leveling.  I may move activities around - moving piping crews to other areas, and/or adjust crew size/number. No need for 'soft links' or must dates. This is done once (for each estimate). It becomes the project schedule. This is the plan the project will work to. Any risk analysis will not affect it. Am I missing something? Still don't know why PRA would resource level.

Amro, any risk simulation software does it.

So if your resources are not limited then you can use any of them.

But remember that your initial data are not accurate. Trying to find an exact probability of the result based on the information that is known with 20% accuracy is not reasonable.

Look at http://www.spiderproject.com/images/img/pdf/SDPM%20Approach.pdf for more practical approach to management of success probability.

Dennis, adjusting crew size is changing initial information for project leveling. Duration directly depends on the crew size.

Automatic leveling produce resource constrained schedule and if the user is not happy with the results he/she can play with the number of available resource, change crews, etc. and then level again estimating new results.

It may be called what if estimates for selecting an optimal decision but it is not manual resource leveling.

Manual resource leveling means that project scheduler manually moves project activities trying to eliminate resource conflicts. Usually it is done by adding artificial soft links, or some must dates. As I wrote earlier I would recommend to play with activity priorities for improvement of automatically created schedule.

In any case after adding soft links, must dates, priorities it is necessary to run automatic leveling to be sure that the changes did not create problems with the project logic.

The problems with manual leveling - suboptimal schedules, a need to reconsider all artifitial constraints each time when project levelibf will required and repeat manual leveling process. It is very time consuming in large projects.

 

If you already changed resource crews and activity duration then P6 does not change it but if you just moved some activities without entering constraints or adding soft dependencies then automatic leveling will change your schedule.

Monte Carlo simulation means that the software creates project schedule many thousand times with different initial data and then reports how many times each duration (cost, etc.) was achived creating probability curve. It is not possible to level manually in each of these many thousands iterations. So the software relies on its automatic leveling heuristics. If project management tool and risk simulation tool use different leveling heuristics simulation results are not reliable because people will assign resources not the same way as it was modeled in MC simulation.

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

Vlad;

Wasn't aware of that. Why? What purpose does it serve to level during SRA? If done in P6, it used to mess up the logic - hence manual leveling (adjusting crew size and/or durations). How can I tell if this is happening?

Amro Ahmed
User offline. Last seen 2 years 21 weeks ago. Offline
Joined: 5 Jan 2009
Posts: 107

Thanks Vladmir and Dennis:

Dennis :

My question is focucing  the probablities for project completion and the samilliar parameters (EAC.....).

Example:

 It can give me analysis with grahs:

Completion date 01-Feb-16    5%

Completion Date 01-Mar-16    15%

Completion date 01-Apr-16      20%

 

e.t.c

 

Thanks

 

 

 

Dennis, in MC simulation leveling is automatic. It is impossible manually level projects in each of thousands schedule calculations.

Manual leveling is not practical. First of all the chances to find manually an optimal schedule are low. Besides it is time consuming but shall be repeated each time when project information changes. In particular projects are never executed exactly as planned and so after entering actual information manual leveling shall be repeated.

I usually suggest to play with activity priorities but avoid to add soft links or Start No Earlier Than constraints.

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

Vlad;

You understand the intricasies of the programs better than I. When are these 'resource leveling heuristics' applied? Make any difference if the activities are fixed units/time? How significant is the 'problem'? I manually level during schedule development - deterministic schedule, then that's it. I don't ask P6 or PRA to level resources. Should I be concerned?

Dennis, an explanation is easy:

Every package uses its own resource leveling heuristics and so resource constrained schedules created for the same projects by different packages are not the same. Look at http://www.planningplanet.com/forums/planning-scheduling-programming-discussion/574396/comparison-resource-levelling-algorithms-di

An external tools use their own scheduling algorithms for MC simulation and thus create resource leveled schedules that are not the same as the schedules created by original tools. So probability distributions that will be created by external tools may be applicable only if the management is done using these tools and not using original software.

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

Vlad;

I'll take your word for it. No experience with resource 'constrained' schedules. 

Dennis,

Primavera Risk Analysis is not applicable to resource-constrained schedules.

If it is the best then right risk analysis tools do not exist.

 

Amro,

P6 does not include risk simulation.

If your resources are unlimited then you can use some external tool.

If your resources are limited then external tools are useless.

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

Amro;

If you're asking if schedule risk assessment can be performed by P6, then no. I expect Oracle is moving in that direction.

P6 does have a semi-functional risk register, which is superior to anything you might develop on your own via Excel. If you wish to perform schedule risk analysis, then Primavera Risk Analysis is still the best. However, this margin is eroding and depends on what type of analysis you want to perform.

There's a good chance I don't understand your question.