1%% Open Tandem Queue with MAM
3% This example demonstrates MAM with RCAT methods on an open tandem queueing network
4% (M/M/1 -> M/M/1)
using the INAP algorithm.
6% Reference: Marin and Rota-Bulo
', "A Mean-Field Analysis of a Class of
7% Interactive Distributed Systems", MASCOTS 2009
9% Copyright (c) 2012-2025, Imperial College London
15lambda = 0.5; % Arrival rate
16mu1 = 1.0; % Service rate at queue 1
17mu2 = 1.5; % Service rate at queue 2
19%% Create model: Source -> Queue1 -> Queue2 -> Sink
20model = Network('Tandem-MM1
');
22source = Source(model, 'Source
');
23queue1 = Queue(model, 'Queue1
', SchedStrategy.FCFS);
24queue2 = Queue(model, 'Queue2
', SchedStrategy.FCFS);
25sink = Sink(model, 'Sink
');
27oclass = OpenClass(model, 'Class1
');
28source.setArrival(oclass, Exp(lambda));
29queue1.setService(oclass, Exp(mu1));
30queue2.setService(oclass, Exp(mu2));
32model.link(Network.serialRouting({source, queue1, queue2, sink}));
34%% Solve with MAM using INAP method (default)
35solverINAP = MAM(model, 'method
', 'inap
');
36avgTableINAP = solverINAP.getAvgTable()
38%% Solve with MAM using exact method (AutoCAT)
39solverExact = MAM(model, 'method
', 'exact
');
40avgTableExact = solverExact.getAvgTable()
43solverMVA = MVA(model);
44avgTableMVA = solverMVA.getAvgTable()