Why SimEvents spends so much time

1 visualizzazione (ultimi 30 giorni)
Gul Culhan
Gul Culhan il 28 Set 2020
Risposto: Krishna Akella il 1 Dic 2020
I am trying to simulate a discrete event system using the simevents blocks. I created a dummy model which only includes an entity generator and an entitiy terminator blocks with stop time 365. I generate entities with matlab action;
persistent rngInit;
if isempty(rngInit)
rng(iterSeed);
%iterSeed is in model properties with iterSeed = randi(500);
rngInit = true;
end
% Interarrival times: Exponential distribution
lambda = 1;
dt=-lambda*log(1-rand());
I ran 1000 replications with following code;
warning('off','all');
numSimulations = 1000;
mdl = 'DummyModel';
for i = 1:numSimulations
out(i) = sim(mdl);
end
display('END');
Even this simple piece of code took 655 seconds. I also tried the accelerator mode but it worsened the total time to 1208 seconds. Why even a dummy SimEvents model spends so much time?

Risposte (2)

Abdolkarim Mohammadi
Abdolkarim Mohammadi il 28 Set 2020
Modificato: Abdolkarim Mohammadi il 28 Set 2020
You should run 1000 simulations using sim() in conjunction with SimulationInput objects. With SimulationInput you can define the variables for each experiment. You can also use the fast restart option for faster execution of models. Please test the following code.
numSimulations = 10;
Model = 'DummyModel';
SimIn = repmat (Simulink.SimulationInput(Model), [numSimulations,1]);
SimOut = sim (SimIn, 'UseFastRestart', 'on');
If you have Parallel Computing toolbox license, you can also try parsim().
SimOut = parsim (SimIn);
Please read the documentation:

Krishna Akella
Krishna Akella il 1 Dic 2020
Hi Gul,
I agree with Abdolkarim's suggestion. Did you try to put the model in 'fast restart' mode? That will ellimiate model compile after the first run.
Thanks & regards,
Krishna

Categorie

Scopri di più su Discrete-Event Simulation in Help Center e File Exchange

Tag

Prodotti


Release

R2020a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by