4model = Network(
'model');
6node{1} = Delay(model,
'Delay');
7node{2} = Queue(model,
'Queue1', SchedStrategy.PS);
8jobclass{1} = ClosedClass(model,
'Class1', 1, node{1}, 0);
9jobclass{2} = ClosedClass(model,
'Class2', 2, node{1}, 0);
11node{1}.setService(
jobclass{1}, Exp.fitMean(1.0));
12node{1}.setService(
jobclass{2}, Exp.fitMean(1.0));
14node{2}.setService(
jobclass{1}, Exp(NaN)); % NaN = to be estimated
15node{2}.setService(
jobclass{2}, Exp(NaN)); % NaN = to be estimated
17P = model.initRoutingMatrix;
22%% Generate random dataset
for utilization and average arrival rate
26arvr1_samples = 2*ones(n,1)-rand(n,1)*0.15;
27arvr2_samples = 3*ones(length(ts2),1)-rand(length(ts2),1)*0.25;
28util_samples = ones(n,1)-rand(n,1)*0.05;
29util1_samples = 0.4*(2*ones(n,1)-rand(n,1)*0.15);
32options = ParamEstimator.defaultOptions;
33options.method =
'ubr';
34se = ParamEstimator(model, options);
36lambda1 = SampledMetric(MetricType.ArvR, ts, arvr1_samples, node{2},
jobclass{1});
37lambda2 = SampledMetric(MetricType.ArvR, ts2, arvr2_samples, node{2},
jobclass{2});
38util1 = SampledMetric(MetricType.Util, ts, util1_samples, node{2},
jobclass{1});
39util = SampledMetric(MetricType.Util, ts, util_samples, node{2});
41se.addSamples(lambda1);
42se.addSamples(lambda2);
46estVal = se.estimateAt(node{2})
50solver{end+1} = SolverMVA(model);
52AvgTable = cell(1,length(solver));
54 fprintf(1,
'SOLVER: %s\n',solver{s}.getName());
55 AvgTable{s} = solver{s}.getAvgTable();