LINE Solver
MATLAB API documentation
Loading...
Searching...
No Matches
getAvgRegionLossTable.m
1function LossTable = getAvgRegionLossTable(self)
2% LOSSTABLE = GETAVGREGIONLOSSTABLE()
3%
4% Table of loss (drop) metrics per finite-capacity region and class, for
5% regions that drop jobs (DROP rule). Each row reports the offered arrival rate
6% (carried Tput plus drop rate), the carried throughput, the loss rate (region
7% drop rate) and the loss ratio (LossRate / ArvR).
8%
9% Only regions with offered traffic are listed. The table is empty for solvers
10% that do not track region drops: only the LDES simulation populates the FCR
11% drop rate (self.result.FCR.DropRateNfcr).
12%
13% See also NetworkSolver.getAvgLossTable, Queue.setDropRule
14%
15% Copyright (c) 2012-2026, Imperial College London
16% All rights reserved.
17
18self.getAvgTable();
19
20Region = {};
21JobClass = {};
22ArvR = [];
23Tput = [];
24LossRate = [];
25LossRatio = [];
26if isprop(self, 'result') && isfield(self.result, 'FCR') ...
27 && isfield(self.result.FCR, 'DropRateNfcr')
28 sn = self.model.getStruct();
29 TNfcr = self.result.FCR.TNfcr;
30 DR = self.result.FCR.DropRateNfcr;
31 for f = 1:size(DR, 1)
32 for r = 1:size(DR, 2)
33 t = TNfcr(f, r);
34 d = DR(f, r);
35 a = t + d;
36 if ~(isfinite(a) && a > 0)
37 continue
38 end
39 Region{end+1,1} = sprintf('FCRegion%d', f); %#ok<AGROW>
40 JobClass{end+1,1} = sn.classnames{r}; %#ok<AGROW>
41 ArvR(end+1,1) = a; %#ok<AGROW>
42 Tput(end+1,1) = t; %#ok<AGROW>
43 LossRate(end+1,1) = d; %#ok<AGROW>
44 LossRatio(end+1,1) = d / a; %#ok<AGROW>
45 end
46 end
47end
48
49LossTable = Table(Region, JobClass, ArvR, Tput, LossRate, LossRatio);
50LossTable = IndexedTable(LossTable);
51end