Re: [Planner Dev] Uncertainty management / MonteCarlo simulation
- From: Mark Durrenberger <m durrenberger comcast net>
- To: Planner Project Manager - Development List <planner-dev lists imendio com>, Planner Project Manager - Development List <planner-dev lists imendio com>
- Subject: Re: [Planner Dev] Uncertainty management / MonteCarlo simulation
- Date: Thu, 01 Apr 2004 10:26:24 -0500
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]