Re: [Planner Dev] Uncertainty management / MonteCarlo simulation



I'm not sure I can do a "Short" lesson in Monte Carlo but let me tell you how I did it in VB as an add-in to Project.

Number of trials loop (say 1000)
        for each activity in the project loop
                generate random duration (within a range) for each activity
        next activity
        calculate project duration (use built in capability)
        accumulate durations
        accumulate durations squared
next trial ' end of big trial
calculate average duration AverageDuration = (AccumulatedDuration / NumberOfTrials)
calculate ave duration squared   AverageDurationSquared = AverageDuration ^ 2
calculate ave of squared durations AverageOfSquaredDurations = (AccumulatedSquaredDurations / NumberOfTrials) then calc standard devation StandardDeviation = AverageOfSquaredDurations - AverageDurationSquared

once you know standard deviation and mean duration you have all you need
mean duration = 50% likely
mean + 1 std dev = 84% likely
mean +2 std dev = 97 %
mean +3 std dev = 99.7 %
mean -1 std dev = 16%
etc...
translate these durations to the calendar and you can present results as dates instead of durations

This is about the most data efficient way to do this
My simulation uses a triangular distribution for the simulation. Naturally there are others (like beta) You'll need to store optimistic, likely and pessimistic durations for each task, mean task duration does not need to be stored (you can use the "duration" field - but in the case of the triangle, mean is (opt+Ml+pess)/3 - in the case of Beta (opt+4ml+pess)/6 - I use triangle because it is more conservative and easier to work with than the beta. ALso the equation for the mean of a triangle is EXACT. the equation for the mean of a beta is APPROXIMATE.

With all the programmers we have on Planner ;-) we can generate routines that calculate random durations with just about any distribution - to do this, you would also need to store a distribution name for each task

A view perhaps that has columns for activity name, three duration values and a "pick list" for the distribution type (triangle, beta, chi squared etc...) and the "Mean" duration column which is calculated after the other four columns have been entered...

Task name Duration1 duration2 duration3 distributiontype meanduration A 4days 8days 15days triangle 9days B 2days 4days 8days beta 4.3days

though I'd be happy with just "Triangle"

Mark




At 09:51 AM 4/1/2004, lincoln phipps openmutual net wrote:
Mark/ Santiago ,

Some thoughts from me - I didn't actually see Santiago's
original posting as an email but its on the web archive
and sounds interesting. Done Monte Carlo on financial
stuff - but not project times.

We all know its essential; after all when asking a
supplier when will 'x' arrive, then they usually quote
a range of dates e.g. 2-4 weeks and never a precise
date unless there are penalties for late delivery.
So we usually plan on the pessimistic duration if
using anything that doesn't allow a range of durations.

What parameters do you think we'd need remembered for
each task across project saves ?.

I'm guessing we'll need,
- optimistic duration (3SD from mean),
- most likely duration, and
- pessimistic duration (3SD from mean),
- probability distribution for this duration,

Then given expected time we could store...
- Earliest Start/End,
- Latest Start/End,

using the existing forward and backward passes on the Planner
scheduler routine, with the "Monte Carlo" giving us the
cumulative probability values. Is that it ? I'm guessing the
duration probability function would be one of a set list
of standard functions (like poisson, or uniform or one
of many others that are used) or a user defined distribution
table of probabilities.

/Lincoln.

Mark Durrenberger wrote:

Great question.
I've just completed a basic monte carlo program that works as an add-in to MS Project (Visual basic) As I get up to speed with Planner dev, I hope to build the same capability into planner - and then some... IN the open source environment it will be substantially easier to add simulation capability than it is to "bolt on" after market capability with M$project
Mark
At 05:04 PM 3/31/2004, serquicia Argentina com wrote:

Hi, I'm new to the list and I wanted to know some questions about future
development.

Is it planned to introduce any type of uncertainty management or the possibility
to run Monte Carlo simulations within planner?  (The first step would be
the possibility to enter the uncertain durations)

I'm a research assistant doing something about this.  I think that one of
the biggest problems with the tools that implement something like that is
that they were implemented as an after thought.  I find really difficult
to visualize the results of a simulation and hard to tie it with the scheduling
of the project.

I'm not a programer, although I have done some.  In my actual research I'm
doing some things in python like a Monte Carlo simulation solver.  It did
it actually to benchmark a new method we are researching.  I've read that
there is a possibility of using python with planner.  What would be a good
tutorial or starting point to use planner with python?

Thanks in advance,
Santiago

______________________________________________________________________

Obtenga gratis su cuenta @Argentina.com con AntiVirus, 20mb de espacio,

acceso POP3 y SMTP en 24 ciudades                     www.Argentina.com



_______________________________________________
Planner-dev mailing list
Planner-dev lists imendio com
http://lists.imendio.com/mailman/listinfo/planner-dev

You can lead a boy to college, but you cannot make him think.
                                              Elbert Hubbard
_______________________________________________
Planner-dev mailing list
Planner-dev lists imendio com
http://lists.imendio.com/mailman/listinfo/planner-dev
_______________________________________________
Planner-dev mailing list
Planner-dev lists imendio com
http://lists.imendio.com/mailman/listinfo/planner-dev

To do is to be. - Plato/To be is to do. - Aristotle/Do be do be do. - Sinatra






[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]