Milestone Elements

milestoneMilestone elements record the time that an event occurs. The Milestone element has three outputs: the Date (calendar time) that the triggering event occurred, the ETime (elapsed time) in the simulation that the triggering event occurred, and a Completion_Status (which is False prior to the element being triggered, and True afterward).

You would use a Milestone element to record the time when a particular event occurred or condition was achieved.  You could also use the Completion_Status of the Milestone to trigger other events (e.g., when Milestone X is reached, trigger event Y).

The dialog for a Milestone element looks like this:

The key inputs in the Milestone dialog are the triggering event(s) which cause the Milestone to be set.. This is defined via a Trigger… button, which provides access to a standard Trigger dialog

A Milestone also has several radio buttons and checkboxes.

If Event may only occur once is selected, then the Milestone records the time that it was first triggered.  If it is triggered multiple times, a warning message is written to the Run Log.

If Event may occur multiple times is selected, then you must also select whether the Milestone is to Store time of the first occurrence, or Store time of the last occurrence.  In the former case, the Milestone records the time that it was first triggered and ignores any other events.  In the latter case, the Milestone records the time that it was last triggered.

If Record a warning message if this milestone is never achieved is checked, a warning message is written to the Run Log if the Milestone is never triggered.

To better understand how a Milestone element works, consider the following simple example. Assume that a Milestone element is triggered by an event that occurs every ten days, the Milestone is defined such that Event may occur multiple times is selected, and the Milestone is set to Store time of the first occurrence. The output of the Etime output of the Milestone in this case would look like this (note that in a chart, 1 corresponds to True, and 0 corresponds to False):

A screenshot of a social media post

Description automatically generated

The Milestone records when it was first triggered (at 10 days), and sets its Completion Status to True (1).

Note that the initial value of the Etime output for a Milestone (i.e., its value prior to being triggered) is zero (0). Similarly, the initial value of the Date output for a Milestone (i.e., its value prior to being triggered) is the Start Date/time. This can be misleading, because if the Milestone is never achieved during a realization, the result will actually indicate that it was achieved at the beginning of the realization (Etime = 0). Such a result is particularly confusing when viewing probabilistic results.

To illustrate this, consider the following probabilistic result (accessed by selecting the ETime output and viewing the Distribution Result…:

A screenshot of a cell phone

Description automatically generated

This plot indicates that just over 20% of the time, the Milestone was achieved immediately.  In reality, just over 20% of the time, it was not achieved at all, but because the initial value for the time achieved was 0, the result indicates otherwise.

To get around this problem (and provide additional Milestone results), the Milestone element contains a Results tab:

A screenshot of a cell phone

Description automatically generated

At the bottom of the page are two buttons (Dates… and Elapsed Time…). Pressing these buttons displays the probability distribution of when the Milestone was achieved (in terms of calendar time or elapsed time, respectively) considering only those realizations in which it was achieved.  Here is the Elapsed Time… result corresponding to the one shown previously:

A screenshot of a social media post

Description automatically generated

As can be seen, the distribution no longer shows the (misleading) jump at ETime = 0; it only includes those realizations during which the Milestone was achieved.

   Note: The Dates… and Elapsed Time… buttons are grayed out when the model is in Scenario Mode.  That is, you cannot view these results when running and comparing scenarios.

The upper portion of the Milestone’s Results tab shows additional results of interest.  Two of these results are defined with respect to a defined target time that you define (in terms of either Elapsed Time or Date). The target time defaults to the beginning of the simulation.

The results displayed directly below the target time are then defined as follows:

Probability milestone achieved: This is the probability that the Milestone is achieved during the simulation.  Hence, this represents the fraction of realizations that are included in the Elapsed Time… or Date… plots accessed via the buttons at the bottom of the page.

Probability milestone achieved by target time: This is the probability that the Milestone is achieved by the specified target time.

Mean lag (for late achievement): For those realizations in which the Milestone is achieved after the target time (but before the end of the simulation), this is the mean time after the target time that the Milestone was achieved.

The browser view of a Milestone looks like this:

   Note: Element inputs and outputs are only shown in the browser if you choose to Show Element Subitems (accessed via the browser context menu by right-clicking in the browser).

The example model StatusMilestone.gsm in the General Examples/Events folder of your GoldSim directory (accessed by selecting File | Open Example... from the main menu) contains an example of the use of Milestone elements.

Related Topics…

Learn more about: