LINE Solver
MATLAB API documentation
Loading...
Searching...
No Matches
solver_mam_basic_mmap.m
1function [QN,UN,RN,TN,CN,XN,totiter] = solver_mam_basic_mmap(sn, options)
2% [QN,UN,RN,TN,CN,XN,TOTITER] = SOLVER_MAM_BASIC_MMAP(SN, OPTIONS)
3%
4% Top-level dispatcher for the MAM/MMAP fork-join decomposition.
5% Open networks call solver_mam_basic_mmap_inner directly with arrival
6% rates derived from the source/refstat. Closed networks go through
7% solver_mam_basic_mmap_closed, which wraps the inner kernel in an
8% MNA-style bisection on per-class throughput.
9%
10% Copyright (c) 2012-2026, Imperial College London
11% All rights reserved.
12
13if sn_is_open_model(sn)
14 K = sn.nclasses;
15 C = sn.nchains;
16 lambda = zeros(1,K);
17 for c=1:C
18 inchain = sn.inchain{c};
19 lambdas_inchain = sn.rates(sn.refstat(inchain(1)), inchain);
20 lambdas_inchain = lambdas_inchain(isfinite(lambdas_inchain));
21 lambda(inchain) = sum(lambdas_inchain);
22 end
23 [QN,UN,RN,TN,CN,XN,totiter] = solver_mam_basic_mmap_inner(sn, options, lambda);
24else
25 [QN,UN,RN,TN,CN,XN,totiter] = solver_mam_basic_mmap_closed(sn, options);
26end
27end