LINE Solver
MATLAB API documentation
Loading...
Searching...
No Matches
renv_fourstages_repairmen.m
1N = 30;
2M = 3;
3E = 4;
4envModel = Env('MyEnv');
5envName = {'Stage1', 'Stage2', 'Stage3', 'Stage4'};
6envType = {'UP', 'DOWN', 'FAST' 'SLOW'};
7
8rate = ones(M,E); rate(M,1:E)=(1:E); rate(1,1:E)=(E:-1:1);
9
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};
15for e=1:E
16 envModel.addStage(envName{e}, envType{e}, envSubModel{e});
17end
18
19envRates = [0,1,0,0; 0,0,1,1; 1,0,0,1; 1,1,0,0]/2;
20for e=1:E
21 for h=1:E
22 if envRates(e,h)>0
23 envModel.addTransition(envName{e}, envName{h}, APH.fitMeanAndSCV(1/envRates(e,h),0.5));
24 end
25 end
26end
27
28
29%%
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')
32
33envModel.getStageTable
34
35options = Solver.defaultOptions;
36options.timespan = [0,Inf];
37options.iter_max = 100;
38options.iter_tol = 0.05;
39options.method = 'default';
40
41soptions = FLD.defaultOptions;
42soptions.timespan = [0,Inf];
43soptions.verbose = 0;
44envSolver = BLN(envModel, @(model) FLD(model, soptions), options);
45[QN,UN,TN] = envSolver.getAvg();
46AvgTable = envSolver.getAvgTable()
47AvgTables = envSolver.getEnsembleAvgTables()