1%% Verify M/M/c/c retrial fixed-point approximation against JMT simulation
2% Parameters: lambda=2, mu=1, c=3
8%% Fixed-point approximation
9[blocProb_fp, r_fp, niter] = qsys_mmcc_retrial_fp(lambda, mu, c);
10fprintf(
'=== Fixed-Point Approximation ===\n');
11fprintf(
'Blocking prob (per attempt): %.6f\n', blocProb_fp);
12fprintf(
'Mean busy servers: %.6f\n\n', (lambda+r_fp)/mu * (1 - blocProb_fp));
14%% JMT simulation with retrial (single run)
17model = Network(
'MMcc_Retrial');
18source = Source(model,
'Source');
19queue = Queue(model,
'Queue', SchedStrategy.FCFS);
20sink = Sink(model,
'Sink');
22queue.setNumberOfServers(c);
25oclass = OpenClass(model,
'Class1');
26source.setArrival(oclass, Exp(lambda));
27queue.setService(oclass, Exp(mu));
28queue.setRetrial(oclass, Exp(mu_r));
30model.link(Network.serialRouting(source, queue, sink));
32fprintf(
'=== SolverJMT (mu_retrial=%.1f, 5000 samples) ===\n', mu_r);
33solver = SolverJMT(model,
'seed', 23000,
'samples', 5000);
34avgTable = solver.getAvgTable();