5envModel = Env(
'MyEnv');
6envName = {
'Stage1',
'Stage2'};
7envType = {
'UP',
'DOWN'};
9rate = zeros(M,E); rate(M,1:E)=(1:E); rate(1,1:E)=(E:-1:1);
10envSubModel = {renv_genqn(rate(:,1),N), renv_genqn(rate(:,2),N)};
12 envModel.addStage(envName{e}, envType{e}, envSubModel{e});
15envRates = [0,1; 0.5,0.5];
19 envModel.addTransition(envName{e}, envName{h}, Exp(envRates(e,h)));
25fprintf(1,
'The metasolver considers an environment with 2 stages and a queueing network with 2 stations.\n')
26fprintf(1,'Every time the stage changes, the queueing network will modify the service rates of the stations.\n')
28%options.iter_tol = 1e-5;
29options = Solver.defaultOptions;
30options.timespan = [0,Inf];
31options.iter_max = 100;
32options.iter_tol = 0.01;
33options.method = 'default';
34options.verbose = true;
38sfoptions = FLD.defaultOptions;
39sfoptions.timespan = [0,1e3];
40sfoptions.verbose = false;
41envSolver = BLN(envModel,@(model) FLD(model, sfoptions),options);
42[QN,UN,TN] = envSolver.getAvg();
43AvgTable = envSolver.getAvgTable()
45%scoptions = CTMC.defaultOptions;
46%scoptions.timespan = [0,1e3];
47%scoptions.verbose = false;
48%envSolver = BLN(envModel,@(model) CTMC(model, scoptions),options);
49%[QNc,UNc,TNc] = envSolver.getAvg();
50%AvgTableC = envSolver.getAvgTable()