4envModel = Env(
'MyEnv');
5envName = {
'Stage1',
'Stage2',
'Stage3',
'Stage4'};
6envType = {
'UP',
'DOWN',
'FAST' 'SLOW'};
8rate = ones(M,E); rate(M,1:E)=(1:E); rate(1,1:E)=(E:-1:1);
10qn1 = renv_genqn(rate(:,1),N);
11qn2 = renv_genqn(rate(:,2),N);
12qn3 = renv_genqn(rate(:,3),N);
13qn4 = renv_genqn(rate(:,4),N);
14envSubModel = {qn1,qn2,qn3,qn4};
16 envModel.addStage(envName{e}, envType{e}, envSubModel{e});
19envRates = [0,1,0,0; 0,0,1,1; 1,0,0,1; 1,1,0,0]/2;
23 envModel.addTransition(envName{e}, envName{h}, APH.fitMeanAndSCV(1/envRates(e,h),0.5));
30fprintf(1,
'The metasolver considers an environment with 4 stages and a queueing network with 3 stations.\n')
31fprintf(1,'Every time the stage changes, the queueing network will modify the service rates of the stations.\n')
35options = Solver.defaultOptions;
36options.timespan = [0,Inf];
37options.iter_max = 100;
38options.iter_tol = 0.05;
39options.method = 'default';
41soptions = FLD.defaultOptions;
42soptions.timespan = [0,Inf];
44envSolver = BLN(envModel, @(model) FLD(model, soptions), options);
45[QN,UN,TN] = envSolver.getAvg();
46AvgTable = envSolver.getAvgTable()
47AvgTables = envSolver.getEnsembleAvgTables()