Tuesday, June 30, 2015

Using GoldSim to Simulate Projects

Posted by Jason Lillywhite

The planning and management of programs and large projects is inherently difficult, not only due to their complexity, but also because something almost always goes wrong (Murphy’s Law!). By combining the flexibility of a general-purpose and highly-graphical probabilistic simulation framework with specialized features to support financial modeling and scenario analysis, GoldSim is ideally suited as a high-level project planning tool suitable during the feasibility assessment and conceptual design phases, while the exact scope of the program is still in flux and it is critical to simulate the range of possible outcomes.

A Simple Project Model

A few years ago, a fellow blogger developed a simple project simulation example that incorporates Monte Carlo simulation in order to show risks involved in project planning, which is posted on his blog, quantmleap (Shim Marom, Telstra - follow him on Twitter). I felt it would be informative to compare this example to a similar model built in GoldSim. It turned out to be very easy to build thanks to Marom's well written description. In addition, I was able to add some financial aspects to the model fairly quickly.

The project example represents the creation of an eLearning module with 3 subtasks:
  1. Writing content
  2. Creating graphics
  3. Multi-Media Integration
In GoldSim, I represent these tasks using conditional containers:


Each of the 3 containers above represent a standalone task with a given start trigger and duration. The 3 tasks operate in series, where the next task must wait until the previous one is complete before it begins. Note this is a very simple type of project, used to demonstrate the most basic modeling approach. GoldSim can be used for much more complicated projects that involve custom sequencing, random events, parallel tracks, decision trees, and much more. A good example of the type of large scale projects being simulated using GoldSim is described in the "Risk-Based Performance Assessment of Large Projects" article, mentioned at the end of this post.

The time between the beginning of the first task and the completion of the last task is the total duration of the project, which is what we want to calculate. It is assumed that each task must be completed in series. The contents of each contain the logic that simulates the specific details of the task. Similarly to Marom's example, I define the time to complete each task using a probability distribution, given worst case, most likely, and worst case duration times for each task. These times are summarized in the table below:


We can use the data above to build a stochastic variable in GoldSim, which allows the model to sample from a distribution that results in a duration within the parameters specified. For example, using a simple triangular distribution, the Writing task duration times can vary as shown below:

We can use similar stochastic variables for the other two tasks as well. In addition, we may want to consider other distribution types for comparison. I added the uniform and beta-PERT distributions and cause the model to select from one of the three optional types for different scenarios of the model. I use a Selector element to pick the distribution:

Similar to that of Marom's example, I setup the GoldSim model to run 500 realizations but do this for each of the 3 scenarios. The result is 3 alternative distributions that GoldSim can choose from for each scenario:

Now that I have the duration times defined for each task and the triggers that define the start and end times of each task, we can simply sum up the duration times calculated for each realization of the model and display a probability chart for the project time for each scenario:

The overall project view, as seen in GoldSim can be seen below. You can download this model from our website, here:

What if our total project budget is $20,000 and I want to calculate the chance that we exceed the budget? This can easily be done by adding a project cost based on an assumed hourly rate of say, $50/hr for all three tasks. Next, we can write a conditional expression in the model as follows:

Project_Cost > 20000

If that expression evaluates to true, then it means we have exceeded the budget. After running the model, we can view a distribution output of this condition and immediately find that the chance of exceeding the budget is as follows:

  • beta-PERT: 58%
  • triangular: 60%
  • uniform: 54%

We can also look at the range of project costs for the different scenarios, as shown in the plot below. This indicates that if everything goes well, we could spend as little as $14,000 but could also be as high as $27,000.

This model, which took me about 20 minutes to build, enables us to explore many aspects of this project, including the risks and alternative outcomes. There are other example models on our website that demonstrate GoldSim's project simulation capabilities and I highly recommend you take a look at them to see if they might prove useful for your project planning needs. Below are some links to some of these examples and modeling resources:


Please let me know what you think of this model (or the others reference above) if you get a chance to review it.

Risk-Based Performance Assessment of Large Projects

Examples of a real-world project simulation can be found on our website among our list of recent publications. A risk-based performance assessment of large projects was developed by Predicus LLC and Neptune and Company. This is a great example of a robust simulation of a very complex project. GoldSim's role in this project is well summarized in the journal article, recently published in Waste Management 2010 conference proceedings:

The GoldSim simulation software is used for this risk assessment process because it is a sophisticated state-of-the-art tool with all of the elements necessary for strategic management and financial decisions. GoldSim is accepted and validated by the Nuclear Regulatory Commission (NRC) and has been adopted as the tool of choice for performance assessments of both public and private radioactive waste repositories. Use of GoldSim is a crucial factor in the Process because it provides a tool to manage the inevitable requests for more information from regulators and permitting authorities. A GoldSim simulation model produces probability distributions of the ultimate goal of success. It also assesses subsidiary goals such as receiving necessary permits, and total project cost and schedule. These actions will improve the quality of executive decisions regarding the cost effectiveness of various steps modeled in the process. It provides a master project plan, which has proven useful for assessing project performance through time. It also allows comparisons between alternative approaches to the project.

Below are screen captures from the article, showing the decision process, the graphical user interface to the model, and some key results.



Logic Diagram for the Decision Process
Control Panel for selecting user-definable options.

Sample output of realizations from the decision model, showing the final costs related to various decision paths.

Other Examples

Here are some other examples of project modeling using GoldSim:


Webinar on Project Simulation

You can also view a video recording of a recent webinar that introduces project simulation in GoldSim, which is saved in our past Webinars page. You can also download the video recording here.



1 comment:

  1. Thank you! Very nice and interesting article for me! I want to recommend you guys this wonderful coursework writing service I like it because it helps to write courseworks, essays and other works of a very high quality. Also they can edit the work you have written.

    ReplyDelete