Question
Asked 11th Oct, 2018

Are there any techniques to reduce the computational time of Monte-carlo simulation?

Hi everyone,
I currently use MCS method to analyze effect of some uncertain parameters on electrical power system and run 10,000 simulations to calculate the output which approximately takes around 1 hour.
I recently read some methods which can reduce the MCS scenarios thus, resulting in low computational time.
So, can our fellow researchers elaborate more on this topic or suggest me any other techniques which has the potential to significantly reduce the computational time of MCS (say around 5 minutes for my work) with reasonable accuracy?
Cheers
Sam

Most recent answer

9th Jun, 2020
Ilia Medvedev
Russian Academy of Sciences
If you have a deal with uncertain parameters then the use of the method of similar trajectories or weighted method of correlated sampling can dramatically decrease the computation time

Popular Answers (1)

22nd Apr, 2020
Siqi Bu
The Hong Kong Polytechnic University
It depends on what is your application of Monte Carlo simulation. You could have different computational time reduction strategy. But generally speaking, to have a good sampling technique will make your Monte Carlo simulation much easier and more efficient. I would suggest the Latin hypercube sampling (LHS) sampling technique, which I used quite often. It will make the distribution of your samples very close to the expected distribution with small number of sample generation.
3 Recommendations

All Answers (10)

12th Oct, 2018
?ukasz Bibrzycki
Pedagogical University of Cracow
1 Recommendation
12th Oct, 2018
Kevin McNally
Health and Safety Executive (HSE) Science and Research Centre
Sam,
Surrogate models (emulators) are a well established method for reducing the run time in applications like this. Gaussian Processes work particularly well.
10,000 runs of a model in an hour isn’t particularly slow though. Unless you have to do this repeatedly is an hour too long?
1 Recommendation
12th Oct, 2018
Arie Ten Cate
(not applicable)
I think of the following. (Maybe this is already a standard method?)
Suppose you have a nonlinear function F(X) where X is a random variable with a known distribution. With Monte Carlo, an estimate of the expected value of F is the average of a set of values of F(X) based on random drawings of X.
An alternative, non-random, method is as follows. Assume for simplicity that X has a finite range. Divide this range in a finite number of similar adjacent intervals ("bins"), numbered 1 to N. An estimate of the expected value of F is the sum over i=1..N of F(Xi) times Pi, with Xi being the middle of interval i, and Pi being the probability mass of interval i. This might be much more accurate than N random drawings from the distribution of X.
If the range of X is not finite, as with the normal distribution, then cut off the tails with very low probability; for instance cut off outside 4 times the standard deviation at both ends. Of course, the above estimate must then by divided by the sum of the Pi.
This method is of limited value when X is multidimensional, with a large number of dimensions, say M, since the number of "cells" is N to the power M.
1 Recommendation
12th Oct, 2018
Nadia H. Al-Noor
Mustansiriyah University\College of Science
Dear Gurung,
Read the paper "IMPROVING COMPUTATIONAL EFFICIENCY OF MONTE-CARLO
SIMULATIONS WITH VARIANCE REDUCTION".
Good Luck
2 Recommendations
15th Oct, 2018
Asli Pinar Tan
I don't know if it might help your case, but I would suggest utilizing the Genetic Algorithm. I had used it in my Master Thesis Research for developing a systematic methodology to design a very complex class of high-frequency radar antennas, and I can say that it is a very powerful algorithm, once you formulate it into your problem effectively. In my case it gave results in 2-3 iterations (generations), maximum 4-5 in the worst start-up scenario. The results in my case came in the order of seconds, and I don't think it would take more than the order of minutes in your case, even if the amount of data points is larger. Good luck!
1 Recommendation
16th Oct, 2018
Alexander Von Moll
Air Force Research Laboratory
This might seem a bit unrelated, but if you're sampling your Monte Carlo points from some distribution and you're interested in the distribution of outputs (i.e. after simulating each point, or whatever you're doing) then you may be interested in the Koopman Operator (see, e.g., https://engineering.ucsb.edu/~harbabi/research/KoopmanIntro.pdf).
Depending on which direction you're going (i.e. whether you have some known target distribution of outputs, say the performance distribution of the electrical power systems, or some known levels of uncertainties on the inputs for which you want to generate the output distribution) you may also want to checkout the Frobenius-Peron Operator.
1 Recommendation
19th Nov, 2018
Huseyin Ozan Tekin
University of Sharjah
The term of "Variance Reduction" is very large subject. There is many ways to reduce the variance of simulation. Each unneccessary counting can extend your computational time. On the other hand, it can increase your statistical error rate. So, please carefully read the special variance reduction techniques of your code.
1 Recommendation
22nd Apr, 2020
Siqi Bu
The Hong Kong Polytechnic University
It depends on what is your application of Monte Carlo simulation. You could have different computational time reduction strategy. But generally speaking, to have a good sampling technique will make your Monte Carlo simulation much easier and more efficient. I would suggest the Latin hypercube sampling (LHS) sampling technique, which I used quite often. It will make the distribution of your samples very close to the expected distribution with small number of sample generation.
3 Recommendations
26th Apr, 2020
Thomas Edward Booth
Los Alamos National Laboratory
You might investigate "weight windows." They have been highly successful in nuclear particle transport applications.
Can you help by adding an answer?

Similar questions and discussions

Recommendations

Article
Les techniques informatiques de simulation sont essentielles au statisticien. Afin que celui-ci puisse les utiliser en vue de résoudre des problèmes statistiques, il lui faut au préalable développer son intuition et sa capacité à produire lui-même des modèles de simulation. Ce livre adopte donc le point de vue du programmeur pour exposer ces outils...
Article
Thesis (B.S.) in Electrical Engineering--University of Maine, 1923. Includes bibliographical references (leaf 41).
Article
Written for the Dept. of Electrical Engineering. Thesis (Ph.D.). Bibliography: leaves [191]-205.
Got a technical question?
Get high-quality answers from experts.