A feature I would love to see would be the ability to only run a certain portion of the model stochastically/for all realizations. An example of what I mean is that the historical period (often >50% of the model run) is identical for all realizations, and it is only the future dates that will have any variations. It would be ideal if the initial historical period could be run just one time, and then all future realizations would be run from a set end point of that historical period. The idea would be to minimize run time and the quantity of duplicated results saved.
-
Marie-christine,
Thanks for writing in our Forum! This is an interesting question. There is no way to configure a model exactly to your ideal standards but there is another way to accomplish both parts of your simulation without repeating the historical part. I suggest that you consider this modeling approach:
- Set up a submodel to run the historical period of the model, deterministically. The submodel should be triggered to execute at elapsed time zero of the main model. It should also only be triggered to run on the first realization of the main model. Here is what the trigger might look like:
- Set up the main model to run Monte Carlo simulations, starting with the first date of the post-historical period.
If you have to link outputs of the historical simulation at the end of the historical period with the beginning of the Monte Carlo simulation, then you expose these on the Interface of the submodel. These will become the starting points for the main model.
Please note that the above configuration only works if you run the Monte Carlo simulation starting with Realization 1. You cannot run a single realization run of the main model that is something other than Realization 1 or else the submodel will not run as you can see from the definition of the submodel trigger.
Please note that you can export time history results from a submodel as well. This will allow you to show a chart in the main model that shows the historical time history.
The downside to this approach is that you will not be able to include the historical and future time histories on a single chart. Instead, they will need to be displayed on different charts. If that is acceptable, then this method should work for you.
Let me know what you think or if you have any questions.
Jason
-
Marie-Christine,
Okay that makes sense. It would be a fundamental change to the model.
Have you tried using distributed processing? That should speed up the total simulation time by at least 3x if you distribute monte carlo simulations to 3 other CPUs on your computer. How Does Distributed Processing Work? - GoldSim
Let me know if you have any questions about how to set that up.
-Jason
Please sign in to leave a comment.
Comments
3 comments