LINE Solver
MATLAB API documentation
Loading...
Searching...
No Matches
pas_mmk.m
1% Pass-and-swap (PAS) station as a multiserver order-independent (M/M/K) queue.
2% The M/M/K queue satisfies the order-independence conditions (Dorsman &
3% Gardner 2024, Sect. 2.2): with K unit-rate servers the total service rate in
4% state c is mu(c) = min(n, K), where n is the number of jobs. With an empty
5% swapping graph the PAS station reduces to a plain order-independent queue.
6clear node jobclass
7
8K = 2; % number of servers
9muFun = @(c) min(numel(c(c>0)), K);
10
11model = Network('PASmmk');
12source = Source(model, 'Source');
13queue = Queue(model, 'PASQueue', SchedStrategy.PAS);
14sink = Sink(model, 'Sink');
15
16lambda = [0.7 0.5];
17jobclass = cell(1,2);
18for r = 1:2
19 jobclass{r} = OpenClass(model, sprintf('Class%d', r));
20 source.setArrival(jobclass{r}, Exp(lambda(r)));
21end
22
23queue.setService(muFun);
24queue.setSwapGraph(zeros(2)); % empty graph: plain order-independent queue
25queue.setNumberOfServers(K); % K servers (used for utilization reporting)
26queue.setCap(4);
27
28P = model.initRoutingMatrix;
29for r = 1:2
30 P{jobclass{r}} = Network.serialRouting(source, queue, sink);
31end
32model.link(P);
33
34AvgTable = CTMC(model, 'cutoff', 4).getAvgTable